负责维护我们组的e2e,所以记录一下一些想法和建议,方便下次开发e2e参考。
- 给每个case添加相应label或者tag,给case加上元数据,方便后期开发维护,比如:
- 区分不同模块或者feature
- 区分不同的运行环境
- 区分不同的优先级
- 添加测试用例的owner
- 区分不同运行时间的case
- 有选择性的运行部分case
- 能快速的运行测试用例,不需要过多的配置,最好能一键运行,包括环境的准备和测试用例运行
- 运行测试用后,能根据出错的case的meta data自动log issue并assign给相关负责人,方便快速解决失败case
- 确保每个测试用例的原子性,每个case都有相应的pre-test和post-test,方便设置前置条件和测试完毕后恢复测试现场,case之前不能有依赖性或者相互影响
- 每个case有充分的日志信息,给日志设定不同级别,当测试出错时能协助快速定位问题,比如打印一些现场环境问题、应用状态信息等
- 如果运行测试失败,最好能保留现场方便相关人员能查看环境,快速debug解决出错case
- 如果测试运行成功,必须在测试结束后,删除所有因为测试创建的资源,恢复测试环境,预防资源泄露和影响下次测试运行
- 对多次测试结果进行统计分析,区分易出错case和稳定case,方便针对性的改进case
- 提取一些写测试用例会用到到的公共库,方便后续人员使用,能快速的开发测试用例
- 尽可能的优化测试时间,设置合理的timeout,能快速的运行测试用例,节约开发时间
- 尽量选择有代表性的测试用例,一般做不到100%的覆盖率,所以尽可能的开发有意义的测试用例
:) 未完待续……
LEo at 12:12