?

軟件缺陷管理方案分析

2014-03-13 08:18史海峰
電腦與電信 2014年10期
關鍵詞:軟件缺陷測試用例軟件測試

史海峰

(南京信息職業技術學院,江蘇 南京 210046)

軟件缺陷管理方案分析

史海峰

(南京信息職業技術學院,江蘇 南京 210046)

基于作者軟件開發和軟件測試的工作經歷,給出了一套軟件缺陷管理方案,該方案對軟件缺陷的管理內容和生命周期進行重點分析,定義了軟件缺陷在其生命周期中的各個狀態,以及狀態之間的轉換過程,然后在軟件缺陷權利管理中給出了權限和角色分配方法,最后對方案提出了一些不足和改進。

軟件缺陷管理;測試用例;測試結果;生命周期;權限管理

1.引言

軟件缺陷是計算機軟件或程序中存在的某種破壞正常運行能力的問題、錯誤,或者隱藏的功能缺陷。軟件缺陷管理是在軟件生命周期中獲取、管理、溝通任何變更請求的過程,可以確保問題或缺陷被跟蹤管理而不丟失。目前缺陷管理類的軟件工具比較多,主要功能比較一致,但在一些細節,如缺陷管理的流程,與其它軟件工程管理軟件的集成,甚至涉及到軟件測試流程和軟件質量管理的理念上,都存在差異[1]。本文結合作者的軟件開發和測試工作經歷,給出一套軟件缺陷管理方案。

2.軟件缺陷的產生

軟件測試從需求分析階段就與軟件開發同步進行,軟件缺陷在軟件測試的各個階段都會產生。圖1是軟件缺陷的產生示意圖。

圖1 軟件缺陷產生示意圖

測試人員和開發人員首先根據測試需求創建各個測試用例,測試需求與測試用例是一對多的關系;各個測試用例在運行后會產生相應的測試結果,在一次測試過程中,一個測試用例只會有一個測試結果,但從整個軟件測試流程中,一個測試用例會產生多個測試結果,比如在針對不同版本進行的回歸測試,從測試用例到測試結果一般測試人員和開發人員都會參與;最后,如果測試結果完全滿足對應的測試需求的要求,即測試成功,可以認為該測試用例測試通過,若不滿足,即測試失敗,根據測試結果創建相應的缺陷,測試結果與軟件缺陷是一對多的關系[2]。

3.軟件缺陷管理方案

3.1 管理內容

從管理功能的角度,軟件缺陷管理會記錄缺陷時間、嚴重度、異常的程序表現以及如何重現軟件缺陷的細節;另外還有報告程序缺陷的人員身份和可能修正此缺陷的程序員信息。為了追蹤與軟件缺陷相關的測試用例和測試結果,應該對測試用例和測試結果進行分類管理,同時關聯好測試用例、測試結果和軟件缺陷三者的關系[3,4]。

從管理權限的角度,軟件缺陷管理過程中,除了需要分配相關的人員對測試用例、測試結果和軟件缺陷進行維護外,還需要不斷跟蹤軟件缺陷及與之相關的測試用例、測試結果在其生命周期中被分配的狀態指數。在跟蹤過程中應當允許管理員設定基于狀態的權限,可以結合軟件缺陷的管理流程,通過權限管理來維護在測試用例、測試結果和軟件缺陷生命周期中的狀態,包括缺陷的確認、缺陷任務的分配等等。同時對各類狀態進行定義和維護[3,4]。

下面首先分析軟件缺陷的具體內容及生命周期中的狀態關系,然后定義相關的權限和角色,并賦予角色對應的權限。

3.2 軟件缺陷管理

一條測試用例的多次執行會產生多個測試結果,當測試結果與預期結果不一致時,可以通過該測試結果產生一個或多個軟件缺陷,當發現軟件缺陷后,需要設法找到引起這個缺陷的原因,對軟件缺陷進行分類,分析對產品質量的影響,然后確定軟件缺陷的嚴重性和處理這個缺陷的優先級。一個完整的軟件缺陷包括如下表所示的字段信息:

表1 軟件缺陷字段說明

軟件缺陷標題表示軟件缺陷當前所處狀態與測試結果一致該軟件缺陷造成的嚴重性修復軟件缺陷的緊急程度(微小、一般、嚴重和致命)標題狀態保存路徑嚴重程度缺陷級別其他字段:分類、創建者、修復者、抄送人員、測試步驟、錯誤描述、建議等

軟件缺陷在其生命周期中的狀態關系圖如圖2所示:

圖2 軟件缺陷生命周期狀態圖

如圖所示,軟件缺陷共有四個狀態,缺陷創建時為Active狀態,表明該缺陷激活,需經過管理員的確認,管理員確認通過后,此時將該缺陷設置為Reviewed狀態,表明缺陷得到確認,再將該缺陷分配給軟件修復者(通常為開發人員)進行處理;軟件修復者得到任務后對缺陷進行修復,修復完成后,將該缺陷設置為Resolved,表明該缺陷已得到解決;當修復者處理好缺陷后,創建者需要判斷該缺陷是否得到了處理,如果并未得到處理,則將缺陷重新設置為Active狀態,表明該缺陷沒有能正常解決,然后交給管理員再進行確認;若創建者判斷修復者已經完成了對缺陷的處理,則由管理員進行確認,確認通過后缺陷狀態仍然為Resolved;當管理員認為該缺陷已經解決,同時在后續開發過程中也無須跟蹤該缺陷,則可以將缺陷狀態設置為Closed,表明該缺陷為關閉狀態,后續測試和開發無須考慮該缺陷;對新創建和重新激活的缺陷,管理員在進行確認過程中,如果認為創建的缺陷無須修復,直接可以設置為關閉狀態,或者對于創建者重新激活的缺陷,管理員若認定該缺陷已經解決,管理員可以將缺陷再次設置為Resolved狀態;同樣對于已經為Closed狀態的缺陷,在后續測試過程中重現,可以重新激活,設置為Active狀態[3,5]。

設置為Resolved狀態的軟件缺陷,并不表明該軟件缺陷得到了修復,僅僅表示該軟件缺陷得到了處理,有的情況下有些軟件缺陷是不需要修復的,比如無法復現的問題,或者暫時不能解決的軟件缺陷,也有的情況下軟件缺陷發現得比較晚,當前的處理結果是在下一個版本進行修復;這里將Resolved狀態的缺陷分為兩大類:無效缺陷和有效缺陷,該兩大類將已解決的缺陷再分成如下的解決分類[5],如表2所示:

表2 Resolved狀態下的缺陷解決分類

3.3 軟件缺陷權限管理

由前面分析可以看到,在軟件缺陷管理過程中,所涉及到的角色較多,因此必須要設置相應的角色和對應的權限。首先將權限分為軟件產品管理、用戶管理、測試用例管理、測試結果管理和軟件缺陷管理五個方面,將角色分為系統管理員、項目管理員、測試管理員、測試審核員、測試人員和開發人員六個方面,各角色的具體權限分配如表3和表4所示:

表3 缺陷管理權限分配表一

表4 缺陷管理權限分配表二

4.結語

本文給出了一套軟件缺陷管理方案,該方案從生命周期和管理內容兩個方面詳細分析了軟件缺陷的管理方法,并給出了軟件缺陷權利管理中權限和角色分配方法。該方案更多的是結合本人在軟件開發和測試工作中的經驗總結而成,在軟件缺陷的狀態關系中,強調了審核和確認的機制,管理方案略顯繁瑣,在軟件開發和測試的實際運行中比該方案相對簡單;另外方案在團隊工作和項目管理方面,尤其是質量控制和質量保證方面,考慮得不夠全面,在今后的工作過程應重點融入這部分內容。

[1]百度百科.缺陷跟蹤管理系統[EB/OL].http://baike.baidu.com/view/107502.htm,2013.

[2]張創基.軟件缺陷管理系統的分析與設計[J].教育教學論壇,2012.8.

[3]林璐.對軟件測試中的缺陷管理的研究和實踐[D].上海:復旦大學,2011.

[4]閆振興,鄭駿.軟件缺陷度量與軟件過程管理方法研究[J].計算機與數字工程,2010.8.

[5]王昕.基于工作流的軟件缺陷管理系統的設計與實現[D].上海:上海交通大學,2011.

Analysis on the Software Defect Management Scheme

Shi Haifeng
(Nanjing College of Information Technology,Nanjing 210046,Jiangsu)

Base on author's working experience of software development and testing,this paper gives a software defect management scheme.It focuses on the analysis of the management content and the life cycle of software defect,and defines each state in the life cycle of software defect and the transition process of the states;then gives the authority and role assignment method in the software defect authority management,and finally presents the deficiency and improvement.

software defect management;test case;test result;life cycle;authority management

史海峰,男,江蘇海安縣人,碩士研究生,講師,研究方向:信息安全、軟件測試技術、多媒體技術。

猜你喜歡
軟件缺陷測試用例軟件測試
基于SmartUnit的安全通信系統單元測試用例自動生成
基于源文件可疑度的靜態軟件缺陷檢測方法研究
基于OBE的軟件測試課程教學改革探索
航天軟件測試模型構建與應用
EXCEL和VBA實現軟件測試記錄管理
基于NPE-SVM的軟件缺陷預測模型
開源程序的軟件缺陷分布特征的量化分析研究
基于需求模型的航天軟件測試用例生成方法
軟件測試工程化模型及應用研究
基于依賴結構的測試用例優先級技術
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合