软件测试31传统白盒测试技术

上传人:E**** 文档编号:91188762 上传时间:2019-06-26 格式:PPT 页数:15 大小:755KB
返回 下载 相关 举报
软件测试31传统白盒测试技术_第1页
第1页 / 共15页
软件测试31传统白盒测试技术_第2页
第2页 / 共15页
软件测试31传统白盒测试技术_第3页
第3页 / 共15页
软件测试31传统白盒测试技术_第4页
第4页 / 共15页
软件测试31传统白盒测试技术_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《软件测试31传统白盒测试技术》由会员分享,可在线阅读,更多相关《软件测试31传统白盒测试技术(15页珍藏版)》请在金锄头文库上搜索。

1、软件测试 白盒测试技术,计算机学院软件工程系 Email:Xiahui_ Telphone:15829202190 QQ:79003370(不聊天),白盒测试技术,白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。 软件的白盒测试是对软件的过程性细节做细致的检查,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。,白盒测试技术,白盒测试主要做以下几类检查: 1. 保证一个模块中的所有独立

2、路径至少被使用一次 2. 对所有逻辑值均测试true和false。 3. 在循环的边界和运行的界限内执行循环体。 4. 检查内部数据结构以确定其有效性。,白盒测试技术,1. 优点 迫使测试人员去仔细思考软件的实现 可以检测代码中的每条分支和路径 揭示隐藏在代码中的错误 对代码的测试比较彻底 最优化 2. 缺点 昂贵 无法检测代码中遗漏的路径和数据敏感性错误 不验证规格的正确性,白盒测试覆盖准则, 语句覆盖 选择足够的测试用例,使得程序中每个语句至少都能被执行一次。 判定覆盖 执行足够的测试用例,使得程序中每个判定至少都获得一次“真”值和一次“假”值。 条件覆盖 执行足够的测试用例,使得判定中的

3、每个条件获得各种可能的结果。 判定/条件覆盖 执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果。 条件组合覆盖 执行足够的例子,使得每个判定中条件各种可能组合都至少出现一次 路径覆盖,程序代码举例,例:用白盒法测试以下程序段,如图所示,程序中有两个判定,每个判定都包含复合条件的逻辑表达式。 Procedure (VAR A,B,X:REAL); BEGIN IF(A1) AND (B=0) THEN X:=X/A ; IF (A=2) OR (X1) THEN X:=X+1 END;,下面,我们按照不同的覆盖标准,对该程序段进行测试。,语句覆盖,覆盖标准

4、: 使得程序中每个语句至少都能被执行一次。,满足语句覆盖的情况是: 执行路径:ace,选择用例: (2,0,4),(2,0,3),用例格式,由输入数据和预期的输出结果两部分组成: 输入(A,B,X),输出(A,B,X),a,A1 AND B=0,X:=X/A,A=2 OR X1,X:=X+1,b,c,d,e,Y,N,Y,N,X:=X/A,X:=X+1,程序中除判定外,还有两条语句。,判定覆盖,覆盖标准 使得程序中每个判定至少为TRUE 或FALSE各一次。,覆盖情况:共有两个判定,应执行路径: ace abd 或: acd abe,选择用例: 两组用例中任选择其一 (2,0,4),(2,0,3

5、) ace (1,1,1),(1,1,1) abd (2,1,1),(2,1,2) abe (3,0,3),(3,1,1) acd,条件覆盖,覆盖标准: 使得判定中的每个条件获得各种可能的结果。,应满足以下覆盖情况: 判定一: A1, A1, B=0, B0 判定二: A=2, A2, X1, X1,选择用例: (2,0,4),(2,0,3) (1,1,1),(1,1,1),注意:(1,0,3),(1,0,4) (2,1,1),(2,1,2) 满足条件覆盖,但不满足判定覆盖。,判定一,判定二,判定/条件覆盖,覆盖标准: 同时满足判定覆盖和条件覆盖。即使得程序中每个判定至少为TRUE 或 FAL

6、SE各一次,同时使得判定中的每个条件获得各种可能的结果。,应满足以下覆盖情况: 条件: A1, A1, B=0, B0 A=2, A2, X1, X1 应执行路径 ace abd 或 acd abe,选择用例: (2,0,4),(2,0,3)(ace) (1,1,1),(1,1,1) (abd),条件组合覆盖,虽然采用判定/条件覆盖一般比前面几种覆盖标准要好,但若考虑在编译系统下执行时,对条件 “AND” 和 “OR”的处理情况,部分路径未被执行。,例如,红线所标注的路径未被执行。,编译系统下的执行情况,考虑到程序在编译状态下的执行情况,可采用最深的一种覆盖标准条件组合覆盖。,AND,条件组合

7、覆盖,覆盖标准: 使得每个判定中条件的各种可能组合都至少出现一次。,满足以下覆盖情况: A1, B =0 A1, B0 A1, B0 A1, B =0 A=2, X1 A=2, X1 A2, X1 A2, X1,选择用例: (2,0,4),(2,0,3) 覆盖情况 (2,1,1),(2,1,2) 覆盖情况 (1,0,3),(1,0,4) 覆盖情况 (1,1,1),(1,1,1) 覆盖情况 ,显然,条件组合覆盖所测试的情况最多,但是选择用例较多,相对难度也大些。,部分路径未被执行,编译系统下的执行情况,路径覆盖,对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。 假设一段程序包含

8、5个循环,每个循环次数为20次,包含的不同执行路径数达520条,对每一条路径进行测试需要1毫秒,假定一年工作36524小时,要想把所有路径测试完,需3170年。 路径测试的实质是基于图的测试,白盒测试应用策略,(1)在测试中,应尽量先使用工具进行静态结构分析。 (2)测试中可采取先静态后动态的组合方式:先进行静态结构分析、代码检查,再进行覆盖率测试。 (3)利用静态分析的结果作为导引,通过代码检查和动态测试的方式对静态发现结果进行进一步的确认,使测试工作更为有效。 (4)覆盖率测试是白盒测试的重点,一般可使用基本路径测试法达到语句覆盖标准;对于软件的重点模块,应使用多种覆盖率标准衡量代码的覆盖率。,Q & A,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号