春节前,我们开展了测试自动化工具调查,以便了解各类工具的应用状态、哪些工具应用更普遍,也期望通过调查,指导大家更好地选择测试工具。现在结果出来了,看看有没有出乎意料之外的结果?这里可以告诉你,有,而且还有其它团队正在使用的一些新工具,不在调查所列的工具中。
(行业分布情况,以 “互联网、信息和通信、金融和保险” 为主)
(角色分布情况,以“测试经理、测试开发人员、业务测试人员”为主)
我们可以看到接口测试工具应用最为普遍,比基于 UI 的功能测试工具要高出 32%。这也容易理解,微服务架构、面向接口的开发与应用是当今软件开发的一个主流趋势,接口测试自然成为主要的验证手段,而且接口测试也更容易实现自动化测试,如自动化测试的金字塔模型所展示的。1/3 的测试人员会使用后端性能测试工具,但前端性能测试工具的使用情况要低不少,只有十分之一的人使用。覆盖率分析工具使用率还偏低,测试经理(占 31%)是不是都应该使用?可能大家觉得,只有单元测试时才使用,这是一个误区,但从调查结果看,这个误区是存在的,单元测试工具所占比例和覆盖率分析工具所占比例非常接近。
自动化测试框架主要使用 Selenium IDE +Grid +WebDriver ,超过三分之一。自研的比重也不低,占了 31.4%,接近三分之一;Robot Framework排在开源框架第二位,但只有十分之一左右;Cypress 和 Cucumber 则更低,分别为 5.1% 和 3.8%。其它框架包括 Python Behave,pytest,Http Runner 等被其它团队在使用。
JIRA 成为主流的测试管理工具,但只占 1/4;自研的,略低,但也接近 1/4。国产开源的 “禅道” 占比也比较高,接近 18%,远远超过比较流行的 TestLink。新秀 MeterSphete 以其易用性受到欢迎,正在逼近TestLink。其它被使用的测试管理工具有 redmine,Teambition。
接口测试工具中,JMeter 和 Postman 旗鼓相当,占比约 60%,遥遥领先其它工具,头部特征明显。自研占的比重也不低,紧随其后,而 Swagger 平台处在单个工具第 3 位,但占比不到十分之一。
基于 UI 的测试工具中,Selenium,占比约 46%,不到 50%,但遥遥领先其它工具,单个工具第二位的 Appium 只有 12.2%。自研占的比重也不低,18.6%,Airtest、Cypress 占比还很低,而其它的测试工具包括 pytest、Eggplant、Protractor、TestCafe 等。
互联网、金融等多数行业几乎很少使用嵌入式测试工具,所以 “其它”(多数填 “没有使用”)排在第一位;其次,没有特别流行的工具,单一工具占比最高的前 3 位(ETest Studio、Testbed、klocwork)占比也只有 5% 左右。自研占比也很高 28.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%。
测试覆盖率分析工具和单元测试工具有对应关系,JaCoCo 遥遥领先,但 Coverage.py 占比不高,与C++测试覆盖率分析工具Bullseue Coverage 接近,占比 8.3%;C 语言的 gcov+lcov 占比也不低,5.8%。这里 “其他” 占比很高,和嵌入式测试工具情况类似,许多人没有使用过,如前面所说,测试经理可能需要反思,系统层次的功能测试也是可以使用的,例如测试风险分析、测试用例完善甚至精准测试等都需要依赖测试覆盖率分析工具。
今天后端性能测试工具不再是 LoadRunner 的天下,LoadRunner占比只有 14.1%,而 JMeter 遥遥领先,占比超过 60%。Locust 虽然不错,但占比很低 3.8%;自研比重不算高。
安全性测试工具分为静态分析(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%。