【DevOps】DevOps =速度+质量:如何改进DevOps中的测试,从规划到交付
成功出现在快速上市和优质产品开发的交叉点。如果您率先推出平庸的软件,您的先发优势就会受到影响。
随着DevOps的出现,您可以通过速度质量提供的创新已经从奇迹领域转变为现实的客户期望。如果加速开发没有价值,你的品牌就会受到影响。
考虑这些领域的软件测试改进,以便以DevOps的速度推动高级应用程序的部署。
如何在规划阶段改进DevOps测试
企业需要了解开发,以确保客户能够欣赏应用程序的外观。越早获得可见性,您就能越早解决对您的市场最重要的缺陷,并且您可以更快地部署竞争软件。正确的测试和开发方法可以提供透明度。
测试驱动开发(TDD)是一种标准的开发方法,它使用单元测试在开发人员进行每次更改后查找软件错误,因此他们可以快速修复错误。 TDD在应用程序编码级别拨入故障。企业需要一种方法,可以提供软件行为的透明度,并在软件质量方面大大提高用户的重要性。
行为驱动开发(BDD)是TDD的一个领域,它使用自然语言来确保业务所需的行为在软件内部发展。 BDD在业务利益相关者和开发人员之间建立共享词汇表,以便他们可以就软件变更的适当性进行沟通。使用BDD,DevOps商店可以证明他们正在灌输公司及其客户所需的功能和用户体验。
BDD支持业务在评估应用程序运行状况时的健康状况。 BDD提供业务级别的价值,确认开发正在进行中。
如何在编码阶段改进DevOps测试
企业需要缩短部署时间,同时保持软件质量。开发人员和测试人员之间的反馈循环中的任何延迟都会增加开发时间并设置质量漂移。将测试人员和开发人员聚集在一起可以加强这种循环。
在编码阶段,DevOps组织可以通过将测试人员与程序员配对来提高质量和开发。配对可确保测试人员编写的测试能够反映开发人员当时正在创建的功能。配对在软件准备就绪时通知测试人员,因此他们知道何时运行测试。
通过同步测试和开发,您可以快速提醒程序员,以便他们可以在将代码埋没到更多工作之前修复他们的代码。由此产生的反馈循环构建了动力,因此业务可以迅速启动应用程序。程序员和测试人员对彼此的工作有很多了解,并在他们一起工作时自己进行改进。这些知识使他们能够更好地利用测试和测试结果,并加快反馈循环。
如何在构建阶段改进DevOps测试
减少延迟和加速软件开发的另一个机会出现在构建阶段。在此阶段,测试透明度对于快速修复软件至关重要。
每个可以从测试结果可见性中受益的人都应该拥有它,包括负责创建,测试或修复软件的任何人。为了确保这种透明性,将测试绑定到持续集成(CI)构建过程,该过程构建更新的软件并允许您运行它以检查不完善之处。
将测试连接到CI构建过程有许多好处。当构建测试失败时,系统可以通知团队,以便他们可以快速响应。每次构建测试失败时的广泛沟通对于阻止释放向前发展至关重要,直到您修复有缺陷的功能和构建过程。
修复这些缺陷的关键部分是调整测试以适应下一个构建,以便测试剩余的缺陷。来自系统的警报可确保测试人员及时编写新测试。向开发人员和测试人员发送的系统通知可加快软件构建的通过标记,从而使业务快速进入分发阶段。
DevOps测试的一把伞
毕竟,为了提高质量,我们已经做了很多事情,不要通过有限的测试方法来冲破这个阶段。最好将一系列测试和类别混合在一起,然后充满信心地进行部署,而不是快速进行。
在测试阶段,一些DevOps组织试图通过从流程中删除测试人员并使用单元测试来更快地将版本推向生产。这种方法限制了您可以执行的测试的数量和质量。您可以尽快将软件投入生产,但可能会有更多错误。
如果您有测试人员为良好的覆盖范围定义特定的测试,您仍然可以相对快速地将软件投入生产。测试人员应在您的应用程序上编写并运行完全自动化的烟雾,功能和回归测试,以确保客户满意。
您需要进行冒烟测试以确保应用程序正确启动并访问其子系统。您需要进行功能检查以确保应用程序在各种用例中做出反应。并且您需要进行回归测试以确保之前仍然有效的功能仍然可以正常运行。
这种方法比单元测试更进一步,确定您的应用程序的适用性并确保您的客户对您的产品感到满意。
实现期望
质量和发展相互定义。没有成熟就没有发展,没有质量就没有成熟。没有增长和变化,质量就没有改善,这是随着适当的发展而来的。
由于质量和开发是以这种方式密不可分的,因此击败市场竞争的最佳方法是以DevOps的速度在整个开发生命周期中创新质量。质量可以更快地发展;发展可以达到更高。您需要同时满足或超出客户期望。
旨在帮助改变开发生命周期中剩余测试的QA平台可帮助您实现这些目标。 qTest将测试集成到敏捷和持续交付工作流程中,确保QA流程不断发展以适应新的开发计划。通过将测试集成到开发生命周期中,qTest可帮助组织以更短的周期时间发布高质量的软件。
讨论: 请加入只是星球【首席架构师圈】
- 61 次浏览