- 全棧自動化測試實戰:基于TestNG、HttpClient、Selenium和Appium
- 盧家濤
- 1193字
- 2020-06-08 17:55:44
第1章 自動化測試概述
1.1 自動化測試的定義和分類
自動化測試通俗地講就是使用軟件A自動執行測試用例來測試軟件B。軟件A既可以是現有的自動化測試工具,也可以是自己編寫的測試腳本。軟件B就是待測試軟件。
自動化測試的分類維度如下。
1.根據測試階段劃分
(1)單元自動化測試
單元自動化測試是指通過自動化手段對軟件最小可測單元(模塊)進行的測試。一個最小可測單元通常為一個方法或函數。單元自動化測試常用的工具(框架)有JUnit、TestNG、Jtest、unittest和Pytest等。
(2)集成自動化測試
集成自動化測試是指通過自動化手段把軟件的模塊組合起來測試。集成測試分為增量測試和非增量測試兩種,這兩種測試在手工或自動化的集成測試中都可以采用。
①增量測試。
在增量測試中,如果增量方式是自頂向下的,那么測試的過程需要樁﹔如果增量方式是自底向上的,那么測試的過程需要驅動。在實際項目中,經常涉及的“打樁”概念就來自于增量測試。
②非增量測試。
非增量測試不像增量測試那樣有嚴格的增量順序,因此在非增量測試過程中,可能同時需要樁和驅動,也可能只需要其中一個,或者兩者都不需要。
集成自動化測試的主要表現之一為接口自動化測試,用于接口自動化測試的常用工具(框架)有JMeter、HttpClient、requests、SoapUI和Postman等。
(3)系統自動化測試
系統自動化測試是指通過自動化手段,將軟件、硬件、操作人員當成一個整體進行測試。系統自動化測試又可分為功能自動化測試、性能自動化測試、安全(滲透)自動化測試和兼容性自動化測試等。系統自動化測試常用的工具(框架)有很多,比如Testin云測平臺就提供了兼容性自動化測試功能,它可以測試App在各種手機上運行是否正常。
2.根據測試類型劃分
(1)功能自動化測試
功能自動化測試是指通過自動化手段檢查軟件能否達到預期功能的測試。主要表現為Web應用、移動應用和桌面應用等軟件的界面測試。界面自動化測試的常用工具(框架)有Selenium、Appium、Robot Framework、UFT/QTP和AutoIt等。
(2)性能自動化測試
性能自動化測試是指通過自動化手段模擬各種正常、峰值和異常負載條件,從而對系統的各項性能指標進行測試。在性能自動化測試中,JMeter和LoadRunner占據了絕對的統治地位。
(3)安全(滲透)自動化測試
安全(滲透)自動化測試可理解為通過自動化手段檢查軟件是否有安全漏洞。安全(滲透)自動化測試包含前期交互、信息收集、威脅建模、漏洞分析、滲透攻擊、后滲透攻擊和測試報告7個階段。安全(滲透)自動化測試常用工具(框架)有Metasploit、Burp Suite、Nessus、NMap、sqlmap、Synopsys Defensics和Peach Fuzzer等。
3.根據靜態和動態劃分
(1)靜態自動化測試
靜態自動化測試是指通過自動化手段不實際運行軟件的測試,比如代碼審查、文檔測試等。根據編程語言不同,代碼審查自動化測試工具(框架)的差異很大。對Java而言,常用的有FindBugs、PMD等。
(2)動態自動化測試
動態自動化測試是指通過自動化手段實際運行軟件的測試,即通常所說的“軟件測試”。動態自動化測試(框架)前面已經介紹很多,這里不再贅述。
從狹義來講,自動化測試主要指動態的功能自動化測試。
- JavaScript百煉成仙
- Practical Internet of Things Security
- Mastering Python Scripting for System Administrators
- Java 9 Programming Blueprints
- Mastering PHP Design Patterns
- Python高效開發實戰:Django、Tornado、Flask、Twisted(第2版)
- Mastering Android Game Development
- Java網絡編程核心技術詳解(視頻微課版)
- Kotlin開發教程(全2冊)
- QGIS Python Programming Cookbook(Second Edition)
- JavaScript程序設計(第2版)
- Arduino Wearable Projects
- Docker:容器與容器云(第2版)
- ROS機器人編程實戰
- 3ds Max 2018從入門到精通