背景
无
适用范围
不适合自动化测试的情况
1、定制型项目(一次性的)。
为客户定制的项目,维护期由客户方承担的,甚至采用的开发语言、运行环境也是客户特别要求的,即公司在这方面的测试积累就少,这样的项目不适合作自动化测试。
2、项目周期很短的项目。
项目周期很短,测试周期很短,就不值得花精力去投资自动化测试,好不容易建立起的测试脚本,不能得到重复的利用是不现实的。
3、业务规则复杂的对象。
业务规则复杂的对象,有很多的逻辑关系、运算关系,工具就很难测试。
4、美观、声音、易用性测试。
人的感观方面的:界面的美观、声音的体验、易用性的测试,也只有人来测试。
5、测试很少运行。
测试很少运行,对自动化测试就是一种浪费。自动化测试就是让它不厌其烦的、反反复复的运行才有效率。
6、软件不稳定。
软件不稳定,则会由于这些不稳定因素导致自动化测试失败。只有当软件达到相对的稳定,没有界面性严重错误和中断错误才能开始自动化测试。
7、涉及物理交互。
工具很难完成与物理设备的交互,比如刷卡的测试等。
适合自动化测试的情况
自动化测试之所以能在很多大公司实施起来,就是有它适合自动化测试的特点和高的投资回报率。
1、产品型项目。
产品型的项目,每个项目只改进少量的功能,但每个项目必须反反复复的测试那些没有改动过的功能。这部分测试完全可以让自动化测试来承担, 同时可以把新加入的功能的测试也慢慢地加入到自动化测试当中。
2、增量式开发、持续集成项目。
由于这种开发模式是频繁的发布新版本进行测试,也就需要频繁的自动化测试,以便把人从中解脱出来测试新的功能。
3、能够自动编译、自动发布的系统。
要能够完全实现自动化测试,必须具有能够自动化编译,自动化发布系统进行测试的功能。 当然,不能达到这个要求也可以在手工干预的情况下进行自动化测试。
4、回归测试。
回归测试是自动化测试的强项,它能够很好的验证你是否引入了新的缺陷,老的缺陷是否修改过来了。在某种程度上可以把自动化测试工具叫做回归测试工具。
5、多次重复、机械性动作,将烦琐的任务转化为自动化测试。
自动化测试最适用于多次重复、机械性动作,这样的测试对它来说从不会失败。比如要向系统输入大量的相似数据来测试压力和报表。
6、需要频繁运行测试。
在一个项目中需要频繁的运行测试,测试周期按天算,就能最大限度的利用测试脚本
总结
考虑产品是否适合做自动化测试,比较普遍的共识是从三个方面进行权衡:
1、软件需求变动不频繁
2、项目周期较长
3、自动化测试脚本可重复使用