2 常用的自動化測試框架
2.1 錄制/回放測試框架
錄制/回放測試框架所采用的原理是通過錄制應用程序產生的線性腳本進行回放從而達到自動化測試的目的。
其優點是簡單,通過錄制就可以得到所需腳本。但同時也有很大的缺點,它不具有邏輯判斷的能力,可維護性差,效率低下。
2.2 數據驅動的自動化測試框架
該種框架的原理是采用了數據驅動腳本進行測試,數據驅動腳本是將數據輸入存儲在獨立的數據文件中,腳本只存放控制信息,測試時輸入直接從文件中讀取,這樣同一腳本可以運行于不同的測試用例中,實現了腳本與數據的分離。其優點是可以快速增加相似測試,測試者增加新的測試不必掌握測試工具語言,對此后的類似測試無額外維護開銷;缺點是初始建立測試腳本的開銷較大,進行數據擴展的腳本需要針對相同的測試內容并具有相同的測試邏輯。
2.3 關鍵字驅動的自動化測試框架
關鍵字驅動(表驅動)是對數據驅動的邏輯擴展,它的核心思想可以概括為三個分離。
1)界面元素名與測試內部對象名的分離 在被測應用程序和錄制生成的測試腳本之間增加一個抽象層,它可以將界面上的所有元素映射成相對應的一個邏輯對象,測試針對這些邏輯對象進行,界面元素的改變只會影響映射表,而不會影響測試。
2)測試描述與具體實現細節的分離把測試描述和測試的具體實現細節分離開來。測試描述只說明軟件測試要做什么以及期待什么樣的結果,而不管怎樣執行測試或怎樣證實結果。這樣做是因為測試的實現細節通常與特定的平臺以及特定的測試執行工具有著密切的聯系。這種分離使得測試描述對于應用實現細節是不敏感的,而且有利于測試在工具和平臺間的移植。
3)腳本與數據的分離 最后,可以把測試執行過程中所需的測試數據從腳本中提取出來,在運行時測試腳本再從數據存放處讀取預先定制好的數據,這樣腳本和數據可以獨立維護。
以上這三個分離各司其職、互相獨立,最大程度地減少相互之間的影響。從關鍵字驅動的思想可以看出,該種測試框架不僅實現了將數據和腳本相分離,而且實現了測試邏輯和數據的分離,大大提高了腳本的復用度和維護性,從而更大限度地實現了測試工具的自動化。
3 用于Linux下桌面應用程序的關鍵字驅動的自動化測試框架
當前Linux下的測試工具主要是針對內核和服務器方面進行測試,對桌面應用程序的測試基本不支持,開發一個支持Linux下桌面應用程序測試的測試框架對于解決Linux下應用程序的發展與成熟具有積極的促進和保障作用。本文根據測試自動化框架開發原則,結合軟件測試的實際需求,提出一個可行的自動化測試框架:LKDT(an automated testing framework of keyword driven for Linux)。
3.1 LKDT總體架構
LKDT主要由測試用例管理、測試計劃、測試腳本編寫、測試執行和測試結果收集等組件構成。
文章來源于領測軟件測試網 http://www.kjueaiud.com/