了解最新技术文章
在软件开发中,测试计划定义了测试团队的测试策略、目标和范围,它们最终共同确保所有软件组件在发布之前都经过充分的测试。
请按照以下六个步骤创建有效的测试计划:
定义发布范围
安排时间表
定义测试目标
确定测试可交付成果
设计测试策略
规划测试环境和测试数据
在进行任何测试活动之前,定义版本的测试范围非常重要。这意味着定义需要包含在版本中的特性或功能,考虑可能影响版本的任何约束和依赖项,并确定版本的类型。
定义发布范围时要问的问题示例包括:
此版本中是否发布了新功能?
有哪些风险领域?
过去是否有任何特别棘手的领域出现了退化?
它是什么类型的发布?这是包含错误修复的维护版本吗?这是次要功能发布吗?这是一个主要功能发布吗?
对于您的团队来说,“完成”实际上是什么样的?
例如,如果您的组织刚刚推出了一个新的电子商务网站并希望在推出之前对其进行测试,那么您需要哪些信息?
无论是与开发人员交谈以了解项目范围,还是与产品经理合作演练新功能和用户流程,定义范围都可以确保共享准确的信息并对产品的目标达成共识,期望和特点。
指定发布截止日期以帮助您决定测试时间和例程。以下是确定时间表的一些提示:
请咨询您的项目经理以了解当前的发布时间表。
查看过去的发布时间和时间表。
考虑无关因素:发布是否需要与外部变量(例如会议或活动)一致?将这些因素纳入您的发布日期预测中。
考虑开发的时间表:您的开发团队可能有一个完成开发工作的固定时间表。确保您了解该时间范围,以便调整测试计划。
添加一些额外的回旋余地:遇到意外延误是很常见的。为不可预见的事件留出额外的时间可以帮助您坚持计划。
经常审查和更新时间表,以确保测试时间表可以实现。
测试目标是设计和执行测试的原因或目的。这些目标最终有助于指导和定义测试活动的范围。
一般测试目标的示例包括:
识别和报告缺陷
测试新功能
一定程度的测试覆盖率
特定类型测试的目标示例包括:
功能测试目标:确保软件正常工作。此目标的目标示例包括:验证用户工作流程、数据处理以及验证输入/输出参数。
性能测试目标:确保软件高效并能够处理各种负载。此目标的目标示例包括: 验证软件反应时间、吞吐量和可扩展性。
安全测试目标:发现程序安全缺陷。此目标的目标示例包括: 验证身份验证和授权功能以及识别潜在威胁。
可用性测试目标:专注于易用性和用户体验。此目标的目标示例包括:验证软件可访问性、验证用户流程以及识别与用户相关的问题。
指标评估发布的整体质量、测试进度以及测试的有效性(针对特定测试周期或整个测试)。
它们可以让您了解测试过程和整体产品质量,最终帮助您的团队决定您的版本是否已准备好发布。以下是您可能会考虑的一些度量公式:
缺陷密度
缺陷密度 = 缺陷数量/版本大小(代码行数)
示例:如果您的软件有 150 个缺陷和 15,000 行代码,则其缺陷密度为每行代码 0.01 个缺陷。
测试覆盖率
测试覆盖率 =(映射到测试用例的需求总数/需求总数)x 100。
缺陷检测效率(DDE)
DDE = 一个阶段中检测到的缺陷百分比/缺陷总数
上市时间
TTM = 贵公司从创意到产品发布所需的时间
测试可交付成果是帮助跟踪测试进度的测试产品。可交付成果应该满足您的项目和客户的需求,尽早确定以将其包含在测试计划中,并进行相应的安排。软件开发生命周期的每个阶段都有不同的测试可交付成果。以下是测试前、测试中和测试后需要关注的重要交付成果:
测试计划文档:测试计划中概述了测试工作的范围、目标和方法。
测试套件:测试用例说明如何运行测试,包括输入数据、预期输出和通过/失败标准。
测试设计和环境规范:测试环境概述了用于测试的硬件和软件配置。
测试日志:测试日志记录每个测试用例的结果,包括问题和解决方案。
缺陷报告:缺陷报告按严重性、优先级和再现性列出测试问题。
测试数据:根据国际软件测试资格委员会(ISTQB)的规定,测试数据是为满足执行一个或多个测试用例所需的执行前提条件和输入内容而创建或选择的数据。
测试摘要报告:测试摘要报告列出了运行、通过和失败的测试数量以及未解决的缺陷。
测试完成报告:涵盖测试范围、产品质量和发现的教训。
用户验收测试 (UAT) 报告:指出发现并修复的任何问题。
发行说明:列出有关发行内容的信息。示例包括用于开发、改进或修复的任何新功能。
测试计划的内容和结构根据其上下文而有所不同。尽管没有一种千篇一律的方法来编写测试计划,但遵循测试计划开发的最佳实践可以帮助公司交付高质量的软件。
TestRail 是一款测试计划软件,旨在让您轻松遵循测试计划开发的最佳实践。在 TestRail 中,您可以输入带有前提条件、测试说明、预期结果、优先级和工作量估计的测试用例。
图片:在文件夹中组织和构建可重用的测试用例,创建敏捷测试计划,并在 TestRail 中跟踪测试执行进度。
这种测试流程的灵活性和可见性使 TestRail 能够轻松融入任何组织的测试计划 —免费试用 TestRail,看看它如何帮助您制定测试计划。
测试策略有助于确定测试成本、测试工作量以及哪些功能将在范围内(计划进行测试)和范围外(不计划进行测试)。
确定何时执行什么类型的测试、什么应该手动测试和自动测试、自动化测试的范围、创建新测试用例需要多少工作以及谁将完成这项工作至关重要 。
根据多种因素,您的测试计划中可能包含各种类型的测试。
选择正确的测试类型时要考虑的因素示例包括:
测试目标
您的项目的功能要求
产品的复杂性
您团队的经验水平
监管要求
时间和预算
以下是您的测试计划中需要考虑包含的常用测试类型:
手动测试 自动化测试 其他 •冒烟测试
•探索性测试
•新功能的可用性测试•单元测试
• 现有功能的回归测试
•集成测试•性能测试
•安全测试
• 辅助功能测试
记录测试期间可能发生的风险以及这些风险的影响至关重要。风险可能包括:
严格的期限
预算估算不足或不准确
管理不善
代码问题
营商环境的变化
测试资源有限
测试期间意外延迟
测试物流应回答“谁、什么、何地、何时以及如何”。记录测试物流可确保所有人力和系统相关的测试资源可用。例如,您的团队确定谁可以进行测试以及谁将在测试期间需要时为他们提供支持,这一点可能很重要。此外,在资源规划时,确定替代资源或在计划中留出余量以确保项目完成可能会有所帮助。
测试标准是规范测试项目中所有活动的标准。两种主要类型的测试标准包括暂停和退出标准。
暂停标准:确定暂停所有测试的条件。
退出标准: 退出标准是要完成的既定项目或目标,定义测试阶段的结束。测试的退出标准是进入下一个测试阶段必须达到的预定结果。例如,必须通过 92% 的关键测试用例,才能认为功能适合发布给客户。
规划测试环境可保证测试的精确性和稳健性。测试环境包括用于软件测试的硬件、软件和网络配置。请按照以下步骤设置测试环境:
确定您的硬件和程序要求:选择测试环境设备和软件,包括操作系统、浏览器、数据库和测试工具。
安装所需的软件:满足先决条件后,在测试环境上安装必要的工具。这可能需要设置单独的服务器来托管应用程序并安装数据库管理系统或其他工具。
配置网络:确保测试环境和生产环境中的防火墙协议、IP 地址和 DNS 设置以及其他网络配置相同。
创建测试数据:为应用程序的测试准备测试材料。测试数据可以使用来自生产环境的数据手动创建,从现有生产环境和数据库检索,或者通过自动化数据生成工具创建。
访问构建:确保测试人员将要测试的构建可以访问。一个例子是设置文件共享或版本控制系统,以允许测试人员访问最新的版本。
验证测试环境:设置完成后,检查您的测试环境是否满足要求。
测试计划 标题
准备者:John Doe1.简介
•执行摘要(应保持简短)2.测试资源
•测试人员的姓名和角色3.测试范围
•范围内:需要测试的模块
•范围外:不需要测试的模块 4.测试方法
•测试方法和方法
•要执行的测试类型(例如功能、性能、安全性、可用性)5.测试时间表
•每个测试阶段的时间表6.风险和问题
•与测试过程相关的风险
•已识别风险的缓解策略
如果一页纸写不下您的测试计划,请不要担心。目的是最大限度地减少无关信息并捕获利益相关者和测试人员执行计划所需的必要信息。
测试管理工具可以帮助您的团队进行测试规划工作。无论您的目标是更加敏捷还是加速测试计划,都可以通过战术方法使用 TestRail 等测试管理工具制定全面且敏捷的测试计划。
里程碑
在 TestRail 中,里程碑是用于聚合测试工件并跟踪与相同结果相关的不同测试活动的容器。例如,如果您在 TestRail 中创建一个里程碑来跟踪某个版本并连接所有相关的测试运行和测试计划,那么您可以在一个位置看到您将为该版本执行的所有不同活动。
图片:在 TestRail 中管理所有里程碑和正在进行的测试项目。
在 TestRail 的里程碑中,描述字段提供了构建一页测试计划的好地方。通过从一开始就将所有测试计划信息与里程碑联系起来,您可以在计划时不断参考它并问自己诸如“范围内是什么?”之类的问题。“什么超出了范围?” “我们正在测试什么或没有测试什么?” 以及“我们要在这个里程碑中进行自动化测试吗?”
里程碑为您提供了一种从实际测试管理工具中快速参考测试计划信息的有效方法。
测试用例优先级和类型
测试用例定义了您要预先测试的内容;本质上,它们概述了您在行动之前将要做什么。在 TestRail 中,您可以根据许多层次结构组织测试用例。这是开始构建测试计划的关键方法。
例如,如果您正在开发高级消息传递应用程序,那么您的应用程序的最高风险区域是它必须能够安装和运行。在此示例中,您可以从冒烟测试开始,然后进行更深入的功能或探索性测试。
通过提前捕获测试用例的优先级以及您计划对特定测试用例采取哪种类型的测试方法,您就开始考虑在实践中规划该测试用例。
图片:根据优先级组织 TestRail 测试用例存储库。
测试报告
使用 TestRail 等测试管理工具执行测试非常有益,因为您可以使用实时报告。例如,如果您在 TestRail 中制定计划并围绕该计划执行,则像 TestRail 的里程碑摘要报告这样的报告将向您显示您的初始测试目标、初始一页测试计划、所有测试运行和在该里程碑中添加的计划、您分配给它们的优先级等等。您还可以下载报告以与您的团队或其他利益相关者共享。
图片:里程碑(摘要)报告允许用户附加项目标准并快速可视化里程碑活动的清晰、可共享的解释。
随着项目变得越来越复杂,使用电子表格作为测试计划模板可能会变得笨拙,并且需要更复杂的方法。使用 TestRail 等测试管理工具使您的测试计划尽可能灵活。
确保更高质量的发布:精心编写的测试计划有助于确保所有关键软件组件都经过彻底、系统的测试,从而降低被忽视的缺陷和错误的风险。
节省时间并提高测试效率:测试程序和活动的路线图允许团队确定任务的优先级。清晰的测试策略还可以重复使用,这有助于在规划过程中节省时间和金钱。
让利益相关者了解整个测试过程。
指导 QA 工程师满足要求:测试计划为 QA 工程师提供执行测试任务的方向,并确保测试程序符合技术和业务标准。这也意味着在测试过程中漏掉缺陷的可能性较低。
测试计划的组成部分 描述 范围 • 定义测试工作的边界
• 指定测试主题
• 指定要测试的任何特性或功能超出范围 • 描述在测试工作中故意省略的特性/功能
• 定义未测试的内容时间线 •设定测试完成的期望
•概述每个测试阶段的时间表,包括里程碑和可交付成果资源分配/角色和职责 •描述参与测试工作的团队成员的角色和职责
•定义每个测试阶段的资源分配工具 •描述要使用的测试设备(测试管理工具、自动化工具、CI/CD 工具等) 环境 •定义测试环境的标准
•描述构成测试环境的硬件、软件和网络配置可交付成果 •描述您期望从每个测试阶段得到什么(例如测试报告、测试结果和其他相关文档) 缺陷管理 •描述如何报告、跟踪和管理测试期间发现的错误
•定义错误的严重级别以及如何修复它们退出标准 •定义完成每个测试阶段的标准
•定义接受或拒绝被测系统的标准
测试计划的内容和结构将根据其使用环境的不同而有所不同。例如,在敏捷开发中,测试计划可能需要经常更改以跟上不断变化的目标。
如果您使用 DevOps 流程,测试计划可能需要解释测试如何与您的开发管道集成、现有自动化测试将涵盖测试的哪些部分,以及在此测试周期中您将尝试自动化哪些新测试。