作者 Hannah Son | 2023 年 2 月 14 日
如果您从头开始构建 QA 流程或改进现有的 QA 流程,那么选择正确的测试管理工具对于帮助您发现错误、管理测试用例并最终简化软件开发流程至关重要。
在这篇文章中,我将分享我们 ELEKS 团队寻找适合我们团队的测试管理解决方案的经验、我们一路评估的一些替代方案,以及我们最终选择 TestRail 的原因。
在软件开发项目开始时您可能会遇到的一些最常见的挑战包括:
测试工作很容易被忽视。 我见过很多情况,测试人员完成了所有工作,但结果却被锁在他们的头脑或机器上,对项目没有任何帮助。 测试在任何软件项目中都至关重要,但前提是结果能够有效且快速地传达。
QA 不仅仅是运行测试。 通过良好的报告和仪表板为您的团队提供可见性同样重要。 确保可见性意味着理解诸如“谁在测试?”、“正在测试什么功能?”、“测试范围是什么”以及“我们什么时候完成所有测试活动?”等问题的答案。
通常,当团队没有适当的测试管理工具时,他们在整个项目中都会遇到可用性较差的情况。 许多项目在电子表格中跟踪他们的测试用例和清单。 虽然电子表格是小型项目的一种选择,但对于拥有多名工程师的大型项目来说,它们是不可持续的。 使用电子表格,更新和管理测试数据通常会成为一项耗时且容易出错的噩梦。
如果您选择的测试管理工具与您的组织及其实践不符,那么您将面临浪费时间和金钱的很高风险。 当测试管理工具没有充分发挥其功能时,它很可能是不适合这项工作的工具。 错误的工具可能只是作为测试用例存储的一种手段,或者是公司未使用软件集合中的另一个浪费工具。
团队在测试用例中经常遇到两个核心问题:没有足够的上下文信息,或者编写方式难以重用。
例如,测试用例存在,但没有有关优先级、版本、配置、需求引用或其他重要信息的信息。 这使得很难确定正确测试的优先级、准确测试并以对团队其他成员有意义的方式报告测试结果。
检查您的测试管理工具是否与现有工具堆栈集成。 特别是,它可以与您的错误或问题跟踪软件(例如 Jira)集成吗? 这种集成的优点是,用户可以轻松地将错误链接到测试用例运行,并从高级可跟踪性中受益。 缺乏适当的集成可能会阻止测试用例在功能范围内执行。
可追溯性的目标是帮助您规划和管理测试活动(包括缺陷管理),以更好地降低风险。 缺乏可追溯性可能会在整个软件开发生命周期 (SDLC) 中产生问题。 例如,缺乏可追溯性可能会导致难以了解变更的影响,从而导致不一致,进而破坏测试进度、浪费时间并耗尽资源。
拥有成熟的测试管理工具并不意味着可追溯性、可见性和文档方面的问题会自动解决。 在切换到 TestRail 之前,我在使用电子表格作为测试管理工具并使用 TestLink 作为测试管理工具时亲身经历了这一点。
让我详细说明一下——虽然 TestLink 是一个开源测试管理工具,但它并没有提供比其他测试管理系统更好的功能优势。 TestLink可用性较差,与Jira的集成是单向的。 TestLink 的 Jira 集成仅允许您:
您可能遇到的 TestLink 的其他限制包括:
如果您想使用最用户友好且最强大的工具来满足您团队的需求,我建议您安装您正在确定范围的工具的试用版。
就我个人而言,我深入尝试了 Zephyr 和 TestRail,并选择 TestRail 作为我们的测试管理工具。 为了更好地展示利弊,我创建了一个表格来总结我的经验,希望能帮助您为您的团队选择最优化的工具。
最终,由于可用性差、缺乏可视化仪表板以及不符合我们需求的定价模型,Zephyr 不太适合我的团队。
我们选择 TestRail 作为我们的测试管理解决方案,因为它具有以下优点:
TestRail 以多种不同方式与 Jira 集成。 您可以轻松地将错误报告推送到 Jira、查找问题详细信息、跳转到 Jira 的新问题表单等。 此外,团队可以扩展 TestRail 的 Jira 缺陷插件,使他们能够根据需要调整集成以适应 Jira 自定义。
TestRail 的 Jira 集成提供了比其他测试管理工具更好的可见性和可追溯性。
它还可以让您轻松回答以下问题:
TestRail 支持与 Jira 的双向集成,因此您可以:
以下是为 TestRail 配置 Jira 测试管理集成的两个步骤:
TestRail 与 Jira Cloud、服务器和数据中心集成。 以下是 TestRail 的 Jira 集成文档,其中包含每个平台的设置说明:
让我们检查一下可以帮助您提高可见性的主要功能:
在下图中,测试用例与 Jira 子任务相关联,该子任务是为了跟踪测试设计活动(在我的例子中)而创建的。
如果您在 Jira 中打开 ID 为 DESK-10(在我的例子中)的“QA – 测试设计”子任务,然后转到“TestRail:案例”部分,您可以看到与之相关的测试用例:
2. 将 Jira 引用添加到 TestRail 中的测试运行。
如果您在 Jira 中创建子任务或其他问题类型以进行测试以运行某些测试(例如:“QA – 测试功能”),您可以在 TestRail 中创建测试运行并将其与 Jira 问题(子任务)关联。
现在,如果您在 Jira 中打开此子任务,测试运行的结果将出现在 Jira Issue 中,因此您无需为其打开 TestRail(但您也可以在 TestRail 中打开测试结果):
3.API集成
在 ELEKS,我们使用 Python API,我们的测试自动化工程师 Maksym 在 TestRail API 上实现了一个包装器,增加了额外的功能。 因此,如果您使用的是 Python 客户端,您可以在此处找到原始 Python API 绑定或 Maksym 的 API 绑定。
我们发现还有许多其他 TestRail 功能对于测试管理很有用。
共享步骤允许您跨测试用例重用通用步骤并提高测试用例的可维护性(更不用说节省您的时间!)。
可重用性是通过“导入”共享步骤来实现的。 请务必仔细考虑共享步骤的命名约定,因为您可能有数百个共享步骤。 使用命名共享步骤的模式(例如,<功能或页面> – <步骤描述>)将帮助您浏览步骤并轻松导入它们。
如果需要任何更改,您可以在一个位置更新它,其他测试用例将反映这些更改。
TestRail 的仪表板和图表代表了测试的当前状态。 您可以在同步会议上共享它们或定期发送它们,以便利益相关者快速了解测试进度。
报告的详细程度也可以在“报告”部分进行配置。
报告很全面,可以根据按类别排序的 15 个预定义模板生成:“案例”、“缺陷”、“结果”、“摘要”和“用户”。 您可以使用“摘要”部分中的模板生成通用报告,该报告对从 QA 工程师到项目经理和产品所有者的每个人都有帮助。
如果您是 QA 主管,此功能允许您在整个团队中分配测试并跟踪进度。
您可以自定义测试用例、结果状态字段、优先级、模板和其他字段。 在我们的例子中,我们在下面添加了其他结果状态,以提供有关测试运行的更多信息:
当时间有限时,描述测试用例中的所有步骤可能会很麻烦。 为了节省时间,您可以使用测试用例的简化模板,甚至可以使用包含要验证的功能描述的探索性会话。
TestRail 的双向 Jira 集成使您能够查看 TestRail 和 Jira 的执行状态,并允许您在引用 TestRail 结果或测试用例时预览 Jira 问题。
TestRail 的可用性和直观的用户界面允许快速入门,灵活的许可模式允许您按需付费。 这种方法对我们来说效果很好,因为我们从 2 个用户开始,然后扩展到系统中的 20 多个活跃用户,其中包括每天使用 TestRail 作为测试用例、数据、结果和整体进度的真实来源的开发人员。
TestRail 使我们能够简化测试流程,利用与 Jira 的集成,并提高可见性和可用性。 最终,通过使用 TestRail 作为我们的专用测试管理解决方案,我们的 QA 团队能够获得测试的可见性、更有效地扩展 QA 并完成更多测试。
Ostap Elyashevskyy 在软件测试和开发方面拥有超过 14 年的经验。 作为 ELEKS 的测试自动化能力经理,他教授测试自动化课程,发展 Eleks 的专家网络,并帮助新项目根据最佳实践启动。 他认为员工是公司最大的资产,帮助人们成长永远是双赢的策略。