自动化测试的意义与定位

  

通常情况下,软件测试的工作量很大。而测试中的许多操作是重复性的、非智力性的和非创造性的,并要求做准确细致的工作,这样,计算机就比人更适合完成任务。另一方面,手工测试存在如下的局限性:

1.       通过手工测试无法做到覆盖所有代码路径。

2.       简单的功能性测试用例在每一轮测试中都不能少,而且具有一定的机械性、重复性,工作量往往较大。

3.       许多死锁、资源冲突、多线程等有关的错误,通过手工测试很难捕捉到。

4.       进行系统压力、性能测试时,需要模拟大量数据或大量并发用户等各种应用场合时,很难通过于工测试来进行。

5.       进行系统可靠性测试时,需要模拟系统长时间运行,以验证系统能否稳定运行,这也是手工测试无法模拟的。

6.       如果有大量(几千)的测试用例,需要在短时间内(1天)完成,手工测试几乎不可能做到。

于是,就诞生了软件自动化测试这个领域。软件自动化测试是相对手工测试而存在的,主要是通过所开发的软件测试工具、脚本等来实现,具有良好的可操作性、可重复性和高效率等特点。其主要好处有:

1.       缩短软件开发测试周期,可以让产品更快投放市场。

2.       测试效率高,充分利用硬件资源。

3.       节省人力资源,降低测试成本。

4.       增强测试的稳定性和可靠性。

5.       提高软件测试的准确度和精确度,增加软件信任度。

6.       软件测试工具使测试工作相对比较容易,但能产生更高质量的测试结果。

7.       手工不能做的事情,自动化测试能做,如压力、性能测试。

    如上所述,软件自动化测试有很多优点,可以带来非常明显的收益,但是,目前情况下,软件自动化测试还不能解决所有的测试问题,也有以下限制:

1.       不能取代手工测试

2.       手工测试比自动测试发现的缺陷更多

3.       对测试质量的依赖性极大

4.       测试自动化不能提高有效性

5.       测试自动化可能会制约软件开发。

6.       工具本身并无想象力,不能主动发现缺陷

    另外,人工测试比测试工具更优越的另一个方面是可以处理意外事件。虽然工具也能处理部分异常事件,但是对真正的突发事件和不能由软件解决的问题就无能为力。

因此,在引入自动化测试前,我们需要建立正确的自动化测试目标。

1.       一种测试工具不完全适用于所有测试

2.       自动测试不一定减轻工作量

3.       测试进度可能不一定缩短

4.       测试工具不一定易于使用

5.       自动化测试的普遍应用存在局限

6.       测试覆盖率不会达到百分之百

所以,软件自动化测试能提高测试效率、覆盖率和可靠性等,同时,自动化测试虽然具有很多优点,但它只是测试工作的一部分,是对手工测试的一种补充。

 

注:本文出自王洪流的软件测试博客:http://blog.csdn.net/iamqa
欢迎转载!转载时请务必以超链接形式标明文章原始出处、作者信息和本声明!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值