Software Test Strategy and Category

按照作用机制分类

Static and Dynamic Test (静态测试和动态测试)

  • 静态测试: 不运行程序, 仅仅对代码进行静态语法检查, 编译. 例如 pylint.

  • 动态测试: 运行程序, 验证输入和输出结果.

Black, White, Grey Test (黑盒测试、白盒测试和灰盒测试)

  • 黑盒: 不关系内部实现, 只关心 input, output 是否符合预期.

  • 白盒: 关心内部实现. 比如在 input output 符合预期的情况下, 内部某段代码是否被正确执行了.

Manual, Automate Test (手动, 自动测试)

不用解释了.

不同阶段的测试

Unit Test (单元测试)

基本上是 函数, 类, 模块 级别的测试, 保证代码正确. 单元测试是基础要求, 没有单元测试的代码是不允许 Merge 的.

Integration Test (集成测试)

将代码部署到和生产环境相近的环境中, 然后对整个系统进行测试, 看看各个模块, 子系统是否能正确通信, 相互调用.

System Test (系统测试)

将整个系统作为一个整体, 看看系统级的功能是否能够运转正常, 从用户的焦炉来说, 是否符合预期.

Acceptance Test (验收测试)

在产品上线前, 想方设法的以用户的角度对其进行破坏, 输入非法的值, 看看是否运转正常.