第5章 软件测试计划与文档

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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

1 / 34
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功