单元测试计划
(Unit Test Plan)
1 引言
1.1 目的
本文档为XX系统以下模块的单元测试活动提供范围、方法、资源和进度方面的指导:XX模块。
本文档的读者主要是开发经理和开发人员。
1.2测试策略
以类为单元,采用独立的单元测试策略,通过设计相应的驱动和桩的方法来测试类中的方法。在选择类中被测方法时,根据方法的规模和复杂度进行判定。非空非注释代码行数LOC>20,或者复杂度VG>3的方法进行单元测试,其他方法不进行单元测试。
对于子类的测试采用分层增量测试(Hierarchical Incremental Testing)策略,对子类的变化部分设计新的测试用例,与父类相同的部分则重用父类的测试用例。
执行单元测试的次序是根据《软件设计说明》中的用例实现交互图,从图中最小依赖关系的类开始测试,再逐步扩大到依赖关系较强的类,直至所有类测试完毕。
1.3范围
单元测试包含了计划阶段、设计阶段、实现阶段和执行阶段四个阶段。本单元测试计划是整个软件开发项目中的一部分,起始于详细设计阶段,直到单元测试阶段结束后终止。该计划主要处理与MiniLibrary系统单元测试有关的任务安排、资源需求、人力需求、风险管理、进度安排等内容。
1.4参考文献
《软件需求规格说明(Software Requirement Specification)》
《软件设计说明(Software Design Descriptions)》
《用户界面规格说明(User Interface Specification)》
1.5术语
无。
2 测试项目
根据《软件设计说明》中的详细设计内容,单元测试的测试项目如2.1-2.8小节所示。
2.1 XX模块
1 设计类标识:XX设计类
...
2.2 XX模块
3 被测函数
根据测试策略中制定的被测方法选取标准,被测函数如表1所示。
表1 被测函数
4 不被测函数
对不满足测试策略中被测方法选取标准的方法将不进行单元测试,但这些方法必须经过严格代码检视,以保证不会出现一些低级性的错误,并且在集成测试阶段统一验证其接口功能的正确性。不被测函数如表2所示。
表2 不被测函数
5 测试方法
根据类规约和操作规约构建测试用例,利用传统等价类划分法、边界值分析法、判定表法等黑盒测试技术对边界值、正常值、错误值等情况进行全面测试,以覆盖所有前置条件和后置条件组合。
对具有特殊需求的类辅以以下两种方法设计测试用例:
(1)根据状态转换图构建测试用例。该方法根据被测试的类的对象所处的状态以及状态之间的转移来构造测试用例,对状态之间和状态内部的每一转换及其可能发生的异常转换、转换的监护条件等进行全面测试。
(2)基于实现构建测试用例。该方法利用传统逻辑覆盖法、数据流分析法等白盒测试技术对程序的逻辑结构或数据流进行测试,以达到一定的代码覆盖率。
更详细的测试策略描述参考《单元测试说明》。
6 测试通过/失败标准
测试通过的标准表述如下:
l 所有单元测试的用例都被执行并通过;
l 所有发现的缺陷都被修正并回归测试过;
l 所有被测对象的前置条件和后置条件组合覆盖率达到100%,或能明确给出不需要达到的理由;
l 单元测试报告被权签人批准。
测试失败标准表述如下:
l 严重缺陷密度大于15个/kLOC;
l 发现软件结构有重大设计问题,其修改会导致20%以上的接口、功能、数量的变化,进一步测试相关特性已经无意义;
l 发现关键功能未被设计,该功能的设计会导致20%以上的接口、功能、数量的变化,进一步测试相关特性已经无意义;
测试结果审批过程:
开发人员提交单元测试报告→开发经理签字并提交SQA→SQA对报告进行评审并签字(测试经理参与)→产品经理签字。
7 测试挂起/恢复的条件
测试挂起的条件有:
l 当某个类在单元测试执行过程中发现有阻塞用例的时候,该类的单元测试被挂起。
l 当有20%以上的被测类都遇到有阻塞用例的时候,所有类的单元测试被挂起。
l 当出现有新增需求的时候,与该需求相关的所有类的单元测试被挂起。
l 当开发人员提出要进行设计变更的时候,相关类的单元测试将被挂起。
测试恢复的条件有:
l 测试被挂起的条件已经被解决。
l 需要恢复测试的对象达到单元测试入口条件,在这里要求这些被测对象已经通过代码走读(要提交走读报告)和语法检查(要提交检查结果)。
8 单元测试交付物
l 单元测试计划(Unit Test Plan);
l 单元测试设计规格(Unit Test Design Specification);
l 单元测试用例规格(Unit Test Case Specification);
l 单元测试用例脚本;
l 单元测试驱动和桩代码;
l 单元测试执行日志(Unit Test Log);
l 单元测试报告(Unit Test Report)。
9 单元测试任务
单元测试任务表参考表3。
表3 单元测试任务表
10 环境需求
10.1硬件需求
10.2软件需求
10.3测试工具
Logiscope 4.0、JUnit 4.0。
10.4其他
11 角色和职责
单元测试角色和职责参考表4。
表4 单元测试角色和职责对应表
12 人员及培训
l 需要2名一年以上工作经验的开发人员,并且他们应在详细设计开始之后全职投入到单元测试项目组中;
l 在详细设计完成之前,需要完成对项目需求、系统设计、详细设计、单元测试技术、单元测试脚本技术方面的培训;
l 在编码完成之前要完成缺陷电子流使用、测试日志表格使用、测试工具使用的培训;
l 以上培训大约需要花费每人20人时的工作量。
13 单元测试进度
单元测试进度安排参考表5。
表5 单元测试进度安排表
14 风险和应急计划
风险和应急计划安排见表6。
表6 风险和应急计划
15 审批
计划提交人签字: 日期:
开发经理签字: 日期:
产品经理签字: 日期:
Intel? Teach Program
Essentials Course
单元计划模板
Copyright ? 2000-2008, Intel Corporation. All Rights Reserved. Page 1 of 3
Intel? Teach Program
Essentials Course
Copyright ? 2000-2008, Intel Corporation. All Rights Reserved. Page 2 of 3
Intel? Teach Program Essentials Course
Copyright ? 2000-2008, Intel Corporation. All Rights Reserved. Page 3 of 3
单元计划模板物这些特点的闰土是一个聪明能干见识丰富活泼可爱的农村少年作者通过刻画闰土的外貌动作神态闰土给我讲的稀奇有趣的事以及我与…
IntelTeachProgramEssentialsCourse单元计划模板Copyright20xx20xxIntelCorp…
IntelTeachProgram单元计划Copyright20xx20xxIntelCorporationAllRightsRe…
单元计划模板注请在设定课程标准时要充分研究国家新课程标准在附录中提供了指向各科新课标的网站链接学习目标1欣赏并了解各种材料制作的鞋…
文件编号:PTS-PDP–UTR单元测试报告拟制:____________________日期:_________________…
校园博客测试计划1测试计划标示符P20xx01001STTPL2引言1目标制定校园博客管理系统的系统测试计划的目标是a细化准备和进…
图书管理系统测试计划说明书第五组20xx年5月28日1引言311编写目的312背景313名词解释3131黑盒测试3132白盒测试4…
UnitTestDoc单元测试计划20xx11Version100WrittenbyiokingAllRightsReserved…
表31主题单元设计模板一导入新课我们已经学习了加法和减法从今天开始我们要学习一种新的算法这就是乘法这节课我们先来学习乘法的初步认识…