软件开发公司 ELEKS 如何通过将 Jira 与 TestRail 集成来提高可见性和生产力

作者 Hannah Son | 2023 年 2 月 14 日

本文为 Ostap Elyashevskyy 的特约撰稿

如果您从头开始构建 QA 流程或改进现有的 QA 流程,那么选择正确的测试管理工具对于帮助您发现错误、管理测试用例并最终简化软件开发流程至关重要。

在这篇文章中,我将分享我们 ELEKS 团队寻找适合我们团队的测试管理解决方案的经验、我们一路评估的一些替代方案,以及我们最终选择 TestRail 的原因。

常见的测试管理挑战

在软件开发项目开始时您可能会遇到的一些最常见的挑战包括:

  1. 缺乏可见性
  2. 缺乏测试管理工具或项目可用性较低
  3. 当前任何测试管理工具的使用不正确或效率低下
  4. 测试用例质量差且难以维护
  5. 缺乏 Jira 和测试管理工具集成
  6. 需求、Jira 工件和测试用例之间缺乏可追溯性

缺乏可见性

测试工作很容易被忽视。 我见过很多情况,测试人员完成了所有工作,但结果却被锁在他们的头脑或机器上,对项目没有任何帮助。 测试在任何软件项目中都至关重要,但前提是结果能够有效且快速地传达。

QA 不仅仅是运行测试。 通过良好的报告和仪表板为您的团队提供可见性同样重要。 确保可见性意味着理解诸如“谁在测试?”、“正在测试什么功能?”、“测试范围是什么”以及“我们什么时候完成所有测试活动?”等问题的答案。

缺乏测试管理工具或项目可用性低

通常,当团队没有适当的测试管理工具时,他们在整个项目中都会遇到可用性较差的情况。 许多项目在电子表格中跟踪他们的测试用例和清单。 虽然电子表格是小型项目的一种选择,但对于拥有多名工程师的大型项目来说,它们是不可持续的。 使用电子表格,更新和管理测试数据通常会成为一项耗时且容易出错的噩梦。

任何当前测试管理工具的使用不正确或效率低下

如果您选择的测试管理工具与您的组织及其实践不符,那么您将面临浪费时间和金钱的很高风险。 当测试管理工具没有充分发挥其功能时,它很可能是不适合这项工作的工具。 错误的工具可能只是作为测试用例存储的一种手段,或者是公司未使用软件集合中的另一个浪费工具。

测试用例的质量和可维护性较差

团队在测试用例中经常遇到两个核心问题:没有足够的上下文信息,或者编写方式难以重用。

例如,测试用例存在,但没有有关优先级、版本、配置、需求引用或其他重要信息的信息。 这使得很难确定正确测试的优先级、准确测试并以对团队其他成员有意义的方式报告测试结果。

缺乏 Jira 和测试管理工具集成

检查您的测试管理工具是否与现有工具堆栈集成。 特别是,它可以与您的错误或问题跟踪软件(例如 Jira)集成吗? 这种集成的优点是,用户可以轻松地将错误链接到测试用例运行,并从高级可跟踪性中受益。 缺乏适当的集成可能会阻止测试用例在功能范围内执行。

需求、Jira 工件和测试用例之间缺乏可追溯性。

可追溯性的目标是帮助您规划和管理测试活动(包括缺陷管理),以更好地降低风险。 缺乏可追溯性可能会在整个软件开发生命周期 (SDLC) 中产生问题。 例如,缺乏可追溯性可能会导致难以了解变更的影响,从而导致不一致,进而破坏测试进度、浪费时间并耗尽资源。

选择测试管理工具

拥有成熟的测试管理工具并不意味着可追溯性、可见性和文档方面的问题会自动解决。 在切换到 TestRail 之前,我在使用电子表格作为测试管理工具并使用 TestLink 作为测试管理工具时亲身经历了这一点。

TestLink 的局限性

让我详细说明一下——虽然 TestLink 是一个开源测试管理工具,但它并没有提供比其他测试管理系统更好的功能优势。 TestLink可用性较差,与Jira的集成是单向的。 TestLink 的 Jira 集成仅允许您:

  • 将 Jira 问题链接到正在执行的测试用例
  • 当测试用例失败时创建问题

您可能遇到的 TestLink 的其他限制包括:

  • 可用性差
  • 过时的用户界面/用户体验
  • 入职时间更长
  • 没有包含测试状态和统计信息的动态可视仪表板
  • 自定义额外字段和状态时遇到困难

Zephyr vs. TestRail

如果您想使用最用户友好且最强大的工具来满足您团队的需求,我建议您安装您正在确定范围的工具的试用版。

就我个人而言,我深入尝试了 Zephyr 和 TestRail,并选择 TestRail 作为我们的测试管理工具。 为了更好地展示利弊,我创建了一个表格来总结我的经验,希望能帮助您为您的团队选择最优化的工具。

Zephyr pros:

    就我个人而言,我深入尝试了 Zephyr 和 TestRail,并选择 TestRail 作为我们的测试管理工具。 为了更好地展示利弊,我创建了一个表格来总结我的经验,希望能帮助您为您的团队选择最优化的工具。

Zephyr 缺点:

  • 要求您为 Jira 实例中的每个用户付费(即使他们不需要 Zephyr)
  • 影响 Jira 实例中所有用户的性能问题(UI 和 API 级别)
  • 并非所有版本都支持共享步骤

最终,由于可用性差、缺乏可视化仪表板以及不符合我们需求的定价模型,Zephyr 不太适合我的团队。

为什么我们选择 TestRail

我们选择 TestRail 作为我们的测试管理解决方案,因为它具有以下优点:

  • 与 Jira 的双向集成
  • 提高可见性
    • 能够在多个测试用例中共享同一组测试步骤
    • 可行的软件测试报告
  • TestRail 的可用性和直观的用户界面
    • 测试用例和结果的灵活自定义字段
    • 能够分配测试运行
    • 测试用例模板和测试计划功能

TestRail 和 Jira 集成

TestRail 以多种不同方式与 Jira 集成。 您可以轻松地将错误报告推送到 Jira、查找问题详细信息、跳转到 Jira 的新问题表单等。 此外,团队可以扩展 TestRail 的 Jira 缺陷插件,使他们能够根据需要调整集成以适应 Jira 自定义。

TestRail 的 Jira 集成提供了比其他测试管理工具更好的可见性和可追溯性。

它还可以让您轻松回答以下问题:

  • 什么功能不起作用?为什么?
  • 我们有此功能的测试用例吗?
  • 为什么这些测试失败了?
  • 发布/里程碑测试的进展如何?

TestRail 支持与 Jira 的双向集成,因此您可以:

  1. 使用 Jira 链接测试用例和测试结果
  2. 从测试管理工具创建 Jira 问题(您可能还想自定义问题模板)
  3. 直接从 Jira issues 检查测试结果和案例
  4. 使用有关测试用例、测试结果和引用的 Jira 项目的信息构建可追溯性报告
  5. 从 TestRail 预览 Jira 问题

如何将 TestRail 与 Jira 集成

以下是为 TestRail 配置 Jira 测试管理集成的两个步骤:

  1. 在 TestRail 中设置集成
  2. 将 TestRail Jira 插件添加到您的 Jira 实例

TestRail 与 Jira Cloud、服务器和数据中心集成。 以下是 TestRail 的 Jira 集成文档,其中包含每个平台的设置说明:

  • 连接Jira Cloud
  • 连接Jira服务器
  • 连接Jira数据中心

让我们检查一下可以帮助您提高可见性的主要功能:

  1. 在 TestRail 中添加对测试用例的引用

在下图中,测试用例与 Jira 子任务相关联,该子任务是为了跟踪测试设计活动(在我的例子中)而创建的。

如果您在 Jira 中打开 ID 为 DESK-10(在我的例子中)的“QA – 测试设计”子任务,然后转到“TestRail:案例”部分,您可以看到与之相关的测试用例:

     2. 将 Jira 引用添加到 TestRail 中的测试运行。

如果您在 Jira 中创建子任务或其他问题类型以进行测试以运行某些测试(例如:“QA – 测试功能”),您可以在 TestRail 中创建测试运行并将其与 Jira 问题(子任务)关联。

现在,如果您在 Jira 中打开此子任务,测试运行的结果将出现在 Jira Issue 中,因此您无需为其打开 TestRail(但您也可以在 TestRail 中打开测试结果):

     3.API集成

  • 在自动化测试执行期间自动更新 TestRail 中的测试状态可以节省您的时间并提高测试自动化的可见性。
  • 如果您在查看 Jira 中的自动化测试结果时发现任何错误,您可以使用 TestRail 将它们链接到 Jira 中的缺陷,以确保完全可追溯性 — 即使使用自动化测试也是如此。
  • 在启用和使用 TestRail API 之前,请确保您的测试稳定且结果反映应用程序的实际状态,以便结果值得信赖。

在 ELEKS,我们使用 Python API,我们的测试自动化工程师 Maksym 在 TestRail API 上实现了一个包装器,增加了额外的功能。 因此,如果您使用的是 Python 客户端,您可以在此处找到原始 Python API 绑定或 Maksym 的 API 绑定。

    导入 API 绑定并配置它们:根据 API 文档提供 URL、API 密钥和所需的其他信息

其他有用的 TestRail 功能

我们发现还有许多其他 TestRail 功能对于测试管理很有用。

共享步骤:

共享步骤允许您跨测试用例重用通用步骤并提高测试用例的可维护性(更不用说节省您的时间!)。

可重用性是通过“导入”共享步骤来实现的。 请务必仔细考虑共享步骤的命名约定,因为您可能有数百个共享步骤。 使用命名共享步骤的模式(例如,<功能或页面> – <步骤描述>)将帮助您浏览步骤并轻松导入它们。

如果需要任何更改,您可以在一个位置更新它,其他测试用例将反映这些更改。

仪表板和报告:

TestRail 的仪表板和图表代表了测试的当前状态。 您可以在同步会议上共享它们或定期发送它们,以便利益相关者快速了解测试进度。

报告的详细程度也可以在“报告”部分进行配置。



报告很全面,可以根据按类别排序的 15 个预定义模板生成:“案例”、“缺陷”、“结果”、“摘要”和“用户”。 您可以使用“摘要”部分中的模板生成通用报告,该报告对从 QA 工程师到项目经理和产品所有者的每个人都有帮助。

能够将测试运行分配给质量工程师并跟踪当前分配:

如果您是 QA 主管,此功能允许您在整个团队中分配测试并跟踪进度。

自定义:

您可以自定义测试用例、结果状态字段、优先级、模板和其他字段。 在我们的例子中,我们在下面添加了其他结果状态,以提供有关测试运行的更多信息:

  • 环境问题 – 环境或配置问题
  • 更改的要求 – 由于要求更改而失败
  • 已知问题 - 我们已意识到此问题
  • 下一个版本 – 应移至下一个版本
  • 已跳过 – 跳过结果的其他原因

测试用例模板:

当时间有限时,描述测试用例中的所有步骤可能会很麻烦。 为了节省时间,您可以使用测试用例的简化模板,甚至可以使用包含要验证的功能描述的探索性会话。

改进 QA 流程的其他建议:

  • 为实际测试用例编写、规划或测试之外的一次性 QA 任务创建一个单独的 Jira 板(例如看板),以提高对进度和工作量的可见性
  • 在 Jira 仪表板上捕获和监控指标:
    • 每个版本/里程碑的未解决错误数量
    • 严重和阻塞问题
    • 上周/迭代期间发现的错误数量
    • 自动化发现的错误数量
    • 测试覆盖率(请参阅 TestRail 中的可追溯性和测试覆盖率,了解更多相关信息)

TestRail 的双向 Jira 集成使您能够查看 TestRail 和 Jira 的执行状态,并允许您在引用 TestRail 结果或测试用例时预览 Jira 问题。

TestRail 的可用性和直观的用户界面允许快速入门,灵活的许可模式允许您按需付费。 这种方法对我们来说效果很好,因为我们从 2 个用户开始,然后扩展到系统中的 20 多个活跃用户,其中包括每天使用 TestRail 作为测试用例、数据、结果和整体进度的真实来源的开发人员。

TestRail 使我们能够简化测试流程,利用与 Jira 的集成,并提高可见性和可用性。 最终,通过使用 TestRail 作为我们的专用测试管理解决方案,我们的 QA 团队能够获得测试的可见性、更有效地扩展 QA 并完成更多测试。

Ostap Elyashevskyy 在软件测试和开发方面拥有超过 14 年的经验。 作为 ELEKS 的测试自动化能力经理,他教授测试自动化课程,发展 Eleks 的专家网络,并帮助新项目根据最佳实践启动。 他认为员工是公司最大的资产,帮助人们成长永远是双赢的策略。

在本文中:
  1. 常见的测试管理挑战
  2. 选择测试管理工具
  3. 为什么我们选择 TestRail
订阅邮件
订阅
   |    备案号:京ICP备09015132号-1038