软件测试功能和结构测试回顾.

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1
– path3:1-2-3-6-8-9-10-边1-11
2
R4
– path4:1-2-3-6-7-9-10-1-11
这4条路径组成了一个基本路径集。3 4(图的环路复杂度)是构成这个6基本路径
R1
集 用的例独的立数路目径。数的上界,也7是R设3 计8R测2 试4,5
9
• 4、设计测试用例,保证基本路径集10中 每条路径的执行。
– 使用节点语句:输出语句、赋值语句、条 件语句、循环控制语句和过程调用。
• 定义3:谓词使用、计算使用
– 使用节点USE(v,n)是一个谓词使用 (记做P-use),当且仅当语句n是谓词 语句;否则,USE(v,n)是计算使用 (记做C-use)
– 对应于谓词使用的节点,其外度≥2
– 对应于计算使用的节点,其外度≤1
25. stockSales = stockPrice*totalStocks
26. barrelSales = barrelPrice*totalBarrels
27. sales = lockSales + stockSales + barrelSales
28. Output("Total sales: ",sales)
软件测试
回顾 基路径测试
基本路径测试
• 前提条件
– 测试进入的前提条件是在测试人员已经 对被测试对象有了一定的了解,基本上 明确了被测试软件的逻辑结构。
• 测试过程
– 过程是通过针对程序逻辑结构设计和加 载测试用例,驱动程序执行,以对程序 路径进行测试。测试结果是分析实际的 测试结果与预期的结果是否一致。
• 基本路径测试步骤:
– 1.导出程序流程图的拓扑结构——程序图 (或DD-路径图)
– 2.计算流图G的环路复杂度V(G) – 3.确定只包含独立路径的基本路径集 – 4.设计测试用例
1、导出程序流程图的拓扑结构- DD-路径节图点
1

1
2
区域
R4
2
3
6
4
7 98
5
10
11
程序流程图
6
3 R1
7 R3 8 4,5 R2
• 定义4:定义-使用路径
– 定义-使用路径(记做du-path):是
PATHS(P)中的路径,使得对某个v ∈V,存在定义和使用节点DEF(v,m) 和USE(v,n),使得m和n是该路径 的最初和最终节点。
• 定义5:定义清除路径
– 定义清除路径(记做dc-path):是具
有最初和最终节点DEF(v,m)和USE (v,n)的PATHS(P)中的路径,使 得该路径中没有其他节点是v的定义节点。
29. If (sales>1800.0)
30. Then
31.
commission=0.10*1000.0
32.
commission=commission+0.15*800.0
33.
commission=commission+0.20*(sales-1800.0)
34. Else If (sales>1000.0)
• 变量被定义,但从来没有使用 • 所使用的变量没有被定义 • 变量在使用之前被定义两次
早期的数据流分析常常集中于定 义/引用异常的缺陷。
数据流测试
• 数据流测试:
– 数据流测试按照程序中的变量定义和使 用的位置来选择程序的测试路径。
– 数据流测试关注变量接收值的点和使用 这些值的点。
– 一种简单的数据流测试策略是要求覆盖 每个定义-使用路径一次。
11
指导方针与观察
• 问题:
– 功能性测试:漏洞和冗余,而且不能被发 现。
– 结构性测试的基路径测试方法:用有向图 表示代码和程序路径公式化,掩盖了代码 中的重要信息,即可行路径和不可行路径 的区别。
• 其他方法:基于数据流的测试
第十章 数据流测试
学习目标
• 数据流测试(了解) • 数据流定义/使用测试百度文库了解)
9
10
11
2、计算流图G的环路复杂度V(G)
– 有三种方法计算环路复杂度: – V(G)= 区域个数=4
– V(G)=边的条数-节点个数+2=4 – – V(G)=判定节点个数+1=4
• 3、确定只包含独立路径的基本路节径点集
– path1:1-11
区域
– path2:1-2-3-4-5-10-1-11
35. Then
36.
commission=0.10*1000.0
37.
commission=commission+0.15*(sales-1000.0)
38.
Else commission=0.10*sales
39. EndIf
40. Endlf
41. Output("Commission is $",commission)

15.
Input(stocks, barrels)
16. totalLocks = totalLocks + locks

17.
totalStocks = totalStocks + stocks
18.
totalBarrels = totalBarrels + barrels

P144
19.
Input(locks)
20. EndWhile
21. Output("Locks sold: ",totalLocks)
22. Output("Stocks sold: ",totalStocks) 23. Output("Barrels sold: ",totalBarrels)

24. lockSales = lockPrice*totalLocks
– 数据流测试用做路径测试的“真实性检 查”。
10.1 定义/使用测试
• 定义1:定义节点
– 节点n∈G(P)是变量v ∈V的定义节点, 记做DEF(v,n),当且仅当变量的值 由对应节点n的语句片断处定义。
– 定义节点语句:输入语句、赋值语句、循 环语句和过程调用。
• 定义2:使用节点
– 节点n∈G(P)是变量v ∈V的使用节点, 记做USE(v,n),当且仅当变量v的 值在对应节点n的语句片断处使用。
7. lockPrice = 45.0
8. stockPrice = 30.0 9. barrelPrice = 25.0

10. totalLocks = 0 11. totalStocks = 0

12. totalBarrels = 0

13. Input(locks)

14. While NOT (locks = -1)
相关文档
最新文档