張嬋,張倩
摘 要:軟件測試作為軟件質(zhì)量的保證,受到了IT行業(yè)的高度重視。測試用例的設(shè)計(jì)是軟件測試的主要內(nèi)容。重點(diǎn)分析了測試用例的優(yōu)點(diǎn)和不足,建議針對不同的軟件項(xiàng)目采取不同的測試用例設(shè)計(jì)方法。
關(guān)鍵詞:軟件測試;測試用例;用例設(shè)計(jì);IT行業(yè)
中圖分類號:TP311.562 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-6835(2014)21-0145-02
近年來,隨著IT行業(yè)的發(fā)展,軟件測試備受重視。1983年,在IEEE提出的軟件工程術(shù)語中,對軟件測試的定義是:“使用人工或自動手段運(yùn)行或測定某個(gè)軟件系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清楚預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別?!?/p>
測試用例是對一組輸入數(shù)據(jù)、運(yùn)行條件和預(yù)期結(jié)果的集合。測試用例要求輸入的數(shù)據(jù)必須清楚、明確,如果對運(yùn)行條件有特殊要求,則需要指明,同時(shí),必須要有預(yù)期結(jié)果。軟件測試的過程是:測試用例設(shè)計(jì)完后,使用測試用例中輸入的數(shù)據(jù)運(yùn)行程序,比較程序的實(shí)際結(jié)果與預(yù)期結(jié)果——如果一致,表明此條測試用例通過;如果不一致,則表明其中存在缺陷,要將缺陷報(bào)告給程序員。測試用例貫穿于整個(gè)測試過程,下面簡要分析測試用例的相關(guān)內(nèi)容。
1 測試用例設(shè)計(jì)的誤區(qū)
測試用例作為軟件測試的依據(jù),其重要性不言而喻。但是,要想創(chuàng)建出理想的測試用例是非常困難的。在創(chuàng)建測試用例的過程中,一個(gè)微小的錯(cuò)誤都有可能毀掉整個(gè)測試用例的意圖。在設(shè)計(jì)測試用例的過程中,容易出現(xiàn)以下幾方面問題。
1.1 缺乏必要的實(shí)施步驟
由于很多測試人員都很重視測試實(shí)施的過程,而忽視了測試用例設(shè)計(jì)的思想,所以,經(jīng)常匆忙地建立測試用例。這就容易使測試用例中缺乏必要的實(shí)施步驟,致使測試員或者程序員不能準(zhǔn)確地重復(fù)測試。因此,必要的實(shí)施步驟一定不能省,這樣可以避免在執(zhí)行測試用例的時(shí)候發(fā)生描述不清導(dǎo)致模棱兩可的情況,從而浪費(fèi)測試人員的時(shí)間,影響整個(gè)項(xiàng)目的實(shí)施進(jìn)度。
1.2 測試用例描述得過于詳細(xì)
雖然提供必要的實(shí)施步驟很重要,但是,測試用例中過于詳細(xì)的描述或冗長的解釋會使其難以實(shí)施。測試用例的描述要簡練、清晰、無歧義,只需要包含足夠的信息即可,以便精確地運(yùn)行測試用例。同時(shí),太多的細(xì)節(jié)描述會增加用例設(shè)計(jì)的成本。
1.3 專業(yè)術(shù)語、縮略詞太多
在設(shè)計(jì)測試用例時(shí),很多測試人員習(xí)慣使用縮略詞、代號、縮寫或?qū)I(yè)術(shù)語等,他們理所當(dāng)然地認(rèn)為每一個(gè)運(yùn)行測試用例的人(包括產(chǎn)品技術(shù)支持和持續(xù)工程)都知道這些縮略語的含義,但是,實(shí)際情況并非如此。如果確實(shí)需要使用這些專業(yè)術(shù)語,那么,對不常見的或是在特定情況下使用的專業(yè)術(shù)語應(yīng)該加以注釋。同樣,太多的細(xì)節(jié)描述會增加用例設(shè)計(jì)的成本。
1.4 通過或失敗的標(biāo)準(zhǔn)不明確
軟件測試的流程是先設(shè)計(jì)測試用例,然后根據(jù)測試用例測試。如果實(shí)施測試后,不清楚本條測試用例是否通過,那么,本條測試用例就毫無用處。這時(shí),就要求測試用例的預(yù)期結(jié)果一定要準(zhǔn)確、清晰。在實(shí)施測試后,如果實(shí)際結(jié)果與預(yù)期結(jié)果不相符,即可判斷為不通過,也就說明它存在缺陷,需要提交缺陷報(bào)告,反之即為通過。
2 測試用例的優(yōu)點(diǎn)
2.1 借鑒引用
測試用例存在的價(jià)值要遠(yuǎn)遠(yuǎn)超過產(chǎn)品發(fā)布的價(jià)值。產(chǎn)品未來版本的負(fù)責(zé)人或開發(fā)人員需要借助測試用例了解系統(tǒng)的主要功能,分析系統(tǒng)當(dāng)前版本實(shí)現(xiàn)了哪些功能,是如何完成的。因此,為了方便后來者使用和借鑒測試用例,其設(shè)計(jì)要盡量描述得準(zhǔn)確、步驟清晰。完備的測試用例庫包括測試用例文檔和一個(gè)有組織的儲存系統(tǒng),這對產(chǎn)品版本的升級和修訂是至關(guān)重要的。
2.2 測試進(jìn)展跟蹤
在測試用例管理系統(tǒng)中,前期設(shè)計(jì)除了包括輸入數(shù)據(jù)、運(yùn)行條件和預(yù)期結(jié)果外,隨著測試的進(jìn)行,還要準(zhǔn)確且實(shí)際地描述測試用例的執(zhí)行結(jié)果,包括其他必填的屬性,以便分析人員從各個(gè)屬性和維度完成測試分析。通過測試用例文檔可以跟蹤一些屬性,比如執(zhí)行測試用例的覆蓋率、測試用例通過或失敗的比例、每個(gè)功能領(lǐng)域的測試用例總數(shù)等。
2.3 可重復(fù)性
優(yōu)秀測試用例文檔的描述要求準(zhǔn)確、全面,這樣才能保證除了自己以外的其他測試人員能夠正確理解和執(zhí)行該用例。這一點(diǎn)同樣適用于自動和手動的測試用例。當(dāng)發(fā)現(xiàn)其中存在缺陷時(shí),要準(zhǔn)確重現(xiàn)缺陷,或在缺陷修復(fù)后進(jìn)行回歸測試,這都是非常重要的。
3 測試用例的缺點(diǎn)
3.1 建立文檔的時(shí)間
與早期沒有系統(tǒng)測試?yán)碚摃r(shí)的測試相比,現(xiàn)在建立測試用例文檔的時(shí)間比較長。但是,從測試用例價(jià)值的角度來考慮,建立測試用例文檔是一個(gè)不可或缺的過程。隨著測試人員用例設(shè)計(jì)熟練程度的提高和對以前測試用例文檔的借鑒、引用,這個(gè)缺點(diǎn)會逐漸消失。
3.2 功能變化導(dǎo)致測試用例過期
由于軟件產(chǎn)品本身的原因和開始時(shí)對用戶需求的不明確,導(dǎo)致軟件產(chǎn)品的功能需求發(fā)生變化,而功能需求或者設(shè)計(jì)和實(shí)現(xiàn)的變化常常導(dǎo)致測試用例需要調(diào)整和修改,甚至有時(shí)候修改用例的時(shí)間會超過新建用例的時(shí)間。這樣,建立測試用例所需的時(shí)間很可能因功能的變化而增加,以至于失去控制。因此,在用例設(shè)計(jì)過程中,測試人員需要與設(shè)計(jì)、開發(fā)人員緊密聯(lián)系、密切溝通,及時(shí)了解功能變化的情況。
4 結(jié)束語
由于軟件產(chǎn)品本身的特點(diǎn),導(dǎo)致無論缺陷預(yù)防工作貫徹落實(shí)得多么好,軟件組件總會存在缺陷,開發(fā)人員都無法阻止或消除軟件開發(fā)周期中存在缺陷。因此,軟件必須經(jīng)過完整的測試后才能交付給用戶使用。對目前的IT行業(yè)來說,軟件測試至關(guān)重要,而要想設(shè)計(jì)出既可以找出軟件缺陷,又能評估該軟件的可用性、可靠性等方面性能的測試用例文檔是很不容易的。
參考文獻(xiàn)
[1]鄭東霞.軟件測試技術(shù)[M].大連:東軟電子出版社,2012.
[2]古樂.軟件測試案例與實(shí)踐教程[M].北京:清華大學(xué)出版社,2007.
————————
作者簡介:張嬋(1982—),女,山東蓬萊人,現(xiàn)為濟(jì)南職業(yè)學(xué)院助教。
〔編輯:白潔〕
Test Case Design Problems in Software Testing
Zhang Chan, Zhang Qian
Abstract: Software testing as a software quality assurance, by the IT industry's attention. Test case design is the main content of software testing. Analyzes the advantages and disadvantages of test cases, it is recommended to take a different test case design methods for different software projects.
Key words: software testing; test; use case design; IT industry