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