1、研究主要內容
(1)自動化測試
(2)TestComplete 介紹
(3)Winrunner 介紹
(4)兩款軟件的對比
由于很多的軟件測試工作包括大量的近似重復的工作,會給測試工程師帶來很大的工作量,這樣我們就需要用自動化測試的軟件來實現測試的自動化,來減少測試人員的工作量,從而提高效率。
因為軟件測試的工作量很大( 40% 到60% 的總開發時間),而又有很大部分適于自動化,因此,測試的改進會對整個開發工作的質量、成本和周期帶來非常顯著的效果。
自動化測試的有點有很多: 快速 (Fast) 、可靠 (Reliable) 、可重復 (Repeatable) 、可程序化 (Programmable) 、 可重用的 (Reusable); 廣泛的 (Comprehensive) ;它的這些有點使得自動化測試在軟件測試中的地位不斷提高,而且也是發展的趨勢。
自動化測試的步驟大概是:
測試個案( test case ,或稱為測試用例)的生成;
測試的執行寫控制;
測試結果與標準輸出的對比;
不吻合的測試結果的分析、分類、記錄和通報;
總測試狀況的統計,報表的產生
自動測試與開發中產品每日構建( build )的配合。
3、TestComplete 介紹
現在的大多數比較著名的自動化測試軟件的原理都是大致相同的,它們都是通過對被測軟件的操作過程的錄制和回放來完成測試的。
本文現在介紹的 TestComplete 是近年來異軍突起的新興的軟件;它曾 在 2003 年 Delphi Informant 雜志讀者選擇獎 中獲得最佳測試與 QA 工具優勢明顯。其產品 TestComplete 獲得 60% 的選票;在第 14 屆 Jolt 大獎評選中獲得測試工具的 Jolt 大獎。我在實習中也是比較多的接觸到這款軟件
與它的名字相同, TestComplete 是一個完整的測試應用系統,它集成了如下的功能 :
分布式測試
HTTP performance testing
就是指重復一個已經成功執行的測試用例,并把新執行得到的結果與原來的 正確的結果相比較。回歸測試很容易理解但是如果沒有自動化的測試工具來保證大多數的細節,那么實現起來將是十分困難的。因為工作量很大,而且人工操作很容易忽略細節。而 TestComplete 就為我們提供了自動化回歸測試的能力。接下來我想介紹一下這款軟件的特點:
獲取和保存被測對象的屬性:
TestComplete可以獲取被測軟件的對象屬性并可以將其屬性值記錄下來和下一次運行時的相應屬性值作比較。
需要注意的問題是:我們的 Java程序必須要編譯成Open Application否則TestComplete無法自動認出其中的大部分對象。
腳本代碼如下:
Compares property values
if (! Objects.Compare(w, CollectionName))
Log.Message("Properties have been changed.")
抓取軟件運行時的圖片
可以用 TestComplete獲取被測軟件運行是的圖片(包括全屏和子窗口)來和已知圖片進行比較,并可一圖片形式保存下本次運行的結果。
比較圖片的代碼:
if ( ! Regions.Compare(w, Classju,false,false,true,1700))
比較當前的運行程序的圖片,是否與之前保存為 CLassju 的圖片一致。類聚圖
Log.Error("Regions are not identical")
else Log.Message("Regions of Classju is identical")
保存圖片的代碼:
w=Sys.Activewindow();
Str = Utilities.DateTimeToStr(Utilities.Now())
s = Utilities.StringReplace(Str,":","'",1)
Regions.SaveToFile(w, title+""s".bmp")
比較文件
在測試時,我們有可能會用到比較兩個文件的功能來保證被測試的軟件的輸出與預期值相同。這個功能將會對兩個文件逐字節的比較
比較文件的代碼如下 :
if (! Files.Compare("C:\\Work\\OrdersList.txt","C:
Work
OrdersList_old.txt")
Log.Warning("List of orders was changed");
支持多種語言和開發環境
TestComplete支持所用 Visual Basic, Visual C+, Delphi, C+Builder, Java, Visual Studio .NET, and Visual FoxPro 開發的應用程序和模塊。這所有的自動測試軟件中時絕無僅有的。
支持多種腳本語言
我們不必為了使用 TestComplete 而去學習其他的腳本語言,而是用我們熟悉的腳本語言即可。因為 TestComplete 支持以下的所有腳本語言: VBScript , DelphiScript , JScript , C++Script or C#Script 。
事件處理( Event handling )
TestComplete 可以在腳本運行的時候跟蹤系統所發生的事件,并根據測試人員預先編好的事件處理程序對相應的事件進行處理。例如,對系統中的一些意外的窗體的彈出,我們可以編寫相應的程序對其進行處理,以避免測試的意外中斷。
4、Winrunner 介紹
Mercury Interactive公司的WinRunner是一種企業級的功能測試工具,用于檢測應用程序是否能夠達到預期的功能及正常運行。通過自動錄制、檢測和回放用戶的應用操作,WinRunner能夠有效地幫助測試人員對復雜的企業級應用的不同發布版進行測試,提高測試人員的工作效率和質量,確??缙脚_的、復雜的企業級應用無故障發布及長期穩定運行。
Winrunner 7.6 的特點主要有如下幾個方面:
用 WinRuuner創建一個測試,只需點擊鼠標和鍵盤,完成一個標準的業務操作流程,WinRunner自動記錄你的操作并生成所需的腳本代碼。這樣,即使計算機技術知識有限的業務用戶輕松創建完整的測試。你還可以直接修改測試腳本以滿足各種復雜測試的需求。
原文轉自:http://www.anti-gravitydesign.com