文本
测试自动化中的风险超出了显而易见的范围
“最大的风险是不冒险。在瞬息万变的世界中,唯一可以保证失败的策略就是不冒险。” - 马克·扎克伯格 尽管这更多是一种哲学上的陈述,但人们需要客观,务实地对其进行研究。 首先让我们了解风险及其含义。 风险是:发生意外结果而造成负面影响的可能性。
如果未及时识别和缓解风险,则可能会造成灾难性影响,例如收入损失甚至生命损失。 因此,及时识别,分析和缓解风险非常重要。 风险可大致分为三类: 项目风险–这些风险会对项目的结果造成负面影响。 例如,基础设施等资源不可用。 产品风险–当风险威胁到产品的功能并增加了无法解决客户问题的可能性时。 商业风险–当风险威胁到产品的财务价值并影响收入时。
什么是测试自动化?
有了有关风险的背景信息,现在让我们看一下测试自动化。 世界各地的企业都将重点放在自动化上,以使其更快,更高效,无错误且更准确。 测试自动化是使用代码和/或工具的某些测试过程的自动化。 测试自动化中的风险
尽管测试自动化脱颖而出,例如准确性,效率,速度和敏捷性等诸多优点,但测试自动化仍存在许多风险。 让我们看一下测试自动化中的一些风险,并首先开始讨论显而易见的风险。
ROI少或为零:为使自动化在任何项目中进行而进行了大量的投资。 但是,设置自动化并使之工作的成本很高。 返回很慢,需要时间。
不断发展的技术和测试方法跟上潮流:随着技术的不断发展,可以看出测试人员和测试需要在测试解决方案,体系结构,策略和工具方面进行创新。 这是一个明显的风险,因为它往往会减慢项目的进度,并且有可能产品或部分产品未经测试。 测试人员和测试需要与时俱进。
繁重的维护–更高的成本:测试自动化繁重的维护工作。 这就是为什么理解和涵盖投资很重要的原因。 面向测试人员的更陡峭的学习曲线:技术不仅在不断发展,而且也在变得越来越复杂,这意味着测试人员的学习曲线一天比一天更加陡峭。 测试人员不仅需要与开发人员保持同步,还需要与现代技术保持同步。 此外,它还可以帮助测试人员学习类似于开发人员的知识,从而可以更好地进行协作。 测试工具不足:随着对测试的迫切需求以及不断交付更好产品的需求不断增长,越来越多的企业开始采用敏捷的工作方法,这意味着不仅在冲刺测试中,还需要选择有效的策略来执行冲刺测试。 在sprint自动化中。 而且,自动化策略必须以帮助在正确的层上进行测试并满足端到端测试自动化的需求为目标。 通过使用一种具有成本效益且能够缓解此类风险的工具,可以很好地处理许多此类风险,而TestProject可以帮助您解决其中一些明显的风险,其中一种工具可以帮助您扩展业务规模并简化 测试人员的学习曲线。 它可以帮助测试人员在复杂的环境中进行无缝协作和工作。 它通过诸如“共享中心”之类的功能帮助促进协作,从而使测试人员可以与任何人共享他们的测试用例。 现在,拥有a是一个很棒的功能
现在,让我们看一下测试自动化中一些不太明显的风险: 自动化测试的范围有限:自动化范围通常被认为是巨大的。 整个行业中普遍存在一种观念,那就是自动化可以解决所有问题,并可以使您更快地跨入生产线。 尽管后者是正确的,但在前者中几乎没有真理。 自动化的测试程序可以解决一些问题,但肯定不能解决所有问题。 自动化测试只是较大的一组测试的一部分。
另一方面,通常可以看到,自动化测试主要用于回归测试,其范围仅限于将预先存在的测试用例转换为自动化代码,以便可以使用该工具执行测试。 这是自动化的有限观点。 为了使自动化有效地用于测试中,可以将其用于: 自动生成测试数据 编写测试代码 测试分析–数据输入,数据过滤,数据计算 测试报告可视化 系统监控 和更多…
因此,重要的是要了解自动化的目的和范围。
未经测试的测试代码:在我们尝试使用测试自动化深入研究产品时,测试测试代码本身也很重要。 这是一种风险,通常是无法预见的,有时在以后会被忽略。 这导致大量未经测试的测试代码,从而使得很难破译是否发现的故障是由于产品代码或测试代码中的错误所致。
不切实际的期望– 100%的覆盖率:当事情碰到北方,并且您尝到了自动化的成功时,您会冒着建立起不切实际的期望的风险,即期望的自动化价值会上升,并且经常看到经理期望100%的自动化。 使产品的测试自动化100%几乎是不可能的。
对自动化的过度依赖:随着测试自动化的成功,存在着风险,即几乎所有的测试,测试中的每个细微细节以及各种测试过程都将自动化。 这意味着对于非常简单的测试,还存在自动测试程序,这些程序使事情变得笨重且不必要。 仅自动执行所需的操作。
疏忽大意-遗漏了明显的东西:由于过于关注自动化,因此倾向于遗漏产品中的明显的东西。 测试不仅关乎是否符合要求,而且关乎发现未知信息。 但是,如果对自动化的关注过多,您可能会不经意间走过未知之地。 明显的风险有可能成真。
缺少的可行性… 在承担任何任务时,始终建议查看是否有可能实际承担该项目。 如果可以开展该项目,那么在继续进行之前,可能会面临哪些挑战或需要了解哪些方面。 简单来说,这被认为是可行的。 对于测试自动化项目,可行性分析可能需要执行诸如评估哪些可以自动化以及哪些不能自动化的任务。 从可以实现自动化的方面来看,我们需要研究可以实现自动化的层级是什么? 是否可以进行端到端自动化? 哪些工具可以帮助自动化?
在最近一次民意测验中,只有53%的受访者表示他们对自动化进行了可行性分析,而16%的受访者提到他们对自动化进行了可行性分析。 但是,调查中最重要的部分是12%的受访者表示,他们的管理层并不关心可行性分析,这表明测试中存在认知偏差,并且是确认偏差和潮流偏差的有力证明。 在这些情况下,大多数风险都是可能的。 全面的可行性分析可从一开始就帮助缓解一些风险,因此强烈建议您这样做。
降低风险的自动化测试
测试自动化也是解决很多测试风险的解决方案。 我们可以将测试自动化视为缓解以下风险的方法: 减少人为错误:经常重复进行的测试容易出现人为错误,这是自动化的理想情况,自动化可以使机器处理冗余,从而减少人为错误。
增强合规性和数据完整性:自动化的测试始终有助于满足合规性标准并具有高度的完整性。 集中精力:测试自动化使机器专注于测试,从而使您能够探索其他重要领域并寻找未知领域。 提高透明度:自动化测试提供了必要的透明度,因为可以轻松共享测试和结果,并且团队中的每个人都可以在同一页面上。 更大的敏捷性:自动化在帮助实现快速高质量交付目标方面发挥了重要作用。
风险分析的缺点 测试的整个思路基于风险分析。 每个测试都是要分析的风险或正在验证的缓解措施。 但是,风险分析并不容易。 这里有一些缺点: 耗时的练习:风险分析绝对不是一个人的工作。 开发人员,测试人员,架构师,产品所有者和利益相关者都是成功进行风险分析的各方。 这意味着团队中的每个人都需要投入时间。 主观偏见:涉及到如此多的人,风险通常是主观的,容易成为偏见的猎物。 对测试人员来说似乎是危险的,而对开发人员则不是风险,反之亦然。 极难实施:由于这需要投入时间和精力,因此这是最难实施的事情之一。 结论 风险是产品测试过程的一部分,对于测试自动化而言也是如此。 因此,重要的是了解和分析测试自动化中涉及的风险,并通过测试寻求缓解措施!
author
石头 磊哥 seven 随便叫
company
thoughtworks(离职了。。。。)
大家好,本人不才,目前依旧混迹于thoughtworks,做着一名看起来像全栈的QA,兴趣爱好前端,目前是thoughtworks 西安QA社区的leader,如果有兴趣分享话题,或者想加入tw,可以找我
roles
QA(营生) dev(front-end dev 兴趣爱好)
联系方式
如果想转载或者高薪挖我 请直接联系我 哈哈
wechat:
qileiwangnan
email:
qileilove@gmail.com