设为首页 收藏本站 English

当前位置: 乐蜂娱乐网 >> 张心童

测试自动化项目失败的五个原因苏慧伦

发布时间:2023-05-18 17:52:56

测试自动化项目失败的五个原因

测试自动化,这里定义为旨在帮助更有效地测试其他软件的明确目的而编写的软件,其故障率惊人地高。通常,这是由于不切实际的期望,对自动化缺乏了解或对价值没有足够的关注。

测试自动化是一项投资,与其他任何投资一样,重要的是要了解其利弊,以确保您为自己的项目和公司做出了最佳的投资这不是一种千篇一律的解决方案,答案会因您的目标,员工的技能水平,可交付成果以及所有主要利益相关者的支持而异。有这么多要考虑的事情,重要的是要知道进入自动化项目为什么这些项目经常失败以及需要注意什么。

1.遗忘自动化软件仍然是软件

人们常常以自动化接洽的方式认为他们不需要使用与“实际”软件开发相同的过程。但是,这显然是错误的。自动化测试软件具有与要为其开发的产品相同的许多需求。您的自动化解决方案中必须进行充分的计划。您将使用什么技术堆栈?您要支持哪些平台?谁来编写脚本?谁来长期维护它们?该项目的主题专家是否也愿意编写自动化脚本?您必须回答所有这些问题,甚至可能还要回答所有这些问题,以确保成功进行自动化工作。

如果您有一群正在努力跟上当前工作量的测试人员,那么可能很难引入一个基于Cucumber / Gherkin的解决方案来期望他们创建和维护大量功能文件。此外,如果您拥有一支技术含量高的团队,则引入记录和回放工具可能会使团队无法实现他们原本可以提供的价值。此外,需要有一个架构师来了解整个堆栈,包括创建测试用例,触发测试执行,设置测试环境,针对真实和模拟硬件运行测试以及将结果传达回去。这个人的工作是确保所有部分都和谐地合作,以使团队成功。

市场上有“无代码”解决方案,其中许多都有不同程度的成功。不幸的是,在当今的时代,没有银弹魔术记录器可以通过单击按钮构建您的测试套件,并且不再需要维护。在这一天之前,您或您的团队可能会在某处编写代码。该代码需要像其他任何代码一样对待:它需要同行评审,需要版本控制解决方案,并且需要进行测试。跳过其中一些步骤可能会使您更快地启动并运行,但是它们对于长期的可维护性至关重要。维护与脚本本身同样重要,甚至更为重要。最后,还必须对您的自动化代码进行测试。

2.自动化“仅因为”

我看到的最大错误之一是,一旦人们对自动化感到兴奋,他们便想使一切自动化。人们在出售自动化后想到的第一个问题通常是“很好,现在什么时候可以停止手动测试?” 或“将所有内容100%自动化需要多长时间?” 这不是您应该考虑的自动化测试方法。而是想象一个不同的场景。我们必须找出解决方案,以确保我们在应用程序中保持最高质量。为了帮助我们实现这一目标,我们有许多不同的工具。其中一些碰巧使用更多的手动工具,而另一些则更多地关注自动化。

为了以最高的质量完成我们的目标,我们遇到的某些问题将更适合于手动方法,例如外观和用户体验,用户体验等。其他方面则更适合于自动方法,例如,登录100次,设置50个用户帐户,使用5种不同的信用卡进行预订。为工作使用正确的工具,重点是最大化价值。不断重新评估您要测试的内容以及为什么要以这种方式进行测试。不要浪费时间维护失去价值的旧测试。不要自动化只需要五分钟检查并且每季度只完成一次的操作。

3.没有组织的支持

如果您没有从个人经验或本文中学到的知识,自动化并不容易,但这并不意味着它没有用或功能强大。但是,如果整个组织都没有适当的支持,那么这些都不是。关键利益相关者需要在自动化优先级方面有发言权,以确保首先解决高价值项目。主题专家可以帮助指出自动化测试中的风险或即将出现的障碍。更多以手动为重点的QA需要了解什么是自动化的,以避免重复工作。

整个组织也必须加入。管理层需要了解自动化是一项投资,并据此设定期望/预测。

没有这种理解,团队就会对进度缓慢感到沮丧,最终期限可能会被误解,想法也会被推销。否则将其归类为质量,效率和速度提高的内容,可能会误认为是超出预算,并延迟到消息不灵通的一方。最后,是否愿意投资于工具,培训,紧跟最佳实践并找到合适的人员对于成功进行持续的自动化工作至关重要。

4.期待自动化解决所有问题

自动化是使团队更快发布,更早发现缺陷并简化流程的绝佳工具。自动化不会降低您的汽车的油耗,也不会帮助您最终结束为期一周的全程度假之旅。严格地说,自动化是一种工具,就像其他任何工具一样。如果您的团队拥有完善的流程并像运转良好的机器一样运转,那么自动化很可能是您的武器库的强大工具。相反,如果项目努力跟上质量问题,并且发布速度是容量的两倍,那么自动化可能无法解决所有问题。

能帮上忙吗?当然。同时,每个人都必须有一个共同的理解,即可能还有其他问题也在引起问题。自动化可能是多部分解决方案的一部分,该解决方案包括为团队提供更好的培训以及每个版本的功能更少。就像想起自己的车一样,想一想。如果它已经处于良好状态,则也许安装更高效的发动机将使您获得更好的油耗,并更快地从0升至60。另一方面,想象一下保险杠脱落了,刹车片早就该更换了。装上新发动机只会使您到达高速公路,汽车会更快地抛锚。

5.俯瞰维修

经常被忽略的最重要的事情之一就是测试维护。维护费用通常可能占整个预算的30%或更多!您已经花了所有时间,精力和精力来获得组织的认可,建立测试并将其展示给团队。现在,您要做的就是坐下来观察错误的发生!但是,几天之后,一件事发生了变化,这破坏了您的测试。解决此问题后,将进行重构。然后,您会发现以前不存在的计时问题。哦,还有刚刚添加的新功能!不断下去。尽管我们不想考虑太多,但维护需要成为我们计划的每个阶段的一部分。

经过大量的投资后,当脚本无人值守去追求下一个闪亮的削减成本,提高速度,引人入胜的功能时,却无法实现价值,这是一种遗憾。争取时间和资源以保持脚本和可维护性。在创建脚本时使用最佳实践,并且在有意义的时候,花一些额外的时间来使它们具有适应性。这并不意味着脚本需要无限期维护!维护工作的一部分是评估您所从事的工作是否仍在交付价值低于维护价值的产品。如果情况不再如此,请停止支持该测试。可能很难从沾满鲜血,汗水和眼泪的东西继续前进,但是有时这是使产品前进并获得更大覆盖范围的唯一方法。

构建测试自动化软件并不是一件容易的事,但是鉴于对加快产品上市速度和其他组织目标的需求,许多组织在不完全了解自动化真正的外观的情况下就直接涉足。通过了解自动化工作的常见故障,我们可以避免自己重复同样的错误。

福特·阿内特是Bottle Rocket的首席自动化工程师,该公司提供业务战略,产品,设计和技术服务。

重庆东大胃肠医院看病好吗

莆田眼科医院近视手术摘镜避雷 看完让你少走4个弯路

重庆看肛肠病好的医院

友情链接