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