历史上,随着项目自动化测试数量的增加,出现了许多问题:测试混淆,超出执行时间限制,难以理解各自的职责。此外,不同测试系统部分之间的依赖风险增加,以及整个管道工作减慢的风险。
当测试数量增长超过测试基础设施的架构支持时,问题出现了。没有可扩展的解决方案,测试变得缓慢,维护变得复杂,缺陷的查找和定位变得困难,技术债务迅速增加。
解决方案在于实施特殊策略:
关键特点:
是否可以使所有测试仅为集成测试,以便立即覆盖更多代码?
不,这种方法降低了缺陷的定位能力,导致高昂的维护成本,同时减慢回归测试的执行。
自动化测试的可扩展性是否仅意味着加速?
可扩展性包括架构、可维护性、加速和灵活的基础设施。加速只是良好设计的大型系统的结果。
如何正确扩展在不同时区工作的团队的测试?
重要的是要考虑本地运行和测试环境独立的可能性,否则会在团队任务之间出现“冲突”。
公司一下子出现了多个团队,它们将新的自动化测试添加到同一个文件夹中,而没有协商自己的更改。几周后,由于数据和依赖性的不一致,自动化测试开始失败,启动时间超过了2小时。
优点:
缺点:
在其中一个团队中,建立了模块化结构,按代码领域引入了单独的CI,提升了稳定性,实施了关于无效测试的自动警报。
优点:
缺点: