1. 程式人生 > 實用技巧 >想知道Python自動化測試怎麼做嗎?戳我

想知道Python自動化測試怎麼做嗎?戳我

我們常見的功能測試是如何進行的?設計測試用例,然後測試人員執行測試用例,對比執行後的實際結果與預期結果是否相等。如果相等,測試通過;如果不相等,測試失敗。

其實自動化測試做的事情和功能測試沒有差別,自動化測試主要分三個層面去自動化,單元測試自動化、介面測試自動化、web測試自動化。

在這裡插入圖片描述
單元測試自動化

呼叫被測的類或者方法,根據類或者方法的引數,傳入對應的引數,然後得到一個返回結果。最終判斷返回的結果是否與預期結果相等。相等,測試通過,不相等,測試失敗。所以呢在單元測試裡面主要是關注的程式碼實現與邏輯,這個當然一般是由開發完成。

介面測試自動化

根據介面文件,編寫設計測試用例,根據測試用例向介面提交請求,根據返回的結果資料去判斷狀態碼、響應的msg去判斷介面測試是否通過。所以在介面測試關注的是資料,只要資料正確了,功能就基本完成一大半了,剩下的就是把資料展示在前端頁面上。

web測試自動化

web測試自動化,這種測試更加貼近使用者的行為,模擬使用者點選了某個按鈕,向輸入框輸入了什麼。比如一個登陸功能,使用者輸入了賬號密碼點選到哪裡,是可以看見登陸有沒有成功的。單web自動化就並不知道使用者剛才的點選有沒有生效,所以這個時候就要資料證明了。比如登陸成功後頁面會跳轉到主頁面,頁面上會顯示“歡迎 xxxx”。這個就是登陸成功的有效資料證明,於是,web自動化登陸成功後,就會去獲取這個資料進行斷言。

如果相等,測試通過。如果不相等,測試失敗。web測試自動化關注的是使用者的操作行為,頁面上的按鈕和輸入框是否可用。

從測試的行為本質上去分析,功能測試和自動化測試沒有區別。唯一的區別,一個是人工操作,一個是由程式碼工具執行。

自動化測試工具介紹

QTP

QTP是QuickTest Professional的簡稱,是一種自動測試工具。使用QTP的目的是想用它來執行重複的手動測試,主要是用於迴歸測試和測試同一軟體的新版本。

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

WinRunner

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

Rational Robot

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

AdventNet QEngine

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

SilkTest

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

QA Run

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

Test Partner

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

Holodeck

Holodeck是一種高階故障注入工具,它允許您在監視和日誌應用程式所做的一切時攻擊應用程式——每個函式呼叫、登錄檔條目、讀取或寫入的一段資料。

Telelogic TAU

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技術開發的桌面程式。

Phoenix Framework

Phoenix Framework是一款基於 Selenium,Webdriver,autoIt研發的一款集資源管理和測試於一體的Web自動化測試工具。使用該工具的介面建立用例,組裝指令碼,啟動執行。使用該工具其他開放的介面,可手動建立指令碼,組裝並執行。它支援兩種部署模式,第一種是Server-Client方式,Server與Client均為EXE程式,通訊協議是Socket;另一種是WEB版部署,方便與現有系統整合,支援Linux,將Server與Client放到Tomcat或Weblogic伺服器下部署,通訊協議為Http,通過WEB頁面控制並監控Client端的執行。

Jacky說 :

很多朋友都會認為,有了自動化,我們就可以無憂無慮地坐等測試報告了,但是其實並不是這樣的。

因為能做自動化的專案,一定是經過很多次測試,並且框架和功能相對是比較穩定的才能去編寫自動化測試程式碼。

不過確實自動化在專案上還是挺實用的:用了自動化,指令碼才剛開始起步,產品就已經有所改動了。

自動化測試是一種輔助的方式,最重要的是一切要以做好功能測試為前提。

如何用Python做自動化測試

這裡給大家推薦小姐姐的教程《小姐姐帶你玩自動化》,這個課結合Python3+Selenium2框架,主要將知識點在例項中實踐,帶領大家一起完成Excel文件操作、Word文件操作、Web頁面元件操作。

在這裡插入圖片描述

感興趣的同學,一起來學習吧~

有任何問題都可以留言互動下!
在這裡插入圖片描述
上面是我收集的一些視訊資源,在這個過程中幫到了我很多。如果你不想再體驗一次自學時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,可以加入我們扣扣群【313782132 】,裡面有各種軟體測試資源和技術討論。

軟體測試是IT相關行業中最容易入門的學科~不需要開發人員燒腦的邏輯思維、不需要運維人員24小時的隨時待命,需要的是細心認真的態度和IT相關知識點廣度的瞭解,每個測試人員從入行到成為專業大牛的成長路線可劃分為:軟體測試、自動化測試、測試開發工程師 3個階段。

如果你不想再體驗一次自學時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,可以加我們的軟體測試交流群,裡面有各種軟體測試資料和技術交流。