有着很大的区别。自动化测试有其自身的特点,纯粹的将手工测试的流程搬到自动化测试上是不行的。第二,自动化测试不等于使用自动化测试工具。正如软件
设计比
学习编程语言困难一样,自动化测试要比学习测试工具困难。并且会使用自动化测试工具并不代表你了解自动化测试流程。
其次,从理论技术角度介绍自动化测试的特点。(与手动测试相比)
优点:
1) 运行测试用例的效率比手动测试高的多。尤其在实际输入与期望输出的比较上。
2) 可以运行更频繁的测试。一个自动化测试脚本一旦录制成功就可以被反复的运行。所以,自动化测试特别适合回归测试。
3) 可以实现一些手工无法完成的测试。例如,模拟200个并发用户操作。
缺点:
1) 当所测试的软件进行修改后,测试脚本要做相应的修改和维护。
2) 流程引入和第一次运行成本高于手动测试。
注意:
1)自动化测试只提高测试的效率,并不影响测试的有效性和可效仿性。无论自动化测试做的如何出色,如果测试本身是失败的,那么测试结果也毫无意义。
接着,从现实角度来说,自动化测试在从理论转化到实际中,又出现了其新的特征。
优点:
1) 更好的利用资源。可以将烦琐的任务自动化,减轻测试人员的压力。并且可以利用整夜或周末空闲的机器来执行自动测试。
问题:
1) 不现实的期望。对于任何的新技术总有人都其抱有很高的期望,认为它可以解决所有的问题。测试工具也一样,管理者如果对测试技术不太了解,也许就会盲目地把希望寄托在自动化测试上,认为其一定是高效并且可行的。而不现实的期望是永远不可能被满足的。
2) 期望自动测试出现大量的新错误。测试在第一次运行的时候是最有可能发现新错误的。如果测试已经运行并通过,再运行相同的测试发现新缺陷的可能行小很多。并且录制脚本的前提也就是该测试用例必须能正确通过。
3) 安全性错觉。因为测试软件没有发现错误并不以为着软件没有错误。
4) 自动测试的维护性。从技术上来说,软件发生改动后测试脚本是必然要做相应的改动的。当维护的费用大于手工测试的费用时,自动测试经常被抛弃。而这里绝大部分是由不成熟的自动化测试管理和缺少经验造成的。
1.2 自动化测试工具简介
在本篇里仅讨论在专业的软件测试工具,不讨论公司内部开发的工具。在国外,有许多公司是专门开发测试软件。而且测试软件的开发是一代一代连续开发,功能更强大,层次更抽象。现在,已经发展到了第五代,其主要的特点是:具有捕捉重放功能,支持脚本技术,框架结构和数据驱动-智能框架结构引擎与窗口中央化的测试数据和事务数据分离储存。这里,先来抓住其中的关键词:
捕捉重放: 捕捉,它指的是测试人员手工运行测试用例,然后测试工具自动记录其动作。重放,它指的是在捕捉以后,测试工具重放捕捉下来的动作。
脚本: 捕捉下来的动作是以脚本语言来记录。如
VB Script。这样即通俗,又变于修改。
数据驱动: 它指的是测试中的脚本动作和测试数据的分离。测试脚本通过参数表的形式读取测试数据。相当于编程中的,程序与数据的分离。
框架结构:智能框架结构引擎,指的是在捕捉和重放过程中,从脚本到所测试的软件之间的一个映射引擎。例如,在Web应用中,它能动态识别和捕捉
HTML元