当前测试组(集成测试/接口测试)的方式

  1. 采用行业内流行的 xmind(脑图)的方式编写测试用例,通过生成遵循一定格式的 Excel 文件,可以导入到禅道系统。参见《测试用例设计-模板.xmind》 优点:

    • xmind 文档能够清晰体现出主线思路。

    缺点:

    • 额外安装软件
    • 用例过多时,无法直观看到有多少个用例
  2. 采用 jmeter 作为测试工具,编写 jmeter 测试脚本,研发人员提供 mock 接口(可能只限定在测试模式)

  3. 采用禅道管理测试用例、测试结果及 bug 的管理

  4. 测试环境分为研发同事的开发环境及测试组搭建的测试环境,搭建的部署环境分 2 种方式,一种与研发或生产一致;另一种采用 docker+compose 方式,数据库采用 mysql

  5. 参数化测试方式,采用 csv 文件存储输入数据、预期数据。命名规则是 csv 文件与脚本文件名称一致。同一个业务测试文件夹内至少有 3 个文件,包括:1 个.xmind (测试用例)文件,1 个.jmx (测试脚本)文件,1 个.csv (测试数据)文件。但是由于集成测试接口参数众多,因此只会放置业务关键参数到 csv 文件,其他不太重要的参数则固化到脚本中。

  6. mock 第三方接口(测试模式),初始至少模拟第三方接口成功和失败的 2 种结果。至于失败结果的细分,则具体情况具体分析,可以后续补充。

  7. 测试脚本可以重复跑。2 种方式:

  • 脚本调整数据库的数据并构造所需数据
  • 脚本使用接口构造所需数据,数据库开始测试前重置

单元测试的方式(待讨论)

  1. 测试用例编写及管理方式(在单元测试代码内用注释的方式写测试用例或也使用 xmind?是否也要登记到禅道?) 优点:

    • 测试用例与单元测试代码集成在一起,不用费神去额外更新其他文件

    缺点:

    • 测试用例的业务流程没那么直观
  2. 测试技术栈 JUnit5+AssertJ+Mockito ?

  3. 需要使用禅道管理用例及 bug 等吗?好处是登记到系统内,有权限即可看到。

  4. 测试环境在个人电脑上搭建吗?数据库本机搭建一个?内存数据库(与 mysql 兼容程度)?可选 docker

  5. 参数化(parameterization)测试时也使用 csv,所有参数都放到 csv 中?或者使用其他建议方式?

  6. mock 模式,模拟第三方接口(测试模式)

  7. 单元测试代码可以重复跑