了解最新技术文章
在软件开发项目开始时您可能会遇到的一些最常见的挑战包括:
缺乏可见性
缺乏测试管理工具或项目可用性低
任何当前测试管理工具的使用不正确或效率低下
质量差的测试用例难以维护
缺乏 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 密钥和所需的其他信息