自动化测试全解析:从基础到实践
1. 故事流程与测试基础
在许多 IT 组织中,常常会构建复杂、繁琐的流程来管理工作流。即便采用敏捷方法的团队,也会积累一系列会议、启动会、评审会、展示会和签字确认流程。然而,讨论一个小的日常任务所花费的时间,往往比实际执行、检查和修复工作的时间还要多。
因此,将事情简化为真正有价值的部分是很有帮助的。对于尚未明确的工作,以下活动最为重要:
1. 明确工作内容 :对要完成的工作有清晰的陈述,在某些情况下,一句话即可,但要避免模糊或开放式表述。
2. 共同评审 :与提出工作需求的人、执行工作的人以及验证工作的人(如测试人员、项目经理、业务分析师等)一起评审该陈述。确保每个人都理解工作的范围和不包含的内容,以及如何验证工作是否完成。
3. 进度审查 :根据需要审查正在进行的工作,确保方向正确。
4. 成果验收 :工作完成后,与利益相关者一起审查,确保他们满意。
对于频繁的常见任务,可以一次性定义并重复使用。例如,创建用户账户无需每次都经历完整的流程,但明确定义任务并设定验收标准是很有用的。这些任务最好实现自动化,以确保步骤一致、可重复且透明,并在之后自动验证标准。
2. 自动化测试的真相与策略
自动化测试往往是许多团队面临的挑战,为现有系统实现一套完整的自动化回归测试极为困难。实际上,编写自动化测试最有价值的成果不是测试本身,而是被测试的代码。编写测试的过程迫使我们思考和质疑所测试系统组件的设计,从而改进该组件的设计。