# 一份有效的软件测试计划要怎么写?
测试计划(software test plan)是软件测试员和产品开发小组交流及完成指标的主要表达方式。测试计划的目的是:规定测试活动的范围、方法、资源和进度。明确正在测试的项目、要测试的特性、要执行的测试任务、每个任务的负责人,以及与计划相关的风险。最终提高测试的工作效率,保障测试工作顺利、保质保量完成测试工作。
简单的来说测试计划就是用来
1)明确工作内容
2)计划工作完成时间
3)分配工作资源
4)预估工作风险
测试管理者根据自身实际情况的项目、团队管理情况,合适的测试计划文档模块编写测试工作的测试计划、便于向项目中的其它成员告知测试工作是如何安排和进行工作。在执行测试时都要执行的测试用例点有哪些?具体在写测试计划中,哪些信息是需要考虑的,哪些东西是不需要考虑的,可以根据自己项目的具体情况进行增减安排和设计即可。
那么,一份有效的软件测试计划要怎么写?主要包括以下:
**01期望**
a.让整个项目组成员,包括测试人员,开发人员,技术文档作者,管理部门等,了解、同意以及支持制定的项目测试计划过程;
b.具体测试的是什么产品,该产品只是版本升级还是重新开发?
c.产品的质量和可靠性目标是什么?产品达到什么程度就可以说是达到目标了?在制定测试计划时,必须清晰,简洁,且在产品质量和可靠性目标上项目组相关人员意见达成一致。
**02人/地点/事情**
a.测试计划应该包括项目中所有主要人员的姓名,职务,地址,电话号码,电子邮箱和职责范围;
b.项目进行中,相关文档存放的位置,测试工具的位置等;
c.测试中,使用到硬件,软件等,从哪里可以得到?
**03定义**
a.什么才属于软件缺陷?需要项目全部成员达成一致。(软件未实现产品说明书要求的功能;软件中出现了产品说明书指明不应该出现的错误;软件实现了产品说明书中未提到的功能;软件未实现产品说明书虽未明确提及但应该实现的目标)
**04团队之间的责任**
项目管理(QM),测试人员,开发人员,测试经理,开发经理,项目经理,项目质量(QA)等,明确指出相关人员的责任,避免项目中出现“三不管”地带,可借助表格列出相关责任.
**05哪些要测试,哪些不要测试**
通常项目中包含一些内容不必测试,这些内容包括以前发布过或者不是项目组负责的,需要验证软件的每一部分,确定它是否要测试;若没有测试,需说明这样做的理由
**06测试的阶段**
根据开发模式制定每一个阶段的测试情况,需要明确每一个预定的测试阶段,并告知项目小组,有助于整个小组形成和了解全部开发模式;测试人员的进入和退出规则
**07测试策略**
主要描述测试小组用于测试整体和每个阶段的方法,如,需要决定使用黑盒测试,还是白盒测试,手工测试还是进行自动化测试等。决定测试策略需要由经验相当丰富的测试员来做。
**08资源需求**
人员,设备,办公室和实验室空间,软件,其它设备等
**09任务分配**
明确测试员负责软件的哪些部分,哪些可测试特性,确保软件的每一部分都分配有人测试,每一个测试员会清楚地知道自己负责什么,有足够的信息开始设计测试用例。
**10进度安排**
进行测试进度安排,可以为项目组人员,项目经理提供信息,以便更好的安排整个项目的进度;其中会出现“进度破坏”的情况,此时测试进度可采用相对日期的方法,依赖于其它先完成的可交付内容。
**11软件缺陷报告**
使用什么方式记录缺陷,从发现到修复的过程中如何去跟踪?
**12度量和统计**
需明确收集哪些信息,要做什么决定,谁来负责收集,如:
a.在项目期间每天发现的软件缺陷总数
b.待修复的缺陷清单
c.当前软件的缺陷严重程度分布
d.测试人员找出的软件缺陷总数
e.缺陷发布的趋势和区域
**13风险和问题**
明确指出项目潜在问题或者风险区域,并在计划中进行列出,在进度中给予说明。
最后注意的是,测试计划不是一成不变的,随着项目的进行,会由于各方面的因素(如:提交测试的程序版本质量低、bug量大修改慢、需求变更等等)导致测试计划无法按原计划执行,这时要适当的调整测试计划。
- 第一章-测试理论
- 1.1软件测试的概念
- 1.2测试的分类
- 1.3软件测试的流程
- 1.4黑盒测试的方法
- 1.5AxureRP的使用
- 1.6xmind,截图工具的使用
- 1.7测试计划
- 1.8测试用例
- 1.9测试报告
- 2.0 正交表附录
- 第二章-缺陷管理工具
- 2.1缺陷的内容
- 2.2书写规范
- 2.3缺陷的优先级
- 2.4缺陷的生命周期
- 2.5缺陷管理工具简介
- 2.6缺陷管理工具部署及使用
- 2.7软件测试基础面试
- 第三章-数据库
- 3.1 SQL Server简介及安装
- 3.2 SQL Server示例数据库
- 3.3 SQL Server 加载示例
- 3.3 SQL Server 中的数据类型
- 3.4 SQL Server 数据定义语言DDL
- 3.5 SQL Server 修改数据
- 3.6 SQL Server 查询数据
- 3.7 SQL Server 连表
- 3.8 SQL Server 数据分组
- 3.9 SQL Server 子查询
- 3.10.1 SQL Server 集合操作符
- 3.10.2 SQL Server聚合函数
- 3.10.3 SQL Server 日期函数
- 3.10.4 SQL Server 字符串函数
- 第四章-linux
- 第五章-接口测试
- 5.1 postman 接口测试简介
- 5.2 postman 安装
- 5.3 postman 创建请求及发送请求
- 5.4 postman 菜单及设置
- 5.5 postman New菜单功能介绍
- 5.6 postman 常用的断言
- 5.7 请求前脚本
- 5.8 fiddler网络基础及fiddler简介
- 5.9 fiddler原理及使用
- 5.10 fiddler 实例
- 5.11 Ant 介绍
- 5.12 Ant 环境搭建
- 5.13 Jmeter 简介
- 5.14 Jmeter 环境搭建
- 5.15 jmeter 初识
- 5.16 jmeter SOAP/XML-RPC Request
- 5.17 jmeter HTTP请求
- 5.18 jmeter JDBC Request
- 5.19 jmeter元件的作用域与执行顺序
- 5.20 jmeter 定时器
- 5.21 jmeter 断言
- 5.22 jmeter 逻辑控制器
- 5.23 jmeter 常用函数
- 5.24 soapUI概述
- 5.25 SoapUI 断言
- 5.26 soapUI数据源及参数化
- 5.27 SoapUI模拟REST MockService
- 5.28 Jenkins的部署与配置
- 5.29 Jmeter+Ant+Jenkins 搭建
- 5.30 jmeter脚本录制
- 5.31 badboy常见的问题
- 第六章-性能测试
- 6.1 性能测试理论
- 6.2 性能测试及LoadRunner简介
- 第七章-UI自动化
- 第八章-Maven
- 第九章-测试框架
- 第十章-移动测试
- 10.1 移动测试点及测试流程
- 10.2 移动测试分类及特点
- 10.3 ADB命令及Monkey使用
- 10.4 MonkeyRunner使用
- 10.5 appium工作原理及使用
- 10.6 Appium环境搭建(Java版)
- 10.7 Appium常用函数(Java版)
- 10.8 Appium常用函数(Python版)
- 10.9 兼容性测试