自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
实施自动化测试之前需要对
软件开发过程进行分析,以观察其是否适合使用自动化测试。通常需要同时满足以下条件:
1) 软件需求变动不频繁
测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新
测试用例以及相关的测试
脚本,而脚本的维护本身就是一个
代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。
项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用
手工测试。
2) 项目周期足够长
自动化测试需求的确定、
自动化测试框架的设计、
测试脚本的编写与调试均需要相当长的时间来完成,这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便成为笑谈。
3) 自动化测试脚本可重复使用
如果费尽心思开发了一套近乎完美的自动化
测试脚本,但是脚本的重复使用率很低,致使其间所耗费的成本大于所创造的经济价值,自动化测试便成为了测试人员的练手之作,而并非是真正可产生效益的测试手段了。
另外,在
手工测试无法完成,需要投入大量时间与人力时也需要考虑引入自动化测试。比如
性能测试、
配置测试、大数据量输入测试等。
对于大型的ERP软件,操作系统等规模的软件非常适用,但是互联网软件的需求变动频繁,迭代周期短,做自动化测试得不偿失。
对于大型的ERP软件,操作系统等规模的软件非常适用,但是互联网软件的需求变动频繁,迭代周期短,做自动化测试得不偿失。