软件测试管理—如何写好软件测试计划书

如何写好软件测试计划书

软件项目的测试计划是描述测试目的、范围、方法和软件测试的重点等的文档。对于验证软件产品的可接受程度编写测试计划文档是一种有用的方式。

详细的测试计划可以帮助测试项目组之外的人了解为什么和怎样验证产品。它非常有用但是测试项目组之外的人却很少去读它。

什么样的测试计划书符合要求

软件测试计划作为软件项目计划的子计划,在项目启动初期是必须规划的。在越来越多公司的软件开发中,软件质量日益受到重视,测试过程也从一个相对独立的步骤越来越紧密嵌套在软件整个生命周期中,这样,如何规划整个项目周期的测试工作;如何将测试工作上升到测试管理的高度都依赖于测试计划的制定。测试计划因此也成为测试工作的赖于展开的基础。《ANSI/IEEE软件测试文档标准829-1983》将测试计划定义为:“一个叙述了预定的测试活动的范围、途径、资源及进度安排的文档。它确认了测试项、被测特征、测试任务、人员安排,以及任何偶发事件的风险。”软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。

案例:一份看似“不错的”软件测试计划书

下面是某项的测试计划书

一个软件测试计划书的目录

提纲挈领,透过这份测试计划书的目录,如何对这份测试计划书进行评价?
在回答这个问题之前,我们先看看测试过程中的一个重要的活动或者阶段——测试计划阶段都需要做什么?这个阶段的产出物是什么?

测试计划阶段的任务

测试计划可以在项目计划或主测试计划中文档化,也可以在不同的测试级别(如系统测试和验收测试)的测试计划中文档化。测试计划文档的大纲可以参考“软件测试文档标准”(IEEE Std 829-1998)。

测试计划受到很多因素的影响:组织的测试方针、测试范围、测试目标、风险、约束、关键程度、可测试性和资源的可用性等。随着项目和测试计划的不断推进,将有更多的信息和具体细节包含在计划中。

测试计划是个持续的活动,需要在整个生命周期过程和活动中进行。从测试中得到的反馈信息可以识别变化的风险,从而对计划作相应的调整。

测试计划阶段需要做的事情

对整个系统或部分系统可能的测试计划活动包括:

  • 确定测试的范围和风险,明确测试的目标;
  • 决定总体测试方法,包括测试级别、入口和出口准则的界定;
  • 把测试活动整合和协调到整个软件生命周期活动中去(采购、供应、开发和运维);
  • 决定测试什么?测试由什么角色来执行?如何进行测试?如何评估测试结果?
  • 为测试分析和设计活动安排时间进度;
  • 为测试实现、执行和评估安排时间进度;
  • 为已定义的不同测试活动分配资源;
  • 定义测试文档的数量、详细程度、结构和模板;
  • 为监控测试准备和执行、缺陷解决和风险问题选择度量项;

明确了测试计划阶段需要完成工作,就很容易思考一份高质量的测试计划书中应该包括什么内容了。

软件测试计划的文档化(产出物)——软件测试计划书

下面是根据IEEE 829标准编写的一份测试计划的目录:

这里写图片描述

这份测试计划中:

  • 在第2部分明确了被测软件系统(产品)待测的特性和不测试的特性。
  • 在第3部分明确了测试目标
  • 在第4部分明确定义了准入/准出规则;通过和失败的标准;暂停标准和测试恢复需求

这些内容都是很重要的内容。

最后还描述了:

  • 测试提交产出物

对比以上两份软件测试计划书的目录,可以看出第二份软件测试计划书的内容更加合理一些。

如何写好软件测试计划书的内容?

这个问题其实是“仁者见仁,智者见智”。不同的软件测试项目经理或者测试负责人、Test Leader等都有自己的看法。什么内容该写进去?写道什么程度?是否真的用心去写好每一个章节的内容?

现实中,大多数软件测试项目经理或者测试负责人、Test Leader其实内心都是恐惧写文档的。很多时候不是不会写,而是不重视或者只是为了应付工作。原因其实很简单,无外乎有以下几种:

  • “文档无用论”,写文档还不如多用一些时间在解决项目问题上;
  • 写了软件测试计划其实也没有几个人看;
  • 文档其实不被重视;
  • 仅仅是为了应付公司品质部门、QAO的检查或者CMMI评估;
  • 在工作中测试管理的具体实践活动,依赖的是经验,而不是一份写在纸上的测试计划书;
  • 敏捷过程是“轻文档”化的;
  • 其它种种原因……

软件测试计划真的仅仅只是一份文档吗?
软件测试计划真的没有用吗?
敏捷过程就真的不需要测试计划了吗?

这些显然是一些借口或者错误的认识。

为什么我们需要测试计划?

无论做什么工作,都是计划先行,然后按照所制定的计划去执行、跟踪和控制。软件测试也一样,先要制定测试计划,是做好整个测试工作的前提。所以在进行实际测试之前,应制定良好的、切实可行的、有效的测试计划。软件测试计划的目标是提供一个测试框架,不断收集产品特性信息,对测试的不确定性(测试范围、测试风险等)进行分析,将不确定性的内容慢慢转化为确定性的内容,该过程最终使得我们对测试的范围、用例数量、工作量、资源和时间等进行合理的估算,从而对测试策略、方法、人力、日程等做出决定或安排。

在编写测试计划之前,可以考虑下面几个问题:

  • 为什么要编写测试计划?
    (1)Test Manager/测试主管等能够根据测试计划做宏观调控,进行相应资源配置等;
    (2)测试人员能够了解整个项目测试情况以及项目测试不同阶段的所要进行的工作等;
    (3)便于其他人员了解测试人员的工作内容,进行有关配合工作
  • 什么时间开始编写测试计划?
    (测试需求分析前总体测试计划书/测试需求分析后详细测试计划书)
  • 由谁来编写测试计划?
    具有丰富经验的测试负责人Test Leader
  • 测试计划编写的基本思路(5W1H)
    (1)why——为什么要进行这些测试;
    (2)what—测试哪些方面,不同阶段的工作内容;
    (3)when—测试不同阶段的起止时间;
    (4)where—相应文档,缺陷的存放位置,测试环境等;
    (5)who—项目有关人员组成,安排哪些测试人员进行测试
    (6)how—如何去做,使用哪些测试工具以及测试方法进行测试。

测试计划的要点

测试规划与软件开发活动同步进行,在需求分析时,就开始测试策划,确定测试需求、目标、资源等。测试计划可以按不同的测试阶段(集成测试、系统测试等)来组织,也可以为每个测试任务或目标(安全性、性能、可靠性等测试)进行考虑。

测试计划主要集中在测试目标、质量标准、测试策略、测试范围、测试用例设计方法、所需资源和日程安排等,其关键是制定有效的测试策略,界定清楚地测试范围,识别出测试中所存在的各种风险并找出风险回避、监控和管理的方法,针对不同的测试目标或阶段确定测试方法,对测试工作量及所需的资源、时间进行合理的估算。所有这些,都是为了两个根本目的:测试的质量和效率。

测试计划中需要明确测试范围

测试主要依据“产品设计规格说明书”、代码所发生的变化及其影响的区域,来确定哪些功能和特性要测试,哪些功能和特性不需要测试。在确定测试范围时,主要考虑的因素有:

  • 优先级最高的需求功能
  • 新增加的功能和编码改动较大的已有功能
  • 容易出现问题的部分功能
  • 过去测试不够充分的地方
  • 经常被用户使用的功能和配置(占20%)
  • 哪些不需要测试的功能和特性(排除出测试范围)

在实际的测试实施中,有时候存在测试执行到一定阶段,由于某种原因(例如:环境不具备、测试账号的问题、测试数据的问题、公司安全策略的限制等等导致测试条件不满足,从而一些之前计划在测试范围内的功能,需要排除出测试范围)测试范围需要发生变更。那么这就需要遵守变更流程,并且更新测试计划文档,以及更新后的测试计划获得审批。

这个环节其实常常被Test Leader和Test Manager或忽视。

我遇到过很多类似的情况,没有遵守变更流程,并且更新测试计划获得审批,这最终导致的结果是测试功能混乱;经历2-3个版本迭代之后,被测需求难以追溯。一旦存在产品发布之后出现功能上的问题,用户抱怨不断。其实这就反映出测试计划不合理而导致的问题。

测试估算:所需资源和日程安排

为了合理、准确地安排日程,对测试工作量要进行正确的估计。除了对工作量的估计之外,还要正确评估参与该项目人员的培训时间、适应过程和工作能力等。由于涉及到不同的项目、不同的测试人员、不同的前期介入方式,要对每人每天能够完成的平均测试用例数目做出一个准确的估计确实很困难,但是可以根据以前一些项目测试的经验或历史积累下来的数据进行判断推理,并适当增加10%-20%的余量,估算结果就比较准确了。
  
在估算的基础上,进行有效的、合理的资源安排。在不同的测试阶段人力资源的需求是不一样的,所以人力资源的计划要有一定的灵活性和动态性,形成有机的动态平衡,保证测试的进度和资源的使用的效率。

需要精心编写准备测试计划

要做好测试计划,测试设计人员要仔细阅读有关资料,包括用户需求规格说明书、设计文档等,全面熟悉系统,并建议注意以下方面:

  • 让所有合适的相关人员参与测试项目的计划制定,特别是在测试计划早期;
  • 测试所需的时间、人力及其它资源的预估,尽量做到客观、准确、留有余地;
  • 测试项目的输入、输出和质量标准,应与各方达成一致;

测试计划的主要内容

测试计划的主要内容包括以下要点:

  1. 测试计划标识
  2. 版本修订记录
  3. 简介(目的)
  4. 主要阅读者
  5. 测试项(交付测试的一切内容)
  6. 需要测试的功能
  7. 不需要测试的功能
  8. 测试项通过/失败的准则
  9. 测试准则(入口准则、出口准则、暂停和恢复准则)
  10. 测试交付物/产出物
  11. 测试任务
  12. 进度计划(可以与10.测试任务合并做出一个进度和任务的矩阵,关键里程碑点的描述)
  13. 环境需求
  14. 工具
  15. 职责矩阵
  16. 人员和培训的需求
  17. 风险和缓解风险/预防风险的对策
  18. 批准(测试计划需要进行评审和审批)

有一些时候对上述内容可以进行裁剪。还有一些测试团队/组织会将测试计划与测试策略合并成为一个文档。
我在测试管理中,允许一些小的测试项目或者临时性的测试项目将测试计划(Test Plan)和测试策略(Test Strategy)进行合并。事实上,很多Test Leader,Test Manager是不愿意花费太多的精力去写文档、维护文档的。即便如此,2-3页纸的测试计划还是需要的。此时,测试策略(Test Strategy)就尤为重要了。

测试计划需要评审

测试计划不可能一气呵成,而是要经过计划初期、起草、讨论、审查等不同阶段,才能将测试计划制定好。测试计划的评审是完成测试计划关键的一个环节,包括测试组织内部的自我评审、讨论和修改,然后交到评审会进行正式的评审,直至测试计划得到审批。

测试计划的正式评审,项目中的每个人(产品经理、项目经理、开发工程师等)都应当参与。计划的审查是必不可少的,每一个参与者都可能根据其经验及专长提出问题或建议,弥补在测试范围、工作量、风险等各方面的不足,进一步完善测试计划。

(更新完)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AIGC的出现推动元宇宙的发展

话说什么是元宇宙呢? 自2021年起,全国各市场主体纷纷布局元宇宙,构建全球元宇宙生态,元宇宙(Metaverse)是整合了多种新技术而产生的新型虚实相融的互联网应用和社会形态,通过利用科技手段进行链接与创造的&#xff0c…

Python实现微信自动回复机器人

还记得“人人”火的时候,有个小黄鸡很有名,可以不知疲倦地和你聊上一整天,而且各种搞怪金句频出,让人欲罢不能。如今人人已经成为“人人直播-高颜值品质直播平台”了(往事不堪回首啊),微信却火地…

Python qq自动回复

#-*-coding:utf8-*- import json,urllib,urllib2 from qqbot import QQBotSlot as qqbotslot, RunBotdef talk(content,userid):url http://www.tuling123.com/openapi/apis urllib2.Request(url)da {"key":"你的Api key","info":content,&qu…

【Python自动化】微信自动化智能回复

【Python自动化】微信自动化智能回复 参考资料: 感谢晚枫大大提供的工具包,教程链接如下:又一个微信聊天机器人横空出世了,人人可用!,B站视频链接如下:又一个微信聊天机器人发布了&#xff0c…

微信自动回复软件

软件介绍 软件名称: 微信超级管家 适用平台: windows 是否免费: 完全免费 病毒检测: 火绒安全检测通过 流氓检测: 无广告、无弹窗、无其他流氓行为 软件大小: 183M 这个软件依赖的是本地微信客户端&#x…

拼多多自动回复 实现消息自动回复 机器+人工混合回复 并且不显示机器人回复

先上图看效果: 不好意思,搞错了。 第一个框的是HOOK进行自动回复的, 第二个框的是官方机器人回复的 有提示机器人。客户可以看到。 优势明显, 实现方法也很简单,先通过进程找路径,通过路径判断版本,然后…

公众号开发【消息自动回复】

申请测试号 前期为了方便开发与调试,可以先申请一个测试号用户开发联调。 地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?tsandbox/login 开始接入 第一步:配置接口信息 ​ 登录微信公众平台官网后,在公众平台官网的…

python自动化:实现自动回复QQ消息

python自动化:实现自动回复QQ消息 前言 近段时间,看了一下运用python实现app自动化的视频,觉得那上面的讲的不错,于是就用所学的知识做了一个程序,实现自动回复QQ消息。 文章目录 python自动化:实现自动回复QQ消息1.需要安装的相…

Python微信自动回复脚本

一、在命令提示符中输入pip install itchat,安装微信接口的第三方模块 二、编译并运行源代码 #codingutf8 import itchat# 当接收到的消息是Text,即文字消息 #注册re_msg的意义在于,告诉itchat每次有符合特定条件的消息,itchat要…

Python Selenium 抖音直播平台实现自动发送评论

首先运行 test_01_save_cookies.py 手动登入个人的抖音账号 获得浏览器的 cookies, 并以pickle文件的格式保存到当前目录下. 然后打开文件 test_02_use_cookies.py 将第15行代码中的URL链接改成所需要的抖音主播链接, 修改完成后,运行即可实现为自己喜爱的主播打call.test_01_…

基于python的flask框架自动回复抖音私信

前言 最近接了个小需求,有点意思,写个博客~ 需求内容:我们有一个游戏抖音号,需要对发私信给我们的用户自动回复一个激活码字符串 功能很简单,但是面对抖音这个第三接口文档写的一坨翔且找不到技术客服的大公司&…

抖音自动评论回复留言测试

主要实现方式是android的无障碍。目前还在优化中 可以联系我进行交流 二。搜索关键词;寻找关键词相关视频。 三。点击视频播放并在第一条评论【置顶与不置顶都可】下进行自定义文字留言。 四。操作完以上点击下个视频继续留言, 五,留言内容…

怎样用python定位别人在哪_python程序员教你用微信给对方定位!你说回家!却还在外面鬼混?...

跟我说回家,却还在外面鬼混? 其实很多情侣之间存在很多这样的信任问题,不相信他,去查岗,可能会恶化两人之间的关系;比如跟我说回家了,但是想知道他是否真的回家了,打电话、打视频查…

如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝(详解)

题目: 某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?” 答案是5瓶 方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子&#xff0c…

python垃圾回收 (GC) 机制

Python 能够自动进行内存分配和释放,但了解 python 垃圾回收 (garbage collection, GC) 的工作原理可以帮助你写出更好更快的 Python 程序。Python 使用两种算法进行垃圾回收,分别是引用计数 (Reference Counting) 和分代回收 (Generational garbage col…

经典贪心问题之圣诞老人的礼物

目录 题目信息: 题目分析: 题解代码: 题目信息: 注:4指一共有四箱糖果,15指雪橇共能带走的最大重量为15,接下来输出4行,每行两个数据, 第一个数据指这箱糖果的价值&a…

【Python】《点燃我,温暖你》,快来Get李峋同款爱心代码

前言 hello,大家好 最近有个剧挺火的 就是那个程序员的剧,叫《点燃我,温暖你》 最近听说很火呀,那作为程序员,Python中的战斗机的小编,能不给大家安排一波! 怎么说呢,用这个表白也可…

隔壁老王出喝酒去了,留下女友半夜一个人在家,我用python给她写了一个

哈喽大兄弟们 今日重点: 划重点: 1、python开发小游戏,pygame环境搭建; 2、给失眠的小姐姐开发一个迷宫小游戏。 代码干货满满,建议收藏实操!!!有问题及需要,请留言哦~~ …

程序员用10分钟写了个旅游管家APP,女友用了直呼贴心

「呐,你知道吗? 听说樱花飘落的速度是秒速五厘米哦。」 听到阿珍又念起这句经典台词,阿强,这个对自然界的花期不太敏感的程序员,也收到了“樱花开了”的讯号。 春天的樱花不能错过,赏樱是写进阿珍价值观的…

python实现垃圾分类程序,对于要处理的垃圾,判断该投放到哪个类别的垃圾桶中

python实现垃圾分类程序,对于要处理的垃圾,判断该投放到哪个类别的垃圾桶中 一、编程题目 编程题目:输入要处理的垃圾,空格分隔,判断并输出各个垃圾应该投放到哪个类别的垃圾桶中。其中垃圾有以下分类: 废…