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