软件测试基础教程杜文洁 景秀丽 主编中国水利水电出版社第六章 软件测试计划与相关文档第六章 软件测试计划与相关文档
6.1 测试计划的制定
6.2 测试文档
6.3 测试用例文档的设计
6.4 测试总结报告习题本章概要第六章 软件测试计划与相关文档
软件测试计划的制定
测试文档的形成
测试用例文档的编写
测试报告的编写格式
6.1 测试计划的制定第六章 软件测试计划与相关文档
6.1.1 测试计划
6.1.2 测试计划的制定
6.1.3 软件开发、软件测试与测试计划制定的并行关系
6.1.1 测试计划第六章 软件测试计划与相关文档软件测试是一个有组织有计划的活动,应当给予充分的时间和资源进行测试计划,这样软件测试才能在合理的控制下正常进行。测试计划( Test Planning)作为测试的起始步骤,是整个软件测试过程的关键管理者。
1.测试计划的定义测试计划规定了测试各个阶段所要使用的方法策略、测试环境、测试通过或失败的准则等内容。,ANSI/IEEE软件测试文档标准 829-
1983,将测试计划定义为:,一个叙述了预定的测试活动的范围、途径、资源及进度安排的文档。它确认了测试项、被测特征、测试任务
、人员安排,以及任何偶发事件的风险。,
6.1.1 测试计划第六章 软件测试计划与相关文档
2.测试计划的目的和作用测试计划的目的是明确测试活动的意图。它规范了软件测试内容、
方法和过程,为有组织地完成测试任务提供保障。专业的测试必须以一个好的测试计划作为基础。尽管测试的每一个步骤都是独立的,但是必须要有一个起到框架结构作用的测试计划。
3.测试计划书测试计划文档化就成为测试计划书,包含总体计划也包含分级计划
,是可以更新改进的文档。从文档的角度看,测试计划书是最重要的测试文档,完整细致并具有远见性的计划书会使测试活动安全顺利地向前进行,从而确保所开发的软件产品的高质量。
6.1.1 测试计划第六章 软件测试计划与相关文档
4.测试计划的内容软件测试计划是整个测试过程中最重要的部分,为实现可管理且高质量的测试过程提供基础。测试计划以文档形式描述软件测试预计达到的目标,确定测试过程所要采用的方法策略。测试计划包括测试目的、测试范围、测试对象、测试策略、测试任务、测试用例、资源配置、测试结果分析和度量以及测试风险评估等,
测试计划应当足够完整但也不应当太详尽。借助软件测试计划,
参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。因此一份好的测试计划需要综合考虑各种影响测试的因素。
6.1.1 测试计划第六章 软件测试计划与相关文档实际的测试计划内容因不同的测试对象而灵活变化,但通常来说一个正规的测试计划应该包含以下几个项目,也可以看作是通用的测试计划样本以供参考:
测试的基本信息:
包括测试目的、背景、测试范围等;
测试的具体目标:
列出软件需要进行的测试部分和不需要进行的测试部分;
测试的策略:
测试人员采用的测试方法,如回归测试、功能测试、自动测试等;
测试的通过标准:
测试是否通过的界定标准以及没有通过情况的处理方法;
停测标准:
给出每个测试阶段停止测试的标准;
测试用例:
详细描述测试用例,包括测试值、测试操作过程、测试期待值等;
测试的基本支持:
测试所需硬件支持、自动测试软件等;
部门责任分工:
明确所有参与软件管理、开发、测试、技术支持等部门的责任细则;
测试人力资源分配:
列出测试所需人力资源以及软件测试人员的培训计划;
测试进度安排:
制定每一个阶段的详细测试进度安排表;
风险估计和危机处理:
估计测试过程中潜在的风险以及面临危机时的解决办法。
6.1.1 测试计划第六章 软件测试计划与相关文档
6.1.1 测试计划第六章 软件测试计划与相关文档一个理想的测试计划应该体现以下几个特点:
在检测主要缺陷方面有一个好的选择;
提供绝大部分代码的覆盖率;
具有灵活性;
易于执行、回归和自动化;
定义要执行测试的种类;
测试文档明确说明期望的测试结果;
当缺陷被发现时提供缺陷核对;
明确定义测试目标;
明确定义测试策略;
明确定义测试通过标准;
没有测试冗余;
确认测试风险;
文档化确定测试的需求;
定义可交付的测试件。
6.1.1 测试计划第六章 软件测试计划与相关文档软件测试计划是整个软件测试流程工作的基本依据,测试计划中所列条目在实际测试中必须一一执行。在测试的过程中,若发现新的测试用例,就要尽早补充到测试计划中。若预先制定的测试计划项目在实际测试中不适用或无法实现,那么也要尽快对计划进行修改,使计划具有可行性。
6.1.2 测试计划的制定第六章 软件测试计划与相关文档
1.测试计划的制定测试的计划与控制是整个测试过程中最重要的阶段,它为实现可管理且高质量的测试过程提供基础。这个阶段需要完成的主要工作内容是:拟定测试计划,论证那些在开发过程中难于管理和控制的因素,明确软件产品的最重要部分(风险评估)。
( 1)概要测试计划概要测试计划是在软件开发初期制定,其内容包括:
① 定义被测试对象和测试目标;
② 确定测试阶段和测试周期的划分;
③ 制定测试人员,软、硬件资源和测试进度等方面的计划;
④ 明确任务与分配及责任划分;
⑤ 规定软件测试方法、测试标准。比如,语句覆盖率达到 98%,三级以上的错误改正率达 98%等;
⑥ 所有决定不改正的错误都必须经专门的质量评审组织同意;
⑦ 支持环境和测试工具等。
6.1.2 测试计划的制定第六章 软件测试计划与相关文档
( 2)详细测试计划详细测试计划是测试者或测试小组的具体的测试实施计划,它规定了测试者负责测试的内容、测试强度和工作进度,是检查测试实际执行情况的重要标准。
详细测试计划的主要内容有:计划进度和实际进度对照表;测试要点;测试策略;尚未解决的问题和障碍。
( 3)制定主要内容计划进度和实际进度对照表;测试要点;测试策略;尚未解决的问题和障碍。
( 4)制定测试大纲(用例)
测试大纲是软件测试的依据,保证测试功能不被遗漏,并且功能不被重复测试,使得能合理安排测试人员,使得软件测试不依赖于个人。
测试大纲包括:测试项目、测试步骤、测试完成的标准以及测试方式
(手动测试或自动测试)。测试大纲不仅是软件开发后期测试的依据,
而且在系统的需求分析阶段也是质量保证的重要文档和依据。无论是自动测试还是手动测试,都必须满足测试大纲的要求。
测试大纲的本质:从测试的角度对被测对象的功能和各种特性的细化和展开。针对系统功能的测试大纲是基于软件质量保证人员对系统需求规格说明书中有关系统功能定义的理解,将其逐一细化展开后编制而成的。
测试大纲的好处:保证测试功能不被遗漏,使得软件功能不被重复测试,合理安排测试人员,使得软件测试不依赖于个人。测试大纲不仅是软件开发后期测试的依据,而且在系统的需求分析阶段也是质量保证的重要文档和依据。
6.1.2 测试计划的制定第六章 软件测试计划与相关文档
6.1.2 测试计划的制定第六章 软件测试计划与相关文档
( 5)制定测试通过或失败的标准测试标准为可观的陈述,它指明了判断 /确认测试在何时结束,
以及所测试的应用程序的质量。测试标准可以是一系列的陈述或对另一文档(如测试过程指南或测试标准)的引用。
测试标准应该指明:
确切的测试目标度量的尺度如何建立使用了那些标准对度量进行评价
6.1.2 测试计划的制定第六章 软件测试计划与相关文档
( 6)制定测试挂起标准和恢复的必要条件指明挂起全部或部分测试项的标准,并指明恢复测试的标准及其必须重复的测试活动。
( 7)制定测试任务安排明确测试任务,对每项任务都必须明确 7个主题。
任务:用简洁的句子对任务加以说明方法和标准:指明执行该任务时,应该采用的方法以及所应遵守的标准。
输入输出:给出该任务所必需的输入输出时间安排:给出任务的起始和持续时间资源:给出任务所需要的人力和物力资源风险和假设:指明启动该任务应满足的假设,以及任务执行可能存在的风险角色和职责:指明由谁负责该任务的组织和执行,以及谁将担负怎样的职责
6.1.2 测试计划的制定第六章 软件测试计划与相关文档
( 8)制定应交付的测试工作产品指明应交付的文档、测试代码和测试工具,一般包括这些文档:
测试计划、测试方案、测试用例、测试规程、测试日志、测试总结报告、测试输入与输出数据、测试工具。
( 9)制定工作量估计给出前面定义任务的人力需求和总计
( 10)编写测试方案文档测试方案文档是设计测试阶段文档,指明为完成软件或软件集成的特性测试而进行的设计测试方法的细节文档。
6.1.3 软件开发、软件测试与测试计划制定的并行关系第六章 软件测试计划与相关文档软件开发、软件测试与测试计划制定的并行关系如图 6-1所示。
软件开发过程 测试计划制定需求分析功能设计详细设计编码概要测试计划详细测试计划测试大纲测试用例实施测试结果分析纠错质量评审产品发布项目任务书图 6-1 软件开发、软件测试与测试计划制定的并行关系
6.2 测试文档第六章 软件测试计划与相关文档
6.2.1 测试文档
6.2.2 软件生命周期各阶段的测试任务与可交付的文档
6.2.1 测试文档第六章 软件测试计划与相关文档
1.测试文档的定义测试文档( Testing Documentation)记录和描述了整个测试流程,
它是整个测试活动中非常重要的文件。测试过程实施所必备的核心文档是:测试计划、测试用例(大纲)和软件测试报告。
6.2.1 测试文档第六章 软件测试计划与相关文档
2.测试文档的重要性软件测试是一个很复杂的过程,涉及软件开发其他阶段的工作,对于提高软件质量、保证软件正常运行有着十分重要的意义,因此必须把对测试的要求、过程及测试结果以正式的文档形式写下来。软件测试文档用来描述要执行的测试及测试的结果。可以说,测试文档的编制是软件测试工作规范化的一个重要组成部分。
软件测试文档不只在测试阶段才开始考虑,它应在软件开发的需求分析阶段就开始着手编制,软件开发人员的一些设计方案也应在测试文档中得到反映,以利于设计的检验。测试文档对于测试阶段的工作有着非常明显的指导作用和评价作用。即便在软件投入运行的维护阶段,也常常要进行再测试或回归测试,这时仍会用到软件测试文档。
6.2.1 测试文档第六章 软件测试计划与相关文档
3.测试文档的内容整个测试流程会产生很多个测试文档,一般可以把测试文档分为两类:测试计划和测试分析报告。
测试计划文档描述将要进行的测试活动的范围、方法、资源和时间进度等。测试计划中罗列了详细的测试要求,包括测试的目的、内容、方法、步骤以及测试的准则等。在软件的需求和设计阶段就要开始制定测试计划,不能在开始测试的时候才制定测试计划。通常,
测试计划的编写要从需求分析阶段开始,直到软件设计阶段结束时才完成。
测试报告是执行测试阶段的测试文档,对测试结果进行分析说明。
说明软件经过测试以后,结论性的意见如何,软件的能力如何,存在哪些缺陷和限制等,这些意见既是对软件质量的评价,又是决定该软件能否交付用户使用的依据。由于要反映测试工作的情况,自然应该在测试阶段编写。
6.2.1 测试文档第六章 软件测试计划与相关文档测试报告包含了相应的测试项的执行细节。软件测试报告是软件测试过程中最重要的文档,记录问题发生的环境,如各种资源的配置情况,问题的再现步骤以及问题性质的说明。测试报告更重要的是还记录了问题的处理进程,而问题的处理进程从一定角度上反映了测试的进程和被测软件的质量状况以及改善过程。
,计算机软件测试文档编制规范,国家标准给出了更具体的测试文档编制建议,其中包括以下几个内容。
6.2.1 测试文档第六章 软件测试计划与相关文档测试计划描述测试活动的范围、方法、资源和进度,其中规定了被测试的对象,被测试的特性、应完成的测试任务、人员职责及风险等。
测试设计规格说明详细描述测试方法,测试用例设计以及测试通过的准则等。
测试用例规格说明测试用例文档描述一个完整的测试用例所需要的必备因素,如输入、预期结果、测试执行条件以及对环境的要求、对测试规程的要求等。
测试步骤规格说明测试规格文档指明了测试所执行活动的次序,规定了实施测试的具体步骤。它包括测试规程清单和测试规程列表两部分。
测试日志日志是测试小组对测试过程所作的记录。
测试事件报告报告说明测试中发生的一些重要事件。
测试总结报告对测试活动所作的总结和结论。
上述测试文档中,前 4项属于测试计划类文档,后 3项属于测试分析报告类文档。
6.2.2 软件生命周期各阶段的测试任务与可交付的文档第六章 软件测试计划与相关文档通常软件生命周期可分为以下 6个阶段:需求阶段、功能设计阶段、
详细设计阶段、编码阶段、软件测试阶段以及运行 /维护阶段,相邻两个阶段之间可能存在一定程度的重复以保证阶段之间的顺利衔接,
但每个阶段的结束是有一定的标志,例如已经提交可交付文档等。
1.需求阶段
( 1)测试输入
需求计划(来自开发)。
( 2)测试任务
制定验证和确认测试计划;
对需求进行分析和审核;
分析并设计基于需求的测试,构造对应的需求覆盖或追踪矩阵。
6.2.2 软件生命周期各阶段的测试任务与可交付的文档第六章 软件测试计划与相关文档
( 3)可交付的文档
验收测试计划(针对需求设计);
验收测试报告(针对需求设计)。
2.功能设计阶段
( 1) 测试输入功能设计规格说明(来自开发)。
( 2)测试任务
功能设计验证和确认测试计划;
分析和审核功能设计规格说明;
可用性测试设计;
分析并设计基于功能的测试,构造对应的功能覆盖矩阵;
实施基于需求和基于功能的测试。
6.2.2 软件生命周期各阶段的测试任务与可交付的文档第六章 软件测试计划与相关文档
( 3)可交付的文档
主确认测试计划;
验收测试计划(针对功能设计);
验收测试报告(针对功能设计)。
3.详细设计阶段
( 1)测试输入详细设计规格说明(来自开发)。
( 2)测试任务
详细设计验收测试计划;
分析和审核详细设计规格说明;
分析并设计基于内部的测试。
( 3)可交付的文档
详细确认测试计划;
验收测试计划(针对详细设计);
验收测试报告(针对详细设计);
测试设计规格说明。
6.2.2 软件生命周期各阶段的测试任务与可交付的文档第六章 软件测试计划与相关文档
4.编码阶段
( 1) 测试输入代码(来自开发)。
( 2)测试任务
代码验收测试计划;
分析代码;
验证代码;
设计基于外部的测试;
设计基于内部的测试。
( 3)可交付的文档
测试用例规格说明;
需求覆盖或追踪矩阵;
功能覆盖矩阵;
测试步骤规格说明;
验收测试计划(针对代码);
验收测试报告(针对代码)。
6.2.2 软件生命周期各阶段的测试任务与可交付的文档第六章 软件测试计划与相关文档
5.测试阶段
( 1) 测试输入
要测试的软件;
用户手册。
( 2)测试任务
制定测试计划;
审查由开发部门进行的单元和集成测试;
进行功能测试;
进行系统测试;
审查用户手册。
( 3)可交付的文档
测试记录;
测试事故报告;
测试总结报告。
6.2.2 软件生命周期各阶段的测试任务与可交付的文档第六章 软件测试计划与相关文档
6.运行 /维护阶段
( 1) 测试输入
已确认的问题报告;
软件生命周期。软件生命周期是一个重复的过程。如果软件被修改了,开发和测试活动都要回归到与修改相对应的生命周期阶段。
( 2)测试任务
监视验收测试;
为确认的问题开发新的测试用例;
对测试的有效性进行评估。
( 3)可交付的文档可升级的测试用例库。
6.3 测试用例文档的设计第六章 软件测试计划与相关文档
1.测试用例测试用例( Test Case)是为了高效率地发现软件缺陷而精心设计的少量测试数据
。实际测试中,由于无法达到穷举测试,所以要从大量输入数据中精选有代表性或特殊性的数据来作为测试数据。好的测试用例应该能发现尚未发现的软件缺陷
。
2.测试用例文档应包含以下内容:
( 1)测试用例表测试用例表如表 6-1所示。对其中一些项目做如下说明:
1.测试项目:指明并简单描述本测试用例是用来测试哪些项目、子项目或软件特性的。
2.用例编号:对该测试用例分配唯一的标识号。
3.用例级别:指明该用例的重要程度。测试用例的级别分为 4级:级别 1(基本)、级别 2(重要)、级别 3(详细)、级别 4(生僻)。
执行操作:执行本测试用例所需的每一步操作。
预期结果:描述被测项目或被测特性所希望或要求达到的输出或指标。
实测结果:列出实际测试时的测试输出值,判断该测试用例是否通过。
备注。如需要,则填写,特殊环境需求(硬件、软件、环境),,,特殊测试步骤要求,,,相关测试用例,等信息。
6.3 测试用例文档的设计第六章 软件测试计划与相关文档用例编号 测试模块编制人 编制时间开发人员 程序版本测试人员 测试负责人用例级别测试目的测试内容测试环境规则指定执行操作测试结果步骤 预期结果 实测结果
1
2
备注
测试用例清单测试用例清单如表 6-2所示。
表 6-1 测试用例表
6.3 测试用例文档的设计第六章 软件测试计划与相关文档项目编号 测试项目 子项目编号 测试子项目 测试用例编 号 测试结论 结论
1 1 1
… … … … … …
总数 - - -
表 6-2 测试用例清单
6.4 测试总结报告第六章 软件测试计划与相关文档计划测试项 实际测试项 【 Y】项 【 P】项 【 N】项 【 N/A】项 备注数量百分比测试总结报告主要包括测试结果统计表、测试问题表和问题统计表、测试进度表、测试总结表等。
1.测试结果统计表测试结果统计表主要是对测试项目进行统计,统计计划测试项和实际测试项的数量,以及测试项通过多少、失败多少等。测试结果统计表如表 6-3
所示。
表 6-3 测试结果统计表
6.4 测试总结报告第六章 软件测试计划与相关文档其中,【 Y】 表示测试结果全部通过,【 P】 表示测试结果部分通过,【 N】 表示测试结果绝大多数没通过,【 N/A】 表示无法测试或测试用例不适合。
另外,根据表 6-3,可以按照下列两个公式分别计算测试完成率和覆盖率,作为测试总结报告的重要数据指标。
测试完成率=实际测试项数量 /计划测试项数量 × 100%
测试覆盖率= 【 Y】 项的数量 /计划测试项数量 × 100%
6.4 测试总结报告第六章 软件测试计划与相关文档问题号问题描述问题级别问题分析与策略避免措施备注
2.测试问题表和问题统计表测试问题表如表 6-4所示,问题统计表如表 6-5所示。
表 6-4 测试问题表
6.4 测试总结报告第六章 软件测试计划与相关文档严重问题 一般问题 微小问题其他统计项问题合计数量百分比 -
在表 6-4中,问题号是测试过程所发现的软件缺陷的唯一标号,问题描述是对问题的简要介绍,问题级别在表 6-5中有具体分类,问题分析与策略是对问题的影响程度和应对的策略进行描述,避免措施是提出问题的预防措施。
表 6-5 问题统计表
6.4 测试总结报告第六章 软件测试计划与相关文档从表 6-5得出,问题级别基本可分为严重问题、一般问题和微小问题。根据测试结果的具体情况,级别的划分可以有所更改。例如,
若发现极其严重的软件缺陷,可以在严重问题级别的基础上,加入特殊严重问题级别。
3.测试进度表测试进度表如表 6-6所示,用来描述关于测试时间、测试进度的问题。根据表 6-6,可以对测试计划中的时间安排和实际的执行时间状况进行比较,从而得到测试的整体进度情况。
6.4 测试总结报告第六章 软件测试计划与相关文档测试项目 计划起始时间 计划结束时间 实际起始时间 实际结束时间 进度描述
4.测试总结表测试总结表包括测试工作的人员参与情况和测试环境的搭建模式
,并且对软件产品的质量状况做出评价,对测试工作进行总结。测试总结表模板如表 6-7所示。
表 6-6 问题统计表
6.4 测试总结报告第六章 软件测试计划与相关文档项目编号 项目名称项目开发经理 项目测试经理测试人员测试环境(软件、硬件)
软件总体描述:
测试工作总结:
表 6-7 测试总结表习题第六章 软件测试计划与相关文档
1,简述测试计划的定义。
2,概括测试文档的含义。
3,简述测试计划的制定原则。
4,简述测试文档的内容。
5,简述软件生命周期各阶段的测试任务与可交付的文档。
6,举例说明测试用例的设计方法。、
7,选择一个小型应用系统,为其做出系统测试的计划书、设计测试用例并写出测试总结报告。
6.1 测试计划的制定
6.2 测试文档
6.3 测试用例文档的设计
6.4 测试总结报告习题本章概要第六章 软件测试计划与相关文档
软件测试计划的制定
测试文档的形成
测试用例文档的编写
测试报告的编写格式
6.1 测试计划的制定第六章 软件测试计划与相关文档
6.1.1 测试计划
6.1.2 测试计划的制定
6.1.3 软件开发、软件测试与测试计划制定的并行关系
6.1.1 测试计划第六章 软件测试计划与相关文档软件测试是一个有组织有计划的活动,应当给予充分的时间和资源进行测试计划,这样软件测试才能在合理的控制下正常进行。测试计划( Test Planning)作为测试的起始步骤,是整个软件测试过程的关键管理者。
1.测试计划的定义测试计划规定了测试各个阶段所要使用的方法策略、测试环境、测试通过或失败的准则等内容。,ANSI/IEEE软件测试文档标准 829-
1983,将测试计划定义为:,一个叙述了预定的测试活动的范围、途径、资源及进度安排的文档。它确认了测试项、被测特征、测试任务
、人员安排,以及任何偶发事件的风险。,
6.1.1 测试计划第六章 软件测试计划与相关文档
2.测试计划的目的和作用测试计划的目的是明确测试活动的意图。它规范了软件测试内容、
方法和过程,为有组织地完成测试任务提供保障。专业的测试必须以一个好的测试计划作为基础。尽管测试的每一个步骤都是独立的,但是必须要有一个起到框架结构作用的测试计划。
3.测试计划书测试计划文档化就成为测试计划书,包含总体计划也包含分级计划
,是可以更新改进的文档。从文档的角度看,测试计划书是最重要的测试文档,完整细致并具有远见性的计划书会使测试活动安全顺利地向前进行,从而确保所开发的软件产品的高质量。
6.1.1 测试计划第六章 软件测试计划与相关文档
4.测试计划的内容软件测试计划是整个测试过程中最重要的部分,为实现可管理且高质量的测试过程提供基础。测试计划以文档形式描述软件测试预计达到的目标,确定测试过程所要采用的方法策略。测试计划包括测试目的、测试范围、测试对象、测试策略、测试任务、测试用例、资源配置、测试结果分析和度量以及测试风险评估等,
测试计划应当足够完整但也不应当太详尽。借助软件测试计划,
参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。因此一份好的测试计划需要综合考虑各种影响测试的因素。
6.1.1 测试计划第六章 软件测试计划与相关文档实际的测试计划内容因不同的测试对象而灵活变化,但通常来说一个正规的测试计划应该包含以下几个项目,也可以看作是通用的测试计划样本以供参考:
测试的基本信息:
包括测试目的、背景、测试范围等;
测试的具体目标:
列出软件需要进行的测试部分和不需要进行的测试部分;
测试的策略:
测试人员采用的测试方法,如回归测试、功能测试、自动测试等;
测试的通过标准:
测试是否通过的界定标准以及没有通过情况的处理方法;
停测标准:
给出每个测试阶段停止测试的标准;
测试用例:
详细描述测试用例,包括测试值、测试操作过程、测试期待值等;
测试的基本支持:
测试所需硬件支持、自动测试软件等;
部门责任分工:
明确所有参与软件管理、开发、测试、技术支持等部门的责任细则;
测试人力资源分配:
列出测试所需人力资源以及软件测试人员的培训计划;
测试进度安排:
制定每一个阶段的详细测试进度安排表;
风险估计和危机处理:
估计测试过程中潜在的风险以及面临危机时的解决办法。
6.1.1 测试计划第六章 软件测试计划与相关文档
6.1.1 测试计划第六章 软件测试计划与相关文档一个理想的测试计划应该体现以下几个特点:
在检测主要缺陷方面有一个好的选择;
提供绝大部分代码的覆盖率;
具有灵活性;
易于执行、回归和自动化;
定义要执行测试的种类;
测试文档明确说明期望的测试结果;
当缺陷被发现时提供缺陷核对;
明确定义测试目标;
明确定义测试策略;
明确定义测试通过标准;
没有测试冗余;
确认测试风险;
文档化确定测试的需求;
定义可交付的测试件。
6.1.1 测试计划第六章 软件测试计划与相关文档软件测试计划是整个软件测试流程工作的基本依据,测试计划中所列条目在实际测试中必须一一执行。在测试的过程中,若发现新的测试用例,就要尽早补充到测试计划中。若预先制定的测试计划项目在实际测试中不适用或无法实现,那么也要尽快对计划进行修改,使计划具有可行性。
6.1.2 测试计划的制定第六章 软件测试计划与相关文档
1.测试计划的制定测试的计划与控制是整个测试过程中最重要的阶段,它为实现可管理且高质量的测试过程提供基础。这个阶段需要完成的主要工作内容是:拟定测试计划,论证那些在开发过程中难于管理和控制的因素,明确软件产品的最重要部分(风险评估)。
( 1)概要测试计划概要测试计划是在软件开发初期制定,其内容包括:
① 定义被测试对象和测试目标;
② 确定测试阶段和测试周期的划分;
③ 制定测试人员,软、硬件资源和测试进度等方面的计划;
④ 明确任务与分配及责任划分;
⑤ 规定软件测试方法、测试标准。比如,语句覆盖率达到 98%,三级以上的错误改正率达 98%等;
⑥ 所有决定不改正的错误都必须经专门的质量评审组织同意;
⑦ 支持环境和测试工具等。
6.1.2 测试计划的制定第六章 软件测试计划与相关文档
( 2)详细测试计划详细测试计划是测试者或测试小组的具体的测试实施计划,它规定了测试者负责测试的内容、测试强度和工作进度,是检查测试实际执行情况的重要标准。
详细测试计划的主要内容有:计划进度和实际进度对照表;测试要点;测试策略;尚未解决的问题和障碍。
( 3)制定主要内容计划进度和实际进度对照表;测试要点;测试策略;尚未解决的问题和障碍。
( 4)制定测试大纲(用例)
测试大纲是软件测试的依据,保证测试功能不被遗漏,并且功能不被重复测试,使得能合理安排测试人员,使得软件测试不依赖于个人。
测试大纲包括:测试项目、测试步骤、测试完成的标准以及测试方式
(手动测试或自动测试)。测试大纲不仅是软件开发后期测试的依据,
而且在系统的需求分析阶段也是质量保证的重要文档和依据。无论是自动测试还是手动测试,都必须满足测试大纲的要求。
测试大纲的本质:从测试的角度对被测对象的功能和各种特性的细化和展开。针对系统功能的测试大纲是基于软件质量保证人员对系统需求规格说明书中有关系统功能定义的理解,将其逐一细化展开后编制而成的。
测试大纲的好处:保证测试功能不被遗漏,使得软件功能不被重复测试,合理安排测试人员,使得软件测试不依赖于个人。测试大纲不仅是软件开发后期测试的依据,而且在系统的需求分析阶段也是质量保证的重要文档和依据。
6.1.2 测试计划的制定第六章 软件测试计划与相关文档
6.1.2 测试计划的制定第六章 软件测试计划与相关文档
( 5)制定测试通过或失败的标准测试标准为可观的陈述,它指明了判断 /确认测试在何时结束,
以及所测试的应用程序的质量。测试标准可以是一系列的陈述或对另一文档(如测试过程指南或测试标准)的引用。
测试标准应该指明:
确切的测试目标度量的尺度如何建立使用了那些标准对度量进行评价
6.1.2 测试计划的制定第六章 软件测试计划与相关文档
( 6)制定测试挂起标准和恢复的必要条件指明挂起全部或部分测试项的标准,并指明恢复测试的标准及其必须重复的测试活动。
( 7)制定测试任务安排明确测试任务,对每项任务都必须明确 7个主题。
任务:用简洁的句子对任务加以说明方法和标准:指明执行该任务时,应该采用的方法以及所应遵守的标准。
输入输出:给出该任务所必需的输入输出时间安排:给出任务的起始和持续时间资源:给出任务所需要的人力和物力资源风险和假设:指明启动该任务应满足的假设,以及任务执行可能存在的风险角色和职责:指明由谁负责该任务的组织和执行,以及谁将担负怎样的职责
6.1.2 测试计划的制定第六章 软件测试计划与相关文档
( 8)制定应交付的测试工作产品指明应交付的文档、测试代码和测试工具,一般包括这些文档:
测试计划、测试方案、测试用例、测试规程、测试日志、测试总结报告、测试输入与输出数据、测试工具。
( 9)制定工作量估计给出前面定义任务的人力需求和总计
( 10)编写测试方案文档测试方案文档是设计测试阶段文档,指明为完成软件或软件集成的特性测试而进行的设计测试方法的细节文档。
6.1.3 软件开发、软件测试与测试计划制定的并行关系第六章 软件测试计划与相关文档软件开发、软件测试与测试计划制定的并行关系如图 6-1所示。
软件开发过程 测试计划制定需求分析功能设计详细设计编码概要测试计划详细测试计划测试大纲测试用例实施测试结果分析纠错质量评审产品发布项目任务书图 6-1 软件开发、软件测试与测试计划制定的并行关系
6.2 测试文档第六章 软件测试计划与相关文档
6.2.1 测试文档
6.2.2 软件生命周期各阶段的测试任务与可交付的文档
6.2.1 测试文档第六章 软件测试计划与相关文档
1.测试文档的定义测试文档( Testing Documentation)记录和描述了整个测试流程,
它是整个测试活动中非常重要的文件。测试过程实施所必备的核心文档是:测试计划、测试用例(大纲)和软件测试报告。
6.2.1 测试文档第六章 软件测试计划与相关文档
2.测试文档的重要性软件测试是一个很复杂的过程,涉及软件开发其他阶段的工作,对于提高软件质量、保证软件正常运行有着十分重要的意义,因此必须把对测试的要求、过程及测试结果以正式的文档形式写下来。软件测试文档用来描述要执行的测试及测试的结果。可以说,测试文档的编制是软件测试工作规范化的一个重要组成部分。
软件测试文档不只在测试阶段才开始考虑,它应在软件开发的需求分析阶段就开始着手编制,软件开发人员的一些设计方案也应在测试文档中得到反映,以利于设计的检验。测试文档对于测试阶段的工作有着非常明显的指导作用和评价作用。即便在软件投入运行的维护阶段,也常常要进行再测试或回归测试,这时仍会用到软件测试文档。
6.2.1 测试文档第六章 软件测试计划与相关文档
3.测试文档的内容整个测试流程会产生很多个测试文档,一般可以把测试文档分为两类:测试计划和测试分析报告。
测试计划文档描述将要进行的测试活动的范围、方法、资源和时间进度等。测试计划中罗列了详细的测试要求,包括测试的目的、内容、方法、步骤以及测试的准则等。在软件的需求和设计阶段就要开始制定测试计划,不能在开始测试的时候才制定测试计划。通常,
测试计划的编写要从需求分析阶段开始,直到软件设计阶段结束时才完成。
测试报告是执行测试阶段的测试文档,对测试结果进行分析说明。
说明软件经过测试以后,结论性的意见如何,软件的能力如何,存在哪些缺陷和限制等,这些意见既是对软件质量的评价,又是决定该软件能否交付用户使用的依据。由于要反映测试工作的情况,自然应该在测试阶段编写。
6.2.1 测试文档第六章 软件测试计划与相关文档测试报告包含了相应的测试项的执行细节。软件测试报告是软件测试过程中最重要的文档,记录问题发生的环境,如各种资源的配置情况,问题的再现步骤以及问题性质的说明。测试报告更重要的是还记录了问题的处理进程,而问题的处理进程从一定角度上反映了测试的进程和被测软件的质量状况以及改善过程。
,计算机软件测试文档编制规范,国家标准给出了更具体的测试文档编制建议,其中包括以下几个内容。
6.2.1 测试文档第六章 软件测试计划与相关文档测试计划描述测试活动的范围、方法、资源和进度,其中规定了被测试的对象,被测试的特性、应完成的测试任务、人员职责及风险等。
测试设计规格说明详细描述测试方法,测试用例设计以及测试通过的准则等。
测试用例规格说明测试用例文档描述一个完整的测试用例所需要的必备因素,如输入、预期结果、测试执行条件以及对环境的要求、对测试规程的要求等。
测试步骤规格说明测试规格文档指明了测试所执行活动的次序,规定了实施测试的具体步骤。它包括测试规程清单和测试规程列表两部分。
测试日志日志是测试小组对测试过程所作的记录。
测试事件报告报告说明测试中发生的一些重要事件。
测试总结报告对测试活动所作的总结和结论。
上述测试文档中,前 4项属于测试计划类文档,后 3项属于测试分析报告类文档。
6.2.2 软件生命周期各阶段的测试任务与可交付的文档第六章 软件测试计划与相关文档通常软件生命周期可分为以下 6个阶段:需求阶段、功能设计阶段、
详细设计阶段、编码阶段、软件测试阶段以及运行 /维护阶段,相邻两个阶段之间可能存在一定程度的重复以保证阶段之间的顺利衔接,
但每个阶段的结束是有一定的标志,例如已经提交可交付文档等。
1.需求阶段
( 1)测试输入
需求计划(来自开发)。
( 2)测试任务
制定验证和确认测试计划;
对需求进行分析和审核;
分析并设计基于需求的测试,构造对应的需求覆盖或追踪矩阵。
6.2.2 软件生命周期各阶段的测试任务与可交付的文档第六章 软件测试计划与相关文档
( 3)可交付的文档
验收测试计划(针对需求设计);
验收测试报告(针对需求设计)。
2.功能设计阶段
( 1) 测试输入功能设计规格说明(来自开发)。
( 2)测试任务
功能设计验证和确认测试计划;
分析和审核功能设计规格说明;
可用性测试设计;
分析并设计基于功能的测试,构造对应的功能覆盖矩阵;
实施基于需求和基于功能的测试。
6.2.2 软件生命周期各阶段的测试任务与可交付的文档第六章 软件测试计划与相关文档
( 3)可交付的文档
主确认测试计划;
验收测试计划(针对功能设计);
验收测试报告(针对功能设计)。
3.详细设计阶段
( 1)测试输入详细设计规格说明(来自开发)。
( 2)测试任务
详细设计验收测试计划;
分析和审核详细设计规格说明;
分析并设计基于内部的测试。
( 3)可交付的文档
详细确认测试计划;
验收测试计划(针对详细设计);
验收测试报告(针对详细设计);
测试设计规格说明。
6.2.2 软件生命周期各阶段的测试任务与可交付的文档第六章 软件测试计划与相关文档
4.编码阶段
( 1) 测试输入代码(来自开发)。
( 2)测试任务
代码验收测试计划;
分析代码;
验证代码;
设计基于外部的测试;
设计基于内部的测试。
( 3)可交付的文档
测试用例规格说明;
需求覆盖或追踪矩阵;
功能覆盖矩阵;
测试步骤规格说明;
验收测试计划(针对代码);
验收测试报告(针对代码)。
6.2.2 软件生命周期各阶段的测试任务与可交付的文档第六章 软件测试计划与相关文档
5.测试阶段
( 1) 测试输入
要测试的软件;
用户手册。
( 2)测试任务
制定测试计划;
审查由开发部门进行的单元和集成测试;
进行功能测试;
进行系统测试;
审查用户手册。
( 3)可交付的文档
测试记录;
测试事故报告;
测试总结报告。
6.2.2 软件生命周期各阶段的测试任务与可交付的文档第六章 软件测试计划与相关文档
6.运行 /维护阶段
( 1) 测试输入
已确认的问题报告;
软件生命周期。软件生命周期是一个重复的过程。如果软件被修改了,开发和测试活动都要回归到与修改相对应的生命周期阶段。
( 2)测试任务
监视验收测试;
为确认的问题开发新的测试用例;
对测试的有效性进行评估。
( 3)可交付的文档可升级的测试用例库。
6.3 测试用例文档的设计第六章 软件测试计划与相关文档
1.测试用例测试用例( Test Case)是为了高效率地发现软件缺陷而精心设计的少量测试数据
。实际测试中,由于无法达到穷举测试,所以要从大量输入数据中精选有代表性或特殊性的数据来作为测试数据。好的测试用例应该能发现尚未发现的软件缺陷
。
2.测试用例文档应包含以下内容:
( 1)测试用例表测试用例表如表 6-1所示。对其中一些项目做如下说明:
1.测试项目:指明并简单描述本测试用例是用来测试哪些项目、子项目或软件特性的。
2.用例编号:对该测试用例分配唯一的标识号。
3.用例级别:指明该用例的重要程度。测试用例的级别分为 4级:级别 1(基本)、级别 2(重要)、级别 3(详细)、级别 4(生僻)。
执行操作:执行本测试用例所需的每一步操作。
预期结果:描述被测项目或被测特性所希望或要求达到的输出或指标。
实测结果:列出实际测试时的测试输出值,判断该测试用例是否通过。
备注。如需要,则填写,特殊环境需求(硬件、软件、环境),,,特殊测试步骤要求,,,相关测试用例,等信息。
6.3 测试用例文档的设计第六章 软件测试计划与相关文档用例编号 测试模块编制人 编制时间开发人员 程序版本测试人员 测试负责人用例级别测试目的测试内容测试环境规则指定执行操作测试结果步骤 预期结果 实测结果
1
2
备注
测试用例清单测试用例清单如表 6-2所示。
表 6-1 测试用例表
6.3 测试用例文档的设计第六章 软件测试计划与相关文档项目编号 测试项目 子项目编号 测试子项目 测试用例编 号 测试结论 结论
1 1 1
… … … … … …
总数 - - -
表 6-2 测试用例清单
6.4 测试总结报告第六章 软件测试计划与相关文档计划测试项 实际测试项 【 Y】项 【 P】项 【 N】项 【 N/A】项 备注数量百分比测试总结报告主要包括测试结果统计表、测试问题表和问题统计表、测试进度表、测试总结表等。
1.测试结果统计表测试结果统计表主要是对测试项目进行统计,统计计划测试项和实际测试项的数量,以及测试项通过多少、失败多少等。测试结果统计表如表 6-3
所示。
表 6-3 测试结果统计表
6.4 测试总结报告第六章 软件测试计划与相关文档其中,【 Y】 表示测试结果全部通过,【 P】 表示测试结果部分通过,【 N】 表示测试结果绝大多数没通过,【 N/A】 表示无法测试或测试用例不适合。
另外,根据表 6-3,可以按照下列两个公式分别计算测试完成率和覆盖率,作为测试总结报告的重要数据指标。
测试完成率=实际测试项数量 /计划测试项数量 × 100%
测试覆盖率= 【 Y】 项的数量 /计划测试项数量 × 100%
6.4 测试总结报告第六章 软件测试计划与相关文档问题号问题描述问题级别问题分析与策略避免措施备注
2.测试问题表和问题统计表测试问题表如表 6-4所示,问题统计表如表 6-5所示。
表 6-4 测试问题表
6.4 测试总结报告第六章 软件测试计划与相关文档严重问题 一般问题 微小问题其他统计项问题合计数量百分比 -
在表 6-4中,问题号是测试过程所发现的软件缺陷的唯一标号,问题描述是对问题的简要介绍,问题级别在表 6-5中有具体分类,问题分析与策略是对问题的影响程度和应对的策略进行描述,避免措施是提出问题的预防措施。
表 6-5 问题统计表
6.4 测试总结报告第六章 软件测试计划与相关文档从表 6-5得出,问题级别基本可分为严重问题、一般问题和微小问题。根据测试结果的具体情况,级别的划分可以有所更改。例如,
若发现极其严重的软件缺陷,可以在严重问题级别的基础上,加入特殊严重问题级别。
3.测试进度表测试进度表如表 6-6所示,用来描述关于测试时间、测试进度的问题。根据表 6-6,可以对测试计划中的时间安排和实际的执行时间状况进行比较,从而得到测试的整体进度情况。
6.4 测试总结报告第六章 软件测试计划与相关文档测试项目 计划起始时间 计划结束时间 实际起始时间 实际结束时间 进度描述
4.测试总结表测试总结表包括测试工作的人员参与情况和测试环境的搭建模式
,并且对软件产品的质量状况做出评价,对测试工作进行总结。测试总结表模板如表 6-7所示。
表 6-6 问题统计表
6.4 测试总结报告第六章 软件测试计划与相关文档项目编号 项目名称项目开发经理 项目测试经理测试人员测试环境(软件、硬件)
软件总体描述:
测试工作总结:
表 6-7 测试总结表习题第六章 软件测试计划与相关文档
1,简述测试计划的定义。
2,概括测试文档的含义。
3,简述测试计划的制定原则。
4,简述测试文档的内容。
5,简述软件生命周期各阶段的测试任务与可交付的文档。
6,举例说明测试用例的设计方法。、
7,选择一个小型应用系统,为其做出系统测试的计划书、设计测试用例并写出测试总结报告。