向鴻榮 李昕昕



摘 要:為了更深層地學習場景測試法和正交測試法,文章針對“四川大學論壇”的注冊功能頁面,分別使用場景測試法和正交測試法對其設計了測試用例,對測試結果進行了分析。在發現缺陷一樣的情況下,再從測試所設計的數據量上來看,正交測試的測試用例少于場景測試法,正交測試法在效率上高于場景測試法。兩種方法發現的缺陷都屬于參數的組合,需要再進行等價類、邊界值、異常值的方式進行細分測試。
關鍵詞:場景法測試;正交表測試法;比較分析
0 引言
“四川大學論壇”是一個大型的討論平臺,用于學習探討、社會招聘等。由于用戶日益增多,注冊功能是常用功能,要保障注冊功能的完整和界面易懂。本文針對“四川大學論壇”的注冊功能模塊,分別使用場景測試法和正交測試法進行測試,并分析兩種測試方法的測試效率。
1 設計思路與方法
1.1 場景法測試
根據軟件需求規格說明和用戶使用手冊,從使用的角度提取軟件系統的工作狀態,根據應答軟件使用場景建立應用場景,分析出系統或程序功能的基本流及所有可能的備選流,繪制基本流與備選流圖,根據軟件場景狀態圖中的流程,設計不同的場景,對每一個場景生成相應的邏輯測試用例,根據邏輯測試用例設計實際測試用例[1]。
場景法測試常用于流程清楚的功能,且功能與功能之間依賴性不強。場景法是黑盒測試中應用比較廣泛的測試方法,黑盒技術設計測試用例的方法主要有:等價類劃分、邊界值分析、因果圖和場景法。在對流程性較強的互聯網退票測試中,與其他幾種主要方法相比,場景法有著不可比擬的優勢[2]。
1.2 正交測試
正交表是正交設計中安排試驗,并對試驗結果進行統計分析的重要工具,它實際上是一個N×M的矩陣。每一列代表一個上下文的屬性,每一行代表一組特定的屬性值組合,在正交設計中一般使用因素表示屬性,水平表示屬性值。一個正交表通常可以用Ln(r1×r2×…×rm)表示,其中L是正交表的代號,ri(i=1,2,…,m)是第i個因素的水平個數。如果r1=r2=…=rm=r,那么正交表就可以簡單地表示為Ln(rm)[3]。測試中首先確定測試功能的水平數和因素數,再據此從常用的正交表中選擇適合的正交表,有需要再對正交表進行刪減,再為正交表中的水平數進行定義,最后根據正交表設計測試用例。設計測試用例時還要使用等價類、邊界值、異常值為測試用例進行完善補充。正交表測試發現的缺陷是某種水平的組合,要通過等價類測試法進一步細分測試才能得出最準確的缺陷導致的參數。正交測試用例設計方法是一種基于成對組合覆蓋標準的確定性組合策略,可以有效地減少測試用例數目,因素和水平數越大,該方法的優越性就越明顯[4]。
2 測試用例設計
2.1 場景法
先確定好基本流:登錄網站,點擊注冊,輸入用戶名和密碼,確認密碼,輸入Email地址,將驗證塊放在相應的位置,提交。再確定好備選流:用戶名不合規范,輸入Email地址不合規范,后一次密碼和前一次密碼輸入不一致,驗證塊沒有放在相應的位置,用戶退出注冊。再根據備選流設計場景,例如場景一:登錄網站,點擊注冊,輸入用戶名不合規范。根據格式設計6個場景,分別根據場景設計測試用例,在設計測試用例時,穿插一些等價類以及邊界值,使得測試更加完善。根據場景設計測試用例如表1所示。
2.2 正交測試
根據所測試的功能進行分析,得到以下幾個因素以及水平。因素1:用戶名輸入,分為水平數,1為輸入規范;2為輸入不合規范。因素2:密碼輸入,水平數,1為輸入規范;2為輸入不合規范。因素3:確認密碼輸入,水平數,1為兩次輸入相同;2為兩次輸入不同。因素4:Email輸入,水平數,1為輸入規范;2為輸入不合規范。因素5:驗證碼確認水平數,1為認證錯誤;2為認證成功,找到適配的正交表,進行選取并對其進行刪減,根據正交表的行數設計其對應數量的測試用例,在設計測試用例時需要考慮到等價類、邊界值等方法讓測試更加完善。
3 實驗結果分析
場景法測試:如表1所示,優點是對步驟有先后的功能測試有利,適用功能之間關聯不強;缺點是不能夠驗證每個參數的正確,驗證的是流程的正確。
正交表測試:根據表2和表3,設計的測試用例優點是測試數據量相對較少,數據點分布平均;缺點是測試所用的值只能是所用水平的某種組合,不能進一步給實驗帶來指向性。
在測試“四川大學論壇”的注冊功能中,如表4所示,使用場景測試法設計了19個測試用例,發現缺陷2個,使用正交表測試法設計了13個測試用例,發現缺陷2個,兩種方法發現的缺陷相同,但是測試數據的數量正交測試相對較少,正交測試在效率上高于場景法。
Study on the application of scene testing method and orthogonal testing
method to forum website
Xiang Hongrong, Li Xinxin
(School of Computer and Software, Jincheng College of Sichuan University, Chengdu 611731, China)
Abstract:In order to learn the scene test method and the orthogonal test method in a deeper level, this paper uses the scene test method and the orthogonal test method to design the test case for the registration function page of the?“Form of Sichuan University”?respectively, and analyzes the test results. In the case of the same defects, and from the perspective of the amount of data designed for testing, orthogonal testing has fewer test cases than scene testing method, and orthogonal testing method is higher in efficiency than scene testing method. In addition, the defects found by the two methods belong to the combination of parameters, and subdivision tests should be carried out by means of equivalence classes, boundary values and outliers.
Key words:scene method test; orthogonal test method; comparative analysis
[參考文獻]
[1]曹明,尹新.基于場景的軟件測試用例設計方法研究[J].科學技術創新,2019(14):74-75.
[2]劉國峰,孫玫肖,劉文韜.基于場景法的鐵路互聯網退票測試[J].鐵路計算機應用,2012(2):21-23.
[3]曾茂希,陸璐.基于正交試驗設計的測試用例選擇方法[J].計算機與數字工程,2016(8):1468-1473.
[4]楊翠清,滕奇志.一種改進的正交測試用例設計方法研究[J].微計算機信息,2010(33):237-240.
作者簡介:向鴻榮(2000—),男,四川達州人,本科生;研究方向:軟件測試。