测试计划

测试计划的创建(带示例)

测试计划是一份详细的文档,描述了执行软件产品测试所需的测试策略、目标、时间表、评估、交付成果和资源。测试计划作为蓝图,将软件测试活动作为已定义的过程进行管理,该过程由测试经理进行详细的监视和控制。

根据ISTQB的定义:“测试计划是描述预期测试活动的范围、方法、资源和时间表的文档。”

让我们从以下测试计划示例/场景开始:在一次会议上,想要与团队成员讨论测试计划,但很多组员对此不感兴趣。

在这种情况下,会怎么做?选择答案,如下图所示

  1. 我是经理,一切按我说的做

  2. 好的,我解释一下为什么需要一份测试计划

作为一名正确的测试经理,必须向他们解释测试计划的重要性,而不是强迫团队做想要做的事情。

测试计划的重要性是什么?

制作测试计划文档有多种好处

  • 帮助测试团队之外的人员(如开发人员、业务经理、客户)了解测试的细节。
  • 测试计划指导思考。它就像一本规则手册,需要遵守。
  • 测试计划中记录了测试评估、测试范围、测试策略等重要方面,因此管理团队可以对其进行审查,并在其他项目中重复使用。

如何编写测试计划

已经知道,制定测试计划是测试管理过程中最重要的任务。按照以下七个步骤创建符合IEEE 829的测试计划

  1. 分析产品
  2. 设计测试策略
  3. 定义测试目标
  4. 定义测试标准
  5. 资源规划
  6. 计划测试环境
  7. 进度和估算
  8. 确定测试交付内容

步骤1) 分析产品

怎么能在没有任何相关信息的情况下测试产品呢?答案是不可能的。在测试产品之前,必须彻底了解它。

正在测试的产品银行网站,应该对客户端和最终用户进行研究,以了解他们对应用程序的需求和期望

  • 谁将使用该网站?
  • 它是用来做什么的?
  • 它将如何运作?
  • 产品使用的软件/硬件是什么?

应该浏览一下被测试网站,并查看一下产品文档。查看产品文档有助于了解网站的所有功能以及如何使用。如果对任何项目不清楚,可以与客户、开发人员和设计师沟通,获得更多信息。

步骤2) 制定测试策略

测试策略是软件测试中制定测试计划的关键步骤。本文档定义了测试策略文档:

  • 项目的测试目标和实现这些目标的方法
  • 确定测试工作量和成本

回到项目,需要开发用于测试银行网站的测试策略。应该按照以下步骤操作

步骤2.1) 定义测试范围

在开始任何测试活动之前,应该知道测试的范围。一定要好好考虑一下。

  • 要测试的系统组件(硬件、软件、中间件等)被定义为“在范围内”
  • 不会进行测试的系统组件也需要明确定义为“超出范围”。

定义测试项目的范围对所有涉众都非常重要。精确的范围可以帮助

  • 让每个人都对正在进行的测试有信心和准确的信息
  • 所有项目成员都将清楚地了解哪些内容需要测试,哪些内容不需要测试

如何确定项目范围?

为确定范围,必须-

  • 精确的客户要求
  • 项目预算
  • 产品规格说明
  • 测试团队的技能和能力

明确界定测试的“范围内”和“范围外”。

  • 作为软件需求规格书,银行项目只专注于测试网站的所有功能和外部接口(在范围测试中)
  • 目前不会压力测试、性能测试或逻辑数据库等非功能测试。(超出范围)

问题场景

客户希望测试他的API。但是这种情况下会怎么做呢?

嗯,在这种情况下,需要说服客户,Api测试是一项额外的工作,将消耗大量的资源。告诉他如果API检测包括在范围内,预算将增加XYZ金额。

客户同意,因此新范围、超出范围的项目

  • 范围内项目:功能测试、API测试
  • 超出范围的项目:数据库测试、硬件和任何其他外部接口

步骤2.2) 识别测试类型

测试类型是提供预期测试结果的标准测试过程。

每种测试类型都是为了识别特定类型的产品错误而制定的。但是,所有的测试类型都旨在实现一个共同的目标:“在将产品发布给客户之前,及早发现所有的缺陷”。

常用的测试类型如下图所示

常用测试类型

测试软件产品的测试类型繁多。作为测试经理,必须设置测试类型的优先级

  • Web应用程序测试应关注哪些测试类型?
  • 为了节约成本,哪些测试类型应该忽略?

现在让我们练习一下项目。要测试的产品是一个银行网站。在这种情况下,应该关注哪些测试类型?选择所有适用的选项

  1. 单元测试

  2. API测试

  3. 集成测试

  4. 系统测试

  5. 安装/卸载测试

  6. 敏捷测试

我们只选择B) API测试,C) 集成测试,D) 项目的系统测试

步骤2.3) 记录风险和问题

风险是未来具有发生概率和潜在损失的不确定事件。当风险真正发生时,它就成了“问题”。 在“风险分析和解决方案”一文中,已经详细了解了“风险”分析,并确定了项目中的潜在风险。 在QA测试计划中,将记录这些风险

风险 缓解
团队成员缺乏网站测试所需的技能。 计划培训课程以提高会员的技能
工程进度太紧,很难按时完成这项工程 为每个测试活动设置测试优先级。
测试经理的管理技能很差 为经理制定领导力培训计划
缺乏合作会对员工的生产力造成负面影响 鼓励每个团队成员完成任务,激励他们更加努力。
错误的预算估计和成本超支 开工前确定范围,高度重视项目规划,不断跟踪和衡量进度

步骤2.4) 创建测试任务分发

在测试中,测试经理应回答以下问题:

  • 谁来测试呢?
  • 测试什么时候进行?

谁来测试呢?

可能不知道将进行测试的测试员的确切姓名,但可以定义测试员的类型。

要为指定的任务选择合适的成员,必须考虑他的技能是否符合任务的要求,并估计项目预算。为任务选择错误的成员可能会导致项目失败或延迟。

具备以下技能的人员最适合执行软件测试:

  • 能够理解客户的观点
  • 对质量的强烈渴求
  • 注重细节
  • 良好的合作关系

在项目中,负责测试执行的成员是测试人员。根据项目预算,可以选择开源或外包成员作为测试员。

测试什么时候进行?

测试活动必须与相关的开发活动相匹配。 当拥有所有必需的项目时,将开始测试,如下图所示

步骤3) 定义测试目标

测试目标是测试执行的总体目标和成果。确保所测试的软件在发布之前没有错误。 要定义测试目标,应该执行以下两个步骤

  1. 列出所有软件功能(功能、性能、图形用户界面…)可能需要测试一下。
  2. 根据上述特征定义测试的目标或目标

步骤4) 定义测试标准

测试标准是测试程序或测试判断所依据的标准或规则。有两种类型的测试标准,如下所示

暂停标准

指定测试的关键挂起标准。如果在测试过程中满足暂停标准,则活动测试周期将暂停,直到解决。

测试计划示例:如果团队成员报告有40%的测试用例失败,应该暂停测试,直到开发团队修复了所有失败的用例。

结束条件

它指定了表示测试阶段成功完成的标准。结束标准是示例的目标结果:95%的关键测试用例必须通过。

定义结束标准的一些方法是通过指定目标运行率和通过率。

  • 运行率是执行的测试用例数量与测试规范的测试用例总数之比。例如,测试规范总共有120个TC,但是测试员只执行了100个TC,所以运行率是100/120=0.83(83%)
  • 通过率是通过的测试用例数/执行的测试用例数之比。例如,在执行的100个以上的TC中,有80个TC通过,因此通过率为80/100=0.8(80%)

可以在测试指标文档中检索此数据。

  • 运行率必须是100%,除非给出明确的原因。
  • 通过率取决于项目范围,但达到高通过率是一个目标。

测试计划示例:团队已经完成了测试执行。他们向报告测试结果,并希望确认结束标准。 在上述情况下,强制运行率为100%,但是测试团队只完成了90%的测试用例。这意味着运行率不满足,所以不要确认结束标准

步骤5) 资源规划

资源计划是完成项目任务所需的所有类型资源的详细汇总。资源可以是完成项目所需的人力、设备和材料

资源计划是测试计划的重要因素,因为它有助于确定资源(员工、设备…)的数量将用于该项目。因此,测试经理可以为项目做出正确的计划和估计。

以下表示为项目推荐的资源。

人力资源

下表表示项目团队中的各个成员

编号 成员 任务
1. 项目管理 管理整个项目 定义项目方向 获取适当的资源
2. 测试人员 确定并描述适当的测试技术/工具/自动化体系结构 验证和评估测试方法 执行测试,记录结果,报告缺陷。 根据项目预算,测试人员可以是内包型或外包型成员 对于技能要求不高的任务,建议选择外包成员,以节省项目成本。
3. 测试中的开发人员 执行测试用例、测试程序、测试套件等。
4. 测试主管 建立并确保测试环境和资产得到管理和维护 支持测试人员使用测试环境执行测试
5. SQA成员 负责质量保证工作 检查以确认测试流程是否满足指定的要求

系统资源

对于Web应用程序的测试,应按下表规划资源:

序号 资源 描述
1. 服务器 安装测试中的Web应用程序 这包括单独的Web服务器、数据库服务器和应用程序服务器(如果适用
2. 测试工具 测试工具是自动化测试,模拟用户操作,生成测试结果 有大量的测试工具可以用于此项目,例如Selenium、qtp…等。
3. 网络 需要一个包含LAN和Internet的网络来模拟真实的业务和用户环境
4. 电脑 用户经常用来连接Web服务器的PC

步骤6) 规划测试环境

什么是测试环境

测试环境是测试团队将在其上执行测试用例的软件和硬件的设置。测试环境包括真实的业务环境和用户环境,以及服务器、前端运行环境等物理环境。

如何设置测试环境

回到项目,如何为这个银行网站设置测试环境?

要完成此任务,需要测试团队和开发团队之间的大力合作。应该问开发人员一些问题,以便清楚地理解测试中的Web应用程序。当然,如果需要的话,可以问其他问题。

  • 本网站可以同时处理的最大用户连接是多少?
  • 安装此网站的硬件/软件要求是什么?
  • 用户的计算机需要任何特定设置才能浏览网站吗?

下图描述了银行网站的测试环境

步骤7) 进度表和评估

在“测试评估”一文中,已经使用了一些技术来评估完成项目的工作量。现在,应该在测试计划中包括该评估和时间表。在测试评估阶段,假设将整个项目分为多个小任务,并为每个任务添加评估,如下所示

任务 参与人员 估计工作量
创建测试规范 测试设计者 170 工时
执行测试执行 测试员、测试管理员 80 工时
测试报告 测试人员 10 工时
测试交付 20 工时
总计 280 工时

然后创建计划以完成这些任务。

制定进度计划是项目管理中的一个常用术语。通过在测试计划中创建可靠的进度表,测试经理可以将其用作监控项目进度、控制成本超支的工具。

要创建项目进度表,测试经理需要几种类型的输入,如下所示:

  • 员工和项目截止日期:工作日、项目截止日期、资源可获得性是影响进度的因素
  • 项目评估:基于评估,测试经理知道完成项目需要多长时间。这样他就可以制定合适的项目时间表
  • 项目风险:了解风险,有利于测试经理在项目日程中增加足够的额外时间来处理风险

用一个例子来练习: 假设老板希望在一个月内完成A项目,已经在测试评估中估计了每项任务的工作量。可以按如下方式创建计划

步骤8) 测试交付内容

测试交付项是为支持测试工作而必须开发和维护的所有文档、工具和其他组件的列表。

在软件开发生命周期的每个阶段都有不同的测试可交付内容。

测试交付件在测试阶段之前提供:

  • 测试计划文档。
  • 测试用例文档
  • 测试设计规范。

测试期间提供测试交付件 :

  • 测试脚本
  • 模拟器
  • 测试数据
  • 测试可追溯性矩阵
  • 错误日志和执行日志。

测试交付件在测试周期结束后提供:

  • 测试结果/报告
  • 缺陷报告
  • 安装/测试程序指南
  • 发行说明

IT赶路人

专注IT知识分享