随着人们对测试工作的重视以及测试工作的不断深入,越来越多的公司开始使用自动化测试工具。如果能够正确地选择和使用自动化测试工具,就会提高测试的效率和测试质量,降低测试成本。由于一些商用的自动化测试工具十分昂贵,因此在选择自动化测试工具时,要把各种因素考虑进去,只有这样才能做出正确的选择。
软件测试自动化定义
各种测试活动的管理和实施,包括测试脚本的开发和执行,均使用一种自动化测试工具来验证测试的需求。
为什么需要自动化测试?
1.测试效率高 2.测试过程可完全重现
自动化测试的问题:
1.前期耗用的工作量大
2.对测试人员的技术水平要求较高
3.需要对测试脚本(程序)进行维护
自动化测试对测试人员的要求:
1.有编程能力,至少会使用一种高级语言(C/C++、java、VB等)
2.有一定系统设计的能力
适合采用自动化测试的情形
1.软件需求变动不频
需求频繁变动会增加自动化测试的维护成本,因为自动化测试维护本身就是一个修改、调试的过程。因而,对相对稳定的模块可进行自动化测试,而变动较大的用手工测试。
2.项目周期足够长
自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成,项目周期短便不能支撑。
3.自动化测试的脚本可复现
自动化测试将手工测试繁琐重复的操作步骤以自动化的方式完成,节约手工测试时间,其关键在于脚本的复用性。
易手工测试的情况:
手工很容易测试的程序
只需要测试一次的程序
要马上进行测试的程序
要使用直觉和经验才能测试的程序
不可预知结果的程序
容易自动化的测试
很快有回报的测试
易自动化测试的情况:
非常重要的测试
频繁执行的测试
压力测试
涉及范围很广的测试
对主要功能的测试
自动化测试的优、缺点
优点:
快速:可以快速执行已预设好的测试
可靠:每次测试都可以执行相同的动作,避免执行过程中人工的出错
可程序化:可撰写测试脚本,查出隐藏在程序中的信息
广泛性:可建立广泛的测试脚本涵盖应用程序所有功能
可重复:可重复执行相同的测试
可重用:可以重复使用测试脚本
缺点:
不能替代手工测试:手工测试比自动测试发现的缺陷多。
对测试质量依赖性极大:自动测试是按预设的条件运行,因此测试设计质量尤为重要。
测试自动化不能提高有效性,自动化测试同样需要维护与调试。