测试种类
- 单元测试
测试各个代码组件,并确保代码按照预期的方式工作。 JUnit或TestNG - 集成测试
检查系统是否作为一个整体而工作。 - 功能测试
通过将给定输入的结果与规范进行比较来检查每个功能是否正确实现。 Selenium和QTP
使用框架来进行单元测试
- 易于设置和运行。
- 支持注释。
- 允许忽略或分组并一起执行某些测试。
- 支持参数化测试,即通过在运行时指定不同的值来运行单元测试。
- 通过与构建工具,如Ant,Maven和Gradle集成来支持自动化的测试执行。
测量代码覆盖率
- 使用代码覆盖工具,如Clover,Corbetura,JaCoCo或Sonar。使用工具可以提高测试质量,因为这些工具可以指出未经测试的代码区域,让你能够开发开发额外的测试来覆盖这些领域。
- 每当写入新功能时,立即写新的测试覆盖。
- 确保有测试用例覆盖代码的所有分支,即if / else语句
尽可能将测试数据外部化
入参可以动态传入而不写死
TestNG,JUnit
使用断言而不是print语句
其他建议
- 谨慎使用测试驱动开发 TDD 可能远离需求
- 构建具有确定性结果的测试 随机数、时间等不确定
- 除了正面情景外,还要测试负面情景和边缘情况