QTP自動(dòng)化測試框架有感 軟件測試
1、為什么要使用框架?
框架是一組自動(dòng)化測試的規范、測試腳本的基礎代碼,以及測試思想、慣例的集合?捎糜跍p少冗余代碼、提高代碼生產(chǎn)率、提高代碼重用性和可維護性。
2.自動(dòng)化測試框架的架構?
腳本層(業(yè)務(wù)組件開(kāi)發(fā)),業(yè)務(wù)層(流程的開(kāi)發(fā)和組織),數據層相分離,是本次框架組織總的方針,為開(kāi)展功能自動(dòng)化測試提供一個(gè)高效、穩定、容易的測試實(shí)現。
3.qtp工具的腳本結構?
QTP在組織測試邏輯時(shí),自身提供了testcase和action兩種結構,這兩種結構是包含和被包含的關(guān)系:一個(gè)testcase可以包括多個(gè)action。在action里面,眾多的測試點(diǎn)可以按照實(shí)際邏輯進(jìn)行組織。
4. 組織自動(dòng)化測試用例,針對現實(shí)中一個(gè)完整的測試系統,測試用例到底應該如何組織呢?
1)按照QTP testcase來(lái)組織
在 QTP中建立多個(gè)testcase,每個(gè)testcase對應實(shí)際系統的功能組;在每個(gè)QTP testcase中,通過(guò)action來(lái)組織每個(gè)測試用例
優(yōu)點(diǎn):可以組織層次較多的測試用列,結構比較清晰。
缺點(diǎn):QTP只針對每個(gè)testcase產(chǎn)生一個(gè)測試result report,現在多個(gè)testcase,就缺少一個(gè)集成的測試結果;
2)按照action來(lái)組織
整個(gè)系統只建立一個(gè)testcase,所有的測試功能按照action分類(lèi)。
優(yōu)點(diǎn): 符合QTP自身的組織結構(一個(gè)testcase,多個(gè)action),產(chǎn)生的result report也是一個(gè)集成好的,無(wú)須另外集成。
缺點(diǎn): 導致每個(gè)action中,可能存在多組測試點(diǎn)(主流程和分支流),層次結構上少了一層,感覺(jué)不清晰簡(jiǎn)潔,尤其對于A(yíng)UT層次結構比較復雜時(shí)。
3)按照VBS函數來(lái)組織
建立一個(gè)testcase,只包含一個(gè)action,然后,所有的測試功能,全部組織成過(guò)程或者函數。
缺點(diǎn):龐大的過(guò)程函數庫如何維護(通過(guò)EXCEL文檔管理:函數名,函數功能描述,函數路徑等)?如果能解決這個(gè)問(wèn)題,這是一個(gè)可行的組織模式。
5.測試數據:采用測試數據和測試腳本分離策略,出于由于某種原因,需要修改測試數據時(shí)比較方便。
6.測試結果:報表中輸出期望值和測試結果,便于結果分析。
測試 自動(dòng)化的架構定義了如何存儲、引用、分組、共享以及重用測試腳本和測試數據。
腳本的執行通常都由工具所支持,通常被稱(chēng)作測試自動(dòng)化框架?蚣苁且粋(gè)基礎的結構,我們相互獨立的測試自動(dòng)化工具中的腳本和數據整合到這個(gè)框架中。
由腳本的開(kāi)發(fā)者來(lái)決定如何組織測試數據,以及腳本如何讀取這些測試數據。另一方面,測試數據的操作和維護的易用性也是框架可行性的關(guān)鍵方面。
全局和局部測試數據
相關(guān)聯(lián)的測試腳本通常放到一組,稱(chēng)為測試集( test sets),用于覆蓋被測試應用程序的特定功能區。
測試集定義了一系列的腳本,這些腳本由測試自動(dòng)化框架按一定的順序以批處理的方式執行。
常見(jiàn)的測試集包括冒煙測試集(smoke test set)和回歸測試集(regression test set)等。
一個(gè)腳本可以從屬于多個(gè)測試集,并且用不同的測試數據來(lái)運行。
自動(dòng)化框架從腳本庫中選取腳本(以及相關(guān)的數據文件)在各分布式的主機上以測試集所定義的順序運。
測試數據可以按范圍來(lái)進(jìn)行分類(lèi)。
全局(Global)測試集數據對于測試集中的所有腳本都是可見(jiàn)的、可共享的,而局部(local)數據只對其所創(chuàng )建的腳本是可見(jiàn)的。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/