# 一份有效的软件测试计划要怎么写?
测试计划(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量大修改慢、需求变更等等)导致测试计划无法按原计划执行,这时要适当的调整测试计划。