当今世界敏捷大行其道,软件迭代越来越快和发版隔间越来越小,很多公司团队都提倡小步快跑的软件开发模式。其中软件测试时间窗口不断减少,测试团队面临着比以往任何时候都面临的更多挑战,为建立可靠的连续测试策略,以适应需求变化,响应生产环境的反馈等。一些团队利用测试数据分析,而另一些团队则使用机器学习和其他先进技术来优化其 DevOps 管道。
本文将重点聊一聊在敏捷测试和DevOps环境中制定回回归测试策略的主题。
参考:43 种常见软件测试分类
回归测试被定义为一种软件测试类型,以确认最近的程序或代码更改未对现有功能造成不利影响。 从这个定义来看,很明显,这样的测试类型应该集中在通过预定义的计划、触发器或按需执行的全部或部分测试场景中。
如果根据最佳实践正确开发了回归测试并涵盖了足够的功能区域,则它们带来的价值就很高,并且这种测试模型能够发现回归错误,代码更改的副作用或其他意外的问题。
通常,执行回归测试的常见触发因素包括:
构建测测试自动化是一项具有挑战性的任务,但却是持续测试和回归测试的关键推动力。
如上所述,要确保回归套件具有连续的高价值,必须做好前期准备,并且渐进式地构建它,并专注于健壮的测试方案,高覆盖率和尽可能低的测试维护成本。如果不考虑这些考虑因素,则可能会导致整个测试流程延迟劲儿导致发布计划的失败。
在考虑在敏捷环境中进行回归测试的策略时,需要了解这种环境会不断变化。添加了新平台、功能、缺陷修复等,这意味着回归测试应适应此动态环境以继续有效。
测试工程管理需要专注于回归套件的持续维护并确定以下内容:
CI
引擎执行的,哪些是从CI
之外的其他调度程序执行的?在阐明了有关回归测试的一些基本战略考虑和见解之后,以下是一些最佳实践和建议以供参考:
高度稳定的测试自动化可实现连续测试,回归测试也越来越依赖于强大而值得信赖的测试自动化。为了确保从回归测试的投入中获得价值,建议优先制定适合本团队的可靠的测试策略,并随着产品的发展对其进行调整。确保回归测试活动的参与方之间正确沟通,并获得总体满意的结果以及避免上线事故的发生。