當前位置:首頁 » 編程軟體 » 跨平台錄制自動化腳本

跨平台錄制自動化腳本

發布時間: 2022-11-30 12:46:16

『壹』 jmete怎麼寫自動化測試腳本

把Jmeter配置成一個Web代理,用Jmter自己來錄制腳本

第一步: 創建一個Thread Group (郵件點擊: Test Plan -> Add -> Thread Group)

第二步: 創建http 代理伺服器 (郵件點擊"工作台"(WorkBench), Add-> Non-Test Elements ->
HTTP(S) Test Script Recorder)

然後設置瀏覽器的代理伺服器。 設置好後,在瀏覽器中訪問網站。 Jmeter就能錄制下來了。

Jmeter 中錄制的腳本亂七八糟的, 什麼圖片,js都有,根本沒法用,真不如自己寫腳本。

應該設置下忽略這些沒用的請求

『貳』 如何利用selenium寫自動化測試腳本

一開始,基本上很多人都是用selenium IDE錄制腳本開始的,我也是!有一本書寫得很不錯:selenium初學者指南!So,從錄制回放開始我的selenium,而在這個過程中,不斷地去補充我的html css知識,熟悉selenium的api!

慢慢地,發現錄制的腳本在回放的時候經常報錯,通過檢查發現,是定位上的錯誤,導致這種定位的錯誤的最大原因是系統前端採用了某種框架,如tigerUI,exj....所以HTML裡面的標簽很多都是動態的,比如id,class,name!這對selenium操作定位的元素而進行自動化來說是致命傷!

所以,開始自己寫定位信息,這已經是必須的了!從而學習了xpth和css選擇器,掌握了更加有效,快速和穩定地定位頁面上的元素(定位的時候難免會碰到有iframe,這就得先切換到iframe中再進行定位了)!也就是,在selenium IDE上寫腳本!

信心滿滿地在selenium IDE上寫了長長地一段腳本,並且反復跑都能成功!總算嘗到了一點點幸福的滋味!然後呢,問題來了,當我要修改和擴展這段的腳本的時候,才發現這效率是相當地低!一句句查!一句句改!多麼痛的領悟!

另外,selenium IDE 默認啟動的是火狐,在使用selenium RC 啟動 IE 進行跑腳本時瀏覽器總是會報錯!各種搞不定,各種不淡定!決定放棄使用IDE!

selenium有一個強大之處就是支持多種語方:java,C#,python等等,並且可以把錄制的腳本轉換成代碼!我用的是java,果斷走起!

不用說,當然是把腳本轉為java代碼了,在E www.hbbz08.com clipse中重新開始搞!

選擇一個測試框架:有Junit和TestNg兩個選擇,公司用的是junit,所以,不用多說,我就用junit驗證selenium腳本的運行結果!並且,Junit和TestNG都可以生成比較直觀的測試報告!

寫好一些代碼,會看到整段代碼中密密麻麻充斥著基本相同的代碼:開始封裝代碼!把常用到API封裝起來!封裝好之後代碼看著就舒服多了!

接下來,是不是也應該把代碼中的定位信息用一個專門的文件放起來,再去讀取裡面的定位信息,這樣,維護代碼和維護定位信息就放在了兩個地方,不用老是扎在代碼和定位路徑中,簡單地分一下層!果斷嘗試!

『叄』 自動化測試的工具有哪些

商業工具:
1、RFTRational Functional Tester 的基礎是針對於Java、.NET的對象技術和基於 Web 應用程序的錄制、回放功能。工具為測試者的活動提供的自動化的幫助,如數據驅動測試。IBM RFT是一個用於功能和回歸測試的數據驅動的測試平台。它支持大范圍的應用,例如.Net、Java、SAP、Flex和Ajax。RFT使用Visual Basic。Net和Java作為腳本語言。RFT有一個獨特的功能,稱為 Storyboard 測試,用戶的動作被記錄下來,並通過應用截圖在 Storyboard 格式中可視化。RFT的另一個有趣特性是它與IBM Jazz應用生命周期管理系統(如IBM Rational Team Concert和Rational Quality Manager)的集成。
2、kylinTOP:這是一款國產的自動化測試工具,支持WEB和APP的自動化測試,其中元素智能定位是這款自動化軟體主要特點,是設計理念比較超前的測試工具,算是國內眾多自動化測試工具中,做的比較突出的一款。與傳統的RFT和UFT相比,的確有過人之處,算是後起之秀,使用起來,簡單高效、穩定。這樣描述估計也沒幾個人能體會到的。說白一點就是一個人可以干三個人的活,使用者只需關注業務即可。
3、UFT:UFT(別名:QuickTest Professional簡稱QTP)是一種自動化測試工具,以VBScirpt為內嵌語言,其前身是QTP。UFT支持功能測試和回歸測試自動化,可用於軟體應用程序和環境的測試。UFT自動化測試的基本功能包括:創建測試、檢驗數據、增強測試、運行測試腳本、分析測試結果、維護測試;UFT支持兩種視圖,一種是Keyword View(關鍵字視圖),另一種是Expert View(專家視圖)。是一款老牌的自動化測試工具。
4、SilkTest:這個也是比較相對著名的工具,不過同樣還是沒有了解過,對於商業的工具,因為其佔地面積大,還要破解等麻煩事,最關鍵的是使用的公司少,所以只使用過QTP,其它的一概未了解過
開源工具:1、Selenium:這個應該大多數人都知道的,現在也是大多數互聯網公司在使用的測試框架;selenium僅支持web的UI級別測試,但是其優點在於:a、支持多種語言編寫測試腳本,比如:java、python、ruby、perl等;同時也就意味著其後的支持類庫也是很多的b、支持多瀏覽器,如:ie,ff,safari、chrome等c、支持多平台,如:windows、linux、MAC、android、iphone等d、支持分布式執行,一套測試用例可以同時分布到不同的測試機上執行,而且還可以進行任務細化,比如:針對liunx執行系統只分配linux下需要執行的用例此外還有錄制工具支持,簡單也說,web類測試基本上是首選,不過對flash的支持好像不是太好其主要分2個版本,1.X版本是以js驅動來進行自動化實現的;2.X重新開發了webdriver來代替js驅動,直接調用瀏覽器底層介面來完成自動化實現的前提:如果使用remote或者RC功能,需安裝jre下載地址:http://seleniumhq.org/download/
2、EFT【easy function testing】:這個是在.net3.0 的UIAutomatuon的基礎上封裝的一個dll文件,同樣還封裝了部分windows api以實現滑鼠和鍵盤事件。所以這個只能叫測試類庫,且僅支持windows程序,而且同樣支持uiautomain所支持的WPF程序的測試。前提:安裝了.net3.0使用:引入該文件,uiautomation 相關dll,VS環境下編寫測試用例
3、UIAutomation:這個是微軟提供的UI自動化框架,當然它的初衷並不僅僅是為自動化測試而產生的,它的任務是給更多的開發或者應用去調用windows的UI控制項,不過還是可以用於自動化測試的;因為之前微軟就有類似的工具,而這個是重新設計的ui操作類框架,其目的是為了兼容支持windows系列操作系統的UI自動化操作【xp,vista,server2003】,還有就是天然支持WPF。當然其設計與通常的自動化工具就不一樣了,比如:沒有把控制項支持的方法綁定在控制項對象本身,沒有提供專門的滑鼠/鍵盤事件,但是卻提供了特定控制項對象的事件響應監聽及處理方法的定製。其工作流程大概是這樣的:a、先獲取特定的元素對象,有多種方法。如:句柄,屬性值b、獲取這個元素對象的模式。模式是這個框架的設計的獨具之處,成就了它的靈活性,統一性c、通過這個模式在進行具體的方法調用,屬性值獲取等d、監聽指定對象的特定事件,一旦發生則執行指定的事件處理函數
4、Robot FrameworkRobot Framework是一個完全基於關鍵字測試驅動的框架,它即能夠基於它的一定規則,導入你需要的測試庫(例如:其集成了selenium的測試庫,即可以理解為操作web控制項的測試底層庫),然後基於這些測試庫,你能應用HTML、TXT等文檔形式編寫自己的關鍵字(這些關鍵字即你的庫組成),之後,再編寫測試用例(測試用例由測試關鍵字組成)進行測試。例如:一個簡單的登陸測試由:登陸+輸入密碼+登出三個關鍵字組成,也可以由一個關鍵字登陸組成,關鍵字顆粒的大小可以自行定製。

『肆』 jmeter怎麼錄制app腳本

Jmeter 是一個非常流行的性能測試工具,雖然與LoadRunner相比有很多不足,比如:它結果分析能力沒有LoadRunner詳細;很它的優點也有很多:
l開源,他是一款開源的免費軟體,使用它你不需要支付任何費用,
l小巧,相比LR的龐大(最新LR11將近4GB),它非常小巧,不需要安裝,但需要JDK環境,因為它是使用java開發的工具。
l功能強大,jmeter設計之初只是一個簡單的web性能測試工具,但經過不段的更新擴展,現在可以完成資料庫、FTP、LDAP、WebService等方面的測試。因為它的開源性,當然你也可以根據自己的需求擴展它的功能。
我覺得它更像一個瑞士軍刀,小巧,且功能齊全。初次認識Jmeter的時候,我覺得它不好,是因為相比LR來說,它沒有腳本錄制功能,也許不是沒有,只是我不知道,因為文檔上介紹的是這樣,我要做一個web性能測試的話,就手動的一個個添加循環控制器、http信息管理頭、http請求等等各種元件。如果測試的腳本較多時,這無疑是個體力活。
Badboy是一款不錯web自動化測試工具,利用它來錄制腳本,並且錄制的腳本可以直接保存為JMeter文件來使用。我無疑給我們帶來了很大我方便。
----------------------我的環境------------
Badboy version 2.1.1
Apache JMeter-2.3.4 (需要JDK環境來運行)
--------------------------------------------
第一種方法:通過bodboy來錄制腳本。

1.打開人badboy工具,點擊工欄目上的紅色圓形按鈕,在地址欄目中輸入被測試項目的地址。

錄制完成後,點擊工具欄旁邊黑色按鈕,結束錄制。
選擇「文件」--àExport to Jmeter…

2.打開Jmeter工具,選擇「文件」-->「打開」選擇剛才保存的文件(.jmx類型),將文件導入進來了。

第二種方法,通過JMeter自身設置來錄制腳本。

這種方法是我才發現的(鄙視一下自己的無知,嘻嘻~!),覺得方法比較簡單。
1.打開JMeter工具
創建一個線程組(右鍵點擊「測試計劃」--->「添加」---->「線程組」)
創建一個http代理伺服器(右鍵點擊「工作台」--->「添加」--->「非測試元件」--->「http代理伺服器」)
完整的設置參照下圖:

2. 下面來設置一下IE瀏覽器
IE--->「internet屬性」--->「連接」--->「區域網設置」

設置為本機IP就可以了,注意埠號要與Jmeter上的埠號一致。默認都是8080埠。
3. 現在點擊jmeter上的「啟動」按鈕,打開瀏覽器輸入需要錄制web項目地址,jmeter會自動記錄你IE所訪問的頁面。

PS:第二種方法是我剛才知道的一種,關於這兩種方法哪個更好,現在還不知道,但第二方法有通過IE瀏覽器輔助的,我想可能只要IE能打開的,它都能記錄,但它錄制的腳本看上去比較亂(感覺上)

『伍』 什麼是自動化測試

一般是指軟體測試的自動化,軟體測試就是在預設條件下運行系統或應用程序,評估運行結果,預先條件應包括正常條件和異常條件。自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。

基本信息

  • 中文名稱

    自動化測試

  • 外文名稱

    Test

  • 定 義

    人為驅動測試為轉為機器執行過程

  • 應 用

    軟體測試的自動化

  • 工 具

    QTP

自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。通常,在設計了測試用例並通過評審之後,由測試人員根據測試用例中描述的規程一步步執行測試,得到實際結果與期望結果的比較。在此過程中,為了節省人力、時間或硬體資源,提高測試效率,便引入了自動化測試的概念。

折疊編輯本段工具介紹

折疊QTP

全名HP QuickTest Professional software ,2012年12月6日發布11.5版本,並更名為Unified Functional Testing

QTP是quicktest Professional的簡稱,是一種自動測試工具。使用QTP的目的是想用它來執行重復的手動測試,主要是用於回歸測試和測試同一軟體的新版本。因此你在測試前要考慮好如何對應用程序進行測試,例如要測試那些功能、操作步驟、輸入數據和期望的輸出數據等

QuickTest針對的是GUI應用程序,包括傳統的Windows應用程序,以越來越流行的Web應用。它可以覆蓋絕大多數的軟體開發技術,簡單高效,並具備測試用例可重用的特點。其中包括:創建測試、插入檢查點、檢驗數據、增強測試、運行測試、分析結果和維護測試等方面。

折疊WinRunner

Mercury Interactive公司的WinRunner是一種企業級的功能測試工具,用於檢測應用程序是否能夠達到預期的功能及正常運行。通過自動錄制、檢測和回放用戶的應用操作,WinRunner能夠有效地幫助測試人員對復雜的企業級應用的不同發布版進行測試,提高測試人員的工作效率和質量,確保跨平台的、復雜的企業級應用無故障發布及長期穩定運行。

企業級應用可能包括Web應用系統,ERP系統,CRM系統等等。這些系統在發布之前,升級之後都要經過測試,確保所有功能都能正常運行,沒有任何錯誤。如何有效地測試不斷升級更新且不同環境的應用系統,是每個公司都會面臨的問題。

折疊RationalRobot

是業界最頂尖的功能測試工具,它甚至可以在測試人員學習高級腳本技術之前幫助其進行成功的測試。它集成在測試人員的桌面IBM Rational Test Manager上,在這里測試人員可以計劃、組織、執行、管理和報告所有測試活動,包括手動測試報告。這種測試和管理的雙重功能是自動化測試的理想開始。

折疊AdventNetQEngine

AdventNet QEngine是一個應用廣泛且獨立於平台的自動化軟體測試工具,可用於Web功能測試、web性能測試、Java應用功能測試、Java API測試、SOAP測試、回歸測試和Java應用性能測試。支持對於使用HTML、JSP、ASP、.NET、PHP、JavaScript/VBScript、XML、SOAP、WSDL、e-commerce、傳統客戶端/伺服器等開發的應用程序進行測試。此工具以Java開發,因此便於移植和提供多平台支持。

折疊SilkTest

是業界領先的、用於對企業級應用進行功能測試的產品,可用於測試Web、Java或是傳統的C/S結構。SilkTest提供了許多功能,使用戶能夠高效率地進行軟體自動化測試。這些功能包括:測試的計劃和管理;直接的資料庫訪問及校驗;靈活、強大的4Test腳本語言,內置的恢復系統(Recovery System);以及具有使用同一套腳本進行跨平台、跨瀏覽器和技術進行測試的能力。

折疊QARun

QARun的測試實現方式是通過滑鼠移動、鍵盤點擊操作被測應用,即而得到相應的測試腳本,對該腳本可以進行編輯和調試。在記錄的過程中可針對被測應用中所包含的功能點進行基線值的建立,換句話說就是在插入檢查點的同時建立期望值。在這里檢查點是目標系統的一個特殊方面在一特定點的期望狀態。通常,檢查點在QARun提示目標系統執行一系列事件之後被執行。檢查點用於確定實際結果與期望結果是否相同

折疊TestPartner

是一個自動化的功能測試工具,它專為測試基於微軟、Java和Web技術的復雜應用而設計。它使測試人員和開發人員都可以使用可視的腳本編制和自動向導來生成可重復的測試,用戶可以調用VBA的所有功能,並進行任何水平層次和細節的測試。TestPartner的腳本開發採用通用的、分層的方式來進行。沒有編程知識的測試人員也可以通過TestPartner的可視化導航器來快速創建測試並執行。通過可視的導航器錄制並回放測試,每一個測試都將被展示為樹狀結構,以清楚地顯現測試通過應用的路徑。

折疊Holodeck

-強大的故障植入軟體測試工具

Holodeck is an advanced fault-injection tool that gives you the power to attack an application while it monitors and logs everything your application does - every function call, registry entry, piece of data read or written.

折疊TelelogicTAU

TAU第二代包含三個最新的、最強大的技術用來加速大規模軟體開發和測試:統一建模語言(UML)及它的許多最新修訂版本中的特性,UML2.0;功能強大的測試語言TTCN-3和新的構造系統的方法:Model Driven Architecture(模型驅動構架)。這三個新的業界標准結合成TAU的已經過認可的軟體開發平台,形成了一個系統,一個一流的穩定可靠的工具解決方案。TAU第二代是系統與軟體開發解決方案的一個突破,它把業界從使用了太長時間的手工、易出錯、以代碼為中心的方法中釋放出來,自然而然地邁向下一步,一個更加可視化、自動化及可靠的開發方法。Telelogic TAU/Tester是基於通用測試語言TTCN-3,用於自動化的系統和集成測試的強大工具。TAU/Tester以現代化的開發工具為基礎,提供高層測試功能,支持整個測試生命周期,加速自動化測試。TAU/Tester可使用戶特別關注於測試的開發,因為TTCN-3語言是獨立於開發語言或測試設備的,且是抽象和可移植的。

折疊AutoRunner

AutoRunner是黑盒測試工具,可以用來完成功能測試、回歸測試,可以提高測試效率,降低測試人工成本。

產品可以對以下類型對象進行GUI功能性測試:

1 Windows類型對象,一般為用C++/Delphi/VB/VFP/PB/.NetForm等技術開發的桌面程序。

2 IE網頁對象,一般性的網站,比如大的門戶類網站。

3 Java對象,一般為用AWT/Swing/SWT等技術開發的桌面程序。

4 Flex對象,網頁的內容是用Flex開發的。

5 Silverlight對象,網頁的內容是用Silverlight開發的。

6 WPF對象,一般為用WPF技術開發的桌面程序。

7 QT對象,一般為用QT技術開發的桌面程序。

折疊PhoenixFramework

Phoenix Framework是一款基於 Selenium,Webdriver,autoIt研發的一款集資源管理和測試於一體的Web自動化測試工具。最新版本是1.1.8,該工具支持無腳本執行模式,無人值守執行模式,自由定製模式。不僅執行模式可以定製,功能模塊也支持定製。使用該工具的界面創建用例,組裝腳本,啟動執行。使用該工具其他開放的介面,可手動創建腳本,組裝並執行。它支持兩種部署模式,第一種是Server-Client方式,Server與Client均為EXE程序,通信協議是Socket;另一種是WEB版部署,方便與現有系統集成,支持Linux,將Server與Client放到Tomcat或Weblogic伺服器下部署,通信協議為Http,通過WEB頁面控制並監控Client端的執行。

折疊編輯本段前提條件

實施自動化測試之前需要對軟體開發過程進行分析,以觀察其是否適合使用自動化測試。通常需要同時滿足以下條件:

1) 需求變動不頻繁

測試腳本的穩定性決定了自動化測試的維護成本。如果軟體需求變動過於頻繁,測試人員需要根據變動的需求來更新測試用例以及相關的測試腳本,而腳本的維護本身就是一個代碼開發的過程,需要修改、調試,必要的時候還要修改自動化測試的框架,如果所花費的成本不低於利用其節省的測試成本,那麼自動化測試便是失敗的。

項目中的某些模塊相對穩定,而某些模塊需求變動性很大。我們便可對相對穩定的模塊進行自動化測試,而變動較大的仍是用手工測試。

2) 項目周期足夠長

自動化測試需求的確定、自動化測試框架的設計、測試腳本的編寫與調試均需要相當長的時間來完成,這樣的過程本身就是一個測試軟體的開發過程,需要較長的時間來完成。如果項目的周期比較短,沒有足夠的時間去支持這樣一個過程,那麼自動化測試便成為笑談。

3) 自動化測試腳本可重復使用

如果費盡心思開發了一套近乎完美的自動化測試腳本,但是腳本的重復使用率很低,致使其間所耗費的成本大於所創造的經濟價值,自動化測試便成為了測試人員的練手之作,而並非是真正可產生效益的測試手段了。

另外,在手工測試無法完成,需要投入大量時間與人力時也需要考慮引入自動化測試。比如性能測試、配置測試、大數據量輸入測試等。

折疊編輯本段適用場合

通常適合於軟體測試自動化的場合:

(1)回歸測試,重復單一的數據錄入或是擊鍵等測試操作造成了不必要的時間浪費和人力浪費;

(2)此外測試人員對程序的理解和對設計文檔的驗證通常也要藉助於測試自動化工具;

(3)採用自動化測試工具有利於測試報告文檔的生成和版本的連貫性;

(4)自動化工具能夠確定測試用例的覆蓋路徑,確定測試用例集對程序邏輯流程和控制流程的覆蓋。

隨著測試流程的不斷規范以及軟體測試技術的進一步細化,軟體測試自動化已經日益成為一支不可忽視的力量。能否藉助於這支外在力量以及如何藉助於這支力量來規范企業測試流程、提高特定測試活動的效率,正是本期所要討論的話題。

軟體測試自動化的研究領域主要集中在軟體測試流程的自動化管理以及動態測試的自動化(如單元測試、功能測試以及性能方面)。在這兩個領域,與手工測試相比,測試自動化的優勢是明顯的。首先自動化測試可以提高測試效率,使測試人員更加專注於新的測試模塊的建立和開發,從而提高測試覆蓋率;其次,自動化測試更便於測試資產的數字化管理,使得測試資產在整個測試生命周期內可以得到復用,這個特點在功能測試和回歸測試中尤其具有意義;此外,測試流程自動化管理可以使機構的測試活動開展更加過程化,這很符合CMMI過程改進的思想。根據OppenheimerFunds的調查,在2001年前後的3年中,全球范圍內由於採用了測試自動化手段所實現的投資回報率高達1500%。

折疊編輯本段選型原則

然而存在優勢是否就一定意味著選擇自動化測試方案都能為企業帶來效益回報呢?也不盡然,任何一種產品化的測試自動化工具,都可能存在與某具體項目不甚貼切的地方。再加上,在企業內部通常存在許多不同種類的應用平台,應用開發技術也不盡相同,甚至在一個應用中可能就跨越了多種平台;或同一應用的不同版本之間存在技術差異。所以選擇軟體測試自動化方案必須深刻理解這一選擇可能帶來的變動、來自諸多方面的風險和成本開銷。

以下筆者給出企業用戶進行軟體測試自動化方案選型的參考性原則,這些原則是從筆者實際工作中凝練而成的,它包括以下六個方面的建議:

●選擇盡可能少的自動化產品覆蓋盡可能多的平台,以降低產品投資和團隊的學習成本;

●測試流程管理自動化通常應該優先考慮,以滿足為企業測試團隊提供流程管理支持的需求;

●在投資有限的情況下,性能測試自動化產品將優先於功能測試自動化被考慮;

●在考慮產品性價比的同時,應充分關注產品的支持服務和售後服務的完善性;

●盡量選擇趨於主流的產品,以便通過行業間交流甚至網路等方式獲得更為廣泛的經驗和支持;

●應對測試自動化方案的可擴展性提出要求,以滿足企業不斷發展的技術和業務需求。

折疊編輯本段過程

自動化測試與軟體開發過程從本質上來講是一樣的,無非是利用自動化測試工具(相當於軟體開發工具),經過對測試需求的分析(軟體過程中的需求分析),設計出自動化測試用例(軟體過程中的需求規格),從而搭建自動化測試的框架(軟體過程中的概要設計),設計與編寫自動化腳本(詳細設計與編碼),測試腳本的正確性,從而完成該套測試腳本(即主要功能為測試的應用軟體)。

1) 自動化測試需求分析。

當測試項目滿足了自動化的前提條件,並確定在該項目中需要使用自動化測試時,我們便開始進行自動化測試需求分析。此過程需要確定自動化測試的范圍以及相應的測試用例、測試數據,並形成詳細的文檔,以便於自動化測試框架的建立。

2)自動化測試框架的搭建。

所謂自動化測試框架便是像軟體架構一般,定義了在使用該套腳本時需要調用哪些文件、結構,調用的過程,以及文件結構如何劃分。

而根據自動化測試用例,我們很容易能夠定位出自動化測試框架的典型要素:

a. 公用的對象。

不同的測試用例會有一些相同的對象被重復使用,比如窗口、按鈕、頁面等。這些公用的對象可被抽取出來,在編寫腳本時隨時調用。當這些對象的屬性因為需求的變更而改變時,只需要修改該對象屬性即可,而無需修改所有相關的測試腳本。

b. 公用的環境。

各測試用例也會用到相同的測試環境,將該測試環境獨立封裝,在各個測試用例中靈活調用,也能增強腳本的可維護性。

c. 公用的方法。

當測試工具沒有需要的方法時,而該方法又會被經常使用,我們便需要自己編寫該方法,以方便腳本的調用。

d. 測試數據。

也許一個測試用例需要執行很多個測試數據,我們便可將測試數據放在一個獨立的文件中,由測試腳本執行到該用例時讀取數據文件,從而達到數據覆蓋的目的。

在該框架中需要將這些典型要素考慮進去,在測試用例中抽取出公用的元素放入已定義的文件,設定好調用的過程。

折疊編輯本段腳本編寫

該編寫過程便是具體的測試用例的腳本轉化。初學的自動化測試人員均會使用錄制腳本到修改腳本的過程。但專業化的建議是以錄制為參考,以編寫腳本為主要行為,以避免錄制腳本帶來的冗餘、公用元素的不可調用、腳本的調試復雜等問題。

折疊編輯本段測試運行

事實上,當每一個測試用例所形成的腳本通過測試後,並不意味著執行多個甚至所有的測試用例就不會出錯。輸入數據以及測試環境的改變,都會導致測試結果受到影響甚至失敗。而如果只是一個個執行測試用例,也僅能被稱作是半自動化測試,這會極大的影響自動化測試的效率,甚至不能滿足夜間自動執行的特殊要求。

因此,腳本的測試與試運行極為重要,它需要詳查多個腳本不能依計劃執行的原因,並保證其得到修復。同時他也需要經過多輪的腳本試運行,以保證測試結果得一致性與精確性。

自動化測試引入的原因是就把軟體測試人員從枯燥乏味的機械性手工測試勞動中解放出來,以自動化測試工具取而代之,使測試人員的精力真正花在提高軟體產品質量本身。

折疊編輯本段注意事項

首先,一個企業實施測試自動化,絕對不是拍腦袋說干就能幹好的,它不僅涉及測試工作本身流程上、組織結構上的調整與改進,甚至也包括需求、設計、開發、維護及配置管理等其他方面的配合。如果對這些必要的因素沒有考慮周全的話,必然在實施過程中處處碰壁,既定的實施方案也無法開展。其次,盡管自動化測試可以降低人工測試的工作量,但並不能完全取代手工測試。100%的自動化測試只是一個理想目標,根據筆者的經驗,即便一些如SAP、OracleERP等測試庫規劃十分完善的套件,其測試自動化率也不會超過70%。所以一味追求測試自動化只會給企業帶來運作成本的急劇上升。再次,實施測試自動化需要企業有相對規模的投入,對企業運作來說,投入回報率將是決定是否實施軟體測試自動化的最終指揮棒,筆者建議企業在決定實施軟體測試自動化之前,必須要做量化的投資回報分析。此外,實施軟體測試自動化並不意味著必須采購強大的自動化軟體測試工具或自動化管理平台,畢竟軟體質量的保證不是依靠產品或技術,更多的因素在於高素質的人員和合理有效的流程。

折疊編輯本段實戰模擬

折疊背景介紹

A公司是一家大型保險公司,擁有近20個城市的分公司,並在其中5個城市建立了IT支持中心。平均每年的上線應用數量在20個左右(新業務系統和原有業務系統的主要版本發布)。A公司的專職測試團隊人數不足30人而且測試團隊的測試人員技能參差不齊測試只是作為項目上線前的一道工序而已。在測試團隊內部也幾乎沒有自動化的手段,主要依靠手工測試。由於已上線應用系統的問題,開發團隊必須分出一部分資源去維護和修復上線應用,而同時測試團隊的測試成果和效率卻無法和這些應用質量掛鉤,也更無從談起對軟體質量的控制。所以,A公司決定在軟體質量和測試方面進行投入,他們考慮以下幾方面:

●引進軟體測試流程管理的自動化,提高軟體測試過程的管理水平,使軟體測試和軟體開發一樣可被評估、被衡量。

●實現性能測試自動化,所有應用上線之前必須有應用性能風險評估報告和相關部門的確認

●逐步實現功能測試的自動化,在目前人員配置的情況下,把部分手工測試變成自動化測試,提高測試可信度,降低人為錯誤。

●通過軟體測試自動化,管理軟體測試中的案例、缺陷、報告等資產,進一步提升軟體測試的效率並建立測試基礎庫。

●在規劃中,將來的2~3年內使所有的應用系統上線都必須有數字化的測試數據作為依據。

折疊系統的情況

由於保險公司的業務種類繁多,同時在經過了幾十年的經營後,公司內的應用系統從早期的終端方式到現代的J2EE和.NET等應有盡有,魚龍混雜。IT部門已經建立的3年規劃,即在未來的3年時間內將所有終端和C/S方式的應用轉換成B/S架構,但當前仍然需要對這些舊應用系統進行維護,以保證業務的順利進行。對於開發部門來說,新應用開發基本上已經以B/S架構為主,主要是基於J2EE架構的WebHTTP應用和部分Window.NETForm的應用。

折疊公司現狀

企業機構在做測試自動化選型時一定要考慮清楚企業內部哪些部分可以實施自動化、哪些部分暫不實施自動化、哪些部分僅在某幾個項目做自動化試點。切忌匆忙上馬或盲目否定,缺乏實事求是的理性思考。

測試部門僅負責系統測試和對用戶驗證測試進行管理,對於之前的單元測試和集成測試主要由開發團隊中劃分出的一部分臨時測試人員完成。由於缺乏監測手段,測試部門也無法收集和確定集成測試和單元測試的完成情況,在整個軟體測試過程中,業務需求是由開發部門通過RationalRequisitePro進行管理,但測試需求尚沒有提出要求,測試案例主要通過在公司公用的文件伺服器中的目錄管理方式管理,對測試中缺陷流程等管理主要依靠郵件的流轉進行處理90%以上的測試是通過Excel和Word等測試案例文檔來完成,測試人員對軟體測試自動化的認識僅停留在"記錄+回放"的認識上。

折疊方案

方案A:A公司可以採用美科利(Mercury)公司產品為主的軟體測試自動化方案。

●依照原先的郵件流轉過程配置TestDirector缺陷管理流程,為每個保險業務的開發小組和測試團隊分配相應的用戶許可證,取消原有郵件方式。

●部署MercuryQuickTestProfessional,以便完成應用程序相關功能測試。

●部署MercuryLoad-Runner。從測試團隊中分化出專職的性能測試自動化工程師和小組,和業務部門協調,建立A公司應用系統上線性能指標,通過LoadRunner給出測試指標。

●建議A公司成立專門的質量控制部門,對TestDirector中的數據定期進行分析,建立相關質量模型,以便於企業量化管理和過程改進。

方案B:A公司也可以採用IBMRational產品為主的軟體測試自動化方案。

●採用RationalTestmanager來進行整個測試流程的管理,為相關開發和測試小組成員分配相應許可權,改變以前通過郵件以及Word、Excel文檔管理測試的工作方式。

●部署RationalRobot,用它來完成功能相關的測試工作以及新版本發布時的冒煙測試。此外,RationalRobot也能較好地完成性能相關測試。統一的操作方式降低了工具的學習周期和培訓帶來的大筆開銷。

●部署RationalPurifyplus,使測試工作前移到開發階段。由於Purifyplus能較好地支持白盒測試,編程人員在編碼階段引入的錯誤能盡早被檢測到,這大幅降低了後期測試的開銷。

●建議A公司成立專門的質量控制部門,對Testmanager中的數據定期進行分析,建立相關質量模型,以便於企業量化管理和過程改進。

方案C:A公司也可以採用開源軟體為主的軟體測試自動化方案。

●採用Bugzilla來進行Bug跟蹤管理,採用BugzillaTestRunner進行測試用例管理,採用CVS進行測試資源的配置管理。

●採用MaxQ和WebInject對B/S結構的應用系統進行功能測試。

●採用DBMonster、Open-STA、LoadSim進行性能相關測試。

●可採用Xunit架構的開源工具對不同語言的程序單元進行單元測試。

●建議A公司成立專門的開源軟體維護小組,以解決可能會碰到的工具維護工作。

●建議A公司成立專門的質量控制部門,對Bugzilla、TestRunner、CVS中的數據定期進行分析,建立相關質量模型,以便於企業量化管理和過程改進。

折疊方案評價

由於不同客戶在組織架構、員工素質以及流程管理水平等方面的不同,我們很難用一個實例、一兩句話來說明不同解決方案的適用性。在上面的例子中,筆者給出了3種可行的方案,具體選擇哪一個,需要仔細權衡。這里筆者給出一般性的意見,對於不想受制於某個測試自動化廠家的企業,開源絕對是一個理想的選擇。此外,它不需要支付成本,工具的源代碼可以隨意修改,因而具有較好的靈活性。但開源工具的弊端也是明顯的:缺乏使用培訓和技術支持,工具的用戶界面一般也較為粗糙。而對於那些比較看重培訓和售後支持的企業,筆者建議選擇IBMRational或Mercury或其他廠家的產品。這樣雖然需要支付一部分費用,但省去了工具維護所需要的大量工作。至於具體選擇哪個廠家的產品為好,筆者尚無結論性意見。相信讀者朋友都有一些見仁見智的看法,不妨來信交流。

『陸』 如何寫自動化測試腳本具體的思路是。。。。。

自動化測試適用范圍主要是回歸測試針對回歸測試來設計自動化測試腳本的思路:1.確定是否需要進行自動化測試2.需要自動化測試,則確定哪些內容需要進行自動化測試3.選取需要自動化測試的內容相關的測試用例4.根據這些用例,構建數據文件5.根據數據文件設計相應的邏輯,以方便數據文件的輸入為主6.自動化測試腳本應該包含以下內容:1.可重復的操作步驟2.可替換的輸入3.具有比對預期輸出與實際輸出的功能4能夠自動將比對的結果輸出到一個統一的文件上

『柒』 常用的自動化測試工具及特點分析

想要進入 自動化這行業,知道常用的自動化測試工具及特點相當關鍵。下面就由我為你帶來常用的自動化測試工具及特點,希望你喜歡。

常用的自動化測試工具及特點
1、RunnerMercury

Interactive公司的WinRunner是一種企業級的功能測試工具,用於檢測應用程序是否能夠達到預期的功能及正常運行。通過自動錄制、檢測和回放用戶的應用操作,WinRunner能夠有效地幫助測試人員對復雜的企業級應用的不同發布版進行測試,提高測試人員的工作效率和質量,確保跨平台的、復雜的企業級應用無故障發布及長期穩定運行。企業級應用可能包括web應用系統,ERP系統,CRM系統等等。這些系統在發布之前,升級之後都要經過測試,確保所有功能都能正常運行,沒有任何錯誤。如何有效地測試不斷升級更新且不同環境的應用系統,是每個公司都會面臨的問題。

2、Rational

Robot是業界最頂尖的功能測試工具,它甚至可以在測試人員學習高級腳本技術之前幫助其進行成功的測試。它集成在測試人員的桌面IBM

Rational TestManager上,在這里測試人員可以計劃、組織、執行、管理和報告所有測試活動,包括手動測試報告。這種測試和管理的雙重功能是自動化測試的理想開始。

3、AdventNet

QEngineAdventNet QEngine是一個應用廣泛且獨立於平台的自動化軟體測試工具,可用於Web功能測試、web性能測試、Java應用功能測試、Java 、API測試、SOAP測試、回歸測試和Java應用性能測試。支持對於使用HTML、JSP、ASP、.NET、PHP、JavaScript/VBScript、XML、SOAP、WSDL、e-commerce、傳統客戶端/伺服器等開發的應用程序進行測試。此工具以Java開發,因此便於移植和提供多平台支持。

4、SilkTest

是業界領先的、用於對企業級應用進行功能測試的產品,可用於測試Web、Java或是傳統的C/S結構。SilkTest提供了許多功能,使用戶能夠高效率地進行軟體自動化測試。這些功能包括:測試的計劃和管理;直接的資料庫訪問及校驗;靈活、強大的4Test腳本語言,內置的恢復系統(Recovery System);以及具有使用同一套腳本進行跨平台、跨瀏覽器和技術進行測試的能力。

5、QA

RunQARun的測試實現方式是通過滑鼠移動、鍵盤點擊操作被測應用,即而得到相應的測試腳本,對該腳本可以進行編輯和調試。在記錄的過程中可針對被測應用中所包含的功能點進行基線值的建立,換句話說就是在插入檢查點的同時建立期望值。在這里檢查點是目標系統的一個特殊方面在一特定點的期望狀態。通常,檢查點在QARun提示目標系統執行一系列事件之後被執行。檢查點用於確定實際結果與期望結果是否相同。

6、Test

Partner是一個自動化的功能測試工具,它專為測試基於微軟、Java和Web技術的復雜應用而設計。它使測試人員和開發人員都可以使用可視的腳本編制和自動向導來生成可重復的測試,用戶可以調用VBA的所有功能,並進行任何水平層次和細節的測試。TestPartner的腳本開發採用通用的、分層的方式來進行。沒有編程知識的測試人員也可以通過TestPartner的可視化導航器來快速創建測試並執行。通過可視的導航器錄制並回放測試,每一個測試都將被展示為樹狀結構,以清楚地顯現測試通過應用的路徑。

7、Holodeck

強大的故障植入軟體測試工具Holodeck is an advanced fault-injection

tool that gives you the power to attack an application while it monitors and

logs everything your application does - every function call, registry entry,

piece of data read or written.

8、Telelogic

TAUTAU第二代包含三個最新的、最強大的技術用來加速大規模軟體開發和測試:統一建模語言(UML)及它的許多最新修訂版本中的特性,UML2.0;功能強大的測試語言TTCN-3和新的構造系統的方法:Model

Driven Architecture(模型驅動構架)。這三個新的業界標准結合成TAU的已經過認可的軟體開發平台,形成了一個系統,一個一流的穩定可靠的工具解決方案。TAU第二代是系統與軟體開發解決方案的一個突破,它把業界從使用了太長時間的手工、易出錯、以代碼為中心的方法中釋放出來,自然而然地邁向下一步,一個更加可視化、自動化及可靠的開發方法。

9、TelelogicTAU/Tester

是基於通用測試語言TTCN-3,用於自動化的系統和集成測試的強大工具。TAU/Tester以現代化的開發工具為基礎,提供高層測試功能,支持整個測試生命周期,加速自動化測試。TAU/Tester可使用戶特別關注於測試的開發,因為TTCN-3語言是獨立於開發語言或測試設備的,且是抽象和可移植的。
Android手機自動化測試工具
1、Monkey是Android SDK自帶的測試工具,在測試過程中會向系統發送偽隨機的用戶事件流,如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試,也有日誌輸出。實際上該工具只能做程序做一些壓力測試,由於測試事件和數據都是隨機的,不能自定義,所以有很大的局限性。

2、MonkeyRunner也是Android SDK提供的測試工具。嚴格意義上來說MonkeyRunner其實是一個Api工具包,比Monkey強大,可以編寫測試腳本來自定義數據、事件。缺點是腳本用Python來寫,對測試人員來說要求較高,有比較大的學習成本。

3、Instrumentation是早期Google提供的Android自動化測試工具類,雖然在那時候JUnit也可以對Android進行測試,但是Instrumentation允許你對應用程序做更為復雜的測試,甚至是框架層面的。通過Instrumentation你可以模擬按鍵按下、抬起、屏幕點擊、滾動等事件。Instrumentation是通過將主程序和測試程序運行在同一個進程來實現這些功能,你可以把Instrumentation看成一個類似Activity或者Service並且不帶界面的組件,在程序運行期間監控你的主程序。缺點是對測試人員來說編寫代碼能力要求較高,需要對Android相關知識有一定了解,還需要配置AndroidManifest.xml文件,不能跨多個App。

4、UiAutomator也是Android提供的自動化測試框架,基本上支持所有的Android事件操作,對比Instrumentation它不需要測試人員了解代碼實現細節(可以用UiAutomatorviewer抓去App頁面上的控制項屬性而不看源碼)。基於Java,測試代碼結構簡單、編寫容易、學習成本,一次編譯,所有設備或模擬器都能運行測試,能跨App(比如:很多App有選擇相冊、打開相機拍照,這就是跨App測試)。缺點是只支持SDK 16(Android 4.1)及以上,不支持Hybird App、WebApp。

5、TestWriter是上海博為峰結合多年為企業做測試服務的經驗所研發的一款具有自主知識產權的自動化測試工具,跨Web、Android、iOS三大平台,為企業用戶提供真正的低成本、高效率的自動化測試,引領軟體測試自動化運用由技術層面向業務層面轉變。用戶可在TestWriter中通過統一圖形化界面輕松創建測試計劃,並驅動執行引擎完成自動化測試任務,有效降低了測試人員能力要求及腳本維護工作量,讓自動化測試更簡單,更專注於業務。
app自動化測試工具
Monkey Runner

Monkey Runner是AndroidSDK提供的測試工具。嚴格來講Monkey Runner它其實就是一個Api工具包,它是比Monkey強大,用它是可以編寫測試腳本來自定義數據、事件。唯一不足的是腳本用Python來寫,對測試人員來說要求較高,它的學習成本也是比較高的。

Monkey

Monkey是AndroidSDK自帶的測試工具,它在測試過程中會向系統發送偽隨機的用戶事件流,比如一些按鍵輸入、觸摸屏輸入、手勢輸入等),它可以實現對正在開發的應用程序進行一個壓力的測試,同時也是有日誌輸出,實際上該工具只能做程序做一些壓力測試,由於測試事件和數據都是隨機的,並不能自己自己定義,這也是它的局限性所在。

Ui Automator

Ui Automator這個工具也是Android提供的自動化測試框架,基本上支持所有的Android事件操作,對比Instrumentation它不需要測試人員了解代碼實現細節(可以用Ui Automatorviewer抓去App頁面上的控制項屬性而不看源碼)。

它是基於java,因此它的測試代碼結構比較簡單、編寫也是比較容易、學習成本,可以是一次編譯,所有設備或模擬器都能運行測試,能跨App。它的缺點是只支持SDK16(Android4.1)及以上,不支持HybirdApp、WebApp。

Espresso

我們聽說過的Espresso是Google的開源自動化測試框架。它是相對於Robotium和UIAutomator,它最主要的特點就是規模是更小、更加的簡潔,並且API是更加的精確,編寫的測試代碼簡單,由於是基於Instrumentation的,因此是不能跨App。

Appium Android自動化框架

這個框架是iOS,android自動化測試的一個框架。它是可以支持多種的語言:Java,C#,Ruby也是可以支持。並且是還可以去調用selenium的API,所以一般是可以利用selenium來測試在手機上面的網頁應用。

研究過appium,它不僅是支持雲計算服務,還可以為客戶提供許多虛擬手機來測試,這塊不過是付費的。如果你想要的要求越多,你就必須付更多的費用,這是它的特點所在。

軟體自動化測試的工具是比較多的,不同的軟體也是有它的不同的特點,功能上的差異,如何深入了解這些工具並且是合理的使用,這是我們需要做的事情。

猜你還感興趣的:

1. ios自動化測試框架有哪些

2. 軟體QTP自動化測試

3. ios自動化測試流程

4. ios自動化測試工具有哪些

5. 常用的自動化測試工具及流程

『捌』 如何使用selenium+flexmonkium錄制flex頁面自動化測試腳本

如何對Flex進行自動化測試之RIAtest使用方法.今天有時間摸一下flex自動化的一些東西,今天先介紹下一個收費的flex自動化的工具 RIAtest。 第一次認識它是在InfoQ的周刊上看到的,當時沒有留意,這次好好的使用了下。您可以在以下的鏈接下載:
今天有時間摸一下flex自動化的一些東西,今天先介紹下一個收費的flex自動化的工具 RIAtest。
第一次認識它是在InfoQ的周刊上看到的,當時沒有留意,這次好好的使用了下。您可以在以下的鏈接下載:
RIAtest3 下載地址:http://www.riatest.com/procts/download.html
相對與FunFX 和 Flex selenium的不成熟,RIAtest已經集成了錄制,回放,手工腳本等功能著實眼前一亮。
簡單的說一下如何使用它進行flex自動化測試,這里省去了FunFX,Flex selenium,FlexMonkey需要重新編譯工程的煩惱。
1.啟動RIAtest,在File—>new project新建一個項目,項目建好後,在new project上點擊右鍵,選擇Add New Script,會添加一個新的腳本文件,你錄制的腳本就會寫到這個文件裡面。選擇 Project–>Options
在Application SWF File是您要測的flex編譯出來的SWF,點擊OK確定(我們使用RIAtest的安裝路徑RIATest 3\samples\components\app\bin下面有App.swf文件做例子)。好了,我們可以開始運行程序,進行錄制腳本啦。點擊菜單欄 run–>Launch Application,RIAtest會調用系統的瀏覽器,載入swf文件,這就是我們要測試的程序了。點擊開始錄制腳本的按鈕,就可以開始錄制腳本了,去瀏覽器中的那個APP.swf中隨便點點看,會看到RIAtest的腳本文件中生成一些腳本。這些就是錄制的腳本了。再點擊那個紅色按鈕停止錄制,在run–>terminate application用來結束應用程序的本次運行。
2.下面就是RIAtest的相關腳本語言:
FlexBox("index:30")=>click();
FlexBox("SimpleComponentsView")=>click();
FlexTextArea(「newItemText」)=>keyPress(KEY_BACKSPACE);
這里不得不提一下Watir和selenium中捆饒我們的alert彈出框,這里由於RIAtest它的內部機制採用Flex Automation來定位組件,我們可以用以下的方法來定位
new Locator({automationClassName:」FlexButton」, automationName: 「OK」})
首先我們使用object inspector來獲得警告id(index),然後判斷是否存在alert,之後我們用之前定位的『OK』 button來進行點擊操作。處理起來還是比較簡單的。
這是繼之前的 自動化測試系列之後,再次研究flex的自動化。RIAtest針對flex的自動化測試是比較不錯的,上手很容易。配置,編寫腳本,維護腳本都不難。相對如果使用 selenium Flex和ruby FunFx的話需要在代碼上好好下功夫,它們對很多內置類支持不是很好。由於RIAtest不是free的,需要您在金錢和工程難度上做選擇。

『玖』 用自動化測試工具錄制腳本有什麼用

AutoRunner是一款自動化測試工具。AutoRunner可以用來執行重復的手工測試。主要用於:功能測試、回歸測試的自動化。它採用數據驅動和參數化的理念,通過錄制用戶對被測系統的操作,生成自動化腳本,然後讓計算機執行自動化腳本,達到提高測試效率,降低人工測試成本。

『拾』 如何使用selenium ide 錄制腳本

selenium是近來用的比較多的自動化工具,ide作為腳本錄制工具,也是新手比較喜歡的工具,但是在使用過程中很多坑,下邊詳細給大家講一下整個操作過程,及需要注意的點。

使用使用selenium ide錄制腳本主要包括兩個步驟,ide的安裝及ide的腳本錄制,下邊分別講述下:

一、selenium ide的安裝

  1. selenium ide是火狐瀏覽器上的一個插件,我們只能在火狐上安裝,

  2. 火狐的版本一直在更新,我相信大家使用的火狐基本都是最新的版本,但是但是最新的火狐已經不支持ide的安裝和使用了,這也是為什麼很多人下載不了、安裝不成功!

  3. 做自動化不想跳不開腳本錄制這一步的,那怎麼辦?我們把新版本的火狐卸載掉,找一個舊版本的火狐來,45版本就OK。

  4. 卸載及下載安裝就不說了,火狐歷史版本下載:網頁鏈接

  5. 安裝45版本後記得到配置里,修改下不讓它自動安裝更新,

  6. 安裝好後,接下來是ide的安裝,直接去火狐的官網,在附加組件里查找:

熱點內容
編程畫櫻花 發布:2024-03-29 02:11:24 瀏覽:471
騰訊雲伺服器1mb老掉線 發布:2024-03-29 01:56:11 瀏覽:213
執行sql語句的存儲過程 發布:2024-03-29 01:52:37 瀏覽:695
婚紗攝影腳本 發布:2024-03-29 01:47:40 瀏覽:899
我的世界伺服器咋開外掛 發布:2024-03-29 01:07:45 瀏覽:455
sql寫報表 發布:2024-03-29 01:03:23 瀏覽:305
家用伺服器怎麼選 發布:2024-03-29 00:49:18 瀏覽:401
Ap6510dn如何配置 發布:2024-03-29 00:38:47 瀏覽:333
安卓和蘋果哪個更佔用內存 發布:2024-03-29 00:37:02 瀏覽:424
編譯錯誤算bug嗎 發布:2024-03-29 00:23:03 瀏覽:34