制定一份完美的测试计划,让您的产品质量更上一层楼!

大家好,我是彭于晏。今天学习测试计划如何书写。 虽然很多人日常工作中都知道测试计划是什么,但是写好测试计划,其实并不容易。今天就来一起学习下测试计划如何书写。

什么是测试计划?

测试计划是一份为软件产品所准备的详细文档, 其中包含测试策略,测试目标,测试日程,测试评估,测试可交付成果以及测试执行过程中的测试资源。 测试计划可以帮助我们识别验证应用程序质量所需要的所有投入。 测试计划作为一个蓝图,将软件测试活动作为一个被定义的过程来进行,它被测试经理详细地监控和控制。

就像ISTQB 定义的那样:软件测试计划是一份描述了测试范围,测试方法,测试资源和包含各项计划测试活动的日程。

为什么测试计划很重要?

准备测试计划有很多好处:

1. 帮助非测试团队成员比如:开发人员,业务管理人员,客户等理解测试的详细情况。

2. 测试计划帮助我们思考,它就像一份规则指南一样,需要被严格 遵守。

3. 像测试评估,测试范围,测试策略等重要方面会列到测试室计划里,它可以被管理团队评审或者其他项目重复利用。

如何编写一份测试计划?

你已经知道了测试室管理流程里最重要的一份工作就是死制定测试计划。请参考如下8大步骤完成测试计划:

1. 分析产品

2. 设计测试策略

3. 定义测试对象

4. 定义测试准入准出准则

5. 规划资源

6. 规划测试环境

7. 计划和评估各项测试活动

8. 确定测试可交付成果

步骤1:分析产品

如果不了解一个产品,如何测试它?答案是不可能测试它。所以在测试前必须了解一个产品。

比如要测试一个 银行网站,肯定要研究客户和最终用例来了解它们对应用程序的需求和期望。

  • 谁会用这个网站?

  • 用它来干什么?

  • 它如何工作?

  • 产品中用到了哪些软件和硬件?

 
  1. 现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。

  2. 如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受

  3. 可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛

  4. 分享他们的经验,还会分享很多直播讲座和技术沙龙

  5. 可以免费学习!划重点!开源的!!!

  6. qq群号:455787643【暗号:csdn999】

你可以用如下方法来分析一个网站:

浏览下改网站,查看相关产品文档是必须要做的事情。查看相关文档可以帮助理解改网站的所有需求以及如何使用它。如果不清楚相关条目,就可以和客户,开发人员或者设计师了解相关背景。

步骤2:准备测试策略

测试策略是软件测试过程中测试计划里非常重要的一个步骤,测试策略经常是测试经理准备的高级的测试文档。该文档包含了:

  • 测试目标以及如何达成测试目标。

  • 确定测试的成本和投入

回到刚才的项目里,如何为一个银行项目准备测试策略呢,请参考如下步骤:

步骤2.1:定义测试范围

开始任何测试活动之前,首先应该了解测试范围。

  • 系统要被测试的所有组件包括但不限于硬件,软件,中间件等等,都应该被定义到范围内。

  • 所有不在 测试范围内的内容都应该被定义到 不在测试范围内。

对所有项目干系人来说,定义测试范围都是一件非常重要的。一份精确的范围可以帮助我们:

通过精准测的测试信息给所有人信心。

让所有项目成员对哪些会做测试和那些不做测试都有一个精准的理解。

如何确定测试范围?

首先必须了解如下信息:

  • 精准的客户原始诉求

  • 产品预算

  • 产品详细说明书

  • 测试团队当前的技能水平

有了如上信息后,范围内和范围外就有了明确的定义。就拿银行系统来说:

  • 软件需求说明书只能怪,讲了银行项目只集中在测试所有功能和银行网站的外部接口。

  • 非功能测试包括,压力测试,性能测试以及当前的逻辑数据库都不在测试范围内。

有问题的场景

客户想要测试API,但是项目预算不允许测试,该怎么办?

这种情况下,需要让客户确信 接口测试是额外的工作,同时需要消耗十分重要的资源。 需要数据支撑事实。 必须明确API 测试如果要包含在测试范围内需要增加 XXX 预算。

如果客户同意了新的范围后,不在范围内和范围内的条目就变更为:

  • 范围内:功能测试和API 测试

  • 范围外: 数据库测试,硬件测试和任何外部接口

步骤2.2:确定测试类型

测试类型是给出预期测试结果的标准测试过程。

每一种测试类型都是为了发现某一种产品的缺陷而制定的。但是所有的测试类型都是为了达成一个目标:在发布产品给客户之前发现所有的缺陷。

常见的测试类型如下:

单元测试:软件测试的最小单元

接口测试:测试应用程序的接口

集成测试:组合所有软件模块然后作为一个测试组合来测试。

系统测试:在一个完整的集成好的系统里根据系统的合规说明和需求文档来执行的测试。

安装卸载测试:主要集中在客户安装和卸载以及成功安装和删除过程中 的测试。

敏捷测试:在系统中使用敏捷测试方法执行的测试

在测试软件产品的过程中有成千上百的软件类型。测试团队肯定没有足够的经历去处理各种类型的测试四。 作为测试经理,必须对测试类型设置一个优先级。

  • 哪些测试类型可以集中在测试web 应用程序测试中?

  • 哪些测试类型应该作为节省成本被忽略?

步骤2.3:描述风险和问题

风险是未来不确定会发生但是又一定概率发生同时会给系统带来潜在损失的事件。当风险发生后,它就叫问题。

常见的测试计划中的风险和消减措施有:

风险

消减措施

团队成员缺少网站测试的必备技能

规划相关培训课程来提升技能

项目日程太紧张,很难在规定时间内完成。

为每一项测试活动添加优先级。

测试经理管理技能比较差

计划管理能力的培训计划

团队成员缺少积极合作精神,工作积极性差

在团队工作中鼓励每一个团队成员

成本估算错误,成本超支

开始工作前,评估范围,尤其是项目计划以及持续追踪当前项目进度

步骤2.4:组织测试工作

在测试组织工作中,测试经理需要回答如下问题:

  • 谁会测试?

  • 测试什么时候开始?

谁来测试?

您可能不知道将要测试的测试人员的确切名称,但是可以定义测试人员的类型。

为了选择合适的成员来完成特定的任务,你必须考虑他的技能是否胜任该任务,还要估计项目预算。为任务选择错误的成员可能导致项目失败或延迟。

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

  • 能够理解客户的观点

  • 强烈的品质要求

  • 注重细节

  • 良好的合作

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

测试什么时候进行?

测试活动必须与相关的开发活动相匹配。

当你拥有如下图所示的所有所需项目时,你就可以开始测试

步骤3):定义测试目标

测试目标是测试执行的总体目标和成果。测试的目标是发现尽可能多的软件缺陷;在发布之前,确保所测试的软件没有错误。

要定义测试目标,您应该执行以下两个步骤

  • 列出所有可能需要测试的软件特性(功能、性能、GUI…)

  • 基于上述特征定义测试的目标或目标

让我们应用这些步骤来找到银行测试项目的测试目标

你可以选择“自上而下”的方法来找到网站可能需要测试的功能。在这种方法中,您将被测试的应用程序分解为组件和子组件。

在前面的主题中,您已经分析了需求规范并浏览了网站,因此您可以创建一个思维导图来查找以下网站功能

该图显示了银行网站可能具有的所有功能。

基于以上特性,您可以定义项目的Test Objective,如下所示

  • 检查网站功能(帐户,存款…)是否正常工作,在真实的商业环境中没有任何错误或错误

  • 检查网站的外部界面,如用户界面是否正常工作,并满足客户的需求

  • 验证网站的可用性。这些功能对用户是否方便?

步骤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网络您需要一个包括局域网和Internet在内的网络来模拟真实的业务和用户环境
4电脑用户经常用来连接web服务器的PC机

步骤6):规划测试环境

什么是测试环境

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

如何设置测试环境

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

为了完成这项任务,您需要测试团队和开发团队之间的强有力合作

您应该向开发人员询问一些问题,以便清楚地了解被测试的web应用程序。以下是一些推荐问题。当然,如果需要,你也可以问其他问题。

本网站可同时处理的最大用户连接数是多少?

安装本网站有什么硬件/软件要求?

用户的计算机是否需要任何特定的设置来浏览网站?

常见的web 网站使用场景:用户----浏览器----网络----Web服务器---数据库服务器

步骤7):计划和评估

在测试评估这篇文章中,您已经使用了一些技术来评估完成项目的工作量。现在您应该将评估和时间表包括到测试计划中

在测试评估阶段,假设您将整个项目分解为小任务,并为每个任务添加如下所示的评估

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

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

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

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

  • 员工和项目截止日期:工作日、项目截止日期、资源可用性是影响进度的因素

  • 项目评估:基于评估,测试经理知道完成项目需要多长时间。这样他就可以制定合适的项目时间表

  • 项目风险:理解风险有助于测试经理在项目计划中增加足够的额外时间来处理风险

步骤8)测试交付成果

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

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

在测试阶段之前提供测试成果。

  • 测试计划文档。

  • 测试用例文档

  • 测试设计规范。

测试过程中提供测试成果

  • 测试脚本

  • 模拟器。

  • 测试数据

  • 测试跟踪矩阵

  • 错误日志和执行日志。

测试周期结束后提供测试可交付成果。

  • 测试结果/报告

  • 缺陷报告

  • 安装/测试程序指南

  • 发布说明

完整的一个测试计划就准备好了。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/443389.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

帮管客CRM jiliyu接口存在SQL漏洞 附POC软件

免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 1. 帮管客CRM简介 微信公众号搜索:南风漏洞复现文库…

yolo模型中神经节点Mul与Sigmoid 和 Conv、Concat、Add、Resize、Reshape、Transpose、Split

yolo模型中神经节点Mul与Sigmoid 和 Conv、Concat、Add、Resize、Reshape、Transpose、Split 在YOLO(You Only Look Once)模型中,具体作用和用途的解释:

接口自动化测试从入门到高级实战!

接口测试背景和必要性 接口测试是测试系统组件间接口(API)的一种测试,主要用于检测内部与外部系统、内部子系统之间的交互质量,其测试重点是检查数据交换、传递的准确性,控制和交互管理过程,以及系统间相互…

深入浅出计算机网络 day.1 概论③ 电路交换、分组交换和报文交换

人无法同时拥有青春和对青春的感受 —— 04.3.9 内容概述 01.电路交换、分组交换和报文交换 02.三种交换方式的对比 一、电路交换、分组交换和报文交换 1.电路交换 计算机之间的数据传送是突发式的,当使用电路交换来传送计算机数据时,其线路的传输效率一…

Rust教程:How to Rust-从开始之前到Hello World

本文为第0篇 专栏简介 本专栏是优质Rust技术专栏,推荐精通一门技术栈的蟹友,不建议基础的同学(无基础学Rust也是牛人[手动捂脸]) 感谢Rust圣经开源社区的同学,为后来者提供了非常优秀的Rust学习资源 本文使用&…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Image)

Image为图片组件,常用于在应用中显示图片。Image支持加载PixelMap、ResourceStr和DrawableDescriptor类型的数据源,支持png、jpg、jpeg、bmp、svg、webp和gif类型的图片格式。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容&am…

【C/C++】常量指针与指针常量的深入解析与区分(什么是const int * 与 int * const ?)

目录 一、前言 二、const 的简单介绍 三、常量指针 🔍介绍与分析 📰小结与记忆口诀 四、指针常量 🔍介绍与分析 📰小结与记忆口诀 五、总结与提炼 六、共勉 一、前言 在【C/C】的编程中,指针与const关键字的组合…

大模型笔记:幻觉 hallucination

1 介绍 “幻觉” (Hallucination),指模型生成自然流畅,语法正确但实际上毫无意义且包含虚假信息即事实错误的文本,以假乱真,就像人产生的幻觉一样。 举个例子就是,即使现在的chatgpt-4,你问他一些有确切…

面向切面编程(AOP)介绍(横切关注点、通知(增强)、连接切入点、切面)

1. 面向切面编程思想AOP AOP:Aspect Oriented Programming面向切面编程 AOP可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公…

Qt 实现诈金花的牌面值分析工具

诈金花是很多男人最爱的卡牌游戏 , 每当你拿到三张牌的时候, 生活重新充满了期待和鸟语花香. 那么我们如果判断手中的牌在所有可能出现的牌中占据的百分比位置呢. 这是最终效果: 这是更多的结果: 在此做些简单的说明: 炸弹(有些地方叫豹子) > 同花顺 > 同花 > 顺…

CSS3基础2

CSS3 用户界面 resize 示例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>…

Oracle LeetCode 高频 SQL 50 题(进阶版)

https://leetcode.cn/studyplan/sql-premium-50/ 一、查询 1821. 寻找今年具有正收入的客户 selectcustomer_id from Customers where year 2021 group by customer_id having sum(revenue) > 0183. 从不订购的客户 select c.name as Customers from Customers c left j…

Windows-Wireguard-Watchdog,Wireguard服务端DDNS客户端自动重连

Windows-Wireguard-Watchdog 背景&#xff1a;Wireguard服务端是动态IP&#xff0c;Wireguard客户端配置的服务端地址是域名 Endpoint xx.xxx.com:51820&#xff0c;写的DDNS脚本检测到IP变更会自动更新域名解析。每次宽带重拨IP就会变更&#xff0c;由于客户端重连使用的不是…

VSCODE解决git合并过程中的冲突问题;error: failed to push some refs to

1&#xff1a;异常现象 推送有冲突的git修改到远端的时候&#xff0c;会有如下提示 git.exe push --progress “origin” master:master To http://gitlab.xxx.com/dujunqiu/test.git ! [rejected] master -> master (fetch first) error: failed to push some refs to ‘…

00在linux环境下搭建stm32开发环境

文章目录 前言一、环境搭建1.arm-none-eabi-gcc2.openocd 三、创建stm32标准库工程1.创建工程目录2.修改stm32_flash.ld文件3.写makefile文件4.修改core_cm3.c5.写main函数并下载到板子上 最后 前言 我在那天终于说服自己将系统换成了linux系统了&#xff0c;当换成了linux系统…

博士推荐 | 薄膜、涂层技术和液晶材料/器件领域的博士

编辑 / 木子 审核 / 朝阳 伟骅英才 伟骅英才致力于以大数据、区块链、AI人工智能等前沿技术打造开放的人力资本生态&#xff0c;用科技解决职业领域问题&#xff0c;提升行业数字化服务水平&#xff0c;提供创新型的产业与人才一体化服务的人力资源解决方案和示范平台&#x…

tomcat通过service.bat install方式安装,内存不够了怎么办?

1.通过service.bat安装 安装命令再tomcat的bin目录下&#xff0c;执行命令 .\service.bat install Apache Tomcat 8.5 Tomcat8之后就会在服务里面有个tomcat服务 2. 如何增加tomcat内存呢&#xff1f; 通过service.bat安装肯定再service.bat中配置啊。 再service.bat文件中…

蓝桥杯python常用内置函数

一、 abs() #返回数字的绝对值 例&#xff1a; 二、 all() #判断给定的可迭代参数中的所有元素是否都为True&#xff0c;若是则返回True&#xff0c;反之返回False 例&#xff1a; 三、 any() #判断给定的可迭代参数是否都为False&#xff0c;全为False则返回False&am…

论文的引用书写方法

前置操作 1、全选文献 2、在开始选项卡 段落功能区 选择编号功能 3、设置编号格式 [1] 论文的引用 1、光标放在需要引用论文的地方 2、选择引用选项卡 点击交叉引用 3、引用类型为编号项 引用内容为段落编号 选择需要的第几条参考文献

应对高并发的软件架构之道

在去年年终总结的时候&#xff0c;我提出了这样的困惑&#xff0c;究竟什么是真正的技术能力&#xff0c;是对于各种底层技术的钻研吗&#xff1f;钻研是好事&#xff0c;但实践下来&#xff0c;深入钻研并不在实际工作中有用&#xff0c;且钻研的越深&#xff0c;忘得越快&…