李振楠



摘要:天驕奧賽培訓網(wǎng)站在經(jīng)歷了可行性分析、成本分析、需求分析、概要設計、詳細設計、編碼實現(xiàn)后,接下來要進行的是最為關鍵的步驟之一:軟件測試。以天驕奧賽培訓網(wǎng)站為例,詳細闡述了白盒測試和黑盒測試的方法,并且編寫了測試用例。通過等價劃分類法和基本路徑覆蓋法得出的結果與預期結果做比較,可以了解程序是否完成需求功能,從而更好地完善程序。
關鍵詞:奧賽培訓網(wǎng)站;軟件測試;黑盒測試;白盒測試;等價劃分類法;基本路徑覆蓋法
中圖分類號:TP311.53? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)23-0264-02
開放科學(資源服務)標識碼(OSID):
Software Testing Practice of Tianjiao Website
Steven Lee
(Hunan University of Technology, Zhuzhou 412000, China)
Abstract: After experiencing feasibility analysis, cost analysis, demand analysis, summary design, detailed design, and coding implementation, the Tianjiao Orsay training website will be followed by one of the most critical steps: software testing. Take Tianjiao Orsay training website as an example, elaborate the methods of white box test and black box test, and write test cases. By comparing the results obtained by the equivalence division method and the basic path coverage method with the expected results, it is possible to know whether the program completes the demand function, thereby better improving the procedure.
Key words: orsay training website; software test; black box test; white box test; equivalence class; basic path coverage
1 背景
天驕奧賽培訓網(wǎng)站已經(jīng)基本上完成了主要功能的實現(xiàn),然而沒有經(jīng)過測試的系統(tǒng)可能會存在各種各樣的問題,以至于最后給用戶使用的時候造成更大的錯誤和影響。本文以注冊模塊和報名模塊為例來進行測試,采用的方法是黑盒測試和白盒測試。
2 黑盒測試
黑盒測試又可以叫作功能測試,顧名思義就是在測試的時候程序員會把程序看成一個黑盒子,不考慮內(nèi)部結構如何完善,只在意測試功能是否完全實現(xiàn),然后看程序能否接收一些輸入信息并且得到一些正確的輸出信息。黑盒測試的方法有等價類劃分、邊界值分析方法、錯誤推測方法、因果圖法、判定表驅(qū)動分析方法、正交試驗設計方法和功能圖分析方法等[1]。本文主要采用等價類劃分法進行測試。
2.1 等價類劃分
等價類劃分法可能相較于其他的方法并不算嚴謹,卻是黑盒測試中最為廣泛實用的一種方法。等價類劃分法將所有可能的輸入數(shù)據(jù)分割成若干部分或是劃分成若干個子集,然后從每個子集中選擇若干不相交的代表性數(shù)據(jù)作為測試樣本。等價類分為有效等價類和無效等價類,有效等價類是有意義的輸入數(shù)據(jù)的集合,利用有效等價類就能很好地檢查程序是否實現(xiàn)了系統(tǒng)的功能需求。而無效等價類就剛好不同,它的輸入數(shù)據(jù)沒有意義。
注冊模塊有如下需求:
1) 用戶名不能為空;2) 密碼不能為空;3) 電話號碼長度規(guī)定為11 ;4) 安全問題和答案不能為空。
注冊模塊等價類主要是驗證在用戶選擇注冊的時候,用戶名、密碼、安全問題、安全答案以及電話號碼是否合法。具體劃分如表1所示。
注冊模塊等價類測試用例是根據(jù)注冊模塊等價類而具體設計的用例。具體設計如表2所示。
3 白盒測試
白盒測試就好像把程序看成一個透明的盒子,測試員知道每個功能模塊的具體實現(xiàn)過程。所以白盒測試也叫作結構測試或邏輯驅(qū)動測試, 是基于覆蓋的全部代碼和路徑、條件的測試, 通過測試檢測產(chǎn)品內(nèi)部性能, 檢驗程序中的路徑是否可以按照要求完成工作[2]。白盒測試包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋六種測試[3]。本文以基本路徑覆蓋法為例。
3.1 基本路徑覆蓋法
白盒測試采用的測試方法是基本路徑覆蓋法。一旦確認了注冊功能的內(nèi)部邏輯是正確的,就必須設計所有的可能性,使用基本路徑覆蓋方法來確認功能的正確性。用戶進入登錄頁面,然后輸入相應的信息。用戶輸入的信息在提交到后臺之前就會被JAVASCRIPTS截獲,然后判斷是否合法。如果用戶輸入的信息不合法,則系統(tǒng)不提交數(shù)據(jù)到后臺也不跳轉并且讓用戶重新輸入對應的信息。具體實現(xiàn)如圖1所示。
3.1.1 環(huán)路復雜性
環(huán)路復雜性是控制流程圖中的區(qū)域數(shù),由圖1中可以看出,區(qū)域數(shù)是7。所以注冊模塊的環(huán)路復雜性是V(G)=8。程序基本路徑集合中的獨立路徑數(shù)也是。
3.1.2 測試獨立路徑
路徑1: 1->2->……
路徑2: 1->3->5->……
路徑3: 1->3->4->6->……
路徑4: 1->3->4->7->9->……
路徑5: 1->3->4->7->8->10->……
路徑6: 1->3->4->7->8->11->13->……
路徑7: 1->3->4->7->8->11->12->14->……
路徑8: 1->3->4->7->8->11->12->15
3.1.3 測試用例
測試用例是基于判定節(jié)點給出的條件,選擇合適的數(shù)據(jù)來保證某一條路徑被測試到。用例表的a、b、c、d、e分別代表用戶名、密碼、電話號碼、安全問題、安全答案。具體的設計如表3所示。
表3? ?注冊模塊測試用例表
[Path 輸入數(shù)據(jù) 預期結果 測試結果 1 a=null, b, c, d, e隨意 提示用戶名不能為空 提示用戶名不能為空 2 a!=null, b=null, c, d, e隨意 提示密碼不能為空 提示密碼不能為空 3 a!=null, b!=null, c=null, d, e隨意 提示電話號碼不能為空 提示電話號碼不能為空 4 a!=null, b!=null, c!=null, d=null, e隨意 提示安全問題不能為空 提示安全問題不能為空 5 a!=null, b!=null, c!=null, d!=null, e=null 提示安全答案不能為空 提示安全答案不能為空 6 a!=null, b!=null, c!=null, d!=null, e!=null , c.length()!=11 提示電話號碼格式不對 提示電話號碼格式不對 7 a!=null, b!=null, c!=null, d!=null, e!=null , a exist,? c.length()=11 提示用戶已經(jīng)存在 提示用戶已經(jīng)存在 8 a!=null, b!=null, c!=null, d!=null, b=c, a not exist,
c.length()=11 注冊成功 注冊成功 ]
4 結束語
軟件測試始終貫穿于軟件開發(fā)整個項目周期,是軟件開發(fā)中必不可少的一項重要環(huán)節(jié)。測試的目的是發(fā)現(xiàn)程序中的錯誤,檢查系統(tǒng)是否滿足功能需求。本文使用黑盒測試和白盒測試的方法,以天驕奧賽培訓系統(tǒng)的部分功能模塊為例,進行符合實際情況的測試,使系統(tǒng)質(zhì)量得到有效保障。
參考文獻:
[1] 鄭永愛. 圖書管理系統(tǒng)的軟件測試實踐[J]. 數(shù)字通信世界, 2017(12): 205-207.
[2] 韓韜. 軟件測試策略和測試方法的應用[J]. 信息記錄材料, 2018, 19(11): 97-98.
[3] 淡海英. 軟件測試中的白盒測試分析[J]. 時代農(nóng)機, 2018, 45(11): 244.
[4] 龍高貴. 談軟件工程中軟件測試的重要性及方法[J]. 電腦迷, 2017(8): 215.
[5] 郭洪波. 面向?qū)ο蟮能浖y試方法研究[D]. 長春: 東北師范大學, 2007.
[6] 陳豪文, 周璐雨, 寧志豪. 認識軟件測試[J]. 科技風, 2019(14): 69.
[7] 宋海洋, 許曉飛, 朱昭俊. 基于WebService接口的軟件測試技術探討[J]. 科學技術創(chuàng)新, 2019(14): 64-66.
[8] 項楠. 軟件測試策略和測試方法的應用分析[J]. 科學技術創(chuàng)新, 2019(11): 64-65.
【通聯(lián)編輯:謝媛媛】