一、自動化測試概述
自動化測試主要應用到查詢結果的自動化比較,把借助自動化把相同的數據庫數據的相同查詢條件查詢到的結果同理想的數據進行自動化比較或者同已經保障的數據進行不同版本的自動化比較,減輕人為的重復驗證測試。多用戶并發操作需要自動化模擬來保障大量用戶的執行操作,減少對影響資源的依賴。自動化在迭代1開始進行搭建,在迭代2能夠具備自動化能力。
二、測試目的
本文檔主要描述NPB的自動化測試粒度、原理及操作流程等。為以后開發人員開發測試用例提供指導。基于敏捷測試驅動開發(TDD)的原理,自動化測試主要達到以下三個主要目的:
1、測試驅動開發。先寫出針對測試用例,然后進行功能模塊開發。該方式可能加大了開發人員在開發前期的工作量,但是就總體來說,此方式會驅動開發人員更進一步熟悉業務需求,提早預知開發過程中可能出現的各種情況,為后期進入編碼測試提供便利。
2、減少或者避免由于模塊代碼更改,功能擴展等因素帶來的重復測試工作。
3、指導開發人員能夠更好的對代碼進行架構設計,為以后的測試用例的書寫,功能的擴展提供方便。
三、測試對象
NPB項目前臺部分的測試對象是業務層(service層),測試粒度為service層類的所有的或者主要的核心方法,鋪蓋粒度為:語句覆蓋(即開發人員提供的測試用例要能夠走通每一行代碼)。
四、測試環境
4.1外部環境
測試環境指的是測試用例的運行環境。測試環境與開發環境共用一個平臺。開發代碼和測試用例代碼分屬于不同的source file中,測試類與被測試類的包名稱相同,類名稱不同,這樣使得測試類和被測試類的.class文件位于相同的目錄中,測試類可以任意調用與測試相關的開發代碼而不會產生耦合或者依賴關系。借助測試工具(如Junit)進行自動化測試。
4.2 測試工具
NPB 擬采用 Junit 工具進行測試。Junit 是一種單元測試工具,能夠實現自動測試,對于一個要測試的方法,我們輸入其所需要的參數(自己構造),然后查看其返回是否符合我們的要求,用 Assert 的方法來比較返回的結果是否正確。
五、測試操作
測試操作主要包括流程圖和操作描述兩部分。以圖文的方式介紹一個測試流程。
5.1流程圖
5.2 操作描述
目錄結構:
首先針對 service 層的每個類,寫一個 Junit 測試類,測試類要繼承 Junit 的 TestCase類,測試類位于獨立的測試包中。目錄結構如下圖所示:
針對 service 層指定類的每一個方法寫一個測試方法或者多個方法對應一個測試方法。此方法要提供能夠覆蓋所有方法語句的入口參數,同時針對每一組入口參數要列出理想輸出,然后用斷言的方法來比較輸入是否與預想相符。
測試模塊:
NPB 項目會基于系統的核心模塊及實際開發情況進行測試,如系統維護(system management)等。
六、測試原理用例示例
下面以簡單示例的形式展現自動測試的原理:
現有一 service 層類 UserService,其包含多個方法如:insertUser()、updateUser()和QueryUserList()等 。
首先我們先了解下基于 iBATIS 持久層開發此方法的返回值問題,insert 操作會放回插入對象的 ID。而 update 操作和 delete 操作會返回更新或者刪除操作的條數。
測試用例的命名原則:
測試類的命名以被測試類名后添加 Test 命名。
基于 junit3.8 的測試方法要求是 public 的,無返回值(void),并且每個測試方法的名字以 test 開頭。
最后感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,這些資料,對于【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
這些資料,對于【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!?