官术网_书友最值得收藏!

第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)動態自動化測試

動態自動化測試是指通過自動化手段實際運行軟件的測試,即通常所說的“軟件測試”。動態自動化測試(框架)前面已經介紹很多,這里不再贅述。

從狹義來講,自動化測試主要指動態的功能自動化測試。

主站蜘蛛池模板: 科尔| 天门市| 万山特区| 南宁市| 公主岭市| 唐海县| 桃园县| 富顺县| 辽源市| 本溪| 临猗县| 安顺市| 鹤壁市| 孟连| 获嘉县| 仪陇县| 抚顺县| 永嘉县| 文山县| 大安市| 兴国县| 麻栗坡县| 阿图什市| 霞浦县| 兴宁市| 德钦县| 都昌县| 邵武市| 洞头县| 招远市| 凌云县| 宜州市| 华坪县| 梁河县| 汤阴县| 西林县| 福建省| 贺兰县| 丹巴县| 垦利县| 东乡|