软件测试中的测试计划(示例)
测试计划
测试计划是一份详细的文档,描述了为软件产品执行测试所需的测试策略、目标、时间表、估算、可交付成果和资源。测试计划有助于我们确定验证被测应用程序质量所需的精力。测试计划作为进行软件测试活动的蓝图,是一个由测试经理仔细监控和控制的定义过程。
根据ISTQB定义:“测试计划是一份描述预期测试活动的范围、方法、资源和时间表的文档。”
让我们从以下测试计划示例/场景开始:在一次会议中,您想与团队成员讨论测试计划,但他们不感兴趣——。
在这种情况下,您会怎么做?按以下图选择您的答案
A) 我是经理,一切都按我说的做
B) 好的,让我解释一下为什么我们需要测试计划
不正确
作为测试经理,您必须向他们解释测试计划的重要性,而不是强迫团队做您想做的事情。
正确
作为测试经理,您必须向他们解释测试计划的重要性,而不是强迫团队做您想做的事情。
测试计划的重要性是什么?
制作测试计划文档有诸多好处
- 帮助测试团队以外的人员(如开发人员、业务经理、客户)理解测试的细节。
- 测试计划指导我们的思考。它就像一本需要遵循的规则手册。
- 测试估算、测试范围、测试策略等重要方面都记录在测试计划中,以便管理团队进行审查并可用于其他项目。
如何编写测试计划
您已经知道制定测试计划是测试管理过程中最重要的任务。请遵循以下七个步骤,根据IEEE 829创建测试计划
- 分析产品
- 设计测试策略
- 定义测试目标
- 定义测试标准
- 资源规划
- 规划测试环境
- 时间表和估算
- 确定测试可交付成果
步骤 1) 分析产品
您如何在没有任何产品信息的情况下测试产品?答案是不可能的。您必须在测试产品之前彻底了解它。
被测产品是Guru99银行网站。您应该研究客户和最终用户,了解他们对应用程序的需求和期望
- 谁将使用该网站?
- 它有什么用途?
- 它将如何工作?
- 产品使用了哪些软件/硬件?
您可以使用以下方法分析网站
现在让我们将以上知识应用于真实产品:分析银行网站https://demo.guru99.com/V4。
您应该浏览此网站并审查产品文档。审查产品文档有助于您了解网站的所有功能以及如何使用它。如果您对任何项目不清楚,您可以采访客户、开发人员、设计师以获取更多信息。
步骤 2) 制定测试策略
测试策略是软件测试中制定测试计划的关键步骤。测试策略文档是一个高级文档,通常由测试经理制定。该文档定义了
- 项目的测试目标以及实现这些目标的方法
- 确定测试工作量和成本
回到您的项目,您需要为测试该银行网站制定测试策略。您应该遵循以下步骤
步骤 2.1) 定义测试范围
在任何测试活动开始之前,应了解测试的范围。您必须认真思考。
- 要测试的系统组件(硬件、软件、中间件等)定义为“在范围之内”
- 不需要测试的系统组件也需要明确定义为“超出范围”。
定义您的测试项目范围对所有利益相关者都非常重要。精确的范围有助于您
- 向所有人提供您正在进行的测试的信心和准确信息
- 所有项目成员都将对测试什么和不测试什么有清晰的理解
您如何确定您的项目范围?
要确定范围,您必须——
- 精确的客户需求
- 项目预算
- 产品规格
- 您的测试团队的技能和才能
现在应该清楚地定义测试的“在范围之内”和“超出范围”。
- 根据软件需求规范,Guru99银行项目仅侧重于测试Guru99银行网站的所有功能和外部接口(在范围之内的测试)
- 非功能测试,如压力、性能或逻辑数据库目前将不进行测试。(超出范围)
问题场景
客户希望您测试其API。但项目预算不允许这样做。在这种情况下,您会怎么做?
在这种情况下,您需要说服客户,API测试是额外的工作,将消耗大量资源。给他提供支持您事实的数据。告诉他,如果API测试包含在范围内,预算将增加XYZ金额。
客户同意,相应地,新的范围、超出范围的项目是
步骤 2.2) 识别测试类型
测试类型是给出预期测试结果的标准测试过程。
每种测试类型都旨在识别特定类型的产品缺陷。但是,所有测试类型都旨在实现一个共同目标:“在向客户发布产品之前及早发现所有缺陷”
常用测试类型如下图所示
测试软件产品有大量的测试类型。您的团队没有足够精力处理所有类型的测试。作为测试经理,您必须为测试类型设置优先级
- Web应用程序测试应重点关注哪些测试类型?
- 为节省成本应忽略哪些测试类型?
步骤 2.3) 记录风险和问题
风险是未来不确定事件,具有发生的可能性和潜在损失。当风险实际发生时,它就成为“问题”。
在文章风险分析与解决方案中,您已经详细了解了“风险”分析并识别了项目中的潜在风险。
在QA测试计划中,您将记录这些风险
风险 | 缓解措施 |
---|---|
团队成员缺乏网站测试所需的技能。 | 计划培训课程以提升您的成员技能 |
项目时间表太紧,很难按时完成此项目 | 为每项测试活动设置测试优先级。 |
测试经理管理技能差 | 为经理计划领导力培训 |
缺乏合作会对员工生产力产生负面影响 | 鼓励每位团队成员完成任务,并激励他们付出更大的努力。 |
错误的预算估算和成本超支 | 在开始工作之前确定范围,密切关注项目规划,并持续跟踪和衡量进度 |
步骤 2.4) 创建测试物流
在测试物流中,测试经理应回答以下问题
- 谁来测试?
- 何时进行测试?
谁来测试?
您可能不知道将进行测试的测试员的具体姓名,但可以定义测试员类型。
要为特定任务选择合适的成员,您必须考虑他的技能是否符合任务要求,并估算项目预算。为任务选择错误的成员可能会导致项目失败或延迟。
具备以下技能的人员最适合执行软件测试
- 能够理解客户的观点
- 对质量有强烈的渴望
- 注重细节
- 良好的合作
在您的项目中,负责测试执行的成员是测试员。根据项目预算,您可以选择内部或外部成员作为测试员。
何时进行测试?
测试活动必须与相关的开发活动相匹配。
当您拥有以下图中所示的所有所需项目时,您将开始测试
步骤 3) 定义测试目标
测试目标是测试执行的总体目标和成就。测试的目的是尽可能多地发现软件缺陷;确保被测软件在发布前无缺陷。
要定义测试目标,您应该执行以下 2 个步骤
- 列出所有可能需要测试的软件功能(功能、性能、GUI...)。
- 根据上述功能定义测试的目标或目的
让我们应用这些步骤来找出您的 Guru99 银行测试项目的测试目标
您可以选择“自上而下”方法来查找网站可能需要测试的功能。在此方法中,您将被测应用程序分解为组件和子组件。
在上一主题中,您已经分析了需求规范并浏览了网站,因此您可以创建思维导图以找到网站功能,如下所示
此图显示了 Guru99 网站可能拥有的所有功能。
基于以上功能,您可以将 Guru99 项目的测试目标定义如下
- 检查 Guru99 网站的功能(账户、存款等)是否在真实业务环境中按预期运行,没有任何错误或缺陷
- 检查网站的外部接口(如UI)是否按预期运行并满足客户需求
- 验证网站的可用性。这些功能是否方便用户?
步骤 4) 定义测试标准
测试标准是测试过程或测试判断的依据标准或规则。测试标准分为以下两种类型
暂停标准
指定测试的关键暂停条件。如果在测试过程中满足暂停条件,则活动的测试周期将暂停,直到条件解决。
测试计划示例:如果您的团队成员报告有40%的测试用例失败,您应该暂停测试,直到开发团队修复所有失败的用例。
出口标准
它指定了表示测试阶段成功完成的标准。退出标准是测试的目标结果,并且在进入开发的下一阶段之前是必需的。示例:所有关键测试用例的95%必须通过。
定义退出标准的一些方法是指定目标运行率和通过率。
- 运行率是已执行测试用例数量/测试规范总测试用例数量的比率。例如,测试规范总共有 120 个测试用例,但测试人员只执行了 100 个测试用例,因此运行率为 100/120 = 0.83 (83%)
- 通过率是通过测试用例数量/已执行测试用例数量的比率。例如,在上述执行的 100 个测试用例中,有 80 个测试用例通过,因此通过率为 80/100 = 0.8 (80%)
此数据可在测试指标文档中检索。
- 运行率强制要求达到100%,除非给出明确理由。
- 通过率取决于项目范围,但实现高通过率是一个目标。
测试计划示例:您的团队已完成测试执行。他们向您报告测试结果,并希望您确认退出标准。
在上述情况下,运行率强制要求达到100%,但测试团队仅完成了90%的测试用例。这意味着运行率不符合要求,因此请勿确认退出标准。
步骤 5) 资源规划
资源计划是完成项目任务所需所有类型资源的详细摘要。资源可以是完成项目所需的人力、设备和材料
资源规划是测试规划的重要因素,因为它有助于确定项目要使用的资源数量(员工、设备等)。因此,测试经理可以为项目制定正确的进度和估算。
本节介绍了您项目推荐的资源。
人力资源
下表列出了您的项目团队中的各种成员
编号 | 成员 | 任务 |
---|---|---|
1. |
测试经理 |
管理整个项目 定义项目方向 获取适当的资源 |
2. |
测试员 |
识别和描述适当的测试技术/工具/自动化架构 验证和评估测试方法 执行测试,记录结果,报告缺陷。 测试员可以是内部或外部成员,取决于项目预算 对于需要低技能的任务,我建议您选择外包成员以节省项目成本。 |
3. |
测试开发人员 |
实施测试用例、测试程序、测试套件等。 |
4. |
测试管理员 |
建立并确保测试环境和资产得到管理和维护 支持测试人员使用测试环境进行测试执行 |
5. |
SQA成员 |
负责质量保证 检查以确认测试过程是否符合指定要求 |
系统资源
对于测试Web应用程序,您应该按以下表格规划资源
编号 | 资源 | 描述 |
---|---|---|
1. |
服务器 |
安装被测Web应用程序 这包括一个单独的Web服务器、数据库服务器和应用服务器(如果适用) |
2. |
测试工具 |
测试工具用于自动化测试,模拟用户操作,生成测试结果 您可以为这个项目使用大量的测试工具,例如Selenium、QTP等。 |
3. |
网络 |
您需要一个包括局域网和互联网的网络来模拟真实的业务和用户环境 |
4. |
电脑 |
用户经常用来连接Web服务器的PC |
步骤 6) 规划测试环境
什么是测试环境
测试环境是测试团队将执行测试用例的软件和硬件设置。测试环境包括真实业务和用户环境,以及物理环境,例如服务器、前端运行环境。
如何设置测试环境
回到您的项目,您如何为这个银行网站设置测试环境?
要完成这项任务,您需要测试团队和开发团队之间强有力的合作
您应该向开发人员提出一些问题,以便清楚地了解被测Web应用程序。这里有一些推荐的问题。当然,如果需要,您可以提出其他问题。
- 这个网站能同时处理的最大用户连接数是多少?
- 安装这个网站所需的硬件/软件要求是什么?
- 用户的计算机是否需要任何特定的设置才能浏览网站?
下图描述了银行网站https://demo.guru99.com/V4的测试环境
步骤 7) 时间表和估算
在测试估算一文中,您已经使用了一些技术来估算完成项目所需的工作量。现在您应该将该估算以及时间表纳入测试计划中。
在测试估算阶段,假设您将整个项目分解为小任务,并为每个任务添加估算,如下所示
任务 | 成员 | 估算工作量 |
---|---|---|
创建测试规范 |
测试设计师 |
170 人时 |
执行测试 |
测试员、测试管理员 |
80 人时 |
测试报告 |
测试员 |
10 人时 |
测试交付 |
20 人时 |
|
总计 |
280 人时 |
然后您创建完成这些任务的时间表。
制定时间表是项目管理中的一个常见术语。通过在测试计划中创建坚实的时间表,测试经理可以将其用作监控项目进度、控制成本超支的工具。
要创建项目时间表,测试经理需要以下几种类型的输入
- 员工和项目截止日期:工作日、项目截止日期、资源可用性是影响时间表的因素
- 项目估算:根据估算,测试经理知道完成项目需要多长时间。因此他可以制定适当的项目时间表
- 项目风险:了解风险有助于测试经理在项目时间表中添加足够的额外时间来应对风险
让我们用一个例子来练习
假设老板希望在一个月内完成Guru99项目,您已经在测试估算中估算了每个任务的工作量。您可以创建如下时间表
步骤 8) 测试可交付成果
测试可交付成果是为支持测试工作而必须开发和维护的所有文档、工具和其他组件的列表。
在软件开发生命周期的每个阶段都有不同的测试可交付成果。
测试可交付成果在测试阶段之前提供。
- 测试计划文档。
- 测试用例文档
- 测试设计规范。
测试可交付成果在测试期间提供
- 测试脚本
- 模拟器。
- 测试数据
- 测试可追溯性矩阵
- 错误日志和执行日志。
测试可交付成果在测试周期结束之后提供。
- 测试结果/报告
- 缺陷报告
- 安装/测试程序指南
- 发行说明
资源