初學(xué)測試自動(dòng)化工具的一點(diǎn)感悟及教你認識自動(dòng)化測試工具QTP
初學(xué)自動(dòng)化測試工具,總結了幾點(diǎn)應該注意的重點(diǎn)問(wèn)題:
1、首先必須進(jìn)行完善的用例設計和測試過(guò)程設計
使用測試工具進(jìn)行測試工作的第一步并不是錄制腳本。而是應該在理解被測對象的基礎上,進(jìn)行用例設計和測試過(guò)程設計。用例設計包括用例數據、用例測試過(guò)程、預期結果等。然后將用例測試過(guò)程錄制成測試腳本,將用例數據進(jìn)行參數化。
完成一項功能或多項相關(guān)功能的測試時(shí),需要設計合理的測試過(guò)程。不同的測試場(chǎng)景使用獨立的一項測試操作實(shí)現(表現為一個(gè)獨立的測試腳本文件)。多項相關(guān)功能測試時(shí),按設計的測試過(guò)程進(jìn)行測試操作的組合(如使用QTP的操作調用)。這樣,每一個(gè)測試場(chǎng)景使用不同的測試數據,且各個(gè)測試場(chǎng)景獨立存在,但有有機地結合起來(lái)形成一個(gè)完整功能的測試。
2、檢查點(diǎn)是需要進(jìn)行判斷的
初學(xué)者大多會(huì )按照教程設置各種檢查點(diǎn),但并不會(huì )看測試結果中檢查點(diǎn)的結果。其實(shí),許多檢查點(diǎn)只表明了兩種結果:“通過(guò)”或“失敗”。
關(guān)鍵的問(wèn)題是:失敗的理由、場(chǎng)景、狀態(tài)等在結果中很難看出來(lái)。所以,在設置檢查點(diǎn)后,還必須對檢查點(diǎn)結果按照測試過(guò)程的業(yè)務(wù)邏輯進(jìn)行判斷,然后輸出更為詳細的結果。具體示例見(jiàn)我的上篇日志中的“ reporter.ReportEvent 1,"新增學(xué)生信息錯誤","信息存入數據庫,但數據沒(méi)有在保存后立即顯示,數據編號:"+ DataTable("stu_ID", dtLocalSheet)”。
此外,檢查點(diǎn)的參數化至關(guān)重要,因為只有參數化檢查點(diǎn),才能真正體現系統運行過(guò)程中動(dòng)態(tài)的變化!
3、錄制測試與編寫(xiě)測試腳本的目的是便于重復測試
既然是為了重復測試,那么就必須認真考慮和設計每個(gè)測試活動(dòng)的前置條件(如在什么樣的數據環(huán)境下才能開(kāi)始這個(gè)測試活動(dòng)?)和后置條件(如:本測試活動(dòng)所錄入的數據是否需要保留?)。否則就會(huì )很容易出現問(wèn)題(如:錄入數據時(shí)關(guān)鍵字重復!)。
4、測試工具不能解決所有問(wèn)題
許多初學(xué)者總希望測試工具能幫助他們解決所有問(wèn)題。其實(shí)許多測試項目是必須靠手工完成的。如:界面布局的合理性、系統使用的方便性等。
自動(dòng)工具永遠只是輔助手段!所以測試工作的關(guān)鍵還是對測試對象的理解、測試用例與測試過(guò)程的設計。有了完善的用例,不管是手工測試還是自動(dòng)測試,都是可以很好地完成測試任務(wù)的。
說(shuō)到自動(dòng)化測試,就不得不提大名鼎鼎的QTP了,Mercury QTP簡(jiǎn)稱(chēng)QTP,是一個(gè)先進(jìn)的
先進(jìn)的自動(dòng)化測試工具,它可以用于創(chuàng )建功能和回歸測試。自動(dòng)捕獲、驗證和重放用戶(hù)的交互行為。
QTP為每一個(gè)重要軟件應用和環(huán)境提供功能和回歸測試自動(dòng)化的行業(yè)最佳解決方案,它是新一代自動(dòng)化測試解決方案,采用了關(guān)鍵詞驅動(dòng)(Keyword-Driven)測試的理念,能完全簡(jiǎn)化測試的創(chuàng )建和維護工作。QTP關(guān)鍵詞驅動(dòng)方式獨有之處在于,測試自動(dòng)化專(zhuān)家可以通過(guò)一個(gè)整合的腳本和糾錯環(huán)境,擁有對基礎測試腳本和對象屬性的完全訪(fǎng)問(wèn)權限,這些腳本和糾錯環(huán)境與關(guān)鍵詞視圖(Keyword View)可以互為同步。
QTP同時(shí)滿(mǎn)足了技術(shù)型和非技術(shù)型用戶(hù)的需求,讓各個(gè)公司有能力部署更高質(zhì)量的應用,同時(shí)部署的速度更快,費用更低,風(fēng)險也更小。QTP和我們新的測試自動(dòng)化系統Mercury Business Process Testing™的緊密結合,可以將非技術(shù)型的業(yè)務(wù)專(zhuān)家(SME, Subject-Matter Experts)引入質(zhì)量流程,這一意義重大的引入可以將IT和業(yè)務(wù)更好地融合,最終建立起更出色的應用。
有了該產(chǎn)品,您的QA部門(mén)可以獲取多方面的優(yōu)勢:
1.
用最少的培訓賦予整個(gè)小組創(chuàng )建成熟測試方案的能力。
2.
確?缢协h(huán)境、數據包和業(yè)務(wù)流程的正確功能點(diǎn)。
3.
為開(kāi)發(fā)人員全面記錄和復制缺陷,使他們能更快地修復缺陷,滿(mǎn)足最后上線(xiàn)期限。
4.
對不斷變化的應用和環(huán)境展開(kāi)便捷的回歸測試。
5.
成為幫助整個(gè)機構實(shí)現高質(zhì)量產(chǎn)品和服務(wù)、提高總收入和收益率的關(guān)鍵角色。
QTP是如何工作的
QTP易于操作,即使是初級的測試人員也能在短時(shí)間內對其駕輕就熟。您可以使用無(wú)需腳本的關(guān)鍵詞視圖來(lái)表現測試的每個(gè)步驟,僅由此就可創(chuàng )建一個(gè)測試。您還可以通過(guò)QTP所集成的錄制能力來(lái)捕獲測試步驟。該產(chǎn)品用簡(jiǎn)單的英語(yǔ)以文檔形式記錄每個(gè)步驟,并通過(guò)活動(dòng)屏幕將文檔與一個(gè)集成截屏相結合。傳統的腳本記錄工具所生產(chǎn)的腳本不易修改,與此不同的是,QTP的關(guān)鍵詞驅動(dòng)方式能讓您便捷地插入、修改、數據驅動(dòng)(data-drive)和移除測試步驟。
QTP可以自動(dòng)引入檢查點(diǎn)來(lái)驗證應用的屬性和功能點(diǎn),比如確認輸出量或檢查鏈接的有效性。在關(guān)鍵詞視圖的每一步驟中,活動(dòng)屏幕可顯示被測應用在該步驟中的確切狀態(tài)。您還可以為任意對象加入幾種檢查點(diǎn),僅僅在活動(dòng)屏幕中點(diǎn)擊該對象,就可以驗證該組件行為是否達到了期望值。
然后您可以將測試數據輸入數據表(Data Table),它擁有和Excel同樣完善的功能特性,是一個(gè)集成的電子數據表格。您可以使用數據集并創(chuàng )建多種重復測試,無(wú)需編程就可以擴展測試案例的覆蓋面。數據可以通過(guò)鍵入的方式輸入或從數據庫、數據表格或文本文檔中導出。
高級測試人員可以在專(zhuān)家視圖(Expert View)中查看和修改他們的測試,在專(zhuān)家視圖中顯示了由QTP自動(dòng)生成的基于行業(yè)標準的基本VBscrīpt語(yǔ)言。在專(zhuān)家視圖中所做的任何改動(dòng)將自動(dòng)與關(guān)鍵詞視圖同步。
一旦測試人員運行了一個(gè)腳本,TestFusion報告將顯示測試運行各方面的信息,包括:高水平的結果縱覽;一個(gè)可擴展的測試腳本樹(shù)狀視圖(Tree View),其明確指出了應用錯誤的發(fā)生位置;被使用的測試數據;每個(gè)步驟的應用截屏,其中并標明了所有的差異;以及通過(guò)或未通過(guò)每個(gè)檢查點(diǎn)的詳細解釋。您可以將TestFusion報告和QTP結合,從而與整個(gè)QA和開(kāi)發(fā)小組分享這些報告。
QTP處理一些應用的新版本問(wèn)題。當一個(gè)被測應用發(fā)生變化時(shí),比如把一個(gè)”Login”按鈕被改名為”Sign in”,您可以在共享對象容器(Shared Object Repository)中做一次更新,接著(zhù)此次更新將擴展到所有涉及這個(gè)對象的腳本。您可以將測試腳本公布給Mercury Quality Management,使其它的QA小組成員也可以使用您的測試腳本,從而減少了重復工作。
通過(guò)與Business Process Testing的整合,在一個(gè)基于Web的系統中,QTP被用于實(shí)現自動(dòng)化操作,使非技術(shù)型用戶(hù)可以便捷地在一個(gè)完全的無(wú)腳本環(huán)境中也能夠建立起測試。
QTP支持多種企業(yè)環(huán)境的功能測試,包括Windows、Web、.NET、 Java/J2EE、SAP、Siebel、Oracle、PeopleSoft、Visual Basic、ActiveX、Mainframe terminal emulators和Web services。
Mercury功能測試
那些在Mercury WinRunner®測試工具上投入大量資金,并想轉入Mercury QTP™的用戶(hù),可以使用Mercury Functional Testing™來(lái)實(shí)現這種轉變。Mercury Functional Testing將QTP和WinRunner結合成一種集成產(chǎn)品,它不僅可以使用WinRunner腳本,也可以使用QTP腳本,使測試資源得到極大地利用。質(zhì)量工程師可以使用Mercury Functional Testing來(lái)創(chuàng )建“復合腳本”測試,這些腳本是在WinRunner和QTP中建立的。Mercury Functional Testing是WinRunner和QTP的集成,產(chǎn)品間可以相互調用腳本,測試結果可以在一個(gè)共有的報告界面上呈現。
Mercury QTP是Mercury質(zhì)量中心(Mercury Quality Center™)的組成部分之一,Mercury質(zhì)量中心集成了一整套軟件、服務(wù)和最佳實(shí)踐,用于自動(dòng)化關(guān)鍵質(zhì)量活動(dòng),包括需求管理、測試管理、缺陷管理、功能測試和業(yè)務(wù)流程測試。
特點(diǎn)和優(yōu)勢
1.
具有行業(yè)領(lǐng)先的便于使用的特性,以及支持提前配置環(huán)境的功能,確保了快速的投資回報。
2.
可獨立運行,也可以同Mercury Business Process Testing和Mercury質(zhì)量中心集成。
3.
引進(jìn)了QTP 8.0中新一代的“零配置”關(guān)鍵詞驅動(dòng)測試技術(shù),從而實(shí)現了快速建立測試、測試腳本更易維護,和更強大的數據驅動(dòng)能力。
4.
使用獨特智能對象識別(Unique Smart Object Recognition)來(lái)發(fā)現對象,即使對象創(chuàng )建不斷在改變,但仍可保證無(wú)監控方式腳本執行的可靠性。
5.
恢復管理器(Recovery Manager)可處理不可預知的應用意外事件,實(shí)現24x7的不間斷測試,趕上測試項目的最后期限。
6.
自動(dòng)文檔技術(shù)把測試文檔的建立與測試腳本的建立同步。
7.
通過(guò)集成的數據表,可數據驅動(dòng)任意對象、方式、檢查點(diǎn)和輸出值。
8.
為QA工程師提供全面的集成開(kāi)發(fā)環(huán)境。
9.
通過(guò)使用QTP和WinRunner集成的TSL資源,使您在Mercury WinRunner測試腳本上的投資得以保值。
10.
TestFusion報告可快速隔離和診斷缺陷。
11.
通過(guò)完善檢查點(diǎn),實(shí)現應用的全面驗證。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/