引言
對程序的一次測試活動一般包括五個步驟:
(l)確定測試方法,如邊界值分析等;
(2)設計測試用例,包括輸人值、期望結果等;
(3)建立測試實施,即組織測試腳本、測試輸入、期望輸出等測試信息;
(4)執行測試實施;
(5)測試結果分析,包括比較真實測試結果與期望結果。
通常,測試活動中的簡單重復性測試工作適合自動化,例如上述活動中的后三個步驟川。目前的軟件測試工具實現了部分自動化,但主要局限在半自動化建立測試實施、自動執行測試實施、自動比較真實測試結果與期望結果,本文稱這些自動化的部分為自動測試過程。
本文首先研究了目前軟件測試工具通常采用的自動測試過程,指出它們的瓶頸,然后,針對對象式被測件,提出了改進的白動測試過程,并基于.NET技術,討論了改進的自動測試過程中關鍵技術的實現。
1當前測試工具采用的自動測試過程
自動測試過程的核心是測試腳本。當前測試工具產生測試腳本的方式有二種:
(l)手工編寫;
(2)工具捕獲人工測試場景產生;
(3)工具基于人工提供的信息白動產生。
捕獲/回放測試工具通常采用方式(l)和(2)為提供了可執行程序的被測件產生測試腳本,單元測試工具通常采用方式(3)為提供了源代碼的被測件產生測試腳本,它們的典型自動測試過程事務流程分別如?梢钥闯,當前自動測試過程中主要存在如下幾個問題:
(l)由于能力和勞動量的限制,利用手工運行或人工分析結果產生測試腳本具有如下的缺點:
l)對于規模較大的被測件,利用人工運行或分析結果產生的測試腳本不可能達到全面測試軟件產品的目的;
2)對于經常改變的被測件,產生測試腳本所需的人工勞動量隨被測件的改變而劇增。
(2)對于不能單獨運行且源代碼不可得的被測件,無法產生測試腳本。
(3)完全手工設計測試用例,對測試人員來說是一項任務繁重的工作。
(4)測試信息直接編碼成測試腳本,導致每次編輯測試信息后,都要重新調試測試腳本。
(5)集成測試中需要人工分析并構造樁模塊,這樣的樁模塊很難全面精確反映被模擬模塊的特點。當前軟件測試工具采用的自動測試過程中存在著人工干預過多、測試效率低的缺點,遠遠不能滿足目前軟件開發過程中邊開發、邊測試的要求。改進自動測試過程,盡可能減少人工干預,對于成功實施軟件測試是至關重要的。
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/