王明珠
摘要:隨著科學技術的不斷發展,對軟件質量也提出更高的要求。而軟件質量的保證主要得益于有效的測試管理,以往軟件測試過程中主要集中在軟件編碼測試方面,忽視對軟件項目開發的全過程進行分析。對此要求對復雜的軟件測試項目構建完善的測試管理流程,從軟件測試管理中促進軟件應用質量的進一步提高。文章主要對軟件測試管理的基本概述、P-TMS軟件測試管理系統的研究設計以及所應用的關鍵技術進行探析。
關鍵詞:軟件測試管理;過程;關鍵技術
1 引言
在軟件大規模開發的背景下,軟件測試管理工作也面臨較大的工作量與技術難題。據美國質量保證研究所相關數據研究發現,相比編碼前的缺陷修改,軟件編碼完成后修改其中缺陷所涉及的成本將提高10倍左右,若產品處于交付狀態并需進行修改將為交付前缺陷修改成本10倍左右,充分說明以過程為基礎的軟件測試管理的重要性。這就要求測試工作管理不斷加強,引用先進的技術手段,保證軟件質量的提高。
2 軟件測試管理的基本概述
2.1 軟件測試管理的內容與目標
軟件測試管理的實質在于跟蹤與管理各測試階段中的相關計劃與流程,并將測試管理的相關結果向系統研發人員與管理人員進行反饋,同時要求根據軟件系統中的缺陷生成相應的報告。測試管理的內容重要包括對過程的測試、對人員的測試以及對工作產品的測試。其中在管理測試過程方面主要考量軟件的應用情況與測試是否具備有效性,在此基礎上做好后期測試過程的改進。在管理測試人員方面,需對軟件人員的工作狀況等相關數據進行分析與收集,判斷是否與預期測試目標相吻合。而在管理工作產品測試方面主要對測試軟件產品進行分析與測量并從中獲取能夠為決策提供參考的數據信息。因此,軟件測試管理的目標實質是控制與管理整個測試流程,以此保證軟件產品的質量。
2.2 軟件測試管理主要概念分析
軟件測試過程中涉及的概念主要包括測試用例、缺陷以及協同等方面。其中的測試用例可細化為相關的數據與所得出的結果,用于判斷測試結果是否與測試計劃目標相吻合,確定軟件應用程序中是否存在影響正常運行的問題。而缺陷的概念,很多研發人員往往以Bug代指軟件開發過程中存在的問題,從狹義角度分析指為由程序編寫過程產生的問題,而在廣義上認為軟件應用使用過程中出現的錯誤。而對協同的概念,根據以往學者將其應用于計算機中的定義為對空間分布與時間分離支持的同時,使軟件各部分共同合作。
3 以P-TMS為例的軟件測試管理系統分析
P-TMs軟件測試管理系統中的相關角色主要包括軟件項目負責人、系統分析人員、測試設計人員、軟件開發人員以及用戶等內容。利用這種工作模型的優勢主要在于可在設計工作前設計測試用例,有利于及時發現軟件設計中存在的問題等。具體測試過程主要表現在以下幾方面。
3.1 從需求跟蹤管理角度出發
進行需求跟蹤管理過程中所分析的主要為用戶原始需求,其中的測試用例集中所包含的用例具有一定的關聯性,且對應測試用例往往存在一定的缺陷問題。但值得注意的是許多需求項無需利用測試用例,不必對其跟蹤管理。另外,在需求跟蹤過程中,由于用戶對軟件項目的需求不同階段會存在一定的變化,要求構建需求變更流程,具體過程包括對需求變更的申請,在此基礎上制定變更的決策,最后在落實階段需對測試用例重新設計并修改測試用例庫。
3.2 從測試用例管理角度出發
軟件測試工作的成敗很大程度上受測試用例管理的影響。具體管理過程中首先需對其組織結構進行分析,保證其中的上下級系統、子系統、功能模塊以及測試用例集等設置合理,通常各功能模塊中往往包含許多功能項,而功能項中集合部分測試用例集,各測試用例集又存在許多測試用例。其次,由于被測軟件項目存在功能相似或同樣的情況,具有同樣的測試要求。對此可引用復用技術,測試功能項或需求項相同的軟件過程中便可在測試用例庫中尋找對應的測試用例完成測試過程。
3.3 從缺陷管理角度出發
軟件生命周期內無論研發階段或使用階段都存在一定的缺陷問題,要求做好缺陷跟蹤管理工作。軟件項目測試管理中的相關人員都可對存在Bug向測試主管提交,而測試人員便需做好缺陷狀態以及解決缺陷問題的相關數據統計,以使項目進展情況可被及時掌握。同時,應做好項目缺陷的分類,如程序問題、數據處理中的錯誤、編碼規范性問題、接口錯誤、內存管理、系統性能等方面,在此基礎上針對每種類型缺陷提出相應的解決方案并存檔與缺陷方案庫中,再次出現該類缺陷時便可從方案庫中找到對應解決方法。
3.4 從軟件測試度量角度出發
軟件測試度量主要指量化分析整個軟件測試過程,其通過度量缺陷以及測試執行狀態,使缺陷位置得以確定并預測軟件開發或使用階段存在的缺陷,以此為依據制定相應的測試計劃,很大程度上保證軟件的可靠性。其中對缺陷的度量需構建缺陷的相關報告以及趨勢圖,而度量執行狀態的相關指標主要包括需求測試、功能測試以及測試用例等方面。
4 關鍵技術在軟件測試管理中的應用
根據前文中對P-TMS軟件測試管理系統的分析,在實際設計測試管理系統過程中需重點做好主要功能模塊的設計工作。其中在設計主要功能模塊過程中要求將模塊覆蓋整個測試管理過程中,具體包括項目規模管理模塊、需求項管理模塊、測試用例模塊、實施計劃模塊、測試用例模塊、管理缺陷的模塊、生成報表與系統整體管理模塊等。而在設計數據庫過程中需根據相應的模塊內容,保證各模塊間的相關數據融于數據庫系統中。這種設計測試款力模塊的關鍵技術主要體現在以下幾方面。
4.1 狀態流轉技術的應用
狀態流轉技術的提出主要針對軟件中存在的缺陷問題,設計過程中考慮到軟件開發與應用的角色以及具體職責內容。同時,在實際處理缺陷中除進行狀態轉換中的相關信息外,其他許多流動信息都具有明顯的缺陷屬性,對此需保證各處理環節的缺陷處理都需建立在前一環節處理完成的基礎上。
4.2 前置測試的關鍵技術應用
前文在設計構建測試管理系統過程中應用的主要為前置測試技術,其在應用過程中主要考慮到軟件在開發初期便通過測試管理發現其中存在的問題,避免開發中缺陷較多,有利于軟件開發質量的提高,也便于后期維護工作。而除應用前置測試技術外,實際構建測試管理系統中也應用測試驅動開發相關理念,為各測試管理環節提供保障。
4.3 測試信息共享的關鍵技術應用
軟件測試管理過程中的測試信息共享主要體現在測試用例信息以及缺陷信息的共享。在測試用例信息方面可充分發揮測試用例庫的作用,要求設計人員將不同類型的測試用例存儲于測試用例庫中。同時,在設計測試用例庫中也可引入復用技術,對需求項或功能相同的測試用例采取直接復用的方式。另外,在缺陷信息共享方面,可將不同類型的缺陷以及相應的分析解決方法存于缺陷方案庫中。使軟件中出現類似缺陷時,可在缺陷方案庫中尋找對應的解決方案。
4.4 度量與評估的測試關鍵技術應用
為使測試過程與效果得到正確評估,可充分發揮度量與評估及時的應用。如前文所述可從三方面完成測試評估,包括度量缺陷、度量測試執行情況以及測試的覆蓋情況等。但需注意在度量測試覆蓋情況以及執行情況中應引入相應的覆蓋率指標包括測試用例、需求項、功能項以及測試執行等覆蓋率。而在度量缺陷中需做好缺陷統計以及缺陷趨勢圖設計等工作。通過這種定量評估的技術,能夠使軟件設計與開發決策提供重要的參考內容。
5 結語
軟件質量的保證需充分發揮軟件測試管理的作用。通過文中基于過程的軟件測試管理系統設計分析,要求在實際構建過程中注重應用狀態流轉技術、前置測試技術、信息共享以及度量測試過程與效果的相關技術,并保證測試管理系統中個模塊如項目管理模塊、測試的計劃以及管理缺陷等模塊都可發揮應有的效果,這樣才可有效監視測試管理的全過程,為軟件質量提供堅實的保障。