|
软件测试自动化的意义
软件测试的工作量很大,据统计,测试时间会占到总开发时间的40%,一些可靠性要求非常高的软件,测试时间甚至占到总开发时间的60%。但测试却是在整个软件过程中极有可能应用计算机进行自动化的工作,原因是测试的许多操作是重复性的、非智力创造性的、需要细致注意力的工作,而计算机就最适合于代替人类去完成这些任务。
测试自动化是通过开发和使用一些工具自动测试软件系统,特别适合于测试中重复而繁琐的活动,其好处是显而易见的:
(1) 可以使某些测试任务比手工测试执行的效率高,并可以运行更多更频繁的测试。
(2) 对程序的新版本可以自动运行已有的测试,特别是在频繁的修改许多程序的环境中,一系列回归测试的开销应是最小的。
(3) 可以执行一些手工测试困难或不可能做的测试,例如对于200个用户的联机系统,用手工进行并发操作的测试几乎是不可能的,但自动测试工具可以模拟来自200个用户的输入。客户端用户通过定义可以自动回放的测试,随时都可以运行用户脚本,即使是不了解整个商业应用复杂内容的技术人员也可以胜任。
(4) 更好地利用资源。将繁琐的任务自动化,如重复输入相同的测试输入,可以提高准确性和测试人员的积极性,将测试技术人员解脱出来投入更多精力设计更好的测试用例。另外,可以利用整夜或周末空闲的机器执行自动测试。
(5) 测试具有一致性和可重复性。对于自动重复的测试可以重复多次相同的测试,如不同的硬件配置、使用不同的操作系统或数据库等,从而获得测试的一致性,这在手工测试中是很难保证的。
(6) 测试可以重用,而且软件经过自动测试后,人们对其信任度会增加。
(7) 一旦一系列测试已经被自动化,则可以更快地重复执行,从而缩短了测试时间,使软件更快地推向市场。 |
|