功能测试自动化的投入和产出

测试自动化,对于系统性能测试、负载测试等效果是明显的,而且我们也不得不为之。我们知道,没有测试工具进行负载模拟,要通过手工测试完成系统测试任务,几乎是不可能的。但在功能测试中,情况就大不一样了。

手工测试在功能测试中的优势还是比较大的,我在“ 测试方法的辩证统一(之二)”已做了讨论,工具本身并没有想象力和灵活性,而人对界面美观性、逻辑合理性,容易作出判断。所以功能测试自动化主要的应用在回归测试中,而且产品的界面(UI)和功能变化较大,自动化的脚本(Script)维护成本较大,投入和产出往往变成我们最关心的问题,在功能测试中实现测试自动化究竟是否合算?

举个例子:假如一个功能测试用例,手工运行 需要 10分钟,而为此测试用例开发脚本需要4个小时,即240分钟,那么意味着这个测试脚本要被运行24次收回成本,如果在加上测试脚本的维护工作量(10%),需要重复运行40-50次,才收回成本。如果在产品的一个版本中要进行2-3轮测试(一般是需要的),这个产品需要发布 15-20个版本才收回成本。所以业界常说,产品发布 7个版本才收回成本。

如何降低成本、可以相对增加产出或者说更快地收回成本?关键是提高脚本开发速度、提高脚本运行的稳定性和降低维护脚本的工作量,主要方法有:
    - 选择较好的、更适合的测试工具
    - 选择适宜自动化的模块
    - 尽量将脚本写成数据驱动的脚本,这一点很重要。
    - 多录制脚本,然后结构化脚本。我们知道,不是所有的模块都可以变为数据驱动方式,这时就要抽象出脚本的结构,进行有效的组合,包括分层,形成有效的层次性。
    - 测试和脚本开发合二为一,效率更明显

下表也部分说明了这个问题。也希望得到您更好的想法。

结构
成本
收益
净收益
No Automation
0
0
0
Recording and Playback
8.3
11
2.7
Data-driven structure using data pools
8.4
18
9.6
Framework structure
9.8
15
5.2
Framework / data-driven (hybrid) structure focusing on views of the application and using data pools
11.6
19
7.4
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
自动化测试是通过工具或脚本代替手工测试执行过程的测试方法,它具有减少回归测试成本、减少兼容性测试成本、提高测试反馈速度、提高测试覆盖率和让测试工程师做更有意义的测试等优势。 对于什么样的项目适合做自动化测试,一般来说,以下几种情况比较适合: 1. 需要频繁执行的测试,例如回归测试,可以通过自动化测试来减少测试成本和提高测试效率。 2. 需要在不同平台或不同环境下进行测试的项目,可以通过自动化测试来提高兼容性测试的覆盖范围。 3. 需要进行大规模数据测试的项目,可以通过自动化测试来提高测试覆盖率和测试效率。 然而,并不是所有项目都适合做自动化测试。以下情况可能不适合做自动化测试: 1. 项目需求经常变动,频繁修改测试用例,这样会导致自动化测试脚本的维护成本较高。2. 项目的界面或功能较为复杂,难以通过自动化测试脚本进行全面覆盖。 3. 项目的测试用例较少,且测试执行时间较短,工测试已经能够满足需求。 自动化测试投入产出比可以通过ROI(投资回报率)来评估。ROI的计算公式为:ROI = (手工测试的成本 - 自动化测试成本)/ 自动化测试成本。如果ROI为负值,说明自动化测试的成本未收回;如果ROI为正值,说明自动化测试成本已回收,且值越大说明回报越好。 然而,自动化测试并不能达到100%的覆盖率。虽然自动化测试可以提高测试覆盖率,但仍然无法完全覆盖所有可能的测试场景。因此,在进行自动化测试时,仍然需要结合手工测试来进行全面的测试

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值