自动化软件测试的意义与定位
作者:管理员 发布时间:[ 2010/2/9 15:45:51 ] 推荐标签:
通常情况下,软件测试的工作量很大。而测试中的许多操作是重复性的、非智力性的和非创造性的,并要求做准确细致的工作,这样,计算机比人更适合完成任务。另一方面,手工测试存在如下的局限性:
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. 测试覆盖率不会达到百分之百
所以,软件自动化测试能提高测试效率、覆盖率和可靠性等,同时,自动化测试虽然具有很多优点,但它只是测试工作的一部分,是对手工测试的一种补充。
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. 测试覆盖率不会达到百分之百
所以,软件自动化测试能提高测试效率、覆盖率和可靠性等,同时,自动化测试虽然具有很多优点,但它只是测试工作的一部分,是对手工测试的一种补充。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南