按测试性质分

  • 功能自动化测试
  • 性能自动化测试
  • 渗透自动化测试
  • 高可用自动化测试

    按测试类型分

  • 白盒自动化测试

  • 黑盒自动化测试

    按测试对象分

  • 单元自动化测试

  • 集成自动化测试
  • 系统自动化测试

    按执行方式分

  • 静态自动化测试

  • 动态自动化测试

常见的软件自动化测试模型

  • ATDD (TDD + BDD + UI) —— 单元测试与模块级测试(关键字驱动的行为测试),UI见下述
  • 接口自动化 —— 在现今狭义上通常指的是web http接口,应验证业务级的功能、数据、安全等
  • UI 自动化 —— 基于操作系统与运行环境的 UI 测试,应验证业务级的功能穿越、必要的局部的数据算法在客户端的呈现等
  • 脚本自动化测试 —— 通常是非固定的模式与技术语言,用以验证数据与算法等。如 ETL 等数据加工与计算的场景

国内常见的自动化测试框架

单元测试框架

如 Junit, TestNG, pytest, Jcoco, Cobertura, unittest, ESLint 等,各类语言均有相关支持的组件或框架

BDD 测试框架

如 Cucumber 等,或开发者使用 DSL 实现等类似

HTTP接口自动化测试框架

如 Postman, eolinker(PaaS), NEI, Yapi, Soap-ui, jmeter 等
另外现在也出了很多“微创新”的 SaaS 产品如 apipost, apifox 等

如果不自研,也受限于费用,相对推荐 apifox

UI 自动化测试框架

如 selenium2(webdriver2), robotframwork, appium, STF, 按键精灵 等等

性能测试框架/组件

如 Jmeter, Locust, Gatlin 等

对于上述的框架或工具,工作原理不额外提及