我们已经介绍了 以及我们对所有流程透明度的关注程度。但是如何确保所有开发级别的透明度? 我们的质量保证实践 今天,我们有了新的见解 ,PropellerAds 的首席 QA,AdTech Holding 的一部分。 Mikhail 分享了使用 Allure TestOps 工具的最佳实践。 米哈伊尔·西德尔尼科夫 团队为什么选择它,它之前使用了哪些工具,以及 Allure TestOps 何时成为质量辅助工作流的最佳解决方案? 为什么透明度如此重要? 作为一家基于一流技术的企业,PropellerAds 采用 CI/CD 方法。这意味着每天多次不断发布,所以这个过程不能因为任何误解或错误而中断。 它是如何工作的? 开发人员创建拉取请求 QA团队立即开始测试 测试结果立即出现在 Github、Slack 和 Allure TestOps 中。 这是一个连续的过程——一切都是自动化的,几乎没有手动工作。这个过程的结果必须是高质量的产品——这就是为什么每一步都必须透明的原因。 但如何确保呢? 米哈伊尔: — '测试是质量的基础。但它不喜欢独处——测试不是内向!它需要同类的家人和朋友才能带来真正的价值。而且,就像现实生活中的每个人一样,测试人员及其家人需要一个舒适的住所,配备便利的基础设施和改进的空间。 那么 PropellerAds QA 团队是如何解决测试的“住房问题”的呢? PropellerADs 中的首次 QA 实践 起初,PropellerAds 甚至没有一个成熟的 QA 部门:它是在 2015 年才成立的。自动化工作流程和建立一个高效、充满灵感的团队需要时间。 随着团队的壮大,其需求也越来越大!测试和微服务的数量正在迅速增加——让它们井井有条至关重要。否则,就不可能与他们合作,与各种 CI/CD 集成——毕竟保持透明。 实施测试轨 PropellerAds QA 团队的创始人拥有多年使用 TestRail 的经验。因此,它成为最明显的解决方案。此外,它似乎满足了团队的所有需求,如下所示: 所需功能:案例保存、历史记录、测试启动 与 Jira 相当可接受的集成 团队将TestRail与CI/CD集成的经验 整个团队使用 TestRail 的经验 因此,做出了决定。 TestRail 的问题 一开始一切都很顺利。尽管如此,一段时间后,团队仍觉得 TestRail 并不是满足其所有需求的最佳工具。问题是什么?重点是团队还在成长,所有的流程都变得更加苛刻。 换句话说,一切都在迅速扩展: 团队; 手工案例数 手动测试运行次数 发行数量 米哈伊尔: ——首先在 TestRail 中创建案例,然后在代码中进行,这变得极其困难和不便。我们希望在我们的测试管理系统中看到整个透明图像。 最后,该团队开始渴望一些替代工作流程和工具。问题列表越来越大,最痛苦的点包括以下几点: 新项目整合不佳 不支持新案例或步骤:如果您修复了代码中的某些内容,则需要在 TestRail 中手动执行相同操作 透明度和相关性趋于零 总体而言,存在产品质量开始受到影响的威胁。 新需求 最后,很明显团队需要一个新的解决方案。但首先,有必要弄清楚:现阶段团队缺少什么,需要什么?经过讨论,QA 团队列出了一份简单明了的要求清单。 这里是: 自动下载测试结果。该团队希望在启动后立即在 TMS 中看到测试,而不使用 API 与吉拉集成。这又是关于透明度的:在任务管理器中拥有正确的测试状态是使工作流程尽可能透明的最佳方式。 与测试代码的简单集成:任何更改都应出现在 TMS 中,无需手动更改任何内容 测试在 CI/CD 中启动。做得更快会很有帮助——而且,在完美的情况下,直接从 TMS 启动它们。 TestRail 具有 UI 自定义功能,但此解决方案需要不断的支持。 Allure TestOps 如何改变流程 需求变得非常明显,但它们无助于找到正确的解决方案。在这里,PropellerAds QA 团队幸运地遇到了一位知名开发人员 - Artem Eroshenko,他突然给出了简单而直接的建议: 如果有 Allure TestOps,为什么还要使用 TestRail? 第一个想法是:什么是 Allure TestOps? Allure TestOps 是一个测试平台,可让您存储和管理测试用例。它基于大多数团队成员都非常熟悉的 Allure Reports。 米哈伊尔: — 所以我们想:这是一种新鲜时尚的工具 — 为什么不试试呢? 剧透一下:结果很完美。这个过程开始以最好的方式发生变化——而且是在最短的时间内。 那么 Allure TestOps 最有用的功能是什么,它极大地促进了工作流程? 检测结果 如果你曾经尝试过 TestRail,你就会知道下载测试结果在那里很复杂:它涉及到 API 的很多麻烦。 Allure TestOPS 以非常优雅和简单的方式解决了同样的问题。 如果您的测试结果意味着生成 Allure 报告,那么您已经在 TestOps 中进行了测试。该团队使用 Allure 已有一段时间了——这意味着 TestOps 平台保留了他们的测试。 简要指南:要添加任何集成,您只需进入 TestOps 的设置,选择您想要的任何产品,然后点击几下即可设置!快速无痛,就像这里: 米哈伊尔: —没有隐藏的岩石:三个字段,您就完成了集成。它与其他工具的工作原理相同:最小设置。而且,我们钟爱的深色模式也来了! 如果您需要集成 Teamcity 或其他此类工具,您可以使用特殊插件来完成。只需单击两次鼠标即可将结果下载到 TestOps。更有帮助的是,它发生在运行时。这是它的外观:又优雅又简单: 准备好设置后,您可以在 CI/CD 中启动作业。并且该过程之后立即变得透明多倍。 Allure TestOps 允许您检查现有的测试覆盖率,了解您启动特定测试的频率,了解哪些项目是稳定的,哪些不是,甚至可以查看某些测试。 Allure TestOps 中的整体测试流程如下所示: 您设置 TeamCity 构建配置一次:在构建功能中指示 Allure 项目 ID 和指向 Allure 结果的路径 您启动 Team City 构建配置 您在 Allure 中等待结果,仅此而已! 因此,在完成所有设置后,您只需执行两个简单的步骤——没有 JS、Web 服务器和 API。一切都通过您使用的工具的用户界面进行设置。 质量和状态 原来 Allure TestOps 有一个 Jira 插件,可以让你查看特定任务的所有测试。该插件包括分页、搜索过滤器和这些测试的最新结果。 设置也快速简单——界面也是如此: 米哈伊尔: 所有结果都会自动更新,您可以看到为此特定任务创建的所有案例。这正是我们了解检查内容和检查方式所需要的。我们显着提高了我们良好的透明度 - 并确保更好地了解我们发布的功能的质量。 自动测试代码 PropellerAds QA 团队有大量的自动测试:多亏了他们,它才能确保产品的最高质量。 Allure TestOps 大大简化了这一要点。它允许您创建必要的注释,每个注释都为测试设置一个标签。最后,标签将出现在 TestOps 中。 有大量已经存在的注解——而且不仅在 Java 中。这是一个例子: 如果您缺少现成的注释,您可以轻松添加自己的注释:@LabelAnnotation(name = “any name”)。几乎所有 TestOps 数据都通过标签工作,并且这些标签是可定制的。多亏了它,您可以在所有现有测试列表中看到各种树状图和层,过滤和分组您的案例。 其他特性 因此,由于 TestOps,所有问题都得到了解决。除了这些已解决的问题外,我们还可以访问更多新功能。他们来了: Allure 允许您检查测试启动历史记录。 Mikhail 说这是一个杀手级功能:您可以快速检查测试何时何地启动以及何时开始失败。 测试计划。现在团队不仅可以创建,还可以直接从 TestOps 启动这些测试计划。 带有统计数据的便捷仪表板。您可以自己创建它们,或使用现成的仪表板。 项目的各种设置。它们包括删除您不再需要的旧测试结果,为手动和自动案例设置不同的测试字段,以及使用各种选项直接从 Allure TestOps 启动测试。 还有很多其他的。 米哈伊尔: — 这只是您使用 Allure TestOps 获得的一切的一小部分。想要新东西或发现错误?创建错误票或直接在 Telegram 频道中询问开发人员。真的很方便!或者他们的服务台 - 这些人会尽快回答 - 服务很好。 总结:Allure TestOps 与 TestRail 那么,我们测试的“住房问题”是否解决了?当然是。不断发展,直观,即时访问所有必要的工具——Allure TestOps 是最合适的解决方案。 但毕竟 TestRail 有那么糟糕吗? 米哈伊尔: TestRail 是一个很好的工具——但它比我们更适合不同的需求。 什么时候使用 TestRail 更好,什么时候 Allure TestOps 是你的救星? 测试轨 倾城测试运营 您不太依赖发布过程 你有很多版本,你的工作基于 CI/CD 与其他工具集成不是您的首要任务 您力求所有工具的测试透明化 你有很多手工案例 您主要从事自动化测试工作 总体而言,事实证明,Allure TestOps 在确保 QA 透明度方面效率更高——在每个步骤和级别上。这就是我们在 PropellerAds 中所需要的。 本文的主图是由 HackerNoon 的 通过提示“一位工程师正在看引擎”生成的。 AI Image Generator