最新北大测试全套课件和教案 白盒测试.教学讲义PPT

合集下载

《ch白盒测试》PPT课件

《ch白盒测试》PPT课件

精选ppt
4
结构性测试(2)
• 有两种维恩图来表示功能性测试:
规格说明
程序
规格说明
程序
测试用例 (方法A)
测试用例 方法A覆盖的区域比方法B覆盖(方法B) 的区域大,但两种方法的覆盖
区域只能在程序实现部分
精选ppt
5
功能性测试与结构性测试比较
单独使用都有其局限性;
最好的方法:结合两种方法。
功能性测试
明所准备的材料;特别是代码的功能和功能间 的关系;
程序阅读:
审查组人员仔细阅读代码和相关资料,对照代 码审查单标出明显的缺陷及错误。
精选ppt
22
代码审查过程
跟踪及报告:
会后将发现的错误登记报表并交给程序开发人员; 如果发现错误较多或发现重大错误,在改正后,组长
要再次组织审查会议;
审查会议要限制在1.5小时~2小时以内。
组长的职责:
分配资料; 安排计划; 主持会议; 纪录并保存被发现的错误;
精选ppt
20
代码审查组
其余成员:
资深的程序员 程序编写者; 专职测试人员;
精选ppt
21
代码审查过程
准备:
组长将程序目录和设计说明书分发给小组成员。 成员熟悉材料; 被测试程序的设计和编码人员想审查组详细说
结构测试概述 程序结构分析 逻辑覆盖 结构测试案例分析 结构测试工具使用
精选ppt
11
静态测试
静态测试包括代码审查和代码走查, 此方法是软件测试的有效手段
精选ppt
12
静态测试技术特点
是指无须执行被测代码,而是借助专用的软件测试工具评 审软件文档或程序,度量程序静态复杂度,检查软件是否 符合编程标准,借以发现编写的程序的不足之处,减少错 误出现的概率。静态测试在主机上完成,不需目标系统支 持,测试的主要内容有编程标准验证、数据流分析技术、 质量度量信息、代码结构可视化显示、测试外壳的创建。 由此看出,静态测试只是对代码进行扫描分析,检测它的 语法规则复杂度等是否符合要求,主要是为软件的质量保 证提供依据,以提高软件的可靠性和易维护性

白盒测试及测试案例设计(已经看)精品PPT课件

白盒测试及测试案例设计(已经看)精品PPT课件
Slide 1
第4章 白盒测试及其用例的设计
4.1 4.2 白盒测试的基本概念 4.3 覆盖测试 4.4 4.5 最少测试用例数计算
A Free sample background from
第四章 白盒测试及其用例的设计
Slide 2
本章教学目标
理论环节
学习理解白盒测试方法的基本概念 学习理解白盒测试的覆盖理论 学习掌握白盒测试的路径表达 学习掌握白盒测试的基本路径测试法
实践环节
通过案例运用学习掌握覆盖问题的解决方法 运用基本路径测试方法进行实际程序测试
A Free sample background from
第四章 白盒测试及其用例的设计
Slide 3
4.1 白盒测试方法
为什么要进行白盒测试?
如果所有软件错误的根源都可以追溯到某个唯一原因, 那么问题就简单了。然而,事实上一个bug 常常是由多个 因素共同导致的,如下图所示。
假设此时开发工作已结束,程序 送交到测试组,没有人知道代码中有 一个潜在的被 0 除的错误。若测试组 采用的测试用例的执行路径没有同时 经过x=0和y=5/x进行测试,显然测试 工作似乎非常完善,测试用例覆盖了 所有执行语句,也没有被 0 除的错误 发生。
Return
A Free sample background from
第四章 白盒测试及其用例的设计
Slide 7
4.2.1 控制流图
控制流图(可简称流图)是对程序流程图进行简化后得到 的,它可以更加突出的表示程序控制流的结构。
控制流图中包括两种图形符号:节点和控制流线。 ➢ 节点由带标号的圆圈表示,可代表一个或多个语句、一个
处理框序列和一个条件判定框(假设不包含复合条件)。 ➢ 控制流线由带箭头的弧或线表示,可称为边。它代表程序

北大测试全套课件和教案 8. 第4章 第2讲

北大测试全套课件和教案 8. 第4章 第2讲

《软件测试基础》授课教案授课内容:第四章白盒测试技术授课课次:第8次课授课时数:2学时授课日期: 上课教室:目的与要求:掌握白盒测试的概念;掌握逻辑覆盖的基本思想,能够独立分析程序的逻辑,设计路经覆盖测试用例。

教学重点:逻辑覆盖教学难点:条件组合覆盖教学方式:1.运用《白盒测试技术》课件进行课堂讲授,让学生理解白盒测试的概念;2.通过讲述白盒测试,拓宽学生们的测试思维,掌握白盒测试中最普遍的逻辑覆盖法。

3.进行课堂练习,加深对覆盖测试的理解和使用。

教学内容:1.语句覆盖2.判定覆盖3.条件覆盖4.判定-条件覆盖5.条件组合覆盖6.路经覆盖。

内容提要及时间分配:1、课前引导(5分钟)◆为什么要进行静态测试。

◆白盒测试有什么意义。

2、本课内容(78分钟)◆语句覆盖(10分钟)◆判定覆盖(13分钟)◆条件覆盖(15分钟)◆判定-条件覆盖(10分钟)◆条件组合覆盖(20分钟)◆路经覆盖(10分钟)3、课后小结(5分钟)4、布置作业(2分钟)教学参考书:1.软件测试方法和技术朱少民清华大学出版社2.软件测试Paul C.Jorgensen 机械工业出版社讨论与思考:为伪代码三角形程序开发条件组合覆盖的测试用例。

作业:写出“直接插入排序”的算法,画出流程图,并用逻辑覆盖法,写出测试用例。

复问题目:教学内容与方法步骤4.2 白盒测试方法引言:白盒测试作为测试人员常用的一种测试方法,越来越受到测试工程师的重视。

白盒测试并不是简单的按照代码设计用例,而是需要根据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试。

因为对于不同复杂度的代码逻辑,可以衍生出许多种执行路径,只有适当的测试方法,才能帮助我们从代码的迷雾森林中找到正确的方向。

白盒测试与程序内部结构相关,需要利用程序结构的实现细节等知识,才能有效进行测试用例的设计工作。

白盒测试方法有程序控制流分析、数据流分析、逻辑驱动测试、域测试、符号测试、路径测试、程序插桩及程序变异等。

白盒测试PPT课件

白盒测试PPT课件

软件技术专业国家教学资源库——《软件测试》课程
3
本项目各任务的教学过程
➢ 项目概述 ➢任务一 ➢任务二 ➢任务三
软件技术专业国家教学资源库——《软件测试》课程
4
项目概述
引例
如何清理面包机?
不管内部,拿水从入口往下灌着冲洗 将面包机拆开一点点的查看有无锈迹污迹,逐个清理
白盒测试
测试者针对可见代码进行的一种测试
1
if((a+b<=c) || (a+c<=b) || (b+c<=a)){
2
printf("不能构成三角形");
3
}else{
4
if((a==b) ||(b==c)||(a==c)){
5
if((a==b)&&(b==c)){
6
printf("等边三角形");
7
}else{
8
printf("等腰三角形");
➢ 任务简介 ➢ 任务分析 ➢ 相关知识点 ➢ 任务实施 ➢ 任务小结 ➢ 拓展训练
软件技术专业国家教学资源库——《软件测试》课程
7
项目概述
待测程序说明
图形识别系统
根据输入的信息确定最终图形的种类
主要测试的程序片段---三角形问题
接受输入三个整数a、b、c,分别作为三角形的三条边,通 过程序判断这三条边是否能构成三角形?如果能构成三角形, 则判断三角形的类型(等边三角形、等腰三角形、一般三角 形)。要求输入三个整数a、b、c,必须满足以下条件: 1≤a≤200;1≤b≤200;1≤c≤200。
9
}
10
}else{

《白盒测试技术》课件

《白盒测试技术》课件

条件覆盖
条件覆盖
语句覆盖
《白盒测试技术》
A>1and B=0
T cc
b
X=X/A
T
A=2 or
d
X>1
ee
X=X/A
1
B
A
C
2
3 D
E 4
5
F
《白盒测试技术》
语句覆盖
• 语句覆盖:选择 足够多的测试用 例,使得程序中 的每个可执行语 句至少执行一次。
A>1and T
B=0
c
b
X=X/A
A=2 or T
d
➢ 组合覆盖:通过执行足够的测试用例,使得程序中每个判定的所有可 能的条件取值组合都至少出现一次。 ——满足组合覆盖的测试用例一定满足判定覆盖、条件覆盖和判定/条 件覆盖。
➢ 路径覆盖:设计足够多的测试用例,要求覆盖程序中所有可能的路径。
《白盒测试技术》
逻辑覆盖法(续)
组合覆盖
判断/条件覆盖
判断覆盖
第2章 白盒测试技术
《白盒测试技术》
2.1 白盒测试方法 2.2 白盒测试的基本概念 2.3 覆盖测试 2.4 路径测试 2.5 最少测试用例数计算
《白盒测试技术》
本章教学目标
理论环节
• 学习理解白盒测试方法的基本概念 • 学习理解白盒测试的覆盖理论 • 学习掌握白盒测试的路径表达 • 学习掌握白盒测试的基本路径测试法
《白盒测试技术》
2.3.2 逻辑覆盖法
• 根据覆盖目标的不同,逻辑覆盖又可分为语句覆盖、判定 覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。
➢语句覆盖:选择足够多的测试用例,使得程序中的每个可 执行语句至少执行一次。

北大测试全套课件和教案 9. 第4章 第3讲

北大测试全套课件和教案 9. 第4章 第3讲

北大测试全套课件和教案 9. 第4章第3讲《软件测试基础》授课教案授课内容:第四章白盒测试技术授课课次:第9次课授课时数:2学时授课日期: 上课教室: 目的与要求:掌握白盒测试中基本路经测试的概念和方法;了解程序插桩的概念和方法。

教学重点:基本路经测试教学难点:程序插桩教学方式:1. 运用《白盒测试技术》课件进行课堂讲授,让学生理解基本路径测试的概念,掌握基本路径测试方法;2. 进行课堂练习,加深对基本路径测试的理解和使用。

教学内容:1.程序结构分析 2.DD路径测试 3.基本路径测试 4.程序插桩内容提要及时间分配:1、课前引导(8分钟)? 回顾6种覆盖法的基本思想。

? 白盒测试中有哪些常用方法?2、本课内容(75分钟)? 程序结构分析 ? DD路径测试 ? 基本路径测试 ? 程序插桩3、课后小结(5分钟)4、布置作业(2分钟)教学参考书:1. 软件测试方法和技术朱少民清华大学出版社2. 软件测试Paul C.Jorgensen 机械工业出版社讨论与思考:把第2章的NextDate问题的伪代码转换成为控制流图,并简化。

作业:1.请把下面的程序流程图转化成控制流图。

12364791181052.重新编写程序片断14~20,用嵌套if-then-else语句替代复合条件。

14. if(a=b)AND (b=c) 15. T hen Output(“Equilateral”)16. Else If(a<>b)AND(a<>c)AND(b<>c) 17. Then Output(“Scalence”) 18. Else Output(“Isosecles”) 19. EndIf 20. EndIf比较你改写后的程序和上面程序片断的圈复杂度。

复问题目:序号 1 2 3 题目学生成绩教学内容与方法步骤4.2.3程序结构分析引言:程序的结构形式是白盒测试的主要依据。

这一部分将从控制流分析和数据流分析的不同方面讨论如何分析程序结构。

软件测试教学PPT-白盒测试

软件测试教学PPT-白盒测试

基本路径法
基本路径测试法适用于模块地详细设计 与源程序。其步骤如下:
以详细设计或源代码为基本,导出程序 地控制流图;
计算得出控制流图G地环路复杂度V(G); 确定线性无关地路径地基本集; 生成测试用例,确保基本路径集中每条
路径地执行。
基本路径法
对于下面地程序,假设输入地取值范围是 1000<year<2001,使用基本路径测试法为变量 year设计测试用例,使满足基本路径覆盖地要 求。
基本路径法
根据源代码绘制程序地控制流图如下
基本路径法
通过控制流图,计算环路复杂度V(G)=区域数=4。 线形无关地路径集为: 1-3-8 1-2-5-8 1-2-4-7-8 1-2-4-6-8 设计测试用例: 路径1:输入数据:year=1999 预期结果:leap=0 路径2:输入数据:year=1996 预期结果:leap=1 路径3:输入数据:year=1800 预期结果:leap=0 路径4:输入数据:year=1600 预期结果:leap=1
从覆盖源程序语句地详尽程度,可以分为 语句覆盖 判定覆盖 条件覆盖 条件判定覆盖 条件组合覆盖 路径覆盖
逻辑覆盖法
语句覆盖 指地是代码中所有地语句都至少执行一
遍 虽然覆盖了可执行语句,但是不能检查
判断逻辑是否有问题 是很不充分地一种测试,是最弱地逻辑
覆盖准则 测试覆盖率工具:如
The End
白盒测试方法选择
选择白盒测试方法地几条经验: 在测试中,可采取先静态再动态地组合方式,先进
行代码检查与静态结构分析,再进行覆盖测试; 利用静态分析地结果作为引导,通过代码检查与
动态测试地方式对静态分析地结果做进一步确认; 覆盖测试是白盒测试地重点,一般可使用基本路

白盒测试ppt课件

白盒测试ppt课件
10
控制流图: 为了更加突出控 制流的结构,需 要对程序流程图 做些简化,这种 简化了的流程图 称为控制流图。
11
控制流图
控制流图中的符号: ①节点:以标有编号的圆圈 表示,代表程序流程图中矩 形框所表示的处理、菱形表 示的分支及多选择结构点。 ②控制流线:以带箭头的直 线或弧表示,与程序流程图 中的数据流线是一致的,表 明了控制的顺序。控制流线 通常标有名字,如图中所标 的a、b、c等。
测试完成?

6
关闭测试任务
1,2 3,4 5 6
18
问题?
n 如果判断中的条件表达式是由一个或多个逻辑 运算符 (OR, AND, NAND, NOR) 连接的复合条件 表达式,则需要改为一系列只有单条件的嵌套的 判断。 例如:
1 if a or b 2x 3 else 4y 对应的逻辑为:
数据流分析
15
如何画控制流图
1. n 在选择或多分支结构中,分支的汇聚处应有 一个汇聚结点。
13 14
21
17
23
2. 选择的行号的代码都是出现了选择分支,循 环操作,判断等, 顺序执行的语句可以合并 。 这也是画控制流图的一般规则。
17
1
编写、修改测试用例
2
进入测试任务
3
执行测试用例
4
输入测试结果

5
23
控制流测试基本概念
一、基本概念 有向图 路径 完整路径 简单路径 基本路径 子路径 回路 无回路路径 连接 覆盖
24
有向图:有向图G=(V,E),V是顶点的集合,E是 有向边的集合。e=(T(e),H(e))∈E是一对有 序的邻接节点,T(e)是尾,H(e)是头。如果H(e) =T(e’),则e和e’是临界边。H(e)是T(e)的后继 节点,T(e)是H(e)的前驱节点,indegree(n)和 outdegree(n)分别是节点n的入度和出度。

《白盒测试法》课件

《白盒测试法》课件

优点
代码覆盖率高
白盒测试法能够深入到代码的 逻辑结构中,对代码进行详细 的覆盖,从而确保测试的全面
性。
测试质量高
由于白盒测试法能够深入了解 代码逻辑,因此能够发现更深 层次的代码错误和缺陷,提高 测试质量。
可针对需求定制
白盒测试法可以根据具体的软 件需求和设计进行定制化的测 试,从而更好地满足测试需求 。
04
白盒测试法的工具
JUnit
JUnit是一个Java语言的单元测试框架,用于编写和执行测试用例,验证代码的正确 性和可靠性。
JUnit提供了一系列的注解和断言方法,方便开发者编写测试代码,并且支持测试套 件和测试运行器的概念,可以方便地组织和管理多个测试用例。
JUnit还支持参数化测试和测试模板,提高了测试的灵活性和可维护性。
02
白盒测试法通常在软件开发过程 中,特别是在编码阶段进行,以 便在早期发现和修复潜在的错误 和缺陷。
白盒测试法的目的
01
02
03
验证代码的正确性
白盒测试法通过检查代码 的逻辑和结构,验证代码 是否符合设计要求,是否 能够正确实现功能。
提高代码质量
通过白盒测试,可以发现 代码中的缺陷和错误,并 及时修复,从而提高代码 的质量和稳定性。
《白盒测试法》ppt课件
目 录
• 白盒测试法简介 • 白盒测试法的主要技术 • 白盒测试法的实施步骤 • 白盒测试法的工具 • 白盒测试法的优缺点 • 白盒测试法的案例分析
01
白盒测试法简介
白盒测试法的定义
01
白盒测试法是一种软件测试方法 ,它要求测试人员对被测软件的 内部结构和工作原理有深入的了 解。
测试到。
循环覆盖

第4章 白盒测试及其用例的设计PPT课件

第4章 白盒测试及其用例的设计PPT课件

A Free sample background from
第四章 白盒测试及其用例的设计
判定覆盖
• 要实现DoWork函数的判定覆盖,需要设计两个测试用例。
➢ 测试用例的输入为:{x=4、y=5、z=5};{x=2、y=5、z=5}
➢ 程序执行的路径分别是:abd;ace
• 分析:
上述两个测试用例不仅满足了判定覆盖,同时还做到语 句覆盖。从这点看似乎判定覆盖比语句覆盖更强一些,但 仍然无法确定判定内部条件的错误。例如把第二个判定中 的条件y>5错误写为y<5,使用上述测试用例,照样能按原 路径执行而不影响结果。因此,需要有更强的逻辑覆盖准 则去检验判定内的条件。
第四章 白盒测试及其用例的设计
条件覆盖(续)
• 根据条件覆盖的基本思想,要使上述4个条件可能产生的 8种情况至少满足一次,设计测试用例如下:
测试用例 执行路径 覆盖条件 覆盖分支
x=4、y=6、z=5
abd
T1、T2、 T3、T4
bd
x=2、y=5、 z=15 ace
-T1、-T2、 -T3、-T4
假设此时开发工作已结束,程序 送交到测试组,没有人知道代码中有 一个潜在的被 0 除的错误。若测试组 采用的测试用例的执行路径没有同时 经过x=0和y=5/x进行测试,显然测试 工作似乎非常完善,测试用例覆盖了 所有执行语句,也没有被 0 除的错误 发生。
Return
A Free sample background from
A Free sample background from
第四章 白盒测试及其用例的设计
判定覆盖(续)
• 说明:以上仅考虑了两出口的判断,我们还应把判定覆盖 准则扩充到多出口判断(如Case语句)的情况。因此,判 定覆盖更为广泛的含义应该是使得每一个判定获得每一种 可能的结果至少一次。

白盒测试PPT演示课件

白盒测试PPT演示课件

开始 O
X>=80 and Y>=80
NO B
X+Y>=140 and (x>=90 or y>=90)
YES C
2->T
NO D
3->T
E
X Y 路径
结束
1 90 90 OAE
2 90 30 OBDE
测试用例设计: 3 90 70 OBCE 18
e0
n0
e1
n1 e3
e9
例3-2 e4 n2 e5
x1=-b/(2*a); printf(“one real root\n”);
x1=-b/(2*a); x2=sqrt(-mid)/(2*a); printf(“two complex roots\n”);
printf(“x1=%f,x2=%f\n”,x1,x2); (8)
结束
11
语句覆盖
优点: 直观、简单、易自动化
缺点: 发现错误能力很“弱” 对隐藏的条件和可能到达的隐式逻辑分支,
无法测试
12
语句覆盖
例:if-else结构 如右例所示: 当A=2 B=0 X=3时, 满足语句覆盖要求,但 abd分支未测试。
13
控制流覆盖准则
逻辑覆盖:常见的六种覆盖方法 语句覆盖 判定覆盖(也称分支覆盖) 条件覆盖(也称谓词覆盖) 判定/条件覆盖 条件组合覆盖 路径覆盖
x1=-b/(2*a); x2=sqrt(-mid)/(2*a); printf(“two complex roots\n”);
printf(“x1=%f,x2=%f\n”,x1,x2); (8)
结束
19
判定覆盖
优点: 发现错误能力比语句覆盖强
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.判定覆盖
• 基本思想是:设计若干测试用例,运行被 测程序,使得程序中每个判断的取真分支 和取假分支至少经历一次,即判断真假值 均曾被满足。
1
2.判定覆盖……续1
a=2,b=1 ,c=6可 覆盖判断M的Y分支 和判断Q的Y分支; a=-2,b=-1 ,c=-3 可覆盖判断M的N分 支和判断Q的N分支 。 这两组测试用例可覆 盖所有判定的真假分 支。
a>1 or c>1
c=c/a c=c+1
5N c=b+c
1.语句覆盖……续2
• 【优点】 :可以很直观地从源代码得到 测试用例,无须细分每条判定表达式。
• 【缺点】 :由于这种测试方法仅仅针对 程序逻辑中显式存在的语句,但对于隐 藏的条件是无法测试的。如在多分支的 逻辑运算中无法全面的考虑。语句覆盖 是最弱的逻辑覆盖。
8. End if 9. c=b+c
c=b+c
c=c/a c=c+1
1.语句覆盖
• 基本思想是:设计若干测试用例,运行 被测程序,使程序中每个可执行语句至 少执行一次。
1
1.语句覆盖……续1
只需设计一个测试 用例:a=2,b=1, c=6;即达到了语 句覆盖。
1 Y2
a>0 and b>0
3N Y4
1 Y2
a>0 and b>0
3N Y4
a>1 or c>1
5N c=b+c
判断 M
c=c/a
c=c+1
判断 Q
2.判定覆盖……续2
a=1,b=1 ,c=-3 可 覆盖判断M的Y分支 和判断Q的N分支 ; a=1,b=-2 ,c=3可 覆盖判断M的N分支 和判断Q的Y分支 ; 同样的这两组测试用 例也可覆盖所有判定 的真假分支。
代码的测试,是一
种测试用例设计方
法,它从程序的控
制结构导出测试用
例。
3581322.293419985680302829734315
白盒测试 —带上X光眼镜测试
4.2白盒测试方法
这个流程图,其中包括了一 个执行达20次的循环。那么 它所包含的不同执行路径数 高达520条,若要对它进行穷 举测试,覆盖所有的路径。 假使测试程序对每一条路径 进行测试需要1毫秒,同样 假定一天工作24小时,一年 工作365 天, 那么要想把如 图所示的小程序的所有路径 测试完,则需要3170年。
形式 参加人员 主要技术
方法 注意事项
生成文档 目标
非正式会议 开发人员为主

限时、不要现场 修改代码
会议记录 代码标准规范,
无逻辑错误
正式会议 项目组成员包括测试人员
缺陷检查表
限时、不要现场修改代码
静态分析错误报告 代码标准规范,无逻辑错误
代码审查清单
• 数据引用错误 • 数据声明错误 • 计算错误 • 比较错误 • 控制流程错误 • 子程序参数错误 • 输出错误 • 其他检查
3.条件覆盖
• 基本思想是:设计若干测试用例,执行 被测程序以后要使每个判断中每个条件 的可能取值至少满足一次。
1
3.条件覆盖……续1
• 判断M表达式:
设条件 a>0 取真 记为 T1
假 F1
条件 b>0 取真 记为 T2

F2
• 判断Q表达式:
设条件 a>1 取真 记为 T3
假 F3
条件 c>1 取真 记为 T4

F4
1 Y2
a>0 and b>0
3N Y4
a>1 or c>1
北大测试全套课件和教 案 白盒测试.
引言
• 静态测试和动态测试 静态测试是指不运行程序进行的测试------只
是检查和审阅。 • 白盒测试和黑盒测试 测试用例的设计中,通常会把白盒测试和黑
盒测试结合起来使用
本章主要内容
4.1静态测试技术 4.2白盒测试技术
编码风格与规范
• 好的风格对于好的程序设计具有关键性 作用
4.1.2静态结构分析
静态结构分析主要是以图形的方式表现 程序的内部结构,例如函数调用关系图、 函数内部控制流图。其中,函数调用关 系图以直观的图形方式描述一个应用程 序中各个函数的调用和被调用关系;控 制流图显示一个函数的逻辑结构,它由 许多节点组成,一个节点代表一条语句 或数条语句,连接结点的叫边,边表示 节点间的控制流向。
1 Y2
a>0 and b>0
3N Y4
a>1 or c>1
5N c=b+c
判断 M
cБайду номын сангаасc/a
c=c+1
判断 Q
2.判定覆盖……续3
• 【优点】:判定覆盖具有比语句覆盖更强 的测试能力。同样判定覆盖也具有和语句 覆盖一样的简单性,无须细分每个判定就 可以得到测试用例。
• 【缺点】:往往大部分的判定语句是由多 个逻辑条件组合而成,若仅仅判断其整个 最终结果,而忽略每个条件的取值情况, 必然会遗漏部分测试路径。判定覆盖仍是 弱的逻辑覆盖。
• 代码应该是清楚的和简单的-------具有直 截了当的逻辑、自然的表达式、通行的 语言使用方式
代码审查
• 代码审查和代码走查比较 • 代码审查是提高代码质量的良药 1. 消除开发员的心理抵触 2. 代码审查要有目标 • 代码审查清单
代码审查和代码走查比较
项目 准备
走查 通读设计和编码
审查
应准备好需求描述文档、程序设计文档、程 序的源代码清单、代码编码标准和代码缺 陷检查表
例:实现一个简单的数学运算
1. Dim a,b As Integer 2. Dim c As Double
Y a>0 and b>0
3. If (a>0 And b>0) Then
4.
c=c/a
N
Y
5. End if
a>1 or c>1
6. If (a>1 or c>1) Then
7.
c=c+1
N
4.1.3 代码质量度量
ISO/IEC 9126国际标准所定义的软件质 量包括六个方面:功能性、可靠性、易 用性、效率、可维护性和可移植性。软 件的质量是软件属性的各种标准度量的 组合。
4.2白盒测试方法
• 白盒测试,也称为 250*(1+0.015)*((1+0.015)^360-1)/0.015 结构化测试、基于
循环20次
4.2白盒测试方法
• 由于对于不同复杂度的代码逻辑,可以 衍生出许多种执行路径,只有选择适当 的测试方法,才能帮助我们从代码的迷 雾森林中找到正确的方向。
4.2.1 逻辑覆盖法
• 白盒测试中的逻辑覆盖方法有以下6种: 1. 语句覆盖 2. 判定覆盖 3. 条件覆盖 4. 判定-条件覆盖 5. 条件组合覆盖 6. 路径覆盖
相关文档
最新文档