当前位置: 首页 > 科技观察

促进测试的工程实践

时间:2023-03-13 22:20:43 科技观察

【.com快译】测试实践正在左右移动,改变了软件工程的完成方式。除了本文涵盖的多种测试类型之外,测试驱动开发(TDD)、增量工程和混沌工程也被视为当今的测试。TDD由于节省时间而在敏捷和DevOps团队中很受欢迎。以用例和用户故事的形式针对需求编写测试,然后编写代码以通过这些测试。TDD进一步提倡构建更小代码段的概念,代码质量上的小成功加起来就是大成功。TDD基于极限编程(XP)的旧概念。“测试驱动的开发有助于从一开始就提高质量,并[帮助开发人员]在需要编写代码之前发现需求中的缺陷,”Gartner高级首席分析师兼健康福利公司Anthem的质量保证架构师ThomasMurphy说。托德·莱蒙兹(ToddLemmonds)表示,他的团队在过渡期间一直在这方面苦苦挣扎。“TDD是迈向敏捷的第一步,”Lemmonds说。“我向人们解释说,你基本上把所有的精力都集中在[验证]根据这个故事的这些验收标准上。然后他们会想,'好吧,我需要创建你进入下一阶段的哪些测试?他们正在验证技术规范,而[验收测试驱动开发]正在验证业务规范,这就是您最终向利益相关者展示的内容。”IncrementalSoftwareDelivery增量软件交付由于其字面意思,它经常被错误定义。这个想法是,如果测试向前发展(变得更现代或更成熟),那么它就是“增量的”。ProgressiveDelivery是敏捷和DevOps团队使用CI/CD管道来实现更快交付用户真正喜爱的高质量应用程序的使命的工具。它可能涉及大量测试和部署,包括A/B测试和使用功能标志的多变量测试、蓝绿和金丝雀部署以及可观察性。“渐进式”部分向逐渐扩大的受众介绍一项功能。数字转型机构SPR测试服务执行总监NancyKastl表示:“增量软件交付是一种有效的策略,可以降低产品变更对业务运营的风险。任何问题和计划改进都可以全面部署。”Kastl确定的其他好处包括:验证业务用户权限设置的正确性发现业务工作流问题或在测试活动中未发现的不正确数据对软件产品进行有效培训在首次使用产品期间提供响应支持监控软件的性能和稳定性现实世界生产条件下的软件产品,包括服务器和网络,Kastl说:“拥有大量软件产品用户群和按国家或地区定制配置的跨国公司通常采用这种方法来规划部署软件产品。”ChaosEngineeringChaosEngineering实际上是在测试混乱的影响(基础设施、网络和应用程序故障),这与应用程序的弹性有关。这个想法起源于Netflix,最初是作为一项名为“ChaosMonkey”的倡议:随机选择一个服务器并将其禁用。最终,Netflix创建了一整套开源工具(称为SimianArmy)来测试更多类型的故障,例如AWS区域或可用区中的网络故障或服务掉线。SimianArmy项目并没有再次积极维护,但它的一些功能已经转移到其他Netflix项目中。混沌工程继续存在。事实上,Gartner在聚光灯下发现了它。Gartner的Murphy说:“现在你开始看到一些商业实现。为了让混沌工程获得更广泛的接受,你通常需要更商业化的东西。不是需要商业软件,而是围绕它的社区,这样如果我需要一些东西,有人可以帮助我了解如何安全地做到这一点。“混沌工程不是团队可以突然做的事情。这通常需要几年时间,因为他们分阶段进行实验,例如实验室测试、应用程序测试和预生产,”技术咨询公司DMWGroup的工程总监ChrisLewis说。向DMW相当保守的客户介绍了这个概念。Lewis说:“我们通过试点引入了混沌工程,表明它可以用来深入到非功能性需求,表明需求实际上正在得到满足。我认为很少有人愿意在生产中使用混沌工程,因为他们仍然不安全。那些在客户中担任领导职务的人来自非常传统的背景。“混沌工程在数字颠覆者和小型创新公司中更为常见,它们利用最新的技术和方法来使自己与众不同。H2:谨慎当组织实际准备这样做时,采用更多的测试技术将是有益的。一个常见的The错误是过早迈出太大的一步,然后无法获得预期的收益。在某些情况下,人们需要现实一些,定制软件开发公司Narwal的创始人兼首席执行官RajKanuparthi说。Tricentis的大力支持者Kanuparthi说:“如果我还没有准备好任何东西,我会做基础,制定路线图,然后逐步使用工具。你可以很快做到,但你知道“如何处理它。很多人一起工作。我开始尝试做所有事情,但我在任何领域都没有取得任何真正的进展,所以我说,‘这行不通’。”原标题:推进测试的工程实践,作者:LisaMorgan译者及原文出处为.com】