了解最新技术文章
为了使自动化使您的测试真正更加高效,它需要与您的测试周期智能集成。如果您的测试周期与开发周期不同步,或者您将自动化团队与开发团队完全隔离,那么这就不是敏捷的,也无法帮助您实现更快、更高效的发布。
决定自动化工作将在您的冲刺中落到哪里
团队通常采用两种方式之一在其冲刺中进行自动化工作:在同一个冲刺中同时执行开发和测试自动化活动,或者交替进行工作,以便在一个冲刺中开发的功能在下一个冲刺中实现自动化。
并行运行开发和自动化工作肯定可以更快地实现测试自动化,但需要整个团队的努力才能有效执行。如果整个开发团队只有一名自动化测试人员,那么您将无法实现所有事情的自动化,尤其是在冲刺后期开发的功能。整个团队需要参与开发功能,然后自动测试这些功能,才能使这种方法产生效益。
交替开发和自动化工作可以让您的团队一次完全专注于一件事,确保开发和测试自动化的稳步进展,即使您没有一个大型团队能够在每个冲刺期间将时间投入到这两件事上。然而,这种方法意味着您的开发和自动化工作将始终存在一个冲刺延迟,并且您的团队必须手动测试“开发”冲刺中开发的功能,因为它们直到下一个冲刺才会自动化。
敏捷工作流程中测试自动化最重要的原则是确保您的整个团队共同努力实现您的目标。如果您将自动化团队与开发分开,那就不是敏捷的。但是,当需要额外资源时(例如在创建自动化框架时),您可以加入自动化支持团队。
为您的测试工作流程建立流程
无论您是在同一个冲刺中还是在交替的冲刺中自动化测试,您都需要为您的测试工作流程建立一个流程,并确保团队的其他成员参与其中。
开发完功能后,您应该:
1. 设计测试用例
2. 手动执行测试用例以验证冲刺的功能
3. 仅在功能经过验证后(在同一冲刺或
在下一个)
确定如何执行自动化测试
测试自动化后,您需要制定执行测试的策略。团队通常通过以下方式之一执行自动化测试:
在每个部署或合并请求上
• 合并请求非常频繁地发生,因此这些测试必须快速运行
• 然而,这种方法将提供“左移”方法所需的快速反馈
• 部署发生的频率低于合并请求
• 测试是按需运行的——有人手动触发测试
• 每晚整夜进行测试
将测试用例分批并按优先级划分为一系列执行,这些执行得到
逐渐更高级(例如冒烟测试到回归测试)
这样,如果冒烟测试失败,您只需重新运行一次快速执行,而不是完全回归
不要将所有自动化测试批量化到一个巨大的执行中
如果单个高优先级测试失败,则必须再次运行整个执行
上一篇:您应该自动化哪些测试?
下一篇:如何创建测试计划