

摘 要:系統質量的要求隨著日益龐大的系統規模而提高,系統測試是保證系統質量的重要方式。隨著系統測試難度的增大,測試團隊不僅需要遵循正確的測試步驟展開工作,同時也要優化測試方法以提高測試的效率。文章通過對歷史測試數據的挖掘,提出了測試執行策略的優化方法,并建立測試團隊和研發團隊的雙向反饋,優化需求分析,從根本上提高了測試團隊的協作效率,保障了系統的可靠性。最后針對系統測試工作提出了展望。
關鍵詞:可靠測試;優化;數據分析
高質量且高可靠性的企業應用程序系統是數字化時代非常重要的元素[1]。測試團隊在確保企業應用程序系統滿足既定標準或需求時會發揮非常重要的作用。隨著系統的規模和復雜性升級,其可靠性和質量要求必然成倍增長,這意味著測試團隊需要開發更有效的測試方法。一個完整的測試過程包括數據記錄、數據維護、數據驗證等多個方面。測試數據管理策略對于測試數據的記錄必須是全面的,這也為后期的數據分析挖掘提供了支撐。
陳翔等人在文獻[2]中重點闡述了回歸測試中用例優先排序(test case prioritization,簡稱TCP)問題。從源代碼、需求和模型三個角度對TCP問題進行分類,重點分析了回歸測試中測試資源缺乏時的TCP問題。另外,潘偉豐等人在文獻[3]中提出了基于錯誤傳播網絡的測試用例排序方法。該方法在類粒度將軟件抽象成加權類依賴網絡(weighted class dependency network, 簡稱WCDN)模型,并基于WCDN分析錯誤在網絡上的傳播行為,構造錯誤傳播網絡(bug propagation network,BPN)。實例研究表明,基于錯誤傳播網絡的測試用例排序方法在錯誤檢出率上相比于其他經典方法有一定的提高,并且具有較好的穩定性。一個全面的用例排序方法,能準確地將當前的軟件質量反映到執行用例的優先級上[4-5]。通過使用正確的TCP策略測試團隊能夠提供及早發現缺陷,在整個產品開發過程中,為提供更簡單的方法去解決系統缺陷提供支撐。因此,擁有正確的TCP策略對測試團隊乃至公司都至關重要,能加快系統發布周期并大幅削減成本。然而在現有的研究工作中,TCP策略問題主要集中在回歸測試階段,但是回歸測試處于整個測試過程的末端[6]。由于回歸測試時對于本系統缺陷分布情況有非常清晰的概念,但是由于處于末端,對于測試團隊的優化畢竟有限。同時測試團隊與研發團隊往往是單線交流,即研發團隊發布待測系統,測試團隊極少參與提高研發團隊的開發質量。
因此,可以從測試用例執行策略和測試結果反向優化開發策略兩個方面展開研究,并提高系統可靠性。測試用例執行順序問題是測試執行策略中非常重要的部分,在測試項目中持續優化測試用例執行順序可以提早發現潛在的缺陷。同時由于測試團隊對于項目整體的理解更為透徹,對缺陷的總體分析可以幫助研發團隊在類似問題上處理地更為妥善。測試團隊在需求分析階段的有效介入,將從源頭上提高系統的質量和可靠性。
1 測試執行策略優化
測試中的關鍵問題是第一時間發現被測系統不符合規范要求的內容。測試經理在測試規劃時是通過大量的測試用例保證測試的覆蓋率。持續優化測試用例執行順序是在保障測試覆蓋率的同時,合理地安排測試用例地執行順序,即TCP問題。文章提出將項目測試分為三個階段,在項目測試的初期、中期、后期三方面分別進行優化TCP,最終優化整個測試執行策略。
如圖1 所示,項目測試初期,分析測試用例的歷史數據得到測試用例的執行潛在價值,優先執行潛在價值高的測試用例。比如在其它項目中執行某些用例時,發現了系統不符合規范要求的部分,并提交了缺陷。在新的測試用例執行時,應首先執行這類測試用例以便快速發現系統缺陷。項目測試中期,分析本項目當前缺陷情況得到各個系統功能模塊的缺陷發生概率。優先執行缺陷分布較多的功能模塊相關的測試用例。項目測試后期,即回歸測試階段,需結合各個系統功能模塊在本項目和歷史項目中的缺陷發生概率,在保證一定回歸比率的情況下,綜合考慮本項目和歷史項目的分析,優先回歸測試缺陷發生概率較高的模塊。
2 需求分析優化
項目測試工作通常被安排在項目研發工作之后,測試團隊的主要工作也僅僅是將測試結果中發現的缺陷情況報告給研發團隊,并沒有對缺陷情況進行分析,可能使得類似的缺陷在不同的項目中反復出現。因此測試團隊在提供測試報告的同時,對各個功能模塊中所發現的缺陷進行分析,并在新項目立項初期給出系統模塊開發時的缺陷概率,幫助研發團隊在需求分析階段重點考慮高缺陷概率的模塊開發和模塊間的協作,從源頭上降低缺陷發生的概率。測試團隊與研發團隊的雙向反饋將優化產品設計的需求分析階段,提高系統的可靠性,如圖2所示。
圖2 測試團隊和研發團隊雙向通道
3 結束語
文章從優化測試用例執行順序和測試結果優化需求分析兩個方面,闡述了現在系統開發中提高系統可靠性的重要方法。測試數據的管理是一座金礦,對測試數據的深入分析可以讓整個測試過程不再是靜止的,而是可以動態調節以應對更復雜的情況,同時深入分析測試結果也可以建立測試研發的雙向通道,形成良性循環。最終可以超預期地提交高質量的系統,節約運營成本,完成市場搶占。
參考文獻
[1]K.Krishna Murthy, Janardhana S Channagiri, \"test data management: Enabling reliable testing through realistic test data\"Building Tomorrow's Enterprise, Oct 2009.
[2]陳翔,陳繼紅,鞠小林,等.“回歸測試中的測試用例優先排序技術述評”[J].系統軟件與軟件工程,2013(8).
[3]潘偉豐,李兵,周曉燕,等.“基于錯誤傳播網絡的回歸測試用例排序方法”[J].計算機研究與發展,2016(3).
[4]朱海燕,范輝,謝青松,等.“測試用例排序的研究”[J].計算機工程與科學,2008(1).
[5]潘偉豐,李兵,馬于濤,等.“基于復雜軟件網絡的回歸測試用例優先級排序”[J].電子學報,2012(12)
[6]楊廣華,包陽,李東紅,等.“基于需求的測試用例優先級排序”[J].計算機工程與設計,2011(8).