楊沁曉,郝小敏,嚴航
(成都久信信息技術股份有限公司,四川成都,610000)
測試用例在軟件開發生命周期始終占據重要位置。很多因素都會影響手機軟件測試的結果,例如開發手機軟件的復雜程度、開發人員的編碼能力、測試人員技能、測試方法和素養等等。進行測試時,手機測試用例作為測試的標準和依據,測試人員必須嚴格按照測試用例的操作步驟進行測試,然后把測試結果記錄在用例管理工具中,可以手動或自動生成測試結果文檔,為提高和維護軟件測試質量穩定打下堅實基礎。
完成軟件測試工作后,對軟件測試結果進行評估,完成測試報告編寫。判斷軟件測試是否完成、測試質量是否達標,需要采用一些量化的結果進行評估,例如測試用例執行覆蓋率,測試用例通過合格率等等。采用測試用例作為度量基準會更加準確、有效。代碼質量高不高,衡量的標準應該是測試用例覆蓋率、測試用例通過率、提交軟件缺陷數決定的。
通過收集軟件缺陷,對比測試用例庫和缺陷問題庫,分析驗證是漏測還是缺陷復現。漏測反映了測試用例設計的不完善和未全面覆蓋測試需求點,每輪測試完成后,根據測試需求點補齊測試用例,測試用例執行通過率達到測試用例通過標準,不僅能提高軟件產品質量,還可以保障穩定運行。好的測試用例會使測試成本大大降低。
測試用例設計方法包括白盒測試法和黑盒測試法兩種。
白盒測試也稱為透明盒測試、結構測試、邏輯驅動測試或基于代碼的測試。不用考慮外部結構,通過檢查軟件內部程度編碼的邏輯結構,對軟件中的邏輯路徑進行覆蓋測試。白盒測試的主要方法包括語句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋、條件組合覆蓋、路徑覆蓋。
黑盒測試也叫功能測試或數據驅動測試,把程序看成一個不用打開的盒子,不考慮程序的內部結構與特性,只需根據軟件《需求規格說明書》設計測試用例,檢查程序功能是否正常使用。黑盒測試方法包括等價類劃分法、邊界值分析法、正交性設計實驗法等等。
(1)等價類劃分法
等價類劃分法是指某個輸入域的子集,在該輸入域子集合中,把全部輸入數據合理劃分成有效和無效若干等價類,在每個等價類中選擇一個具有典型代表性數據作為測試用例,從而保證設計出來的測試用例具有完整性和代表性。有效等價類是指對于程序的功能來說是指合理、有意義的輸入數據所構成的等價類集合。無效等價類是指對于程序的功能來說不合理、無意義的輸入數據所構成的等價類集合。
例如:用戶密碼長度6-12位,必須含有字母(不區分大小寫)、數字、下劃線的組合,采用等價類劃分法設計測試用例。見表1。

表1 測試用例
(2)邊界值分析法
邊界值分析法就是對輸入、輸出的邊界值進行測試用例設計的一種方法。測試過程中軟件功能出現大量的缺陷往往就發生在輸入輸出的邊界值上,而不是發生在輸入輸出范圍的內部。使用邊界值分析方法設計測試用例,首選應當確定邊界值情況,選取等于、大于或小于邊界的值,而不是選取中間值作為測試數據。
例如備注輸入長度不能超過300個字符串,采用邊界值分析法設計測試用例,見表2。

表2 測試用例
(3)正交實驗設計法
正交試驗法是研究多因素、多水平的一種試驗法,它是利用正交表來對試驗進行設計,通過少數的試驗替代全面試驗,根據正交表的“均勻分散,整齊可比”的特點,從全面試驗(測試用例)中挑選適量的、有代表性的點(測試用例)進行設計測試用例。正交表一般使用公式Ln(mk)即:L行數(水平數因子數)表示,L代表是正交表符號,n代表正交表行數,m代表每列因素水平數,K代表正交表列數,且有n=k*(m-1)+1。正交試驗法特點是簡單易行、計算表格化,使測試人員能夠在短時間內可以掌握的一種高效、快速、經濟的實驗設計方法。
隨著現代社會生活水平不斷提高,人們對當下手機提出了更高的要求,希望手機軟件能夠帶來更多符合個性化的服務。對比傳統手機,智能手機以智能化、便攜、上網快等特點,可以最大滿足消費者對移動互聯網時代實時新聞、娛樂游戲、商務咨詢及手機服務等應用功能的體驗和需求。所以在設計手機軟件功能的時候,既要考慮到手機軟件在智能手機上的安裝操作兼容性,也要考慮用戶的使用習慣和體驗感。
如果設計的測試用例顆粒度很細,設計測試用例工作量會變得艱巨而繁重,雖然能在一定程度上可以降低或減少手軟件質量風險,但是會降低測試工作效率,執行測試時缺少思考空間,導致測試人員反應遲鈍且慢。測試用例設計顆粒度較粗,執行測試任務的工作效率會較高,但是會增加軟件缺陷遺留的幾率,引起軟件質量高風險。
用例評審由公司產品經理、開發人員、測試人員針對測試用例是否符合、覆蓋到測試需求點、是否能用于測試執行而做的工作。用例評審可以避免產品人員、開發人員和測試人員對測試需求理解不同而造成的誤差,測試人員設計的測試用例,經過開發人員和產品人員評審后,測試人員需要再次對測試用例進行修改。測試人員執行測試用例可以節約時間、人力成本,也可以提高工作效率。
執行完一輪迭代的測試用例后,需要根據手機軟件的測試需求進行新增、修改或刪除測試用例,至少保證下一次測試時執行用例是完整、全面的覆蓋產品。在手機軟件測試過程當中,當發現一個好的測試用例,根據已發現的缺陷問題,定時更新和完善測試用例,好的測試用例隨時變化,不是一成不變。只有動態的測試用例才能跟上手機軟件需求的變更或變動,發現手機軟件隱藏的缺陷問題。
軟件測試既包括手動測試,也包括自動化測試,二者結合使用,缺一不可。執行功能性測試用例屬于手動測試,執行性能測試、安全性測試、Web頁面等測試用例屬于自動化測試。手工和自動化測試用例結合使用,可以提升整體測試用例的全面性,也能快速地發現更多軟件缺陷,進一步提升手機軟件功能使用性、安裝兼容性、信息安全性、性能及運行效率。
手機軟件測試用例設計不僅需要借鑒傳統軟件測試用例設計方法和技巧、設計思路和測試策略,還需要考慮手機在不同操作系統、硬件環境、手機類型測試也不相同。所以只有設計完整、覆蓋全面的測試用例,發現手機軟件隱藏的缺陷,才能保證手機軟件質量。