作者 Hannah Son | 2023 年 8 月 21 日
在软件开发中,测试计划定义了测试团队的测试策略、目标和范围,它们最终共同确保所有软件组件在发布之前都经过充分的测试。
请按照以下六个步骤创建有效的测试计划:
1. 定义发布范围
在进行任何测试活动之前,定义版本的测试范围非常重要。 这意味着定义需要包含在版本中的特性或功能,考虑可能影响版本的任何约束和依赖项,并确定版本的类型。
定义发布范围时要问的问题示例包括:
例如,如果您的组织刚刚推出了一个新的电子商务网站并希望在推出之前对其进行测试,那么您需要哪些信息?
无论是与开发人员交谈以了解项目范围,还是与产品经理合作演练新功能和用户流程,定义范围都可以确保共享准确的信息并对产品的目标达成共识, 期望和特点。
指定发布截止日期以帮助您决定测试时间和例程。 以下是确定时间表的一些提示:
测试目标是设计和执行测试的原因或目的。 这些目标最终有助于指导和定义测试活动的范围。
一般测试目标的示例包括:
特定类型测试的目标示例包括:
指标评估发布的整体质量、测试进度以及测试的有效性(针对特定测试周期或整个测试)。
它们可以让您了解测试过程和整体产品质量,最终帮助您的团队决定您的版本是否已准备好发布。 以下是您可能会考虑的一些度量公式:
缺陷密度
示例:如果您的软件有 150 个缺陷和 15,000 行代码,则其缺陷密度为每行代码 0.01 个缺陷。
测试覆盖率
缺陷检测效率(DDE)
上市时间
测试可交付成果是帮助跟踪测试进度的测试产品。 可交付成果应满足您的项目和客户的需求,尽早确定以将其包含在测试计划中,并相应地进行安排。 软件开发生命周期的每个阶段都有不同的测试可交付成果。 以下是测试前、测试中和测试后需要关注的重要交付成果:
测试计划的内容和结构根据其上下文而有所不同。 尽管编写测试计划没有一种千篇一律的方法,但遵循测试计划开发的最佳实践可以帮助公司交付高质量的软件。
TestRail 是一款测试计划软件,旨在让您轻松遵循测试计划开发的最佳实践。 在 TestRail 中,您可以输入带有前提条件、测试说明、预期结果、优先级和工作量估计的测试用例。
图片:在文件夹中组织和构建可重用的测试用例,创建敏捷测试计划,并在 TestRail 中跟踪测试执行进度。
这种测试过程的灵活性和可见性使 TestRail 能够轻松融入任何组织的测试计划 — 试用 TestRail,看看它如何帮助您制定测试计划。
测试策略有助于确定测试成本、测试工作量以及哪些功能将在范围内(计划进行测试)和范围外(不计划进行测试)。
确定何时执行什么类型的测试、应手动测试与自动测试什么、自动化测试的范围、创建新测试用例需要多少工作以及谁将完成这项工作至关重要。
根据多种因素,您的测试计划中可能包含各种类型的测试。
选择正确的测试类型时要考虑的因素示例包括:
以下是您的测试计划中需要考虑包含的常用测试类型:
手动测试 | 自动测试 | 其他 |
•冒烟测试 •探索性测试 •新功能的可用性测试 | •单元测试 •现有功能的回归测试 •集成on测试 | •性能测试 •安全测试 • 辅助功能测试 |
记录测试期间可能发生的风险以及这些风险的影响至关重要。 风险可能包括:
测试物流应回答“谁、什么、何地、何时以及如何”。 记录测试物流可确保所有人力和系统相关的测试资源可用。 例如,您的团队确定谁可以进行测试以及谁将在测试期间需要时为他们提供支持,这一点可能很重要。 此外,在资源规划时,确定替代资源或在计划中留出余量以确保项目完成可能会有所帮助。
测试标准是规范测试项目中所有活动的标准。 两种主要类型的测试标准包括暂停和退出标准。
规划测试环境可保证测试的精确性和稳健性。 测试环境包括用于软件测试的硬件、软件和网络配置。 请按照以下步骤设置测试环境:
测试计划 标题 编写者:John Doe |
1. 简介 •执行摘要(应保持简短) |
2. 测试资源 •测试人员的姓名和角色 |
3. 测试范围 •范围内:需要测试的模块 •超出范围:不需要测试的模块 |
4. 测试方法 •测试方法和方法 •要执行的测试类型(例如功能、性能、安全性、可用性) |
5. 测试时间表 •每个测试阶段的时间表 |
6. 风险与问题 •与测试过程相关的风险 •已识别风险的缓解策略 |
如果一页纸写不下您的测试计划,请不要担心。 目的是最大限度地减少无关信息并捕获利益相关者和测试人员执行计划所需的必要信息。
测试管理工具可以帮助您的团队进行测试规划工作。 无论您的目标是更加敏捷还是加速测试计划,都可以通过战术方法使用 TestRail 等测试管理工具制定全面且敏捷的测试计划。
在 TestRail 中,里程碑是用于聚合测试工件并跟踪与相同结果相关的不同测试活动的容器。 例如,如果您在 TestRail 中创建一个里程碑来跟踪某个版本并连接所有相关的测试运行和测试计划,那么您可以在一个位置看到您将为该版本执行的所有不同活动。
图片:在 TestRail 中管理所有里程碑和正在进行的测试项目。
在 TestRail 的里程碑中,描述字段提供了构建一页测试计划的好地方。 通过从一开始就将所有测试计划信息与里程碑联系起来,您可以在计划时不断参考它并问自己诸如“范围内是什么?”之类的问题。 “什么超出了范围?” “我们正在测试什么或没有测试什么?” 以及“我们要在这个里程碑中进行自动化测试吗?”
里程碑为您提供了一种从实际测试管理工具中快速参考测试计划信息的有效方法。
测试用例定义了您要预先测试的内容; 本质上,它们概述了您在行动之前将要做什么。 在 TestRail 中,您可以根据许多层次结构组织测试用例。 这是开始构建测试计划的关键方法。
例如,如果您正在开发高级消息传递应用程序,那么您的应用程序的最高风险区域是它必须能够安装和运行。 在此示例中,您可以从冒烟测试开始,然后进行更深入的功能或探索性测试。
通过提前捕获测试用例的优先级以及您计划对特定测试用例采取哪种类型的测试方法,您就开始考虑在实践中规划该测试用例。
图片:根据优先级组织您的 TestRail 测试用例存储库。
2. 测试报告
使用 TestRail 等测试管理工具执行测试非常有益,因为您可以使用实时报告。 例如,如果您在 TestRail 中制定计划并围绕该计划执行,则像 TestRail 的里程碑摘要报告这样的报告将向您显示您的初始测试目标、初始一页测试计划、所有测试运行以及 在该里程碑中添加的计划、您分配给它们的优先级等等。 您还可以下载报告以与您的团队或其他利益相关者共享。
图片:里程碑(摘要)报告允许用户附加项目标准并快速可视化里程碑活动的清晰、可共享的解释。
随着项目变得越来越复杂,使用电子表格作为测试计划模板可能会变得笨拙,并且需要更复杂的方法。 使用 TestRail 等测试管理工具使您的测试计划尽可能灵活。
测试计划的组成部分 | 说明 |
范围 | •定义测试工作的边界 •指定测试主题 •指定要测试的任何特性或功能 |
超出范围 | •描述故意排除在测试工作之外的特性/功能 •定义未测试的内容 |
时间表 | •设定测试完成的期望 •概述每个测试阶段的时间表,包括里程碑和可交付成果 |
资源分配 /角色和职责 | •描述参与测试工作的团队成员的角色和职责 •定义每个测试阶段的资源分配 |
工具 | •描述要使用的测试设备(测试管理工具、自动化工具、CI/CD工具...等) |
环境 | •定义测试环境的标准 •描述构成测试环境的硬件、软件和网络配置 |
可交付成果 | •描述您期望从每个测试阶段得到什么(例如测试报告、测试结果和其他相关文档) |
缺陷管理 | •描述如何报告、跟踪和管理测试期间发现的错误 •定义错误的严重级别以及如何修复它们 |
退出标准 td> | •定义完成每个测试阶段的标准 •定义接受或拒绝被测系统的标准 |
测试计划的内容和结构将根据其使用环境的不同而有所不同。 例如,在敏捷开发中,测试计划可能需要经常更改以跟上不断变化的目标。
如果您使用 DevOps 流程,测试计划可能需要解释测试如何与您的开发管道集成、现有自动化测试将涵盖测试的哪些部分,以及在此测试周期中您将尝试自动化哪些新测试。