國建勝 張亞楠 張雪石
摘 要:隨著技術發展,軟件測試技術的不斷提高,軟件功能越來越多,隨之出現的問題也越來越多,測試人員除了做整體系統測試之外,還需要對被測系統的質量有一個整體的把握。因此,文章開發了一款軟件測試數據的收集分析與質量評價系統,旨在收集軟件測試數據并進行數據分析和系統質量評價,幫助公司和測試人員從宏觀上了解被測系統的質量并調整相應的測試方案。
關鍵詞:軟件測試;數據分析;系統質量
時代的發展和科技的不斷進步,使得軟件規模不斷擴大,軟件設計的復雜程度不斷提高,軟件開發中出現錯誤或者缺陷的概率越來越大。為了提高軟件測試人員的工作效率和系統質量,我們開發了一款軟件測試數據的收集分析與質量評價系統,通過獲取網站或者系統中測試人員提交的測試結果數據,例如BUG嚴重程度、BUG類型等信息,加以分析和整理,最終以表格、直方圖、餅狀圖等形式直觀地將統計結果顯現出來,以便公司和測試人員進行查看,并及時作出工作調整。軟件測試數據的收集分析與質量評價系統適用于大多數軟件開發公司。
1 系統整體設計
軟件測試數據的收集分析與系統質量評價系統采用模塊化的設計理念,分為數據采集、綜合數據統計、項目統計查詢、軟件質量關鍵績效指標(Key Performance Indicator,KPI)統計、個人工作量統計5個模塊,其工作原理為用python編寫的程序從測試人員提交問題數據的網站上下載所需的數據并存入數據庫,然后從數據庫中抽取所需要統計的數據,通過分析整理,以直觀的形式顯示出來[1]。系統模塊結構如圖1所示。
2 系統介紹
2.1 數據采集
數據采集模塊采用python語言開發,利用聚焦網絡爬蟲和增量式網絡爬蟲技術編寫爬蟲程序,HTML下載器和HTML解析器用來下載網頁和解析HTML,程序從網站或系統中讀取URL并下載網頁,通過CSS元素識別、關鍵字等方式解析出測試人員提交的缺陷和執行用例等所需的數據,然后存儲到數據庫中。采集模塊中還包括數據存儲器子模塊用來將存儲的數據輸出為指定的文件格式,這里將數據輸出為HTML格式,爬蟲調度器子模塊用來協調管理URL管理器,HTML下載器,HTML解析器和數據存儲器等模塊,按照運行流程控制各個模塊的工作。
其他統計數據模塊可以從數據庫中提取所需數據,進行分析和計算,總結出各自模塊的功能。
2.2 綜合數據統計
綜合統計數據模塊首先從數據庫中獲取數據,通過分析計算,得出缺陷總數,執行用例總數和項目總數;其次,以曲線圖的形式直觀地顯示出每月測試成本,包括功能測試、性能測試和安全測試;最后以表格的形式對進行中的項目數據進行展示,表格內容包括項目名稱、項目負責人、報價、總問題數、未解決問題數、項目狀態。每部分都直觀清晰、界面友好,給用戶最直接和便捷的方式來查看數據信息[2]。
2.3 項目統計查詢
項目統計查詢模塊按照年份、季度、月份對項目進行不同緯度的查詢,統計的結果有項目類型占比,此項詳細地展示了每個項目類型的比例;問題等級占比,分為核心、嚴重、一般和輕微4個等級,以餅狀圖的形式直觀地展示了每個等級的占比和對應的問題數量。情況如圖2所示。
2.4 質量KPI統計
軟件測試數據的收集分析與質量評價系統統計軟件質量的KPI包括需求滿足度、缺陷關閉率、缺陷關閉周期、項目平均缺陷發現數、軟件一次檢測通過率等信息。需求滿足度從客戶的角度,依據客戶需求或者通用協議、系統需求規格書、系統方案、軟件需求規格書4個方面來進行評估。
缺陷關閉率=當月關閉的缺陷數/當月計劃關閉的軟件缺陷數
缺陷關閉周期分為嚴重缺陷關閉周期和一般缺陷關閉周期,計算公式如下。
缺陷關閉周期=AVG(實際缺陷關閉時間-缺陷發現時間)(天)
平均項目缺陷數分為平均項目嚴重缺陷數和平均項目一般缺陷數,平均項目缺陷數計算公式如下。
平均項目缺陷數=當月發現的缺陷數/當月檢測的項目數
軟件一次檢測通過率=一次檢測通過的軟件數/提交的軟件項目數
生產及市場反饋軟件缺陷數為當月生產或市場反饋回來的軟件質量問題數。
2.5 個人工作量統計
個人工作量統計模塊按照年月的方式查詢員工的工作量。以表格的形式展示出員工的姓名、編寫用例數、執行用例數、發布問題數等信息,管理人員可以直觀地查看每位員工的月度和年度工作情況,統計個人實際工作量作為人員績效考核的參考[3]。
3 結語
綜上所述,技術的發展使得軟件系統越來越復雜,出現問題的概率也越來越大,軟件測試數據的收集分析與質量評價系統旨在從系統或網站上收集測試人員提交的結果數據,存入數據庫,再從數據庫中提取相應的數據進行相應的分析總結和計算,將統計結果詳細地呈現在每個模塊中。同時還統計了每個測試人員的實際工作量工作情況,使得測試管理人員了解整體項目的測試情況和每位員工的工作情況,從中發現問題并及時調整,有利于公司對測試部門合理地進行工作安排。
[參考文獻]
[1]呂金和.嵌入式軟件測試[J].軟件導刊,2010(9):40-41.
[2]易敏捷.軟件測試國內外發展現狀及趨勢研究[J].電腦知識與技術,2013(26):6020-6022.
[3]李明澤.淺談軟件自動化測試技術[J].科教導刊,2016(31):171-172.