IT系统测试方法论
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12
三全食品信息中心
项目测试-测试活动-活动内容
项目测试执行活动内容说明:
SWE如实记录每个项目测试用例执行结果及其执行状态 SWE依据软件缺陷跟踪规程报告所有项目测试中发现的问题,保 证所有的缺陷被跟踪并解决 SWE应按照软件缺陷跟踪规程修复错误 在随机测试中发现的问题应该为其编写相应的项目测试用例 SWE应按项目测试计划中定义的回归测试策略执行回归测试 当发生意外并满足项目测试计划中所设定的挂起条件时,项目测 试执行应挂起,直到其对应的恢复条件满足时才继续测试执行工 作
的模块,使被测对 象得以运行
桩模块1
39
测试结 果
桩模块2
桩模块3
三全食品信息中心
单元测试-测试方法-测试工具
项目测试-用例设计-设计方法
等价类划分法
根据系统的输入域划分成若干部分,然后从每个部分中选取少 数代表性数据当作测试用例,等价类是输入域的集合
边值分析法
系统的大量错误往往发生在输入或输出范围的边界上
根据输入输出等价类,选取稍高于边界值、稍低于边界值和等 于边界值
错误推测法
基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针 对性地设计测试用例
执行单元 测试用例
单元测试 报告
单元测试计划、用例用例设计、 Review, 测试代码、环境等准备
缺陷跟踪与 解决
28
三全食品信息中心
单元测试-基本概念-测试过程
阶段 主要内容(参见测试规程)
确定测试需求、确定测试所用资源(包括人力资源和 计划 设备资源),创建测试任务的时间表等;并完成单元 测试用例,更新需求跟踪矩阵
• 测试定义
项目测试是针对软件项目组所承担开发的软件系统进行的测试,
主要目的是验证该软件系统是否满足了软件需求规格的定义。
• 测试对象
软件项目组所承担开发的软件系统;
是软件项目级的系统。
• 测试依据
软件需求规格说明书、各种技术规范; 系统测试的依据决不是软件本身。
5
三全食品信息中心
项目测试-基本概念-输入输出
32
三全食品信息中心
单元测试
基本概念
测试方法
用例设计
经验总结
33
三全食品信息中心
单元测试-测试方法
概念定义 覆盖率
驱动与桩
测试工具
34
三全食品信息中心
单元测试-测试方法-概念定义
白盒测试也叫结构化测试、玻璃盒测试,它是根据被测对象
的数据结构、处理逻辑进行测试,被测对象的内部结构清晰
三全食品信息中心
单元测试-基本概念-单元划分
如何划分单元,对于单元测试的成本和效果有很大影响 单元划分过大,花费在问题定位等方面的工作量较大;单元 划分过小,测试回报率较低,也就是说,发现同等数量的问 题,将编写更多的测试用例 确定单元粒度的最基本原则就是“高内聚、低耦合”
工
消除同等数量缺陷工作量示意图
IT系统测试方法论
周 清 湘 2009年12月20日
1
三全食品信息中心
提纲
• 项目测试 • 单元测试 • 集成测试
2
三全食品信息中心
项目测试
基本概念
测试活动
用例设计
3
三全食品信息中心
项目测试-基本概念
测试定义
测试对象
测试依据
输入来自百度文库出
4
三全食品信息中心
项目测试-基本概念-定义、对象、依据
项目测试
基本概念
测试活动
用例设计
15
三全食品信息中心
项目测试-用例设计
设计原则
设计方法
16
三全食品信息中心
项目测试-用例设计-设计原则
应覆盖软件需求规格的所有测试点 应指出实际输入值和预期结果
应考虑各种输入输出条件和各种边界值
应考虑测试执行的可行性
17
三全食品信息中心
阶段
单元测试 计划阶段 单元测试 准备阶段 单元测试 执行阶段 单元测试 报告阶段
活动输出
单元测试计划 更新后的RTM
单元测试表单
单元测试表单
30
三全食品信息中心
单元测试-基本概念-相关区别
单元测试与集成测试相比,测试对象有所区别:
集成测试的被测对象是单元间的组合,这里,不同模块往往
是分配给不同的人员开发。集成测试主要关注不同单元模块 之间的接口和配合
测试输入
项目计划
软件需求规格说明书 经过集成测试的代码
测试活动
测试输出
测试计划(含测试用例)
测试报告 已测试的代码
6 三全食品信息中心
项目测试
基本概念
测试活动
用例设计
7
三全食品信息中心
项目测试-测试活动
测试计划
计划模板
测试准备
测试执行
活动内容
测试报告
测试活动
测试计划
测试准备 测试执行 测试报告
用例设计
设计原则 设计方法
20
三全食品信息中心
提纲
• 项目测试 • 单元测试 • 集成测试
21
三全食品信息中心
单元测试
基本概念
测试方法
用例设计
经验总结
22
三全食品信息中心
单元测试-基本概念
测试意义 意义说明
测试定义
13
三全食品信息中心
项目测试-测试活动-测试报告
入口条件
项目测试执行
工作结束,项 目测试计划中
关键活动
项目用例执行状态与结 果统计并说明 缺陷数统计并说明 项目测试活动中经验及 教训总结 项目测试结论
出口条件
项目测试报告通过
评审并获得TC的 批准
所定义的出口
条件满足
14
三全食品信息中心
单元划分
测试时机
测试过程
阶段输出
相关区别
23 三全食品信息中心
单元测试-基本概念-测试意义
使软件尽早正常运行 为集成测试奠定基础 快速定位错误 使修改缺陷成本更低
24
三全食品信息中心
单元测试-基本概念-意义说明
实践经验表明一个尽责的单元测试方法将会在软件开发的较 早期阶段发现很多的Bug,并且降低修改的成本 在软件开发的后期阶段,Bug的发现并修改将会变得更加困 难,消耗大量的时间和开发费用 无论什么时候作出修改都要进行完整的回归测试,在生命周 期中尽早地对软件产品进行测试将使效率和质量得到最好的 保证 在提供了经过充分测试的单元的情况下,系统集成过程将会 大大地简化。开发人员可以将精力集中在单元之间的交互作 用和全局的功能实现上,而不是陷入充满很多Bug的单元之 中不能自拔
18
三全食品信息中心
项目测试-用例设计-设计方法(续)
•因果图法
等价类划分方法和边界值分析方法,都是着重考虑输入条件,
但未考虑输入条件之间的联系, 相互组合等 因果图法根据输入条件的组合、约束关系和输出条件的因
果关系而导出测试用例
19
三全食品信息中心
项目测试-总结
基本概念
测试定义
测试对象 测试依据 输入输出
9
三全食品信息中心
项目测试-测试活动-计划模板
•1 Introduction 简介 1.1 Purpose 目的 1.2 Scope 范围 •2 Test Plan 测试计划 2.1 Resource Requirements 资源需求 2.2 Test object 测试对象 2.3 Process Criteria 过程条件 2.4 Schedule 进度计划 2.5 Orientation/Training Plan 导向/培训计划 •3 Test Method 测试方法 3.1 describe the design idea of test for test entities,针对测试实 体,给出测试的设计思路和方法 3.2 Test Topologies 测试组网图 3.3 Test Flow 测试顺序 •4 Deliverables 工作交付件
•int startTest(int a, int b) •{ • int result; • • //语句块1 result = 1;
语句覆盖、 判断覆盖
result 3 2 a>0 false true b>0 true
• • • • • • • • • •
•
if( a > 0 && b>0 ) { //语句块2 result = 2; } else { //语句块3 result = 3; }
单元本身不能独立运行,所以必须为每个单元测试开
发驱动模块(Driver)和桩模块(Stub)以构成一个可运
行的软件系统进行测试
“驱动模块”是一个接收测试数据,并把数据传送给(被
测试)模块,然后显示或比较相关结果的“主程序”
“桩模块”的功能 是替代那些隶属于
测试用例
驱动模块
被测单元
本模块(被调用)
准备 编写测试脚本/代码、开发测试工具、搭建测试环境
依据用例对单元进行测试,验证测试的结果并记录、 执行 报告测试过程中出现的缺陷,并修改缺陷
报告
对单元测试的结果进行统计和报告
在随机测试中发现的问题应该为其编写相应的单元测试用例并 更新单元测试计划
29 三全食品信息中心
单元测试-基本概念-阶段输出
8
三全食品信息中心
项目测试-测试活动-测试计划
入口条件
软件需求规
格说明书可 以进行 review时, 开始进行项 目测试计划 工作
关键活动
软件、人力、设备等资
出口条件
源需求计划
确定测试活动启动、 挂起、恢复、结束条件 安排测试日程表 设计测试组网 安排培训计划 编写测试用例 完成RTM
搭建测试环境
11
三全食品信息中心
项目测试-测试活动-测试执行
入口条件 关键活动 出口条件
达到系统测试计划 中所定义的测试出 测试准备就绪, 执行测试用例 代码通过集成 报告所发现的缺陷
测试通过测试 跟踪并修改缺陷
检查 充测试用例
口条件
准入检查单的 为随机测试中发现的问题补
进行回归测试
25
三全食品信息中心
单元测试-基本概念-定义
单元测试是对软件基本组成单元进行的测试
“单元”具有一些基本属性,如:明确的功能、规格定义,
明确的与其他部分的接口定义等,可清晰地与同一程序的其 他单元划分开来
Component4 Node2 Component5
{OR}
Component6
26
Component8
黑盒测试也叫功能测试、行为测试等。顾名思义,黑盒测试 就是将被测对象看作是一个封闭的,内部逻辑不明的黑盒子
进行测试
灰盒测试要依据单元规格的具体实现,黑盒测试则只按功能 规格说明进行测试
35
三全食品信息中心
单元测试-测试方法-覆盖率
在单元测试方案中,要明确说明量化的被测试单元需
要达到的覆盖率指标。常见的逻辑覆盖准则如下:
问题定位、修改 和创建环境
作
量 设计测试用例
测试起始规模(单元粒度)
27 三全食品信息中心
单元测试-基本概念-测试时机
单元测试计划在软件详细设计阶段就要开始 代码在编写、编译、调试和Review以后进入基线库管理 在代码基线化后,开始单元测试执行
详细 设计
编 码
编译 调试
检 视
代码进入 基线库
语句覆盖:设计若干测试用例,运行被测程序,使得每一个 可执行语句至少执行一次
判断覆盖:设计若干测试用例,运行被测程序,使得程序中
每个判断的取真分支和取假分支至少执行一次 条件覆盖:设计若干测试用例,运行被测程序,使得程序中
每个判断的每个条件的可能取值至少执行一次
36
三全食品信息中心
单元测试-测试方法-覆盖率(续)
单元测试的测试对象是这些模块下的实现具体功能的单元,
一般是对应详细设计中所描述的设计内容。单元测试主要关 注每个具体单元模块内部的逻辑结构和功能是否正确
31
三全食品信息中心
单元测试-基本概念-相关区别(续)
单元测试与项目测试相比,其侧重点在于发现程序设计或实 现的逻辑错误,基本属于白盒测试的范畴 单元测试使问题及早暴露,也便于问题的定位解决,单元测 试属于早期测试,因而错误发现后就能明确知道是由某一单 元产生的 单元测试允许多个被测单元的测试工作同时开展
return result; • } 37
条件覆盖 result 3 3 3 2
a>0 false false true true
b>0 false true false true
三全食品信息中心
单元测试-测试方法-覆盖率(续)
单元测试报告中要粘贴测试覆盖率报告:
38
三全食品信息中心
单元测试-测试方法-驱动与桩
10 三全食品信息中心
项目测试-测试活动-测试准备
入口条件 关键活动 出口条件
项目测试计 软件工程师按测试策略中 项目测试用例、测 划通过评审 定义的格式和编号规则编 试工具、测试代码 通过评审,测试环 并获TC批准 写测试用例 境准备就就绪,测 编写测试脚本 试执行条件成熟 设计编写模拟器或测试代 码 设计开发测试工具