高新
摘? ?要:風險管理在軟件質量管理系統(tǒng)中起著非常重要的作用,軟件設計和產品開發(fā)過程具有不確定性,這種不確定性威脅整個軟件的質量,所以需要識別軟件測試期間的風險,分析并控制此類風險,以不斷提高軟件質量。文章介紹了軟件測試風險評估的3個方面,分析了軟件測試的一般風險,并提出了糾正措施及建議。因此,該研究將對專家和科學家的未來研究有所啟發(fā)。
關鍵詞:軟件測試;質量管理;風險應對目前,中國的軟件測試行業(yè)與發(fā)達國家的差距相對較大,這主要體現(xiàn)在軟件測試技術和標準的普及上,歐洲和美國的軟件業(yè)具有很高的早期成熟度,開發(fā)人員可以嚴格控制軟件質量。我國軟件產業(yè)滯后、發(fā)展不成熟、軟件測試處于弱勢地位,雖然,國家軟件制造商擁有多項國際標準化組織(International Organization for Standardization,ISO)和容量成熟度模型(Capacity Maturity Model,CMM)的高級證書,但是,非標準軟件開發(fā)也很普遍,許多方面都沒有標準化,遠遠不是國外軟件行業(yè)1∶1的比例。形成測試服務系統(tǒng),以響應用戶對軟件質量要求的軟件測試需要依靠技術和服務,如何吸引用戶和提高測試質量,需要引入HJ的風險管理技術以最大限度地降低測試風險,風險管理系統(tǒng)迫切需要識別與項目相關的風險,盡快采取適當?shù)拇胧?,消除潛在的風險因素,并在事件發(fā)生時減少對軟件項目的影響,所以可以制定一個計劃。
1? ? 風險與測試
1.1? 風險相關介紹
在軟件測試期間,可能會出現(xiàn)最壞的情況,即存在測試目標可能受到嚴重損害或出現(xiàn)故障的風險。軟件測試風險管理是規(guī)劃、識別、評估、響應和監(jiān)控潛在風險的整個過程的總稱。
1.2? 風險與測試的關系
測試軟件是一種風險測試策略,可用于確認產品是否滿足功能需求。內容測試可降低軟件風險。然而,在當前的測試過程中,帕累托80/20理論表明“80%的危險從20%的功能開始”,它更接近相對危險的比率,風險和測試之間的關系如圖1所示。
如圖1所示,測試人員應使用更合理的測試策略來優(yōu)化工作負載分配,換句話說,首先需要注意區(qū)域F。這降低了測試的風險。因為高優(yōu)先級負載測試在高優(yōu)先級區(qū)域中最為重要,所以它應該占測試項目風險的50%。
2? ? 風險管理過程
風險管理的目標是控制與軟件開發(fā)周期相關的風險,盡可能地消除影響測試項目的因素。風險管理包括與國際軟件測試和認證委員會相關的3項活動:危害識別、風險分析和風險管理,本文以國際軟件測試和認證委員會計劃為例,討論這3種類型的危害。
圖1? 測試人員基于危險的優(yōu)先
2.1? 風險識別
需要在項目早期進行風險識別,并在測試計劃開始時對其進行測試,以澄清威脅項目以及促進項目計劃和戰(zhàn)略制定的因素。風險識別過程以明確的危險聲明記錄不確定性,根據(jù)項目的特征,可以使用不同的風險識別方法,所以,不管產品的特征如何,都可以使用多種技術識別,例如專家建議、獨立評估、風險規(guī)劃、頭腦風暴方法和核對表方法等。
2.2? 風險分析
風險分析是對所識別風險的概率和重要性以及每種風險的研究,該質量特性在ISO/IEC9126中有描述,危險的可能性分為5類:非常低、低、中、高、非常高,測試人員可以使用定量或定性的方法來確定風險的可能性和嚴重性,一般而言,定量風險分析更復雜,定性分析相對容易,因此,通常在質量上確定風險在檢查過程中的潛力和重要性。此外,可以結合定性和定量的方法,通過定量獲取風險水平并與風險標準值進行比較,將風險的概率和重要性相乘,并用適當?shù)闹荡妫绻嬎愠鰜淼娘L險水平超過某個閾值,則需要采取適當?shù)拇胧┚徑怙L險。
2.3? 風險控制
2.3.1? 風險減輕
風險程度取決于風險發(fā)生的可能性,因此,減少可以降低風險以便響應到可以容納的水平。
2.3.2? 風險應急
一旦風險得以實現(xiàn),就需要采取適當?shù)木o急行動來減少事故的影響。如果想提高風險管理的效率,需要關注風險的“非常高優(yōu)先級”,并采取即時風險策略來管理風險。
2.3.3? 風險轉移
風險可以不是自身的風險,而是將風險轉移給第三方。示例:將保險和軟件功能模塊開發(fā)中的風險轉移給第三方。
2.3.4? 忽視或接受風險及其產生的后果
一旦識別出風險,就要立刻對其進行評估,這樣就可以識別它們并將其控制在允許的范圍內。其次,風險管理的成本可能比沒有響應的成本高,如果沒有避免危險,并且無法采取適當措施來避免、延遲或減少危險,則只能承擔風險[1]。除了防止承包商項目工作人員到期外,確保數(shù)據(jù)傳輸過程中信息的機密性也很重要。對于外包測試,必須發(fā)送各種信息端口,有電話、電子郵件連接和軟件版本,如果可以,需使用虛擬專用網(wǎng)絡(Virtual Private Network,VPN)等根據(jù)需要將傳輸?shù)臄?shù)據(jù)進行加密。
2.3.5? 風險追蹤
一旦風險得到控制,需要及時監(jiān)控風險,通過跟蹤風險以便確保能夠及時采取風險應對策略,不斷識別新風險,并通過后續(xù)機制盡可能建立對策。通過改善研究人員、測試人員和客戶之間的溝通,或通過創(chuàng)建一個僵化的系統(tǒng),可以避免風險。對于不可避免的風險,使用有效的風險管理方法來降低,例如在設置測試環(huán)境中,檢查所有其他項目,當需要顯示和檢查所有元素時,如果仍有“未發(fā)現(xiàn)的缺陷”,仍可在程序中改進測試范圍。為了減輕這些風險,例如在最大的情況下為99.9%,在新功能出現(xiàn)嚴重缺陷之前,盡可能經(jīng)常引入產品。由于源函數(shù)錯誤可能產生風險,因此,回歸測試可以避免部分相關的風險,但通常與時間和成本有關。
3? ? 軟件測試中的主要風險及應對措施
風險是不可避免的,并且會持續(xù)存在,與軟件測試相關的主要風險是:(1)不了解產品風險,質量要求低,對產品功能的理解有誤。(2)控制人員風險。在正確的測試階段開始時,正確的測試儀不起作用。(3)計劃風險。改變或重新測試,缺乏測試時間,增加投資成本。(4)需求的快速變化導致目標質量風險,沒有透露能力測試和可用性測試等質量標準。(5)有效性測試風險沒有測試套件設計,并且在某些約束、詳細邏輯和用戶場景中,很難忽略錯誤和其他風險[2]。由于沒有特殊的測試環(huán)境,測試會導致風險測試工具出錯。(6)無法正確使用此測試工具或測試人員不了解新工具的用法。
對于上述出現(xiàn)的軟件風險,可以使用以下風險管理方法:(1)可以增加員工風險認識的教育,包括基礎項目教育、質量標準培訓、軟件測試工具教育和初學者教育,以促進測試人員具備關鍵技術[3]。(2)測試計劃的安全性及工作量的合理安排,以上措施優(yōu)先考慮測試案例和測試人員,它可用于優(yōu)化測試策略、確定測試范圍以及選擇關鍵測試以降低風險。(3)如果測試環(huán)境出現(xiàn)問題,那么這種情況下可以提前列出需要檢查的所有項目并配置測試環(huán)境。(4)改善測試套件的覆蓋范圍(例如99.9%)以降低風險。(5)如果系統(tǒng)質量低或不完整,則必須調用應測試的內容、不應測試的內容以及確定過程的測試深度要求規(guī)范。(6)某些風險試驗會產生嚴重后果,這種風險需要在低風險出現(xiàn)之前轉換,在產品發(fā)布之前發(fā)現(xiàn)致命缺陷并且不是很重要,但糾正錯誤可能導致原始功能出現(xiàn)故障,刪除當前錯誤的風險非常高,并且可能出現(xiàn)新風險。
4? ? 結語
本文首先從風險相關介紹以及風險與測試的關系等兩個方面對風險與測試進行了分析,然后從風險識別、風險分析以及風險控制等3個方面對風險管理過程進行了分析,對軟件測試中的主要風險及應對措施進行了分析。風險管理與測試是軟件測試過程中不可或缺的一部分,本文使用基本的軟件風險管理測試流程來說明風險與測試之間的關系,描述了關鍵風險和對策。在實施測試項目時,需要根據(jù)風險管理計劃密切管理項目的風險,以避免風險。最后,希望通過本文的研究,對今后專家學者的研究與對軟件測試過程中的質量管理及風險應對相關的課題的研究有一定的借鑒與幫助作用。
[參考文獻]
[1]劉楊.郵儲銀行軟件測試體系研究[D].北京:北京郵電大學,2018.
[2]吳剛.基于敏捷模式軟件質量管理過程的改進方法研究[D].成都:電子科技大學,2017.
[3]儲海華.離岸外包軟件測試的質量管理方法研究與應用[D].上海:上海交通大學,2013.
Analysis of quality management and risk in the process of software testing
Gao Xin
(Hengyin Financial Technology Co., Ltd., Tianjin 300308, China)
Abstract:Risk management plays a very important role in software quality management system, there is uncertainty in software design and product development process, which has many hidden dangers to the quality of the whole software, so it is necessary to identify the risk during software testing, analyze and control this kind of risk in order to improve the software quality. This paper introduces three aspects of software testing risk assessment, analyzes the general risks of software testing, and puts forward some suggestions for corrective measures. Therefore, the research in this paper will enlighten the future research of experts and scientists.
Key words:software testing; quality management; risk response