发布日期: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解释:
2)特定的需求必须要靠自动化测试才能满足
在实际的项目中,常常会有一些用户需求,要求软件必须保证一定的性能,保证软件可以防护常见的漏洞攻击手段。
以性能测试为例,假定用户要求在百万级数据量下、1000人同时进行查询操作时,仍然要保证查询接口的响应速度控制在0.5秒以内。在实际的测试中我们肯定不可能召集1000个用户并向大家发号司令同时发起查询操作,这种场景就必须依赖自动化测试了,使用如jmeter或loadrunner等测试工具就可以以非常低的成本完成特定场景的性能测试。
性能测试只是一个例子,实际上如性能测试、精准测试,全链路压测、混沌工程等专项测试都是不可能依靠堆人就可以完成的。
嘉为蓝鲸ctest自动化测试,为企业提供一整套测试管理和自动化测试的k8凯发天生赢家的解决方案。图例为ctest的数据任务模块,具备单任务到多百万级的数据生成能力以及数据卸载能力,测试人员通过简单的配置即可实现自动化的数据生成和卸载能力,真正实现自动化测试提速。
03. 自动化测试有什么意义
1)自动化测试是敏捷研发的必备测试选项
敏捷开发模式讲究小步快跑,快速迭代,在这种快速迭代的场景下,随着历史版本功能的积累,测试团队的回归测试压力会越来越大。如果能够积极引入自动化测试,可以带来以下两点显而易见的好处:
提升软件产品质量:依托于自动化测试能力,快速完成历史版本中稳定功能的回归测试,暴露隐藏问题,提升产品质量。
提高团队成员的成就感:自动化测试将人员从重复劳动中解放出来,让团队成员专注于业务价值交付这种更具创造性的工作,能够极大的提高团队成员的自豪感和成就感。
嘉为蓝鲸ctest自动化测试与嘉为蓝鲸cpipe持续集成天然打通,轻松将自动化测试工具集成到流水线作业中,实现持续测试和无人值守自动化测试,推动企业自动化测试能力进一步进化
软件研发的目的在于快速、高质量的将业务价值交付到业务人员手中,对于质量保障工作来说,自动化测试并不是提升软件质量的“银弹”,整体研发团队的质量意识才是关键。当需求、开发、测试人员都认可大家是一个整体,质量保障是团队共同的工作时,软件质量一定可以再上一个台阶。
微信扫码登录
申请演示
请登录后在查看!