白盒测试上机练习

上传人:第*** 文档编号:35061418 上传时间:2018-03-08 格式:DOC 页数:13 大小:679KB
返回 下载 相关 举报
白盒测试上机练习_第1页
第1页 / 共13页
白盒测试上机练习_第2页
第2页 / 共13页
白盒测试上机练习_第3页
第3页 / 共13页
白盒测试上机练习_第4页
第4页 / 共13页
白盒测试上机练习_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《白盒测试上机练习》由会员分享,可在线阅读,更多相关《白盒测试上机练习(13页珍藏版)》请在金锄头文库上搜索。

1、白盒测试课程练习 一、判断分析题 1. 语句覆盖是最弱的逻辑覆盖。 () 2. 语句覆盖是最强的逻辑覆盖。 () 3. 判定覆盖不一定包含条件覆盖。 () 4. 条件覆盖不一定包含判定覆盖。 () 5. 判定/条件覆盖能同时满足判定、条件两种覆盖标准。 () 6. 判定/条件覆盖指满足判定覆盖标准或条件覆盖标准。 () 7. DD-路径图是一种压缩图。 () 8. 详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内数据结构,并 用某种选定的表达工具给出清晰的描述。() 9. 尽量用公共过程或子程序去代替重复的代码段。 () 10. 对于连锁型分支结构,若有 n个判定语句,则有 2n

2、条路径。 () 11. 尽量采用复合的条件测试,以避免嵌套的分支结构。 () 12. GOTO 语句概念简单,使用方便,在某些情况下,保留 GOTO 语句反能使写出的程序 更加简洁。 () 二、简答题 1. 请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的 区别与联系。软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个 黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说 明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测 试。黑盒测试主要是为了发现以下几类错误:1、是否有不正确或遗漏的功能

3、?2、在接口上,输入是否能正确的接受?能否输出正确的结果?3、是否有数据结构错误或外部信息(例如数据文件)访问错误?4、性能上是否能够满足要求?5、是否有初始化或终止性错误? 白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。 软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打 开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例, 对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的 状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对

4、程序模块 进行如下检查:1、对程序模块的所有独立的执行路径至少测试一遍。2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。3、在循环的边界和运行的界限内执行循环体。4、测试内部数据结构的有效性,等等。单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、 很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景) 下某个特定函数的行为。单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员 有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是 为了证明这段代码的行为和我们期望的一致。集成测试

5、(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是: 两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲, 组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合 成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模 块一起测试。最后,将构成进程的所有模块一起测试。系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实 能提供系统方案说明书中指定功能的有效方法。 (常见的联调测试)系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求 并且遵循系统设计。验收测试是

6、部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。 验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设 计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进 一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期 待的那样。 2. 什么是白盒测试?白盒测试主要采用的技术有哪些? 白盒测试:测试者了解被测程序的内部结构和处理过程,对程序的所有逻辑路径进行测 试,在不同点检查程序状态,确定实际状态与预期状态是否一致。 白盒测试主要采用的技术有:路径测试技

7、术和事务处理流程技术,对包含有大量逻辑 判断或条件组合的程序采用基于逻辑的测试技术。 3. 白盒测试有那几种方法?并简单描述各种方法的特点。 白盒测试的测试方法总体上分为静态方法和动态方法两大类。 白盒测试的测 试方法有代码检查法、静态结构分析法、静态质量度量法、 逻辑覆盖法、基本路径测 试法、域测试、符号测试、 Z 路径覆盖、程序变异。 1.静态分析法是一种不通过执行程序而进行测试的技术。静态分析的关键功能是检查软件的表示和 描述是否一致 , 没有冲突或者没有歧义。 2.动态分析法的主要特点是当软件系统在模拟的或真实的环境中执行之前、之中和之后 , 对软件 系统行为的分析。动态分析包含了程序

8、在受控的环境下使用特定的期望结果进行正式的运 行。它显示了一个系统在检查状态下是正确还是不正确。在动态分析技术中 , 最重要的技 术是路径和分支测试。下面要介绍的六种覆盖测试方法属于动态分析方法。 4. 举例说明结构性测试覆盖指标C0,C1,C1P,CMCC的区别。 答:结构性测试覆盖指标C0:所有语句。 C1:所有DD-路径(判断分支) C1P:所有判断的每种分支 CMCC:多条件覆盖 5. 常用的逻辑覆盖测试方法有哪几种?并简单描述各种方法的目的。 1) 、语句覆盖。就是选择足够的测试用例,使程序中的每个可执行语句至少执行一次。 2) 、判定覆盖。就是执行足够的测试用例,使得程序中的每个判

9、定的“true“和“false“值 都至少执行一次,这种测试也称为“分支测试”。 3) 、条件覆盖。执行足够的测试用例,使程序每个判定中的每个条件的“true“和“false“值至少执行一次。 4) 、判定/条件覆盖。执行足够的测试用例,使得判定中每个条件的所有可能至少出现 一次,同时每个判定本身的判定结果也至少出现一次。 5) 、条件组合覆盖。执行足够的测试用例,使得每个判定中条件的各种可能组合至少 出现一次。 6) 、路径覆盖。执行足够的测试用例,要求覆盖程序中所有可能的路径 6. 逻辑覆盖中几种主要覆盖的含义?举例说明?白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。逻辑覆盖包含

10、多种:语 句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖和路径覆盖。 语句覆盖:就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行 一次。这里的“若干个”,意味着使用测试用例越少越好。 例如上边的 Coverage 类代码,从 path a 到 path c 再到 path e 的路径就是所有可执行的 语句路径,所以选择 path ace 路径设计测试用例即可覆盖所有可执行语句。 判定覆盖:有时也称分支覆盖,就是指设计若干测试用例,运行被测程序,使得每个判定 的取真分支和取假分支至少经历一次。例如上边的 Coverage 类代码,path ace,path abd,pat

11、h abe,path acd 四条路径均是符合判 定覆盖要求的路径。条件覆盖:设计足够多的测试用例,使得每一判定语句中每个逻辑条件的可能取值至少 满足一次。例如上边的 Coverage 类代码,判定语句有两个,分别是第 3行和第 8行代码。根据条 件覆盖的定义,则应考虑“(A1 and B=0)”和“(A=2 or X1)”两个表达式中的变量取值。 判定条件覆盖:设计足够多的测试用例,使得判定中的每个条件的所有可能(真/假)至少 出现一次,并且每个判定本身的判定结果也至少出现一次。例如上边的 Coverage 类代码,不仅考虑到 path ace,path abd,path abe,path

12、acd 四条分支 路径(判定覆盖) ,也考虑到了“(A1 and B=0)”和“(A=2 or X1)”两个条件中的每个表达 式的取值(条件覆盖) 。 条件组合覆盖:也称多条件覆盖,设计足够多的测试用例,使得每个判定中条件的各种可 能组合都至少出现一次(以数轴形式划分区域,提取交集,建立最少的测试用例) 。 例如上边的 Coverage 类中第 8行“if(A=2 or X1)”代码,所有可能的条件组合为:“A=2,X1”、 “A=2,X1”三种。在条件覆盖中仅需考虑到这三种的一 种即可,而在条件组合覆盖中需要都考虑到。 路径覆盖:路径测试就是设计足够的测试用例,覆盖程序中所有可能的路径。路径

13、覆 盖是覆盖率最高的一种覆盖技术。 7. 逻辑覆盖中几种主要覆盖的含义?举例说明? 白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。逻辑覆盖包含多种:语句 覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖和路径覆盖。 语句覆盖:就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行 一次。这里的“若干个”,意味着使用测试用例越少越好。 例如上边的 Coverage 类代码,从 path a 到 path c 再到 path e 的路径就是所有可执行的 语句路径,所以选择 path ace 路径设计测试用例即可覆盖所有可执行语句。 判定覆盖:有时也称分支覆盖,就是指设计若干

14、测试用例,运行被测程序,使得每个判定 的取真分支和取假分支至少经历一次。例如上边的 Coverage 类代码,path ace,path abd,path abe,path acd 四条路径均是符合判 定覆盖要求的路径。条件覆盖:设计足够多的测试用例,使得每一判定语句中每个逻辑条件的可能取值至少 满足一次。例如上边的 Coverage 类代码,判定语句有两个,分别是第 3行和第 8行代码。根据条 件覆盖的定义,则应考虑“(A1 and B=0)”和“(A=2 or X1)”两个表达式中的变量取值。 判定条件覆盖:设计足够多的测试用例,使得判定中的每个条件的所有可能(真/假)至少 出现一次,并且

15、每个判定本身的判定结果也至少出现一次。例如上边的 Coverage 类代码,不仅考虑到 path ace,path abd,path abe,path acd 四条分支 路径(判定覆盖) ,也考虑到了“(A1 and B=0)”和“(A=2 or X1)”两个条件中的每个表达 式的取值(条件覆盖) 。 条件组合覆盖:也称多条件覆盖,设计足够多的测试用例,使得每个判定中条件的各种可 能组合都至少出现一次(以数轴形式划分区域,提取交集,建立最少的测试用例) 。 例如上边的 Coverage 类中第 8行“if(A=2 or X1)”代码,所有可能的条件组合为:“A=2,X1”、 “A=2,X1”三

16、种。在条件覆盖中仅需考虑到这三种的一 种即可,而在条件组合覆盖中需要都考虑到。 路径覆盖:路径测试就是设计足够的测试用例,覆盖程序中所有可能的路径。路径覆 盖是覆盖率最高的一种覆盖技术。 8. 什么是DD-路径?什么是MM-路径?DD-路径和MM-路径的区别与联系。 DD-路径是程序图中的一条链,使得: 情况1:由一个节点组成,内度=0。情况2:由 一个节点组成,外度=0。 情况3:由一个节点组成,内度2或外度2。情况4:由一个 节点组成,内度=1并且外度=1。 情况5:长度1的最大链。使用数据流测试方 MM-路径是:图G的圈数由V(G)=e-np给定,其中: e是G中的边数。n是G中的节点数。p是G中的组件数。V(G)是图中不同区域的个数。 DD-路径和MM-路径没有简单的对应关系。 可能互相包容,更有可能部分重叠。 MM-路径是DD-路径的交叉。 9. 使用数据流测试方法(定义/使用测试)设计佣金问题中变量 totalStocks 的测试用例。 答: 三、用例设计题

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

当前位置:首页 > 中学教育 > 教学课件 > 初中课件

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