2、根據被測試應用程序版本的變更能很容易地增減功能。
3、盡可能與測試工具是松耦合的關系。
4、擴展的錯誤恢復系統和異常處理,用于捕獲那些未被處理的錯誤,讓測試腳本可以順利地運行。
5、提供步驟日志和錯誤信息,讓調試變得簡單,讓測試結果的報告更加清晰易懂。
6、讓數據驅動易于實現,讓測試數據和腳本的耦合度降低。
7、讓每次測試運行的范圍可以很容易地控制和配置。
8、測試自動化組件與測試管理工具、缺陷跟蹤工具和配置管理工具輕松整合。
因此,測試框架的采用與否,設計合理與否都與自動化測試的實現難度、工作量有密切的關系。一般而言,采用合理的測試框架對于減輕自動化測試腳本的編寫難度和工作量都有積極的作用。
但是需要注意的是,測試框架需要隨著腳本的開發進程不斷地更新。如果有很多的腳本在并行開發的話,框架的維護難度也會增大。因此,這些方面也是工作量評估需要考慮的方面。
測試腳本編寫工作量的評估
在前面,我們大概介紹了測試用例的選擇、框架設計和開發對自動化測試的影響以及工作量的評估。到了腳本開發和調試、執行的階段,仍然有不少的工作量,例如下表所列的:
我們可以通過分析和評估,然后填寫上面表格,從而得到每個腳本的總體成本。
前面提到過,測試框架是自動化測試工作量評估中不可忽視的部分,在設計框架時需要考慮工作量,在測試腳本中使用框架時也會有一定的工作量,例如對于關鍵字驅動(Keyword driven)框架,采用關鍵字驅動的方法編寫腳本會帶來不錯的效果,但是同時也要注意到構建和使用、維護一個關鍵字驅動測試框架的工作量是很大的,主要體現在設計和編碼上。因此建議不要在小型的項目中使用關鍵字驅動的方式,尤其是自動化測試工程師的編碼水平有限的情況下。
小結
本文略為介紹了一些自動化測試實現過程中可能碰到的問題,以及如何評估這些問題帶來的工作量,為自動化測試團隊開展自動化測試前對項目實現自動化測試的成本估算提供了一些參考。
總的來說,自動化測試的總體成本計算需要包含以下方面:
1、測試需求收集和分析。
2、框架設計和開發。
3、測試用例開發(如果已有的手工測試用例不適用的話)。
4、腳本開發。
5、整合測試和基線的維護。
6、測試管理。
參考資料:
1、《TEST AUTOMATION EFFORT ESTIMATION》 - Babu Narayanan
2、EMOS: http://emos-framework.sourceforge.net/
3、QTestWare: http://www.itestware.com/ctest/index.php?option=com_content&view=article&id=88:qtestware&catid=29:qtp&Itemid=37
4、SAFFRON:http://www.itestware.com/ctest/index.php?option=com_content&view=article&id=62:webqtp-saffron&catid=35:testing_is_believing