張 峰 馬曉龍
91404部隊 河北秦皇島 066000
軟件測試中的測試用例及復用研究
張 峰 馬曉龍
91404部隊 河北秦皇島 066000
軟件測試過程中產(chǎn)生的大量測試用例對保證軟件的質(zhì)量起到關(guān)鍵作用,對于專門從事軟件測試的機構(gòu)來說,測試用例的復用尤其重要。在測試用例的設計、選擇的基礎(chǔ)上,構(gòu)造出基于復用的測試用例,同時采用測試用例庫管理的方法來實現(xiàn)測試用例的復用,可以提高軟件測試的工作效率。
測試用例;復用;測試用例復用;測試用例庫
(一)什么是測試用例
測試用例(Test Case),所寫為TC,指的是在測試執(zhí)行之前設計的一套詳細的測試方案,包括測試環(huán)境、測試步驟、測試數(shù)據(jù)和預期結(jié)果。
簡單用一個等式來表示:
測試用例=輸入+輸出+測試環(huán)境
其中,“輸入”包括測試數(shù)據(jù)和操作步驟;“輸出”指的是期望結(jié)果;“測試環(huán)境”指的就是系統(tǒng)環(huán)境設置。
(二)測試用例的作用
測試用例在軟件測試中的作用主要表現(xiàn)在:
1、指導測試的實施
2、規(guī)劃測試數(shù)據(jù)的準備
3、編寫測試腳本的依據(jù)
4、評估測試結(jié)果的度量基準
5、分析缺陷的標準
總之,測試用例是軟件項目中很有價值的資產(chǎn),對提高產(chǎn)品質(zhì)量有重要的意義。
(三)測試用例的設計
設計測試用例即設計針對特定功能或組合功能的測試方案,并編寫成文檔。測試用例應該體現(xiàn)軟件工程的思想和原則。測試用例的選擇既要有一般情況,也應有極限情況以及最大和最小的邊界值情況。結(jié)合復雜的運行環(huán)境,在所有可能的輸入條件和輸出條件中確定測試數(shù)據(jù),來檢查應用軟件是否都能產(chǎn)生正確的輸出。
(四)測試用例的選擇
基于復用的目的,在選擇測試用例時,要針對不同的測試方法進行明確的選擇。
任何工程化的產(chǎn)品都有兩種測試方法,即所謂的黑盒測試和白盒測試方法。測試用例的設計將根據(jù)兩種測試方法的特性定制。
黑盒測試完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。設計測試用例旨在測試軟件是否滿足功能要求,主要診斷下列幾類錯誤:
1、不正確或遺漏的功能;
2、人機界面錯誤;
3、數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)訪問錯誤;
4、性能錯誤;
5、初始化和中止條件錯誤。
與黑盒測試相反,白盒測試密切關(guān)注處理細節(jié),根據(jù)程序的控制結(jié)構(gòu)設計測試用例,原則是:
1、保證模塊中的每一獨立的路徑至少執(zhí)行一次;
2、保證所有判斷的每一分支至少執(zhí)行一次;
3、保證每一循環(huán)都在邊界條件和一般條件下至少各執(zhí)行一次;
4、驗證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。
(一)軟件復用
軟件復用是將已有的軟件及其有效成分用于構(gòu)造新的軟件或系統(tǒng)。其出發(fā)點是應用系統(tǒng)的開發(fā)不再采用一切“從零開始”的模式,而是以已有的工作為基礎(chǔ),充分利用過去應用系統(tǒng)開發(fā)中的經(jīng)驗知識和經(jīng)驗,如需求分析結(jié)果、設計方案、源代碼、設計計劃及測試案例等,從而將開發(fā)的重點集中于應用的特有構(gòu)成成分。
(二)軟件測試復用
基于復用的軟件測試是軟件開發(fā)過程中的一個重要階段,是“為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程”。它是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設計一批測試用例,并利用這些測試用例去運行程序,以發(fā)現(xiàn)錯誤或缺陷。因此,軟件測試的復用主要包括測試過程的復用、測試方法的復用和測試技巧的復用。
1、測試過程的復用,就是測試流程的復用,采用既定的測試流程,針對被測項目的需求,進行裁減,使測試的流程規(guī)范化。
2、測試方法的復用,主要指測試計劃的設計、測試策略的采用、測試項細則的編寫、軟件缺陷的分析和測試報告的撰寫等方面的復用。
3、測試技巧的復用,主要指測試用例的復用。在特定的情形
下,選擇何種測試用例是發(fā)現(xiàn)軟件問題的關(guān)鍵因素。
(一)測試用例的可復用性
對于基于組件的軟件工程,一般來說,除了針對某些特殊的用戶需求,復用過程中的組件在結(jié)構(gòu)和功能上都不太可能發(fā)生很大的變化,因此采用這些方法生成的測試用例都是可復用的。實際上,在組件的開發(fā)過程中,低層被測對象的測試用例或其部分內(nèi)容常常被復用在高層被測對象的測試中,它們包括:
1、單元測試的功能確認類用例可以在部件集成測試階段復用;
2、部件確認測試的測試用例可以在單元配置組裝測試和確認測試中復用;
3、部件確認測試的測試用例在配置項組裝測試和確認測試中的復用;
4、配置項確認測試的測試用例在系統(tǒng)綜合測試和系統(tǒng)驗收測試中的復用。
(二)測試用例復用
測試用例復用就是把一個軟件的測試用例在新的軟件測試中使用,或在軟件做出修改時在新的軟件測試中使用,也包括在相似軟件間進行一定的選擇后使用。其中主要包括測試用例的設計思想、具體內(nèi)容、執(zhí)行步驟,以及測試過程中產(chǎn)生的信息在新的軟件測試中的使用。
軟件測試經(jīng)過單元測試、集成測試、確認測試、系統(tǒng)測試后,產(chǎn)生了大量的測試用例和測試方法,所有的這些測試用例和測試方法都可以重新利用。
(三)測試用例復用實現(xiàn)的思路
對第三方測試機構(gòu)來說,要實現(xiàn)測試用例的復用,須針對特定的項目,按照測試用例的一般描述,精心設計、選擇、并收集大量的測試用例到測試用例庫中,對它們實施有效管理。在這個基礎(chǔ)上,按照一定的復用原則,并采取相應復用技術(shù),實現(xiàn)測試用例的復用。
首先,基于復用的目的,對所使用的測試用例進行統(tǒng)一的建模組織。其次,對數(shù)據(jù)庫中存有的測試用例實行有效管理。最后,對數(shù)據(jù)庫中的測試用例具體實現(xiàn)復用。
(四)測試用例復用的實現(xiàn)過程
對一個軟件測試來說,測試用例復用可以劃分為同一軟件在不同測試階段、不同時間測試下的復用和相似軟件之間的復用。
1、同一軟件測試。
2、相似軟件的測試。
(五)對測試用例復用的評價
在面向?qū)ο蟮南到y(tǒng)中,測試用例的設計和實現(xiàn)往往對應于被測對象的需求、設計和環(huán)境要求,它們?nèi)狈y(tǒng)一的結(jié)構(gòu),測試用例之間也存在著相互的聯(lián)系。所以,測試用例的復用也是一定程度和一定數(shù)量上的復用,其中還與采用的復用技術(shù)、測試人員和其他客觀因素相關(guān)。
通過介紹軟件測試過程中測試用例的設計、軟件和軟件測試的復用,說明了在軟件測試中實現(xiàn)測試用例的復用的可行性、必要性,針對第三方測試機構(gòu),采用測試用例庫管理的方法具體實現(xiàn)一定范圍的測試用例復用。進而說明了測試用例的復用在保證軟件質(zhì)量的前提下,改進了軟件測試技術(shù),提高了軟件測試的效率。
[1]趙斌.軟件測試技術(shù)經(jīng)典教程.科學教育出版社.
[2]柳純錄等.軟件評測師教程.清華大學出版社.
[3]鄧良松等.軟件工程.西安電子科技大學出版社.