1 初识自动化测试
如果以前没有做过自动化测试,那么就不了解自动化测试,可能会觉得自动化测试比较神秘,但是,我们在日常的计算机操作中,可能会碰到一些自动化处理的过程,这些过程和自动化测试比较接近。
例如,
- Windows操作系统的控制面板中,有一项功能:任务计划向导。
- DOS批处理文件,直到今天的Windows Vista还在使用它。它更接近自动化测试。
上述的自动化处理过程还不是测试,因为测试的重要一点是须要验证,将实际执行的结果和用户期望的结果进行比较。没有这个比较,就不是自动化测试。
2 自动化测试和手工测试有什么不同
亲手做过自动化测试之后,我们对自动化测试就有了一个感性的认识,至少有下列几点感觉:
l 机器人从来就不会感觉累
l 自动化测试的速度,是手工测试无法比的
l 测试结果准确。例如搜索用时即使是0.33秒或0.24秒,系统都会发现问题,不会忽视任何差异。
l 一旦脚本完成,可以一劳永逸地运行很多遍,重复使用。
从这里就可以初步体会到自动化测试的优越性――高效率、准确可靠和复用性。同时,自动化测试也有不利的一面,即在创造性、发现新缺陷等方面能力不足。
有资料显示,即使自动化测试实施良好,也只能发现软件系统中30%的问题,而70%的问题还要靠手工测试发现。所以自动化测试更适合于负载测试、性能测试和回归测试。
概括起来,通过自动化测试,软件企业可以获得许多好处。
l 测试周期缩短,因为自动化测试效率高、能够长时间不间断地运行。
l 完成更多的测试,实现更高的测试覆盖率,保证测试的一致性,提高测试的可靠性,最终获得更高质量的软件。
l 更高的测试团队士气,因为有更多机会学习编程、获取新技术;同时,自动化测试使测试工作变得更有趣。
3 什么是自动化测试
谈到自动化测试,一般会提到测试工具。许多人觉得使用了一两个测试工具就是实现了测试自动化,这种理解是不对的,至少是片面的。的确,测试工具的使用是自动化测试的一部分工作,但是“用测试工具进行测试”不等于“自动化测试”。那么,什么是“自动化测试”呢?
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程,即模拟手工测试步骤,通过执行程序语言编制的测试脚本自动地测试软件,自动地完成软件的单元测试、功能测试、负载测试或性能测试等全部工作。
实际上,对于自动化测试有两种说法――“自动化测试”和“测试自动化”。它们之间存在某些微妙的差别,如果严格地加以区分,可以看作是两个概念:
自动化测试(Automated Test)</