基于風(fēng)險的測試:包含優(yōu)秀實踐的綜合指南
基于風(fēng)險的測試 (RBT) 是一種軟件測試,它側(cè)重于識別被測軟件應(yīng)用程序的高風(fēng)險區(qū)域并確定其優(yōu)先級。簡單來說,基于風(fēng)險的測試是一種基于軟件復(fù)雜性評估處于高故障風(fēng)險的軟件應(yīng)用程序的特性的方法。
盡管還有其他軟件測試類型,如白盒測試、灰盒測試和系統(tǒng)測試,它們專注于測試軟件應(yīng)用程序的每個功能,但為什么我們需要基于風(fēng)險的測試?
在軟件開發(fā)過程中,測試對于確保軟件應(yīng)用程序的質(zhì)量是必不可少的,并且通過引入新的軟件測試技術(shù)和方法而隨著時間的推移而發(fā)展。它的主要重點是徹底測試每個組件、功能、代碼行等。
然而,組織可能面臨時間和預(yù)算限制,迫使開發(fā)團(tuán)隊充分利用其有限資源。在這種情況下,重點更多地放在最重要的軟件應(yīng)用程序的功能或組件上?;陲L(fēng)險的測試來了,它允許測試人員將他們的時間和資源集中在測試軟件最關(guān)鍵的領(lǐng)域,并提高產(chǎn)品的整體質(zhì)量。
什么是基于風(fēng)險的測試?
基于風(fēng)險的測試方法正在驗證容易出錯或?qū)ζ湔w性能構(gòu)成相當(dāng)大風(fēng)險的軟件應(yīng)用程序的特性和功能。
基于風(fēng)險的測試是軟件測試的基本方法,有助于減少測試工作和成本,在軟件開發(fā)生命周期的早期識別關(guān)鍵缺陷,并確保向最終用戶交付高質(zhì)量的軟件應(yīng)用程序。使用基于風(fēng)險的測試,軟件專業(yè)人員可以就測試過程做出明智的決策,將他們的精力集中在對軟件應(yīng)用程序構(gòu)成最高風(fēng)險的領(lǐng)域。
對軟件應(yīng)用程序構(gòu)成高風(fēng)險的因素可能包括復(fù)雜的代碼、對軟件應(yīng)用程序的功能至關(guān)重要的代碼等。但是,風(fēng)險級別也受到正在開發(fā)的功能或軟件應(yīng)用程序的類型的影響。在基于風(fēng)險的測試中,此類因素得到解決,有助于將重點放在軟件應(yīng)用程序中更可能遇到錯誤的部分。
為什么要執(zhí)行基于風(fēng)險的測試?
基于風(fēng)險的測試服務(wù)于多方面的目的。首先,它建立了一個框架,以在利益相關(guān)者之間就軟件項目風(fēng)險進(jìn)行透明的溝通。該框架有助于定義團(tuán)隊內(nèi)部的標(biāo)準(zhǔn)溝通,使風(fēng)險可見并且更易于修復(fù)。
之所以需要進(jìn)行基于風(fēng)險的測試,是因為在可用的時間和預(yù)算內(nèi)不可能總是詳盡地測試軟件應(yīng)用程序的每個方面。通過識別和評估與被測軟件應(yīng)用程序相關(guān)的風(fēng)險,基于風(fēng)險的測試方法可以幫助測試人員將他們的測試工作集中在軟件應(yīng)用程序中最關(guān)鍵且可能導(dǎo)致問題的區(qū)域。
這有助于確保在可用時間和預(yù)算內(nèi)對軟件應(yīng)用程序進(jìn)行全面測試,并確保在向用戶發(fā)布軟件應(yīng)用程序之前解決最關(guān)鍵的問題。
基于風(fēng)險的測試還有助于在開發(fā)過程的早期識別和減輕風(fēng)險,這有助于降低成本和在開發(fā)周期后期或軟件應(yīng)用程序發(fā)布后發(fā)現(xiàn)的缺陷的影響。
基于風(fēng)險的測試的真實示例
假設(shè)一個軟件測試團(tuán)隊在一個允許客戶在線購買產(chǎn)品的電子商務(wù)網(wǎng)站上工作。您的團(tuán)隊已確定以下風(fēng)險:
- 支付網(wǎng)關(guān)不安全,可能導(dǎo)致未經(jīng)授權(quán)的訪問和客戶支付信息被盜。
- 搜索功能不會返回準(zhǔn)確的結(jié)果,導(dǎo)致客戶感到沮喪和潛在的銷售損失。
- 結(jié)帳流程對用戶不友好,導(dǎo)致購物車被遺棄和潛在的銷售損失。
根據(jù)這些風(fēng)險,您的團(tuán)隊會相應(yīng)地確定測試工作的優(yōu)先級。例如,您可以分配更多資源來測試支付網(wǎng)關(guān),以確保其安全并防止?jié)撛诘倪`規(guī)行為。此外,您將優(yōu)先測試搜索功能和結(jié)帳流程,以確保它們對用戶友好且準(zhǔn)確,以避免失去客戶。
通過采用基于風(fēng)險的測試方法,您的團(tuán)隊可以將其資源集中在風(fēng)險最高的領(lǐng)域,以確保首先解決關(guān)鍵問題。這種方法可以幫助您在潛在問題成為主要問題之前識別并減輕它們,并最終為您的客戶提供更高質(zhì)量的產(chǎn)品。
基于風(fēng)險的測試的好處
基于風(fēng)險的測試是軟件測試的重要組成部分,并在確保軟件應(yīng)用程序的質(zhì)量方面提供了多種好處。重要的是要了解它的好處,以擴(kuò)大基于風(fēng)險的測試方法的知識,并了解其在軟件測試中的廣泛應(yīng)用。以下是它的一些主要優(yōu)點:
- 它使您可以更有效地利用大部分寶貴的資源時間,因為您只關(guān)注接受測試的高概率風(fēng)險。
- 提高軟件應(yīng)用程序的質(zhì)量和功能,因為高風(fēng)險區(qū)域被優(yōu)先考慮,并確保首先測試最關(guān)鍵的功能。
- 它測試軟件應(yīng)用程序的所有關(guān)鍵功能,并提供對其風(fēng)險的實時了解。
- 它側(cè)重于降低成本、提高生產(chǎn)力和測試交付。
- 可以根據(jù)風(fēng)險評估有效地完成測試工作分配。
- 使用定義的風(fēng)險分析方法優(yōu)化測試。
- 可以及早識別軟件應(yīng)用程序的高風(fēng)險區(qū)域,并在它成為更嚴(yán)重的問題之前完成修復(fù)。
基于風(fēng)險的測試的特點
基于風(fēng)險的測試對于開發(fā)高質(zhì)量的軟件應(yīng)用程序并確保不涉及可能影響其功能的風(fēng)險至關(guān)重要。為此,您必須了解基于風(fēng)險的測試的關(guān)鍵特性。以下是其中一些:
- 基于風(fēng)險的測試中的測試周期順序優(yōu)先執(zhí)行具有較高風(fēng)險級別的測試用例,而不是具有較低風(fēng)險的測試用例,從而最大限度地減少對業(yè)務(wù)的潛在風(fēng)險。
- 這種方法有助于將更多資源分配給涉及新功能或需要廣泛研究和開發(fā)的測試活動。
- 這是一個迭代過程,不斷識別風(fēng)險,將它們分解成更小的單元,以實現(xiàn)有效的風(fēng)險管理。
- 基于風(fēng)險的測試策略將測試工作的級別與軟件應(yīng)用程序中涉及的風(fēng)險級別相匹配。例如,風(fēng)險越大,測試工作量越大。
何時使用基于風(fēng)險的測試?
要正確執(zhí)行基于風(fēng)險的測試,必須了解可以實施的場景。有了這個,您可以在準(zhǔn)確的時間執(zhí)行它。以下是一些應(yīng)該執(zhí)行的情況。
- 軟件應(yīng)用程序有時間、資源和預(yù)算限制。
- 您可以在其中檢測 SQL 注入攻擊的風(fēng)險或漏洞的軟件應(yīng)用程序。
- 在敏捷中,執(zhí)行基于風(fēng)險的測試有助于在定義的沖刺中完成測試,以保持軟件應(yīng)用程序的質(zhì)量。
- 當(dāng)需要在云計算環(huán)境中進(jìn)行安全測試時。
- 具有高風(fēng)險因素的軟件應(yīng)用程序,例如,缺乏業(yè)務(wù)領(lǐng)域知識。
- 長期的軟件開發(fā)項目需要關(guān)鍵的管理。
- 軟件開發(fā)項目需要大量的研究和開發(fā)。在這里,基于風(fēng)險的測試將有助于更好地管理軟件應(yīng)用程序的任何高風(fēng)險區(qū)域。
定義和確定軟件測試中的風(fēng)險
測試中的風(fēng)險是影響軟件應(yīng)用程序的成功和質(zhì)量的意外事件的發(fā)生。此類事件可能在過去發(fā)生過,也可能是未來發(fā)生的問題。這可能會影響軟件應(yīng)用程序標(biāo)準(zhǔn)的成本、技術(shù)性和質(zhì)量。
風(fēng)險可能包括對軟件應(yīng)用程序的功能產(chǎn)生負(fù)面影響的錯誤、問題、漏洞和缺陷。風(fēng)險評估的主要目的是發(fā)現(xiàn)和評估此類風(fēng)險,并確定其測試工作優(yōu)先級。
然而,風(fēng)險評估具有挑戰(zhàn)性;您如何確定風(fēng)險的優(yōu)先級或級別?要回答這個問題,您必須查看軟件應(yīng)用程序的三個關(guān)鍵方面以確定風(fēng)險級別:
- 關(guān)鍵性:術(shù)語關(guān)鍵性是指衡量錯誤對軟件應(yīng)用程序的影響,以了解其嚴(yán)重性。開發(fā)軟件應(yīng)用程序時,關(guān)鍵代碼的核心對于其完整功能非常重要。此類代碼中的任何錯誤都會比代碼的其他部分產(chǎn)生更大的負(fù)面影響,例如數(shù)據(jù)丟失和暴露。因此,臨界性是一種高級別風(fēng)險,需要進(jìn)行測試以降低此類事件的風(fēng)險。
- 流失:在風(fēng)險評估中,“流失”是指對任何軟件應(yīng)用程序組件進(jìn)行更改或代碼修改的次數(shù)。這表明經(jīng)過大量更改和更新的軟件應(yīng)用程序的組件更有可能遇到錯誤。因此,流失率高的區(qū)域?qū)儆诟唢L(fēng)險級別,需要進(jìn)行全面的風(fēng)險評估和測試,以確保應(yīng)用程序沒有錯誤或錯誤。
- 復(fù)雜性: 軟件應(yīng)用程序中的代碼復(fù)雜性被認(rèn)為是一個高風(fēng)險因素,因為它們比簡單的代碼更容易出錯。考慮函數(shù)中所有可能的路徑是衡量代碼復(fù)雜性的一種方法。因此,具有更多路徑的函數(shù)將需要更多的測試用例來運行測試,這表明更復(fù)雜并且容易出錯。在評估與應(yīng)用程序相關(guān)的風(fēng)險時,重要的是要考慮代碼的復(fù)雜性。
軟件開發(fā)過程中的風(fēng)險類型
了解直接影響軟件應(yīng)用程序質(zhì)量的風(fēng)險類型并識別潛在問題至關(guān)重要。風(fēng)險類型大致可分為兩類:
1. 積極風(fēng)險:這些事件可能在未來有更好的交易,并對軟件項目或目標(biāo)產(chǎn)生積極影響。例如,投資新項目和開發(fā)新的軟件應(yīng)用程序。
2. 負(fù)面風(fēng)險:這些是對軟件項目產(chǎn)生負(fù)面影響并帶來巨大損失的事件,如團(tuán)隊問題、經(jīng)濟(jì)衰退等。
負(fù)面風(fēng)險對軟件項目的成功構(gòu)成威脅。通過基于風(fēng)險的測試,您可以深入了解這些風(fēng)險以減輕它們并確保軟件應(yīng)用程序的質(zhì)量。
以下是團(tuán)隊在軟件開發(fā)過程中遇到的幾組負(fù)面風(fēng)險。
- 產(chǎn)品風(fēng)險:由于軟件應(yīng)用需求的清晰度和穩(wěn)定性不佳及其復(fù)雜性而產(chǎn)生的風(fēng)險。這種風(fēng)險會導(dǎo)致軟件應(yīng)用程序的功能與最終用戶的期望不一致,從而導(dǎo)致不盡人意的用戶體驗。
- 項目風(fēng)險:是指由于外部依賴而導(dǎo)致的風(fēng)險,包括合同問題、個人問題、承包商方面的延誤等。這種風(fēng)險會影響軟件應(yīng)用程序的預(yù)算、時間表和交付。
- 流程風(fēng)險:這種風(fēng)險與內(nèi)部軟件應(yīng)用程序管理有關(guān),例如估計不準(zhǔn)確、低估項目復(fù)雜性和延遲以及不可協(xié)商的最后期限。
測試人員必須識別并減輕可能影響軟件應(yīng)用程序成功的負(fù)面風(fēng)險。
誰執(zhí)行基于風(fēng)險的測試?
測試人員在評估與軟件應(yīng)用程序相關(guān)的風(fēng)險方面起著至關(guān)重要的作用。他們必須進(jìn)行全面的風(fēng)險評估,概述提議的解決方案的測試方法。如果測試策略不充分,則在將軟件部署到生產(chǎn)環(huán)境時發(fā)生關(guān)鍵軟件故障的可能性將會增加。
全面了解軟件應(yīng)用程序的風(fēng)險后,測試人員可以根據(jù)企業(yè)感知的風(fēng)險評估軟件是否已準(zhǔn)備好上線。
基于風(fēng)險的測試需要根據(jù)模塊的優(yōu)先級來規(guī)劃、設(shè)計和執(zhí)行測試操作。評估軟件應(yīng)用程序風(fēng)險的重點領(lǐng)域應(yīng)包括以下領(lǐng)域:
- 容易出現(xiàn)缺陷
- 關(guān)鍵業(yè)務(wù)功能
- 常用特性和功能
- 安全功能
- 復(fù)雜領(lǐng)域
- 新產(chǎn)品變更。
通過優(yōu)先測試這些領(lǐng)域,測試人員可以降低軟件應(yīng)用程序在生產(chǎn)中失敗的可能性并提高其質(zhì)量。
基于風(fēng)險的測試技術(shù)
基于風(fēng)險的測試大致分為兩種主要的測試技術(shù),即輕量級和重量級風(fēng)險測試技術(shù)。這些技術(shù)是主觀的,需要開發(fā)和測試團(tuán)隊的技能和經(jīng)驗。
輕量級基于風(fēng)險的測試
該技術(shù)與風(fēng)險分析相關(guān),風(fēng)險分析主要是形式化的,通過考慮概率和影響因素來關(guān)注技術(shù)和業(yè)務(wù)風(fēng)險。輕量級基于風(fēng)險的測試被認(rèn)為是輕量級的,因為它不涉及對所有可能風(fēng)險的詳細(xì)分析。它主要解決軟件應(yīng)用程序中的風(fēng)險關(guān)鍵性、復(fù)雜性和其他因素。
基于輕量級風(fēng)險的測試技術(shù)的主要屬性之一是它們只關(guān)注兩個風(fēng)險因素:
- 可能性:指風(fēng)險發(fā)生的概率。
- 影響:指如果風(fēng)險確實發(fā)生,后果的嚴(yán)重程度。
輕量級技術(shù)依賴于簡單的定性判斷和尺度,而不是使用復(fù)雜的數(shù)學(xué)模型來計算風(fēng)險。例如,團(tuán)隊可能將風(fēng)險的可能性評定為高、中或低,并將影響評定為嚴(yán)重、中等或輕微。然后可以使用這些評級來確定測試工作的優(yōu)先級。
基于輕量級風(fēng)險的測試技術(shù)分為三種類型:
1. 產(chǎn)品風(fēng)險管理 (PRisMA):該技術(shù)可以輕松識別軟件應(yīng)用程序中的關(guān)鍵風(fēng)險并確定其優(yōu)先級。它將確保軟件應(yīng)用程序的風(fēng)險在其整個開發(fā)生命周期中得到管理。PrisMa 涉及多種策略,包括風(fēng)險降低、風(fēng)險規(guī)避、風(fēng)險轉(zhuǎn)移和接受。與此同時,對軟件應(yīng)用程序進(jìn)行持續(xù)監(jiān)控和審查,以確保有效管理風(fēng)險。
2. 實用風(fēng)險分析和管理 (PRAM):該技術(shù)涉及評估與軟件應(yīng)用程序開發(fā)和管理相關(guān)的風(fēng)險,然后實施策略來解決這些風(fēng)險。它涉及確定風(fēng)險的優(yōu)先級并制定解決這些風(fēng)險的計劃。該計劃主要包括降低風(fēng)險、規(guī)避風(fēng)險和接受風(fēng)險。
3. 系統(tǒng)軟件測試:該技術(shù)涉及以結(jié)構(gòu)化和系統(tǒng)化的方式進(jìn)行基于風(fēng)險的測試,然后是預(yù)定義的過程和方法。它將幫助您確保在測試工作中付出的努力是一致的、可重復(fù)的和全面的。它涉及定義測試目的和目標(biāo),制定包括測試方法和所需資源的測試計劃,以及創(chuàng)建結(jié)合所有軟件應(yīng)用程序功能的測試用例。
基于重量級風(fēng)險的測試技術(shù)
基于權(quán)重的風(fēng)險測試是一種測試軟件的方法,它專注于根據(jù)與軟件應(yīng)用程序的各個領(lǐng)域相關(guān)的風(fēng)險級別來確定測試活動的優(yōu)先級。
在這種方法中,測試團(tuán)隊確定了軟件應(yīng)用程序中最有可能發(fā)生故障的最關(guān)鍵區(qū)域,并將他們的測試工作集中在這些區(qū)域。這有助于確保軟件的最關(guān)鍵組件經(jīng)過全面測試,并確保在向用戶發(fā)布之前識別并解決任何潛在問題。
基于權(quán)重的風(fēng)險測試需要檢查軟件需求、設(shè)計和體系結(jié)構(gòu),以檢測潛在風(fēng)險并相應(yīng)地確定測試活動的優(yōu)先級。測試團(tuán)隊還可以參考?xì)v史數(shù)據(jù)和行業(yè)最佳實踐來為他們的風(fēng)險評估提供信息。
重量級的基于風(fēng)險的測試技術(shù)主要有四種類型:
1. 風(fēng)險成本: 它衡量的是軟件應(yīng)用程序的已識別風(fēng)險可能導(dǎo)致的財務(wù)影響。暴露成本可以根據(jù)負(fù)面影響的潛在成本發(fā)生風(fēng)險的概率來計算。主要決定三個因素:
- 失敗的百分比與軟件應(yīng)用程序相關(guān)的風(fēng)險有關(guān)。
- 與典型的生產(chǎn)風(fēng)險失敗相關(guān)的損失成本。
- 測試成本。
2. 故障模式和影響分析(FMEA):它是用于檢測軟件應(yīng)用程序中質(zhì)量風(fēng)險項的技術(shù),稱為故障模式。您可以確定基于風(fēng)險的測試下的軟件應(yīng)用程序可能在何處以及如何失敗,并評估不同失敗的相對影響。
它涉及分析過程中的每個組件或步驟,以確定潛在的故障模式、它們的影響和發(fā)生的可能性。FMEA 有助于識別高風(fēng)險區(qū)域并確定行動的優(yōu)先級,以防止或減輕潛在故障。
FMEA 的步驟包括以下內(nèi)容:
- 失敗模式:什么會失?。?/li>
- 失敗原因:為什么會失???
- 失敗影響:每次失敗的結(jié)果是什么?
3. 質(zhì)量功能部署 (QFD):此系統(tǒng)過程用于將最終用戶需求和要求轉(zhuǎn)化為軟件開發(fā)中的特定設(shè)計和生產(chǎn)目標(biāo)。它考慮了可能因?qū)ψ罱K用戶要求的不正確和不充分的理解而產(chǎn)生的質(zhì)量風(fēng)險。這是通過關(guān)注質(zhì)量計劃在軟件應(yīng)用程序開發(fā)中的執(zhí)行功能來實現(xiàn)的。
4.故障三分析(FTA):該技術(shù)用于識別系統(tǒng)故障的原因和影響。它涉及創(chuàng)建表示故障模式及其原因的樹狀圖,然后分析每個潛在原因以確定最可能的根本原因。
它既考慮了從測試或生產(chǎn)中引起的觀察到的故障,也考慮了質(zhì)量風(fēng)險引起的潛在故障。然后對此類故障進(jìn)行根本原因分析,從導(dǎo)致故障的缺陷開始,然后是導(dǎo)致缺陷的錯誤,然后繼續(xù)確定根本原因。
選擇哪種基于風(fēng)險的測試技術(shù)?
基于風(fēng)險的方法中的軟件測試技術(shù)取決于產(chǎn)品、過程和項目考慮因素。質(zhì)量風(fēng)險分析被整合到敏捷項目的每個沖刺早期,風(fēng)險與用戶故事跟蹤一起被編目。測試工作量的精確估計對于成功的項目高潮是至關(guān)重要的。
對于復(fù)雜的系統(tǒng)系統(tǒng),需要對每個單獨的系統(tǒng)和整個系統(tǒng)的系統(tǒng)進(jìn)行風(fēng)險分析。任務(wù)關(guān)鍵型或安全關(guān)鍵型項目在其基于風(fēng)險的測試技術(shù)中需要更高級別的形式和文檔。此方法可用于任何階段,包括用戶驗收測試。
有效的基于風(fēng)險的測試的基本組成部分是適當(dāng)?shù)睦嫦嚓P(guān)者團(tuán)隊參與風(fēng)險識別和評估。這些利益相關(guān)者通常分為兩類:業(yè)務(wù)利益相關(guān)者和技術(shù)利益相關(guān)者。每個利益相關(guān)者都對什么構(gòu)成產(chǎn)品質(zhì)量以及他們對質(zhì)量的優(yōu)先事項和關(guān)注點提出了獨特的看法。
基于風(fēng)險的測試階段
基于風(fēng)險的測試涉及一系列必須遵循的步驟才能成功測試軟件應(yīng)用程序。以下是詳細(xì)說明的步驟:
風(fēng)險識別
基于風(fēng)險的測試的第一步涉及識別與軟件應(yīng)用程序相關(guān)的潛在風(fēng)險。您可以通過多種方式識別風(fēng)險。其中一些是
- 專家訪談
- 獨立評估
- 項目回顧
- 風(fēng)險研討會
- 清單
- 頭腦風(fēng)暴會議
- 過去的測試經(jīng)驗
- 德爾福技術(shù)
- 因果圖
- 根本原因分析
在過去遇到過任何潛在風(fēng)險的開發(fā)團(tuán)隊之間進(jìn)行清晰的溝通至關(guān)重要。這將有助于了解軟件應(yīng)用程序開發(fā)中的脆弱區(qū)域,這可能會影響其功能和性能。除此之外,該團(tuán)隊還分析需求、設(shè)計規(guī)范和文檔以識別潛在風(fēng)險。
風(fēng)險登記冊
在此階段,將維護(hù)一個風(fēng)險電子表格,其中將已識別的風(fēng)險進(jìn)一步劃分為稱為風(fēng)險分解的子風(fēng)險。風(fēng)險分解結(jié)構(gòu)是按類別和子類別組織的已識別風(fēng)險列表的分層表示。這有助于輕松識別、分析軟件項目風(fēng)險并將其傳達(dá)給涉眾。
在電子表格中登記風(fēng)險允許在整個軟件開發(fā)過程中跟蹤和監(jiān)控風(fēng)險。您可以確定風(fēng)險易發(fā)區(qū)域,從而簡化風(fēng)險管理的資源和時間分配。
這是風(fēng)險分解結(jié)構(gòu)的示例,如下圖所示。通常它將風(fēng)險分類為外部風(fēng)險(與市場、法律和監(jiān)管因素相關(guān))和內(nèi)部風(fēng)險(與項目管理、技術(shù)和資源相關(guān))。然而,除此之外,還考慮了與環(huán)境和安全因素相關(guān)的風(fēng)險。此外,這些風(fēng)險也被細(xì)分為特定風(fēng)險,然后對其進(jìn)行嚴(yán)格評估。
風(fēng)險評估
當(dāng)風(fēng)險被識別和分類時,風(fēng)險評估就開始了。然而,風(fēng)險評估也可以與風(fēng)險登記并行,以確定與每個風(fēng)險相關(guān)的可能性和影響。在某些情況下,風(fēng)險評估也發(fā)生在使用清單進(jìn)行識別的過程中。
在這里,風(fēng)險再次被分類為適當(dāng)?shù)念愋?,如性能、可靠性等。一些組織使用 ISO 25000 質(zhì)量特性進(jìn)行分類。然而,許多其他人使用不同的分類方案。
風(fēng)險分析
根據(jù)評估對潛在風(fēng)險進(jìn)行列表和分類后,使用定量和定性風(fēng)險分析方法對其進(jìn)行分析和篩選。但是,重要的是要了解影響風(fēng)險可能性的因素和影響風(fēng)險影響的因素。這是那些:
影響風(fēng)險可能性的因素:
- 軟件應(yīng)用程序的復(fù)雜性。
- 團(tuán)隊中的沖突。
- 地理分布的團(tuán)隊。
- 軟件測試工具和技術(shù)。
- 管理薄弱。
- 高早期缺陷區(qū)域。
- 缺乏早期質(zhì)量保證活動。
- 導(dǎo)致風(fēng)險影響的因素:
- 軟件應(yīng)用程序受影響功能的使用頻率。
- 業(yè)務(wù)損失。
- 執(zhí)照遺失。
- 安全。
- 名譽受損。
風(fēng)險分析的主要目的是區(qū)分高價值和低價值測試用例以分配優(yōu)先級值。這涉及以下步驟:
第 1 步:使用 3X3 網(wǎng)格
在這種方法中,開發(fā)團(tuán)隊評估軟件應(yīng)用程序的每個功能和非功能以及相關(guān)的測試用例的可能性或失敗以及失敗的影響。
每個功能失敗的可能性由技術(shù)專家分析,并分為可能失敗、很可能失敗和不太可能失敗。
此類功能故障的影響被歸類為輕微、可見和中斷。
第 2 步:失敗的可能性和影響
每個已識別風(fēng)險的可能性和影響都經(jīng)過評估,并被評為低、中或高可能性,以及輕微、中等或嚴(yán)重的影響。結(jié)果值將相應(yīng)的測試用例定位在 3X3 網(wǎng)格上。
要量化可能性和影響,請將這兩個值相乘以計算風(fēng)險優(yōu)先級數(shù)。然而,在大多數(shù)情況下,風(fēng)險水平也是定性分析的,涉及的技術(shù)是風(fēng)險矩陣。這用于查找風(fēng)險的概率和影響。
優(yōu)先級和風(fēng)險評估矩陣:
風(fēng)險評級衡量風(fēng)險的潛在影響,計算方法是將風(fēng)險發(fā)生的概率乘以其后果的嚴(yán)重程度。該公式通常表示為
風(fēng)險等級 = 概率 x 嚴(yán)重性
優(yōu)先級和風(fēng)險評估矩陣用于評估每個已識別風(fēng)險的概率和嚴(yán)重性,也稱為概率影響矩陣;該矩陣提供了對風(fēng)險及其相應(yīng)優(yōu)先級的快速概覽。
模棱兩可的情況的可能性和嚴(yán)重性相乘以衡量風(fēng)險等級。概率是一個百分比,可以根據(jù)事件發(fā)生的可能性分為以下幾類:
- 頻繁 (91 – 100%)
- 可能 (61 – 90%)
- 偶爾 (41 – 60%)
- 遠(yuǎn)程 ( 11 – 40%)
- 不太可能 (0 -10%)
- 淘汰 (0%)
嚴(yán)重性按 1 到 4 的等級進(jìn)行評估,可根據(jù)事件的影響分為災(zāi)難性、嚴(yán)重性、邊緣性或可忽略性。
之后,應(yīng)用生成的風(fēng)險評級將風(fēng)險分配給四個優(yōu)先級類別之一:嚴(yán)重、高、中或低。這些優(yōu)先級類別根據(jù)風(fēng)險的嚴(yán)重性和概率繪制成圖表,如下表所示。
通過利用優(yōu)先級和風(fēng)險評估矩陣,軟件開發(fā)團(tuán)隊可以迅速檢測風(fēng)險并確定風(fēng)險的優(yōu)先級,從而使他們能夠?qū)y試工作集中在軟件最關(guān)鍵的區(qū)域。這確保了可能的問題在開發(fā)過程的早期得到解決,減少了缺陷或故障的可能性并提高了軟件的整體質(zhì)量。
在評估每個測試用例的風(fēng)險級別后,風(fēng)險評估矩陣?yán)檬〉母怕屎陀绊?,將它們放置?3x3 網(wǎng)格上以確定它們的優(yōu)先級。這種方法可以識別高值和低值測試。
第 3 步:測試優(yōu)先級網(wǎng)格
該方法涉及創(chuàng)建測試優(yōu)先級網(wǎng)格,該網(wǎng)格基于步驟 #2 中概述的測試用例在 3X3 網(wǎng)格中的定位。
根據(jù)第 2 步中指定的風(fēng)險評級,對測試進(jìn)行優(yōu)先級排序并標(biāo)記為優(yōu)先級數(shù)字 1、2、3、4 和 5。具有最高風(fēng)險評級的測試被分配為第一優(yōu)先級并位于網(wǎng)格的右上角,而較低優(yōu)先級的測試被賦予較高的編號。
優(yōu)先級編號對測試用例進(jìn)行排序后,按照優(yōu)先級高低依次執(zhí)行。優(yōu)先級最高的測試首先執(zhí)行,因為它們給項目帶來的風(fēng)險最大。相反,較低優(yōu)先級的測試可能會稍后執(zhí)行,甚至在必要時刪除。
使用測試優(yōu)先級網(wǎng)格,測試團(tuán)隊可以根據(jù)每個已識別風(fēng)險的潛在影響對他們的測試工作進(jìn)行優(yōu)先排序,確保最重要的測試首先進(jìn)行,并在開發(fā)過程的早期解決潛在風(fēng)險。這種方法旨在提高軟件的整體質(zhì)量并降低出現(xiàn)缺陷或故障的可能性。
第 4 步:測試詳情
在測試過程的第四階段,重點是根據(jù)測試用例的優(yōu)先級確定適當(dāng)?shù)臏y試詳細(xì)程度。分配了更高優(yōu)先級的測試(用值 1 表示)被視為“更徹底”,因此需要更全面的測試級別。為確保這些高優(yōu)先級功能及其相關(guān)測試用例按照高標(biāo)準(zhǔn)進(jìn)行測試,必須為任務(wù)分配熟練的測試人員。
對優(yōu)先級排名為 2、3 和 4 的測試用例采用相同的方法;但是,與具有更高優(yōu)先級的案例相比,測試這些案例所涉及的詳細(xì)程度可能會降低。最后,對于優(yōu)先級為 5 的測試用例,可以根據(jù)可用的時間和資源決定取消這些功能和測試的范圍。這意味著這些測試用例可能需要測試或接受最少的測試。
風(fēng)險應(yīng)對計劃
它涉及徹底分析已識別的風(fēng)險以確定是否有必要做出響應(yīng)。風(fēng)險負(fù)責(zé)人將評估是否需要在項目規(guī)劃或監(jiān)控階段采取行動,或者是否可以無人看管。
如果風(fēng)險需要響應(yīng),風(fēng)險負(fù)責(zé)人將評估各種選項,以最大限度地減少風(fēng)險對項目的可能性和影響。這些選項包括調(diào)整項目計劃以消除風(fēng)險、分配額外資源以降低風(fēng)險或修改測試策略以集中于受風(fēng)險影響最大的項目區(qū)域。
風(fēng)險應(yīng)對計劃的主要目標(biāo)是盡量減少風(fēng)險對項目的影響,并確保項目在預(yù)期的時間和預(yù)算限制內(nèi)成功完成。
風(fēng)險緩解
風(fēng)險緩解涉及采取措施降低風(fēng)險的可能性和/或影響??梢酝ㄟ^消除風(fēng)險或?qū)L(fēng)險降低到可接受的水平來實現(xiàn)。風(fēng)險緩解旨在降低軟件應(yīng)用程序中這些風(fēng)險造成任何潛在危害的可能性,并確保企業(yè)有足夠的能力應(yīng)對任何不可預(yù)見的情況。
有很多方法可以降低風(fēng)險。例如,組織可以實施安全協(xié)議、建立冗余系統(tǒng)、培訓(xùn)員工處理緊急情況或投資保險。通過采取這些措施,企業(yè)可以將潛在風(fēng)險的影響降至最低,并阻止它們演變成重大困境。
風(fēng)險應(yīng)急
或有風(fēng)險涉及具有不確定或不可預(yù)見影響的意外事件發(fā)生的可能性。應(yīng)急計劃,或行動計劃或備份計劃,是為最壞情況做好準(zhǔn)備的計算措施。應(yīng)急計劃的目的是確定可以針對不可預(yù)測的事件采取哪些措施,例如自然災(zāi)害、網(wǎng)絡(luò)攻擊或供應(yīng)鏈中斷。
風(fēng)險監(jiān)控
風(fēng)險監(jiān)控和控制流程用于跟蹤已識別的風(fēng)險、監(jiān)控剩余風(fēng)險、檢測新風(fēng)險、評估變化、執(zhí)行響應(yīng)計劃和監(jiān)控風(fēng)險觸發(fā)因素。此步驟的主要目的是有效地管理整個軟件項目和業(yè)務(wù)流程中的風(fēng)險。
在實施這些技術(shù)時,您可以使用多種風(fēng)險監(jiān)控技術(shù)和工具,如風(fēng)險評估、風(fēng)險審計、差異和趨勢分析、追溯會議等;您將能夠管理風(fēng)險并確保準(zhǔn)備好及時響應(yīng)潛在問題。
基于風(fēng)險的測試方法
基于風(fēng)險的方法是一種綜合策略,涉及審查項目的要求并根據(jù)每個要求的可能性和潛在影響評估風(fēng)險。通過識別高風(fēng)險區(qū)域和確定需求的優(yōu)先級,該方法有助于確保首先測試風(fēng)險最高的項目。這是通過使用風(fēng)險登記冊列出已識別的風(fēng)險并執(zhí)行風(fēng)險分析以了解風(fēng)險能力和容忍度來完成的。
該方法涉及根據(jù)風(fēng)險評級計劃和設(shè)計測試。通過采用適當(dāng)?shù)臏y試方法和設(shè)計技術(shù),最高風(fēng)險的項目得到最密集的覆蓋。為確保最大覆蓋率,測試方法包含多種功能和端到端業(yè)務(wù)場景。
此外,該方法采用同行評審和試運行來識別缺陷和降低風(fēng)險。報告和分析結(jié)果,并為高暴露風(fēng)險制定應(yīng)急計劃。該方法還涉及缺陷分析和預(yù)防、重新測試和回歸測試,以根據(jù)預(yù)先計算的風(fēng)險分析驗證修復(fù)。高風(fēng)險地區(qū)得到最密集的覆蓋。
定期風(fēng)險監(jiān)測和控制、剩余風(fēng)險計算和風(fēng)險狀況的重新評估也是該方法的重要組成部分。必要時實施應(yīng)急計劃。該方法可用于每個級別的測試,并根據(jù)風(fēng)險級別建立退出標(biāo)準(zhǔn)或完成標(biāo)準(zhǔn)。最終目標(biāo)是確保通過適當(dāng)?shù)男袆踊驊?yīng)急計劃解決所有關(guān)鍵風(fēng)險,并確保風(fēng)險暴露處于或低于項目可接受的水平。
基于風(fēng)險的系統(tǒng)測試方法
在系統(tǒng)測試期間使用基于風(fēng)險的方法來根據(jù)潛在的相關(guān)風(fēng)險對系統(tǒng)關(guān)鍵組件的測試工作進(jìn)行優(yōu)先排序和解決。這種方法有助于檢測系統(tǒng)中的任何風(fēng)險并確定其發(fā)生的可能性以及對系統(tǒng)和用戶的影響。它涉及三種不同的測試,解釋如下:
- 技術(shù)系統(tǒng)測試:涉及系統(tǒng)的環(huán)境和集成測試。這涉及在開發(fā)、測試和生產(chǎn)環(huán)境中測試系統(tǒng)。
- 功能系統(tǒng)測試:它涉及對系統(tǒng)的特性、功能、模塊和程序的測試。其主要目的是分析系統(tǒng)是否滿足最終用戶的要求。
- 非功能性系統(tǒng)測試:它涉及測試非功能性需求性能、負(fù)載測試、壓力測試、安全性、配置和文檔。此測試有助于確保系統(tǒng)可以在真實場景中執(zhí)行。
基于風(fēng)險的測試清單
基于風(fēng)險的測試是一個詳盡的過程,側(cè)重于關(guān)鍵功能和相關(guān)的潛在風(fēng)險。在這個過程中,重要的是要評估軟件應(yīng)用程序是否經(jīng)過了全面測試,并且沒有遺漏任何潛在風(fēng)險。為此,清單有助于確保軟件測試的所有關(guān)鍵組件都經(jīng)過測試。以下是一些需要考慮的要點:
- 軟件項目的關(guān)鍵功能。
- 軟件項目的最終用戶可見功能。
- 查找具有最大安全影響的任何功能。
- 對用戶財務(wù)影響最大的功能
- 源代碼和易錯代碼的高復(fù)雜區(qū)域。
- 在開發(fā)周期的早期測試特性和功能。
- 在最后一刻添加到產(chǎn)品設(shè)計中的特性和功能。
- 測試軟件項目的關(guān)鍵因素。
- 測試軟件項目的主要因素。
- 糟糕的需求會導(dǎo)致糟糕的設(shè)計和測試,并影響軟件項目的目標(biāo)。
- 會導(dǎo)致持續(xù)的客戶服務(wù)投訴的問題。
- 端到端測試可以輕松地關(guān)注系統(tǒng)的多種功能。
- 可以最大化風(fēng)險覆蓋率的最佳測試集。
- 具有最佳高風(fēng)險覆蓋率與所需時間比率的測試。
基于風(fēng)險的測試工具
對于執(zhí)行基于風(fēng)險的測試,使用自動化測試工具總是有益的。它不僅簡化了測試過程,而且提高了測試速度。以下是一些可用于基于風(fēng)險的測試的工具:
- HipTest:這是測試管理工具之一,為開發(fā)和測試團(tuán)隊提供協(xié)作平臺以執(zhí)行基于風(fēng)險的測試。HipTest 允許測試人員根據(jù)風(fēng)險確定測試用例的優(yōu)先級,并使用可視化報告跟蹤測試進(jìn)度。
- TestRail:這種類型的測試管理工具允許團(tuán)隊組織、跟蹤和管理測試工作。提供的功能包括測試用例管理、測試運行調(diào)度和基于風(fēng)險的優(yōu)先級排序。
- Zephyr:允許支持實施基于風(fēng)險的測試的敏捷測試方法。您可以輕松地根據(jù)風(fēng)險和自定義報告對測試用例進(jìn)行優(yōu)先級排序,以跟蹤測試進(jìn)度。
- qTest:該工具使管理測試用例、跟蹤基于風(fēng)險的測試進(jìn)度以及輕松確定測試工作的優(yōu)先級變得容易。基于其功能,如與自動化工具的集成,有助于優(yōu)化基于風(fēng)險的測試方法。
如何執(zhí)行基于風(fēng)險的測試?
了解基于風(fēng)險的測試的不同階段和方法,了解成功執(zhí)行它所涉及的步驟同樣重要。這些是您可以遵循的運行基于風(fēng)險的測試的步驟。
- 第 1 步:應(yīng)通過準(zhǔn)備構(gòu)成應(yīng)用程序的主要組件列表并確定 10 到 15 項重要功能來評估風(fēng)險。這些關(guān)鍵功能應(yīng)標(biāo)明風(fēng)險級別、概率和影響。
- 第 2 步:根據(jù)風(fēng)險評估評估測試覆蓋范圍,以確定覆蓋范圍中的任何漏洞。建議高風(fēng)險和中風(fēng)險地區(qū)應(yīng)有足夠的檢測覆蓋率;否則,應(yīng)優(yōu)先考慮它們。
- 第 3 步:與開發(fā)和產(chǎn)品管理團(tuán)隊互動,了解將納入的關(guān)鍵功能及其可能的影響和風(fēng)險級別。
- 第 4 步:創(chuàng)建一個測試計劃,將更多的測試資源分配給高風(fēng)險區(qū)域。關(guān)鍵特性通常會給應(yīng)用程序帶來更大的風(fēng)險,因此在測試過程中優(yōu)先考慮它們很重要。
- 第 5 步:隨著程序的執(zhí)行,將更好地了解所做的工作、改進(jìn)與團(tuán)隊的溝通以及對測試計劃的調(diào)整。在適當(dāng)?shù)臅r候,目標(biāo)是在最小化風(fēng)險的同時獲得高水平的測試覆蓋率。
基于風(fēng)險的測試指標(biāo)
基于風(fēng)險的測試的主要目標(biāo)是識別和減輕軟件應(yīng)用程序的高風(fēng)險區(qū)域。在這個過程中,重要的是評估測試過程的有效性,這樣我們就可以知道如何成功地減輕軟件應(yīng)用程序開發(fā)過程中已識別的風(fēng)險。以下是一些已知的基于風(fēng)險的測試指標(biāo):
- 測試覆蓋率
- 缺陷密度
- 測試用例有效性
- 缺陷嚴(yán)重程度
- 降低風(fēng)險
- 測試有效性
- 缺陷泄漏
- 質(zhì)量成本
- 缺陷識別效能
- 測試執(zhí)行覆蓋率
基于風(fēng)險的測試報告
測試報告準(zhǔn)備是創(chuàng)建文檔的過程,這些文檔可以就基于風(fēng)險的測試結(jié)果傳達(dá)給項目涉眾。準(zhǔn)備一份測試報告以清楚地了解測試過程并將預(yù)先定義的測試目標(biāo)與測試結(jié)果進(jìn)行比較是必不可少的?;陲L(fēng)險的測試報告需要詳細(xì)、有條理和簡潔。
以下是準(zhǔn)備測試報告的步驟:
- 確定報告的目的和受眾:首先,您必須了解預(yù)期的目的和受眾,以確定應(yīng)包含哪些信息以及如何使用報告。
- 定義測試范圍:您必須清楚所執(zhí)行測試的范圍。這涉及測試類型、測試環(huán)境和被測試的系統(tǒng)/應(yīng)用程序。
- 描述測試范圍:在這里,你必須描述正在使用的測試過程,包括測試方法、測試計劃和測試用例。您必須包括在基于風(fēng)險的測試過程中遇到的任何問題。
- 展示結(jié)果: 你必須清晰簡潔地展示測試結(jié)果。這涉及使用表格、圖表和圖形來可視化數(shù)據(jù)并突出測試的嚴(yán)重性和優(yōu)先級。它還涉及有關(guān)計劃與執(zhí)行的測試用例數(shù)量、通過/失敗的測試用例數(shù)量、已識別缺陷數(shù)量及其狀態(tài)和嚴(yán)重程度、缺陷數(shù)量及其狀態(tài)、關(guān)鍵缺陷數(shù)量(仍未解決)、環(huán)境停機時間的信息– 如果有的話,showstoppers – 如果有的話,測試覆蓋率報告。
- 提供建議:這涉及針對測試期間發(fā)現(xiàn)的缺陷給出建議。此類建議包括代碼更改、測試計劃更新和所需的任何其他測試。
- 總結(jié)報告:通過總結(jié)主要發(fā)現(xiàn)和建議來總結(jié)報告。這也可能涉及測試過程中的任何教訓(xùn),并表示在未來的測試工作中需要更多關(guān)注的任何領(lǐng)域。
在基于風(fēng)險的測試中要避免的錯誤
有不同的方法來分析和評估基于上下文經(jīng)歷各種形式的軟件應(yīng)用程序中的風(fēng)險。盡管如此,在基于風(fēng)險的測試中仍存在一些應(yīng)該避免的常見錯誤。其中一些如下:
- 在軟件開發(fā)生命周期結(jié)束時執(zhí)行基于風(fēng)險的測試。
- 以錯誤的方式定義可接受的風(fēng)險水平。
- 忽略軟件應(yīng)用程序的高風(fēng)險區(qū)域或組件。
- 不關(guān)注可能影響軟件應(yīng)用程序未來性能的風(fēng)險。
- 在沒有完全理解測試影響的經(jīng)驗或知識的情況下參與基于風(fēng)險的測試。
建議在軟件開發(fā)生命周期的規(guī)劃和開發(fā)階段開始風(fēng)險分析,以正確評估和開發(fā)有效的測試方法。
基于風(fēng)險的測試的挑戰(zhàn)
基于風(fēng)險的測試是一種最大限度地提高測試效率的方法,但它也面臨著一系列挑戰(zhàn)。需要了解這些挑戰(zhàn),以便在執(zhí)行基于風(fēng)險的測試時可以解決這些挑戰(zhàn)。這將幫助您確保不會遺漏軟件應(yīng)用程序的關(guān)鍵風(fēng)險區(qū)域。以下是一些常見的挑戰(zhàn):
- 缺乏適當(dāng)?shù)囊?guī)劃:這是可能導(dǎo)致在軟件應(yīng)用程序中錯過有效風(fēng)險分析的主要挑戰(zhàn)之一。需要對軟件應(yīng)用程序及其相關(guān)風(fēng)險有透徹的了解。
- 難以識別風(fēng)險:主要是在涉及多個要測試的組件的復(fù)雜軟件應(yīng)用程序中執(zhí)行基于風(fēng)險的測試時,會遇到這種挑戰(zhàn)。因此,確定哪些組件應(yīng)優(yōu)先用于高風(fēng)險級別可能具有挑戰(zhàn)性。
- 缺乏資源:在基于風(fēng)險的測試中,需要大量資源,例如時間和預(yù)算。但是,由于優(yōu)先級相互競爭,將其分配給測試具有挑戰(zhàn)性。
- 不完整的覆蓋:由于基于風(fēng)險的方法只涉及測試軟件應(yīng)用程序的關(guān)鍵組件,其他重要組件被留下來進(jìn)行徹底測試,導(dǎo)致不完整的測試覆蓋。
- 缺乏一致性:基于風(fēng)險的測試需要在整個組織內(nèi)進(jìn)行一致的實施。這可能具有挑戰(zhàn)性,尤其是當(dāng)不同的團(tuán)隊負(fù)責(zé)軟件的其他領(lǐng)域時。
基于風(fēng)險的測試的最佳實踐
基于風(fēng)險的測試是軟件開發(fā)的一個重要方面,有幾個最佳實踐可以確保其成功:
- 您應(yīng)該在軟件開發(fā)的規(guī)劃階段盡早識別任何關(guān)鍵風(fēng)險,在這個階段解決它們更容易且預(yù)算友好。
- 協(xié)作在基于風(fēng)險的過程中也很重要。這需要開發(fā)人員、測試人員和業(yè)務(wù)分析師等各種利益相關(guān)者的有效合作。它將有助于識別潛在風(fēng)險和確定測試工作的優(yōu)先級。
- 您應(yīng)該執(zhí)行全面的風(fēng)險評估,其中包括識別風(fēng)險并評估它們對軟件應(yīng)用程序的影響。
- 根據(jù)風(fēng)險評估,測試工作應(yīng)優(yōu)先考慮軟件應(yīng)用程序的最關(guān)鍵組件。
- 您可以使用測試自動化來支持基于風(fēng)險的測試,方法是對軟件應(yīng)用程序的高風(fēng)險區(qū)域進(jìn)行自動化測試。
- 您應(yīng)該在整個開發(fā)生命周期中執(zhí)行持續(xù)的風(fēng)險評估。
結(jié)論
基于風(fēng)險的測試是一種軟件測試方法,它優(yōu)先考慮軟件或系統(tǒng)的關(guān)鍵功能。該策略旨在優(yōu)化測試過程的效率和有效性,最終改善用戶體驗和高質(zhì)量軟件。
在這種方法中,風(fēng)險級別根據(jù)其優(yōu)先級進(jìn)行識別、評估、分析和緩解。這種策略減少了過度測試,從而優(yōu)化了測試過程的效率。
基于風(fēng)險的方法需要參與軟件項目的開發(fā)人員和測試人員等利益相關(guān)者之間進(jìn)行有效的協(xié)作和溝通。當(dāng)您將所有視圖都納入風(fēng)險評估時,團(tuán)隊可以輕松確保潛在風(fēng)險識別及其修復(fù)。