开发是一个有趣的大事件,因为我们处于传统测试与现代和持续测试之间的边界,正在从一个大型的筒仓式的结构转型到一个新的架构。之前的组织架构包含了开发团队和集中测试团队,瓶颈和延期不断的在这两个团队间交替进行着。这种新架构由小型,自管理和自给自足的团队组成,它们频繁发布软件,使用持续集成工具自动化,并管理自己的构建环境以最大限度地减少瓶颈。
但是如何从传统到现代呢?这篇文章将涵盖持续测试实施的4个最佳实践。
1. 找到正确的持续测试工具
您的工具是您工作中最重要的组成部分之一。如果您的工具可以帮助您完成工作,提升您的能力并最大限度地提高您的工作效率,那么您将完成工作。如果他们成为一个障碍,不但不能工作,而且你会感到沮丧和停止尝试。
因此,工具能够建立敏捷及测试能力前置的通路,自动化和协作方式的工具是成功进入持续测试的关键。
所以请确保找到合适的工具,使您能够持续开发,测试和持续分析。您可以查看我们撰写的有关DevOps工具生态系统的博客系列,以获取具体的想法,但一般来说,我们建议以下提示:
- 在购买工具之前尝试使用工具,让您获得他们的氛围和感觉,并了解他们的能力。如果您可以使用开源工具,例如Apache JMeter进行负载测试,请执行此操作。开源工具不断发展,他们拥有丰富的支持社区,并根据您的需求进行开发,因为最终您是客户。
- 选择与您正在使用的现有工具集成的工具。持续测试和持续集成是关于使事情一起工作,所以尝试找到工具,轻松将自己融入您的工作环境。我们特别建议您找到与Jenkins集成的工具,这是一款精彩的开源CI工具,还有GitHub(显然)。
- 选择具有自助服务平台的工具。这样,您可以立即轻松地修改和升级所需的任何东西,而无需等待其他人的决定。
- 找到具有丰富文档的工具 - 如果您想快速入门,或者想要在任何工作时间找到答案,您需要使用该工具轻松访问具有答案的地方。
- 测试时,确保您可以轻松设置通过失败标准。持续测试是关于立即确定事情是否正常,所以请确保您可以轻松地进行设置。
2. 思考“自动化”
如果您希望测试快速,顺利,那么尝试自动化您可以做的任何事情。这也节省了你的时间,使你的工作更有趣,因为你可能自动化了沉闷和重复性的工作,而不是令人兴奋和创造性的部分。
我们建议您进入自动化模式。必须确保系统每天稳定?尝试夜间自动化测试吧。必须确保代码中的每个更改都不会影响您的产品?尝试自动化每个构建吧。在与人类交流之前,每天早晨需要喝咖啡吗?你也可以自动化。
越来越多的工具可以实现自动化。 Taurus是一款开源自动化测试工具,可自动执行JMeter,Gatling,Locust和Tsung等所有开源负载测试工具,以及功能测试Selenium。它还集成了CI自动化工具Jenkins和BlazeMeter。
3. 协作
将开发架构更改为更小的原子团队对于使进程变得敏捷至关重要。但不要忘记,这些团队中的每一个都是较大产品的组成部分,而且所有团队都需要一起合作。
因此,在功能团队之间共享测试和资产,使报告易于访问和在线共享(而不是电子邮件!),尽可能地开放角色和权限,并使用像Slack和HipChat这样的webhook在测试开始和结束时通知用户。要了解有关在开发过程中结合Slack警报的更多信息,请参阅此处。
更易于反复消化信息的是人们之间的共享,更多的想法和合作将会来临。越多的开发者觉得他们对更多的部分负责,他们就会有越多的合作来推动产品的发展。
4. 定义和显示结果
所以你有了最好的工具,一切都是自动化的,你正在分享你的工作,那现在呢?现在是深度研究结果的时候了。结果将会显示您的代码和产品是否在运转,并且显示当前与要完成的工作之间的差距。
首先,定义可量化的KPI 。 这些关键绩效指标应由产品确定,并反映产品的业务目标和公司的业务计划。 它们可以包括测试覆盖率,通过失败构建的数量,平均响应时间等。
其次,创建跟踪这些KPI的仪表盘。 仪表板应显示每个KPI和他们的基线,这些信息随时间变化而变化。 只要你给它足够的时间,任何一个你扫描到的特殊的弹出,仪表盘都能够给你直观的深入的数据显示。
第三,公开显示结果,以创建透明度,并轻松识别测试覆盖范围的差距。 在走廊或隔间房间的大型显示器上显示结果是获得更多工程师采纳的关键,因为您在动员大家时刻准备着并修复需要修复的东西,而不是等待。
持续测试需要改变您的思维方式,但是通过正确的工具和环境,您可以顺利浏览更快,更有趣的开发。 使用BlazeMeter进行测试是持续测试方向的巨大飞跃。 要查看它是如何工作的, 请求演示 。 您也可以立即开始测试,将jmx文件或URL放在页面顶部的框中,您的测试将在几分钟内开始。
【本文是51CTO专栏作者“王津银”的原创稿件,转载请注明出处】