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