春節前,我們開展了 測試自動化工具調查 ,以便了解各類工具的應用狀態、哪些工具應用更普遍,也期望通過調查,指導大家更好地選擇測試工具。現在結果出來了,看看有沒有出乎意料之外的結果?這裡可以告訴你,有,而且還有其它團隊正在使用的一些新工具,不在調查所列的工具中。

1. 參與調查的人員情況

(行業分佈情況,以 “網際網路、資訊和通訊、金融和保險” 為主)

(角色分佈情況,以“測試經理、測試開發人員、業務測試人員”為主)

2. 自動化測試工具整體使用情況

我們可以看到介面測試工具應用最為普遍,比基於 UI 的功能測試工具要高出 32%。這也容易理解,微服務架構、面向介面的開發與應用是當今軟體開發的一個主流趨勢,介面測試自然成為主要的驗證手段,而且介面測試也更容易實現自動化測試,如自動化測試的金字塔模型所展示的。1/3 的測試人員會使用後端效能測試工具,但前端效能測試工具的使用情況要低不少,只有十分之一的人使用。覆蓋率分析工具使用率還偏低,測試經理(佔 31%)是不是都應該使用?可能大家覺得,只有單元測試時才使用,這是一個誤區,但從調查結果看,這個誤區是存在的,單元測試工具所佔比例和覆蓋率分析工具所佔比例非常接近。

3. 自動化測試框架

自動化測試框架主要使用 Selenium IDE +Grid +WebDriver ,超過三分之一。自研的比重也不低,佔了 31.4%,接近三分之一; Robot Framework 排在開源框架第二位,但只有十分之一左右;Cypress 和 Cucumber 則更低,分別為 5.1% 和 3.8%。其它框架包括 Python Behave,pytest,Http Runner 等被其它團隊在使用。

4.  測試管理工具

JIRA 成為主流的測試管理工具,但只佔 1/4;自研的,略低,但也接近 1/4。國產開源的 “禪道” 佔比也比較高,接近 18%,遠遠超過比較流行的 TestLink。新秀 MeterSphete 以其易用性受到歡迎,正在逼近TestLink。其它被使用的測試管理工具有 redmine,Teambition。

5.  介面測試工具

介面測試工具中,JMeter 和 Postman 旗鼓相當,佔比約 60%,遙遙領先其它工具,頭部特徵明顯。自研佔的比重也不低,緊隨其後,而 Swagger 平臺處在單個工具第 3 位,但佔比不到十分之一。

6.  基於 UI 的功能測試工具

基於 UI 的測試工具中,Selenium,佔比約 46%,不到 50%,但遙遙領先其它工具,單個工具第二位的 Appium 只有 12.2%。自研佔的比重也不低,18.6%,Airtest、Cypress 佔比還很低,而其它的測試工具包括 pytest、Eggplant、Protractor、TestCafe 等。

7.  嵌入式測試工具

網際網路、金融等多數行業幾乎很少使用嵌入式測試工具,所以 “其它” (多數填 “沒有使用”)排在第一位;其次,沒有特別流行的工具,單一工具佔比最高的前 3 位(ETest Studio、Testbed、klocwork)佔比也只有 5% 左右。自研佔比也很高 28.8%

8.  單元測試工具

單元測試工具取決於開發所用的程式語言,目前使用最多的程式語言還是 Java,所以 JUnit、TestNG 分別處在第 1、3 位,合計為 43.6%;雖然TestNG 號稱新一代單元測試工具,有優勢,但還是輸給了 JUnit,不到 JUnit 的一半。 而 python 應用排在第二位,所以 pytest、unittest 分別處在第 2、4位,佔比合計約 30.8%。第 3 位 C 語言的 C++Test、LDRA、Google Test 等合計佔比很低,低於 9%。

9.  測試覆蓋率分析工具

測試覆蓋率分析工具和單元測試工具有對應關係,JaCoCo 遙遙領先,但 Coverage.py 佔比不高,與C++測試覆蓋率分析工具Bullseue Coverage 接近,佔比 8.3%;C 語言的 gcov+lcov 佔比也不低,5.8%。這裡 “其他” 佔比很高,和嵌入式測試工具情況類似,許多人沒有使用過,如前面所說,測試經理可能需要反思,系統層次的功能測試也是可以使用的,例如測試風險分析、測試用例完善甚至精準測試等都需要依賴 測試覆蓋率分析工具

10.  效能測試工具

今天后端效能測試工具不再是 LoadRunner 的天下,LoadRunner 佔比只有 14.1%,而 JMeter 遙遙領先,佔比超過 60%。Locust 雖然不錯,但佔比很低 3.8%;自研比重不算高。

前端效能測試工具,如前面所說,大家平時使用不足,所以 “其它” 比重很高、排第一,雖然只有 23.7%。自研的,超過 1/5,達到 22.4%。單個工具中,Monkey 排第一,Google lighthouse 排在第二,而騰訊 PerfDog 排在第 3,也獲得不錯的成績。
11.  安全性測試工具

安全性測試工具分為靜態分析(SAST)工具和、動態安全性測試(DAST)工具和模糊測試工具,總體看相對比較分散,但在SAST 中 SonarQube 還算不錯,佔比(37.2%)遙遙領先,是第 2 位 Coverity(12.2%)的 3 倍多。在DAST中 Burp Suite 也算不錯,佔比(19.2%)較高,是第 2、3 名 SQLMap、ZAP 的 3 倍左右。模糊測試工具中,排在第 1、2 位的 Fuzzbuzz、Bfuzz 佔比也只有 8% 左右,其它工具佔比更低,包括大名鼎鼎的 AFL,佔比也只有 2.6%。