最新北大测试全套课件和教案_第4章_白盒测试_图文幻灯片课件

合集下载

北大测试全套课件和教案 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 白盒测试方法引言:白盒测试作为测试人员常用的一种测试方法,越来越受到测试工程师的重视。

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

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

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

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

讲课 第4章 白盒几种测试方法.ppt

讲课 第4章 白盒几种测试方法.ppt

如:y=2,z=0(1,3,5) 和y=1,z=2(2,4,6)
软件工程文档写作
1. 判定A>1&&B=0为真 2. 判定A>1&&B=0 为假 3. 判定A=2||x>1为真 4. 判定A=2||x>1 为假 5. A>1 6. B=0 7. A=2 8. x>1 9. A<=1 10. B!=0 11. A!=2 12. x<=1
2. ylt;=1 and z!=0
y=2,z=1 y=1,z=0 y=1,z=1
软件工程文档写作
5条件组合覆盖-2
条件组合覆盖就是设计足够的测试用例,使得 每个判定中的条件的各种可能组合都至少出 现一次。
可能的条件组合: (1)A>1,B=0(5)A=2,x>1 (2)A>1,B≠0(6)A=2,x≤1 (3)A≤1,B=0(7)A≠2,x>1 (4)A≤1,B≠0(8)A≠2,x≤1 相应的输入数据: A=2,B=0,x=4 满足(1)和(5) A=2,B=1,x=1 满足(2)和(6) A=1,B=0,x=2 满足(3)和(7) A=1,B=1,软x=件1工程满文档足写(作4)和(8)
四条可能的路径:abd,ace,abe,acd a
A=2,B=0,X=3 (沿路径ace)
A>1 N &&
b
B=0
A=1,B=0,X=1 (沿路径abd)
A=2,B=1,X=1 (沿路径abe) A=3,B=0,X=1 (沿路径acd)
A=2 N ||
d
X>1
Y c
X=X/A
Y e
X++
引用语句2
N X>16 OR Y>10 Y

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

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

《软件测试基础》授课教案授课内容:第四章白盒测试技术授课课次:第7次课授课时数:2学时授课日期: 上课教室:目的与要求:了解静态测试的必要性;理解静态测试的方法,包括代码检查、静态结构分析、代码质量度量。

教学重点:代码检查和编程风格教学难点:代码质量度量教学方式:1.运用《白盒测试技术》课件进行课堂讲授,了解静态测试的必要性;2.通过讲述静态测试,拓宽学生们对测试的理解,测试不光是设计用例,执行用例观察结果,测试的工作也包括不实际运行软件,对软件评估。

3.展开课堂讨论,怎们样做静态测试。

教学内容:1.代码检查2.静态结构分析3.代码质量度量4.课堂讨论。

内容提要及时间分配:1、课前引导(5分钟)◆什么叫做静态测试和动态测试?◆什么叫做白盒测试和黑盒测试。

2、代码检查(50分钟)◆代码走查(10分钟)◆编程风格与规范(25分钟)◆代码审查(15分钟)3、静态结构分析(5分钟)4、代码质量度量(5分钟)5、课堂讨论(20分钟)在做静态测试的时候,我们可能会遇到什么困难?怎样解决呢?6、课后小结和布置作业(5分钟)教学参考书:1.软件测试方法和技术朱少民清华大学出版社2.软件测试Paul C.Jorgensen 机械工业出版社讨论与思考:为什么要做静态测试,在做静态测试的时候,我们可能会遇到什么困难?怎样解决呢?作业:试写c++语言编程中变量和常量的命名规范。

复问题目:教学内容与方法步骤4.1 静态测试引言:静态测试包括包括代码检查、静态结构分析、代码质量度量等。

它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。

动态测试在完成静态测试之后进行,这样,就需要设计一系列的测试用例来确保测试的完整性和有效性,而在测试用例的设计中,通常会把白盒测试和黑盒测试结合起来使用。

本章主要介绍静态测试技术和白盒测试技术和方法,白盒测试技术包括逻辑覆盖、程序结构分析、路径测试和程序插桩。

4.1 静态测试技术静态测试是指不运行程序进行的测试------只是检查和审阅。

北大测试全套课件和教案 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

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分支 ; 同样的这两组测试用 例也可覆盖所有判定 的真假分支。

第4章(1)白盒测试方法1逻辑覆盖法PPT课件

第4章(1)白盒测试方法1逻辑覆盖法PPT课件
测试用例设计的好坏直接决定了测试的效果和 结果。所以说在软件测试活动中最关键的步骤 就是设计有效的测试用例。
测试用例可以针对黑盒测试设计用例,也可以 针对白盒测试设计用例,我们今天开始讲针对 白盒测试的用例设计方法。
华为的评价标准
Page 6
引例:为什么要进行白盒测试?
如果所有软件错误的根源都可以追溯 到某个唯一原因,那么问题就简单了。 然而,事实上一个bug 常常是由多个 因素共同导致的,如下图所示。
{(A=2) or (X>1)} = { not (A>1) or not (B=0)} and
{(A=2) or (X>1)} = not (A>1) and (A=2) or
not (A>1) and (X>1) or not (B=0) and (A=2) or not (B=0) and (X>1)
白盒测试定义
白盒测试将被测程序看作一个打开的 盒子,测试者能够看到被测源程序, 可以分析被测程序的内部结构,此时 测试的焦点集中在根据其内部结构设 计测试用例。
又称为 结构测试 或 逻辑驱动测试
Page 10
白盒测试遵循的原则
采用白盒测试方法必须遵循以下几条原则,才 能达到测试的目的:
➢ 保证一个模块中的所有独立路径至少被测试一 次。
➢ 所有逻辑值均需测试真 (true) 和假 (false) 两种情况。
➢ 检查程序的内部数据结构,保证其结构的有效 性。
➢ 在上下边界及可操作范围内运行所有循环。
Page 11
Page 12
白盒测试
程序的结构形式是白盒测试的主要依 据。
程序结构主要用 流程图 N-S图来表 示(p.65)

软件测试教学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的入度和出度。

《白盒测试法》课件

《白盒测试法》课件

结论
通过本课件的学习,您将了解到白盒测试法的特点和应用价值,以及如何利用它来提高软件质量和可靠性。
白盒测试法的应用场景
白盒测试法适用于需求明确、具有复杂逻辑结构或高风险的软件项目,可以有效发现隐藏的 代码错误和漏洞。
白盒测试法的测试对象
白盒测试法适用的测试对象
白盒测试法适用于各种类型的软件系统,包括
白盒测试法不适用的测试对象
白盒测试法通常不适用于硬件电路和不需要了解内 部实现的功能简单软件模块。
白盒测试法的测试方法
1
动态测试方法
2
通过运行程序并监视其行为,动态测试 方法可以评估测试用例对程序的覆盖情
况并验证其正确性。
静态分析方法
通过分析代码的控制流、数据流和符号 执行等方法,静态分析可以提供关于程 序结构和行为的静态信息。
《白盒测试法》PPT课件
欢迎参加《白盒测试法》课件!这是一个关于白盒测试法的详细介绍,并包 括其定义、应用场景、测试对象、测试方法、优缺点以及应用示例的内容。
什么是白盒测试法
白盒测试法的定义
白盒测试法是一种软件测试方法,通过了解被测试系统的内部实现和代码结构,设计测试用 例并验证系统的正确性和可靠性。
白盒测试法的优缺点
优点
• 可以发现代码错误和漏洞 • 能提高代码质量和可靠性
缺点
• 需要了解被测试系统的内部实现 • 测试难度大,测试成本高
白盒测试法的应用示例
代码示例分析
通过对一个实际代码段的分析,演示如何使用白盒测试法来设计测试用例和验证代码的正确性。
白盒测试用例设计实例
提供一个详细的实例,展示如何根据白盒测试法的原则和技巧来设计测试用例,并对被测试系统进行全面的测 试。

第4章++白盒测试方法总结课件

第4章++白盒测试方法总结课件
第4章++白盒测试方法总结
测试用例 test1 test2 test3 test4 test5 test6 test7 test8 test9 test10 test11 test12 test13
货品价格R 101 0 -1 100 100 50 51 90 91 95 96 99 100
付款金额P 预期结果
有效等价类
②有非数字字符 ③少于8个数字符 ④多于8个数字符
⑥<19090101 ⑦>19920101
⑨等于"00 " ⑩>12
(15)等于"00 " (16)>31 (17)2,4,6,9,11月等于 "31 " (18)2月等于"30 " (19) 平年2月等于"29"
第4章++白盒测试方法总结
(1)A.Income=(800,1500,2000,2001) B.Income=(800,801, 1999,2000) C.Income=(799,1499,2000,2001) D.Income=(799,1500,1999,2000)
(2)A.Income=(799,1500,1999,2001) B.Income=(799,1501, 2000,2001) C.Income=(800,1500,2000,2001) D.Income=(800,1499,2000,2001)
§ 条件桩:c1:a<b+c? c2:b<a+c? c3:c<a+b?
§
c4:a2+b2=c2? c5: a2+c2=b2? c6: b2+c2=a2?

第4章白盒测试及其实例设计-PPT课件

第4章白盒测试及其实例设计-PPT课件

abe abe
测试用例组5(b)
测试 用例 Tc6 Tc7
x,y,z
50,600,6000 2000,200,1000
(x>100)and(y>500) (x>=1000)or(z>5000) 执行路径
False False True True
abe abe
判断/条件覆盖 判断/条件覆盖是指设计若干个测试用例,执行被测试程序时,程序中每个 判断条件的真假值分支至少被执行一遍,并且每个判断条件的内部判断 式的真假值分支也要被执行一遍。
图4-3 控制流图示例
独立路径测试的步骤包括3个方面: 导出程序控制流图 求出程序环形复杂度 设计测试用例(Test Case)
程序4-2: 1 main () 2 { 3 int num1=0, num2=0, score=100; 4 int i; 5 char str; 6 scanf (“%d, %c\n”, &i, &str); 7 while (i<5) 8 { 9 if (str=’T’) 10 num1++; 11 else if (str=’F’) 12 { 13 score=score-10; 14 num2 ++; 15 } 16 i++; 17 } 18 printf (“num1=%d, num2=%d, score=%d\n”, num1, num2, score); 19}
测试用例组7(b)
测试 用例
x,y,z
(x>100)and (y>500)
True False False False
(x>=1000)or (z>5000)

《白盒测试法》课件

《白盒测试法》课件

优点
代码覆盖率高
白盒测试法能够深入到代码的 逻辑结构中,对代码进行详细 的覆盖,从而确保测试的全面
性。
测试质量高
由于白盒测试法能够深入了解 代码逻辑,因此能够发现更深 层次的代码错误和缺陷,提高 测试质量。
可针对需求定制
白盒测试法可以根据具体的软 件需求和设计进行定制化的测 试,从而更好地满足测试需求 。
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语句)的情况。因此,判 定覆盖更为广泛的含义应该是使得每一个判定获得每一种 可能的结果至少一次。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

QQ:498944848
IT Education & Training
例:实现一个简单的数学运算
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
8. End if 9. c=b+c
c=b+c
c=c/a c=c+1
anhuisoft@
QQ:498944848
1.语句覆盖
IT Education & Training
• 基本思想是:设计若干测试用例,运行 被测程序,使程序中每个可执行语句至 少执行一次。
白盒测试 —带上X光眼镜测试
anhuisoft@
QQ:498944848
4.2白盒测试方法
这个流程图,其中包括了一 个执行达20次的循环。那么 它所包含的不同执行路径数 高达520条,若要对它进行穷 举测试,覆盖所有的路径。 假使测试程序对每一条路径 进行测试需要1毫秒,同样 假定一天工作24小时,一年 工作365 天, 那么要想把如 图所示的小程序的所有路径 测试完,则需要3170年。
anhuisoft@
QQ:498944848
4.2.1 逻辑覆盖法
IT Education & Training
• 白盒测试中的逻辑覆盖方法有以下6种: 1. 语句覆盖 2. 判定覆盖 3. 条件覆盖 4. 判定-条件覆盖 5. 条件组合覆盖 6. 路径覆盖
anhuisoft@
QQ:498944848
1.语句覆盖……续2
IT Education & Training
• 【优点】 :可以很直观地从源代码得到 测试用例,无须细分每条判定表达式。
北大测试全套课件和教案_第4 章_白盒测试_图文
IT Education & Training
引言
• 静态测试和动态测试 静态测试是指不运行程序进行的测试------只
是检查和审阅。 • 白盒测试和黑盒测试 测试用例的设计中,通常会把白盒测试和黑
盒测试结合起来使用
anhuisoft@
anhuisoft@
QQ:498944848
4.1.3 代码质量度量
IT Education & Training
ISO/IEC 9126国际标准所定义的软件质 量包括六个方面:功能性、可靠性、易 用性、效率、可维护性和可移植性。软 件的质量是软件属性的各种标准度量的 组合。
anhuisoft@
QQ:498944848
IT Education & Training
QQ:498944848
IT Education & Training
QQ:498944848
IT Education & Training
QQ:498944848
IT Education & Training
QQ:498944848
anhuisoft@
QQ:4989448418
IT Education & Training
Байду номын сангаас
1.语句覆盖……续1
只需设计一个测试 用例:a=2,b=1, c=6;即达到了语 句覆盖。
1 Y2
a>0 and b>0
3N Y4
a>1 or c>1
c=c/a c=c+1
5N c=b+c
anhuisoft@
anhuisoft@
IT Education & Training 循环20次
QQ:498944848
4.2白盒测试方法
IT Education & Training
• 由于对于不同复杂度的代码逻辑,可以 衍生出许多种执行路径,只有选择适当 的测试方法,才能帮助我们从代码的迷 雾森林中找到正确的方向。
• 代码审查和代码走查比较 • 代码审查是提高代码质量的良药 1. 消除开发员的心理抵触 2. 代码审查要有目标 • 代码审查清单
anhuisoft@
QQ:498944848
IT Education & Training
代码审查和代码走查比较
项目 准备
走查 通读设计和编码
审查
应准备好需求描述文档、程序设计文档、程 序的源代码清单、代码编码标准和代码缺 陷检查表
QQ:498944848
4.2白盒测试方法
IT Education & Training
• 白盒测试,也称为 250*(1+0.015)*((1+0.015)^360-1)/0.015 结构化测试、基于
代码的测试,是一
种测试用例设计方
法,它从程序的控
制结构导出测试用
例。
3581322.293419985680302829734315
代码审查清单
• 数据引用错误 • 数据声明错误 • 计算错误 • 比较错误 • 控制流程错误 • 子程序参数错误 • 输出错误 • 其他检查
anhuisoft@
IT Education & Training
QQ:498944848
4.1.2静态结构分析
IT Education & Training
静态结构分析主要是以图形的方式表现 程序的内部结构,例如函数调用关系图、 函数内部控制流图。其中,函数调用关 系图以直观的图形方式描述一个应用程 序中各个函数的调用和被调用关系;控 制流图显示一个函数的逻辑结构,它由 许多节点组成,一个节点代表一条语句 或数条语句,连接结点的叫边,边表示 节点间的控制流向。
编码风格与规范
IT Education & Training
• 好的风格对于好的程序设计具有关键性 作用
• 代码应该是清楚的和简单的-------具有直 截了当的逻辑、自然的表达式、通行的 语言使用方式
anhuisoft@
QQ:498944848
代码审查
IT Education & Training
形式 参加人员 主要技术
方法 注意事项
生成文档 目标
非正式会议 开发人员为主

限时、不要现场 修改代码
会议记录 代码标准规范,
无逻辑错误
正式会议 项目组成员包括测试人员
缺陷检查表
限时、不要现场修改代码
静态分析错误报告 代码标准规范,无逻辑错误
anhuisoft@
QQ:498944848
相关文档
最新文档