作者 Hannah Son | 2023 年 8 月 28 日
敏捷软件测试需要适当的、依赖于上下文的工具和总体结构来控制 QA 流程、规划测试、跟踪结果以及报告测试期间发现的风险。 这时您必须关注敏捷测试用例管理。
在敏捷开发方法中,QA 团队成员扮演着更具战略性的角色。
质量保证与产品和开发合作,影响用户故事的开发,提前计划以确保功能可以顺利有效地测试,并提供有价值的、及时的风险洞察。 敏捷测试用例管理反映了这一点,始终关注优先级、可重用性和覆盖率。
尽管敏捷开发比瀑布开发方法更少依赖脚本化的手动测试用例,但您仍然需要一种方法来计划测试、协调时间、报告进度和分类风险。 这就是测试管理平台的用武之地。
寻找一个平台:
由于敏捷方法采用更加迭代的、全团队的方法,因此传统的开发角色必须发生转变。
瀑布 | 敏捷 | |
开发职责 | •根据产品需求或产品开发的用户故事编写代码 •为代码编写单元测试 •一旦通过单元测试就以“完整”的方式交付代码 | •参与开发 Scrum 团队中的需求和用户故事 •参与新功能的功能测试 •在发布前修复新功能中的高优先级错误 |
QA 职责 | •根据需求为特定功能的所有用户路径编写测试用例 •在发布之前测试所有测试用例,无论优先级或风险如何 | •与产品和产品配对 开发以确定团队将如何测试用户故事和功能需求,并在仍处于积压状态时指出潜在风险 •指导开发人员测试启发式方法,以便他们可以尽早测试自己的功能并更稳定地实现新功能 ,不易出错的方法 •审查拉取或合并请求中的代码,使新功能可以通过测试自动化轻松测试 |
质量保证开始参与的开发生命周期阶段 | •代码编写完毕并交付产品的可测试版本 | •参与开发的每个阶段; 测试生命周期与软件开发生命周期成为一体 |
在自动测试和手动测试之间找到适当的平衡对于有效的测试用例管理至关重要。 这样做,团队可以简化流程、节省时间和资源、更好的测试覆盖率、优化资源,并在速度和质量之间取得平衡。
虽然没有简单的是或否的答案,但有一些问题可以评估哪些测试需要自动化,哪些最适合手动测试:
仍然不确定要自动化哪些测试或测试套件? 使用这个免费的自动化评分模型可以帮助您优先考虑下一步应该自动化的内容,并指导您的测试自动化策略。
图片:在 TestRail 中,您可以检查自动化测试运行的结果和失败测试的错误消息,生成汇总手动和自动测试信息的报告,深入了解测试覆盖率,并跟踪测试自动化进度 。
敏捷开发团队经常同时处理多个功能,因此弄清楚首先测试哪些功能很重要。 测试用例优先级是软件测试的一个重要方面,有助于确保您的团队首先执行最关键的测试用例,从而最大限度地提高故障检测和风险覆盖率。
测试用例管理中的测试优先级涉及根据测试的重要性、风险和对项目的价值来确定测试的执行顺序。
可能影响优先级确定过程的因素包括:
有关测试用例优先级因素、技术、最佳实践和指标的完整列表,请查看这篇有用的文章,其中详细介绍了测试用例优先级技术和指标。
图片:根据优先级组织您的 TestRail 测试用例存储库
DevOps 生态系统中的测试用例管理具有独特的工作流程、生命周期循环和协作要求。
由于自动化测试是 DevOps 不可或缺的一部分,因此您的测试用例管理工具必须与自动化工具集成,同时促进手动探索性测试、冒烟测试或验收测试(由于软件的最终用户通常是人类,因此在 测试特性和功能)。
此外,由于 DevOps 工作流程使用 CI/CD 方法进行软件开发,因此您的测试管理工具还应该能够与 GitLab 和 Jenkins 等 CI/CD 工具集成。
将测试用例组织成逻辑组或测试套件,以便于导航和有针对性的测试工作。
测试用例名称应该易于理解,应该表明测试用例属于哪个项目以及它的用途。 由于您将处理数千个测试用例,因此制定易于遵循的命名约定非常重要。
如果测试用例连接到可重用对象,请尝试将其也包含在名称中。 有关先决条件、附件和测试环境数据的详细信息包含在测试用例描述中。
一旦创建了测试用例,就用批判的眼光来检查它们。 测试步骤是否清晰、简洁? 预期的测试结果是否明确定义? 它是否包含所需测试环境的详细信息? 测试用例是否符合实际用户条件?
中央存储库中的所有测试用例是否专用于单个项目? 其他批准的用户可以添加评论、附件、报告和其他反馈吗?
敏捷测试渠道需要团队尽早启动测试。 让 QA 人员参与头脑风暴和需求管理,以便他们能够为测试设计做出有意义的贡献。 一旦功能进入更大的代码库,您就应该对其进行测试。 使用测试来引入产品的增量改进。
通过练习左移测试,您可以在开发过程的早期发现缺陷,并最终减少在后期阶段或生产中出现关键问题的机会。 这可以帮助您避免代价高昂的返工和延迟,加快开发过程并确保更顺利的迭代,并允许您快速调整测试用例以适应变化。
来源:在连续 DevOps 循环中左右移动(图片由 Janet Gregory 绘制,灵感来自 Dan Ashby 的连续测试循环)
自动化使您能够扩展测试工作,而无需按比例增加手动工作量。 由于自动化测试可以按需运行并在一天中的所有时间提供连续的测试覆盖范围,因此通过自动化重复且耗时的测试用例,您可以将时间和资源分配给更复杂和关键的手动测试任务,例如探索性测试、 创造性地解决问题,以及更具战略性的测试。
确保每个测试用例都链接到相应的需求、用户故事或功能。 可追溯性确保您的测试工作直接与项目目标保持一致,并有助于跟踪进度。 通过将测试用例追溯到需求,您可以识别高优先级功能及其相关测试,从而通过确保关键功能得到彻底测试来帮助您管理风险。
可追溯性还允许您通过展示哪些需求已被测试、这些测试的结果以及测试工作的总体进度来向利益相关者提供准确的状态报告。 此外,对于处于高度监管行业的公司来说,可追溯性是维持合规标准所必需的,并且对于展示公司在将产品发布给客户之前验证产品质量所遵循的流程至关重要。
以下是有关如何确保测试用例可追溯性的一些提示:
利用专用的测试用例管理工具来组织、跟踪和管理您的测试用例,从而更轻松地维护可追溯性和协作。 如果您正在寻找有关如何从单一平台管理测试用例的一些适合初学者的信息,请观看有关 TestRail 测试用例的视频。
测试用例管理工具跟踪、管理和监视单个软件测试项目所需的所有测试用例,因此仔细选择测试用例管理工具非常重要:
正确的测试用例管理工具应该足够容易上手并快速导航。 直观的 UI(用户界面)是不可协商的。 它应该对每个利益相关者级别的个人来说都是用户友好的,以便非技术人员可以登录并找到他们需要的测试数据。
供应商还应该提供一定程度的入职或培训以及现场演示。 不要忘记获取有关该工具的客户支持选项的详细信息。 没有什么比自己付费的工具进行故障排除更让人筋疲力尽的了。
您选择的测试用例管理工具应与第三方工具集成,以便更轻松地进行测试和项目流程。 例如,TestRail 提供 Jira 集成,以便测试团队可以在项目中创建和跟踪任务。 至少,正确的测试管理工具应该与常用的测试平台、语言和框架集成。
您的测试管理软件应该具有专用的报告功能,以便您可以获得各个级别的报告。 选择一个记录测试覆盖率并允许错误跟踪以及通过/失败率的测试。 同样,这就是直观的 UI 发挥作用的地方。
图片:TestRail 跟踪该数据并允许您比较测试运行、配置和里程碑的结果。 它还配备了完全可定制的报告模板。
现代敏捷软件开发过程的测试用例管理可以结构化,以简化您的项目。 仔细投资测试规划,结合最佳实践和方法,并利用 TestRail 等测试用例管理工具来让您的测试周期完美运行。
在敏捷工作流程中,需求、范围甚至优先级在项目中途发生变化是很常见的。 一般来说,敏捷团队已经为此做好了准备,但如果在冲刺结束时发生重大变化,团队可能很难适应这些变化。
解决方案:确定测试用例的优先级
为了防止出现这种情况,质量保证团队应根据不断变化的需求确定测试用例的优先级。 这意味着首先重点测试关键功能,然后是不太关键的功能。
解决方案:保持公开透明的沟通
团队还应该在测试人员、开发人员和产品所有者之间保持开放和透明的沟通渠道。 询问利益相关者他们认为哪些需求最有可能发生变化,定期讨论需求的变化及其影响,让利益相关者知道如果需求发生变化,您的团队可能需要延长截止日期。
解决方案:保持可追溯性
维护需求、用户故事和测试用例之间的可追溯性。 可追溯性有助于识别覆盖范围差距,提供整个开发生命周期的可见性,并在节省资源的同时加速开发。
图片:在 TestRail 中,您可以通过将测试用例链接到外部用户故事、需求或用例来接收需求、测试和缺陷的可跟踪性和覆盖率报告。
有时,测试速度会减慢,因为团队无法访问适合他们的正确测试环境或测试用例管理工具。 如果发生这种情况,持续测试所需的反馈循环也会减慢。 这会降低整个测试过程的效率和上市时间。
解决方案:持续改进
定期审查和优化您的测试流程,以确定瓶颈和需要改进的领域。 使用测试周期的反馈进行调整。
解决方案:使用有效的工具
确保您的测试人员拥有他们所需的所有资源。 如果团队需要 Apple 设备来运行测试,他们应该能够获得它们。 如果您有多个团队致力于一个项目,请确保他们通过集中式测试管理工具进行协作,该工具提供高效的测试执行、报告和协作功能。
是的,敏捷强调各个层面的协作。 但说起来容易做起来难。 在大型组织中,协作团队通常可以包括数十或数百人。 如果没有适当的简化机制,在这些情况下就不可能进行实际协作。 如何让这么多人对每一项变更保持一致?
许多测试管理工具并不是为容纳大型团队或过多的测试活动而设计的。 这导致测试人员没有合适的工具来取得成功,甚至不得不购买单独的工具。 成本可能会变得过高,这可能会导致测试用例管理不当、不足或草率。 为了可持续地扩展测试,团队必须找到灵活的解决方案,使工程师能够投入时间和技能来支持更全面的测试策略
解决方案:选择正确的测试用例管理工具
选择支持跨职能团队之间协作的最佳测试管理工具,使测试人员、开发人员和其他利益相关者能够在测试用例设计、执行和报告方面进行协作。
有效的工具还应该与测试自动化框架和 Jira 等敏捷项目管理工具集成,充当所有测试相关信息的集中存储库,并确保可追溯性。
了解 Eventbrite 在从高增长初创公司成长为上市公司的过程中如何使用 TestRail 扩展其 QA 运营和软件测试。
图片:在 TestRail 中,您可以从整个团队都可以访问的单个仪表板跟踪、管理和更新测试。
在测试管理中,并不总是希望一切都自动化。 在某些情况下,依靠手动测试来确保每个项目组件都经过彻底审查可能更有利,特别是在某些领域尚未得到充分覆盖的情况下。 通过以最佳水平实现自动化并平衡其与手动测试,有效的测试用例管理可以节省时间、精力和资源,同时促进更快的上市时间。
通过根据实际影响组织测试用例并将测试数据存储在集中位置,测试团队可以扩大测试覆盖范围,从而更容易让所有团队成员保持一致,减少产品发布前的缺陷泄漏 向公众公开,最终将风险降到最低。
像 TestRail 这样的集中式测试管理工具可以帮助您识别 QA 流程中的差距、简化团队的开发流程以及可视化测试覆盖率,从而帮助您提高测试覆盖率。
正确的测试管理工具将为您带来可追溯性和强大报告的额外优势。 使用测试管理工具进行可追溯性可以帮助您管理测试范围、跟踪里程碑并调整截止日期。
像 TestRail 这样的测试管理平台还可以帮助您实时跟踪结果并生成重点关注问题区域的测试报告。 此类报告和错误跟踪功能负责改进并向利益相关者传达测试成功/进度的详细信息
高效的测试用例管理优化了时间、预算和人力资源的使用。 通过确保更好的质量、缩短测试周期时间、加快上市时间、提供实时更新和准确的报告,测试用例管理可以帮助简化日常操作,同时节省资金。 对于许多已经捉襟见肘的质量保证团队来说,测试管理工具可以帮助最大限度地利用他们的时间,同时也简化整个流程。
了解 TestRail 如何通过缩短测试周期时间并在更短的时间内将更多版本部署到生产中来帮助该公司削减成本。
一个好的测试管理工具将通过在集中平台中跟踪所有测试活动和质量指标来提高 QA 的透明度和可见性,从而改善团队协作。 高效的测试管理应该意味着您的工具允许您共享测试用例结果(无论它们是手动测试还是自动测试)等,以便团队可以快速识别和解决问题,同时保持在同一页面上。