首页

/

既然自动化测试成本高、效果差,为什么很多公司还要做?

发布日期:2022-04-29 15:48:28

分享到


01. 为什么自动化测试 “投入高”、“效果差”


1)测试脚本的开发成本不亚于软件代码的


自动化测试并不适合短期项目或一次性项目,主要原因在于自动化测试脚本的开发和维护与软件代码一样,需要投入技术人员。而且测试脚本受软件需求的影响非常大,如果是短期项目、一次性项目或者需求不稳定的项目,投入自动化测试的成本非常高昂。


如果是短期或者一次性的项目,投入大量的精力开发的自动化测试脚本因为只会使用一次,无法通过多次复用执行来稀释初始投入成本,这种情况下自动化测试的产出远不如手工测试,这就导致了自动化测试投入高效果差的第一个假象。


2)测试脚本的维护成本也非常高昂


那么,是不是长期维护的产品就适合扩展自动化测试呢?其实不然,如果仅仅是长期维护的项目,但是业务需求一变再变,对于测试脚本开发工程师也是非常头疼的事情。


假定开发的同事在版本v1.0中定义并开发了一个接口,但是该接口定义仅仅维持了一个版本,在版本v1.1中就发生成了变更,这对测试脚本开发工程师来说就很痛苦,因为对应接口的测试脚本也需要调整。上述情况如果发生在UI测试中,测试脚本的维护成本会更高,尤其是在目前前后端分离,前端使用了编译型JS框架的情况下,非常有可能导致上一个版本中的测试脚本完全作废。


因此,需求的稳定性对于自动化测试也是非常重要的,它将直接关系到测试脚本的后期维护成本,如果每个功能的测试脚本在新的版本中都要修改脚本代码,一定会导致自动化测试脚本的维护成本飙升,这就导致了自动化测试投入高效果差的第二个假象。



02. 哪些情况下适合使用自动化测试


1)什么样的项目适合推广自动化测试


首先,如果您打算在自己的项目中投入自动化测试,请首先考虑自己的项目是否具备以下要素:

  • 长期维护的产品
  • 需求偏稳定,功能易测
  • 团队成员具备一定的测试脚本开发能力
  • 存在特定的无法由手工完成的测试需求


其次,使用ROI公式计算在项目中推广自动化测试的投入产出比,如果自动化测试的ROI高于手工测试,请果断放弃,否则它将成为整个团队的负担。

自动化测试ROI = (Costs of manual - Costs of Automation) / Costs of Automation *100%

ROI解释:

  • 自动化测试的收益与测试迭代执行的次数成正比。
  • 收益可能为负数:当自动化成本和维护成本比手动执行成本还高。很多时候自动化初始成本并不比手动成本高,但是维护成本很高。
  • Costs of manual = 人工测试执行成本
  • Costs of Automation = 框架开发 + 框架维护 + 环境部署 + 脚本开发 + 脚本维护 + 测试运行


2)特定的需求必须要靠自动化测试才能满足


在实际的项目中,常常会有一些用户需求,要求软件必须保证一定的性能,保证软件可以防护常见的漏洞攻击手段。


以性能测试为例,假定用户要求在百万级数据量下、1000人同时进行查询操作时,仍然要保证查询接口的响应速度控制在0.5秒以内。在实际的测试中我们肯定不可能召集1000个用户并向大家发号司令同时发起查询操作,这种场景就必须依赖自动化测试了,使用如jmeter或loadrunner等测试工具就可以以非常低的成本完成特定场景的性能测试。


性能测试只是一个例子,实际上如性能测试、精准测试,全链路压测、混沌工程等专项测试都是不可能依靠堆人就可以完成的。



嘉为蓝鲸CTest自动化测试,为企业提供一整套测试管理和自动化测试的解决方案。图例为CTest的数据任务模块,具备单任务到多百万级的数据生成能力以及数据卸载能力,测试人员通过简单的配置即可实现自动化的数据生成和卸载能力,真正实现自动化测试提速。




03. 自动化测试有什么意义


1)自动化测试是敏捷研发的必备测试选项


敏捷开发模式讲究小步快跑,快速迭代,在这种快速迭代的场景下,随着历史版本功能的积累,测试团队的回归测试压力会越来越大。如果能够积极引入自动化测试,可以带来以下两点显而易见的好处:


提升软件产品质量:依托于自动化测试能力,快速完成历史版本中稳定功能的回归测试,暴露隐藏问题,提升产品质量。


提高团队成员的成就感:自动化测试将人员从重复劳动中解放出来,让团队成员专注于业务价值交付这种更具创造性的工作,能够极大的提高团队成员的自豪感和成就感。



嘉为蓝鲸CTest自动化测试与嘉为蓝鲸CPipe持续集成天然打通,轻松将自动化测试工具集成到流水线作业中,实现持续测试和无人值守自动化测试,推动企业自动化测试能力进一步进化


软件研发的目的在于快速、高质量的将业务价值交付到业务人员手中,对于质量保障工作来说,自动化测试并不是提升软件质量的“银弹”,整体研发团队的质量意识才是关键。当需求、开发、测试人员都认可大家是一个整体,质量保障是团队共同的工作时,软件质量一定可以再上一个台阶。

免费申请演示

联系我们

服务热线:

020-38847288

QQ咨询:

3593213400

在线沟通:

立即咨询
查看更多联系方式

申请演示

请登录后在查看!