当前位置:文档之家› 白盒测试-基本路径测试习题

白盒测试-基本路径测试习题

白盒测试-基本路径测试习题
白盒测试-基本路径测试习题

VB循环结构测试题及答案

循环结构测试题(四) 一:选择题 1:以下()是正确的for….next结构。 (A)for x=1 to step 10 (B) for x=3 to –3 step -3….. ….. next x next x (C ) for x=1 to 10 (D) for x=3 to step 3 re: …. …… Next x next y If I=10 then goto re 2:下列循环语句能正常结束循环的是() (A)I=5 (B) I=1 do do I=I+1 I=I+2 Loop until I<0 loop until I=10 (C) I=10 (D) I=6 do do

I=I-1 I=I-2 Loop until I<0 loop until I=1 3:下面程序段的运行结果为( ) for I=3 to 1 step –1 print spc(5-I); for j=1 to 2*I-1 print “*”; next j print next I 4下列程序在文本框输入“ABCD ”四个字符时,窗体上显示的是( ) private sub text1_change( ) print ; end sub (A) ABCD (B) ( C ) AABABCABCD * * * * (B) * * * * * * * * (C) * * * * * * * * (D) * * * * * * * * A B C (D) A AB ABC

5哪个程序段不能分别正确显示1!,2!,3!,4!的( ) 二:填空题 1:要使下列For 语句循环执行20次,循环变量的初值应当是: for k=( ① ) to –5 step –2 2:下面程序段显示( ② )个“*” 。 For I=1 to 5 For j=2 to I Print “*”; Next j Next I 3: 下列第40句共执行了( ③ )次,第41句共执行(④ )次。 30 for j=1 to 12 step 3 40 for k=6 to 2 step –2 41 print j,k 42 next k (A ) for I=1 to 4 n=1 for j=1 to I (B ) for I=1 to 4 for j=1 to I n=1 (C) N=1 for j=1 to 4 (D) N=1 J=1 Do while j<=4

白盒测试的基本路径测试法

白盒测试的基本路径测试法 一、白盒测试的主要测试方法 1、代码检查法 2、静态结构分析法 3、静态质量度量法 4、逻辑覆盖法 5、基本路径测 试法(应用最广泛)6、域测试7、符号测试8、Z路径覆盖9、程序变异 二、基本路径测试法 1、定义:基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。 设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。 2、基本路径测试法的基本步骤 1) 程序的控制流图:描述程序控制流的一种图示方法。 2)程序圈复杂度:McCabe复杂性度量。从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。 3)导出测试用例:根据圈复杂度和程序结构设计用例数据输入和预期结果。 4)准备测试用例:确保基本路径集中的每一条路径的执行。 3、基本路径测试法的工具方法 1)图形矩阵:是在基本路径测试中起辅助作用的软件工具,利用它可以实现自 动地确定一个基本路径集。 三、程序的控制流图 控制流程图是描述程序控制流的一种图示方法。圆圈称为控制流图的一个结点,表示一个或多个无分支的语句或源程序语句流图只有二种图形符号:图中的每一个圆称为流图的结

点,代表一条或多条语句。流图中的箭头称为边或连接,代表控制流。任何过程设计都要被翻译成控制流图。 1、根据程序流程图化成控制流图 在将程序流程图简化成控制流图时,应注意: 1)在选择或多分支结构中,分支的汇聚处应有一个汇聚结点。 2)边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。 如下页图所示: 如果判断中的条件表达式是由一个或多个逻辑运算符(OR, AND, NAND, NOR) 连接 的复

白盒测试方法习题及答案

[试题分类]:[04]白盒测试方法/[0400][综合]白盒测试方法 1.下面不属于白盒测试能保证的是。 A. 模块中所有独立途径至少测试一次 B. 测试所以逻辑决策真和假两个方面 C. 在所有循环的边界内部和边界上执行循环体 D. 不正确或漏掉的功能 答案:D 分数:1 题型:单选题 难度:1 A. 输入与输岀 B. 设计与实现 C. 条件与结果 D. 主程序与子程序 答案:A 分数:1 题型:单选题 难度:1 A. 程序的内部逻辑 B. 程序的复杂程度 C. 使用说明书 D. 程序的功能 答案:A 分数:1 题型:单选题 难度:1 A. 引用分析 B. 算法分析 C. 可靠性分析 D. 效率分析 答案:A 4.软件测试中常用的静态分析方法是( )和接口分析。 2.因果图方法是根据( )之间的因果关系来设计测试用例的。 3.使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。

分数:1 题型:单选题 难度:1 A. 引用分析 B. 算法分析 C. 可靠性分析 D. 接口分析 答案:D 分数:1 题型:单选题 难度:1 A. 路径测试 B. 等价类 C. 因果图 D. 归纳测试 答案:A 分数:1 题型:单选题 难度:1 7.在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看作是( A. 路径的集合 B. 循环的集合 C. 目标的集合 D. 地址的集合 答案:A 分数:1 题型:单选题 难度:1 8.软件测试白箱测试是对软件的结构进行测试,下述: m.分值测试 ( )是其应包括的内容。 A. I 5.软件测试中常用的静态分析方法是引用分析和( )。 6.白盒方法中常用的方法是( )方法。 I .边缘值分析 n.语句测试 IV .路经测试

白盒测试方法习题及答案

[试题分类]:[04]白盒测试方法/[0400][综合]白盒测试方法 1. 下面不属于白盒测试能保证的是。 A. 模块中所有独立途径至少测试一次 B. 测试所以逻辑决策真和假两个方面 C. 在所有循环的边界内部和边界上执行循环体 D. 不正确或漏掉的功能 答案:D 分数:1 题型:单选题 难度:1 2. 因果图方法是根据()之间的因果关系来设计测试用例的。 A. 输入与输岀 B. 设计与实现 C. 条件与结果 D. 主程序与子程序 答案:A 分数:1 题型:单选题 难度:1 3. 使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准 A. 程序的内部逻辑 B. 程序的复杂程度 C. 使用说明书 D. 程序的功能 答案:A 分数:1 题型:单选题 难度:1 4. 软件测试中常用的静态分析方法是()和接口分析。 A. 引用分析 B. 算法分析 C. 可靠性分析 D. 效率分析 答案:A 分数:1 题型:单选题 难度:1 5. 软件测试中常用的静态分析方法是引用分析和()。 A. 引用分析 B. 算法分析 C. 可靠性分析 D. 接口分析 答案:D 分数:1 题型:单选题 难度:1 6. 白盒方法中常用的方法是()方法。 A. 路径测试 B. 等价类 C. 因果图 D. 归纳测试

答案:A 分数:1 题型:单选题 难度:1 7. 在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看作是() A. 路径的集合 B. 循环的集合 C. 目标的集合 D. 地址的集合 答案:A 分数:1 题型:单选题 难度:1 8. 软件测试白箱测试是对软件的结构进行测试,下述: I.边缘值分析n.语句测试 皿.分值测试IV .路经测试 )是其应包括的内容。 A. I B. n和皿 C.皿和V D. n .皿和V 答案:D 分数:1 题型:单选题 难度:1 9. 在进行单元测试时,常用的方法是()。 A. 采用白盒测试,辅之以黑盒测试 B. 采用黑盒测试,辅之以白盒测试 C. 只适用白盒测试 D. 只适用黑盒测试 答案:A 分数:1 题型:单选题 难度:1 10. 白盒测试法一般使用于()测试。 A. 单元 B. 系统 C. 集成 D. 确认 答案:A 分数:1 题型:单选题 难度:1 [试题分类]:[04] 白盒测试方法/[0401]逻辑覆盖法 11. 关于条件测试错误的是() A. 可以检查程序中所包含的逻辑条件 B. 条件中包含的错误有布尔算子错误 C. 条件中包含的错误有布尔变量错误 D. 条件中包含的错误有接口错误 答案:D 分数:1 题型:单选题 难度:1

白盒测试用例练习题(1)

白盒测试用例练习 1.为以下所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖,并画出相应的程序流程图。 void DoWork (int x,int y,int z) { int k=0,j=0; if ( (x>3)&&(z<10) ) { k=x*y-1; j=sqrt(k); //语句块1 } if ( (x==4)||(y>5) ) { j=x*y+10; } //语句块2 j=j%3; //语句块3 } a Y c N b e Y N d x>3 and z<10 x=4 or y>5 j=j%3 j=x*y+10 k=x*y-1 j=sqrt(k) k=0 j=0

由这个流程图可以看出,该程序模块有4条不同的路径: P1:(a-c-e) P2:(a-c-d) P3:(a-b-e) P4:(a-b-d) 将里面的判定条件和过程记录如下: 判定条件M={x>3 and z<10} 判定条件N={x=4 or y>5} 1、语句覆盖 测试用例输入输出判定M的取值判定N的取值覆盖路径x=4,z=5,y=8 k=31,j=0 T T P1(a-c-e) 2、判定覆盖 p1和p4可以作为测试用例,其中p1作为取真的路径,p4作为取反的路径。 测试用例输入输出判定M的取值判定N的取值覆盖路径x=4,z=5,y=8 k=31,j=0 T T P1(a-c-e) x=2,z=11,y=5 k=0,j=0 F F P4(a-b-d) 也可以让测试用例测试路径P2和P3。相应的两组输入数据如下: 测试用例输入输出判定M的取值判定N的取值覆盖路径x=5,z=5,y=4 k=19,j=sqrt(19)%3 T F P2(a-c-d) x=4,z=11,y=6 k=0,j=1 F T P3(a-b-e) 3、条件覆盖 对于M:x>3取真时T1,取假时F1; z<10取真时T2,取假时F2; 对于N:x=4取真时T3,取假时F3; y>5取真时T4,取假时F4。 条件:x>3,z<10,x=4,y>5 条件:x<=3,z>=10,x!=4,y<=5 根据条件覆盖的基本思路,和这8个条件取值,组合测试用例如表所示: 测试用例输入输出取值条件具体取值条件覆盖路径x=4,z=5,y=8 k=31, j=0 T1,T2,T3,T4 x>3,z<10,x=4,y>5 P1(a-c-e) x=3,z=11,y=5 k=0, j=0 F1,F2,F3,F4 x<=3,z>=10,x!=4,y<=5 P4(a-b-d) 4、判定/条件覆盖 测试用例输入输出取值条件具体取值条件覆盖路径x=4,z=5,y=8 k=31, j=0 T1,T2,T3,T4 x>3,z<10,x=4,y>5 P1(a-c-e) x=3,z=11,y=5 k=0, j=0 F1,F2,F3,F4 x<=3,z>=10,x!=4,y<=5 P4(a-b-d)

基本路径测试法(第4章第4节)

课题:基本路径测试法(第4章第4节) 课型:新授课 教学内容: 1、本路径测试方法思想 2、路径测试方法举例 教学目标:(思想、知识、能力) 1.了解基本路径测试方法概念 2.掌握基本路径测试方法用例设计过程 3.掌握基本技巧、策略 教学重点、难点: 基本路径测试方法用例设计过程 教法、学法:讲演辅结合(以幻灯片讲解、举例、课堂练习) 教学程序 认知操作 一. 复习提问(复习逻辑覆盖测试用例设计) 1.逻辑覆盖测试有哪些类型? 2.条件覆盖与判定覆盖的概念? 二.新知 1.基本路径测试方法思想 注意:以幻灯片进行讲解,以例题驱动,增加课堂提问。 主要知识: (1)概念:基本路径测试就是这样一种测试方法,它在程序控制流图的基础上,通过分 析控制构造的环形复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每一个可执行语句至少执行一次。

(2)步骤: A、绘制程序控制流图 B、通过分析环形复杂性,计算圈复杂度,导出程序基本路径集合中的独立路径条 数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上 界。 C、导出测试用例:根据环形复杂性和程序结构设计用例数据输入和预期结果。 D、准备测试用例:确保基本路径集中的每一条路径的执行。 (3)控制流图:为了更加突出控制流的结构,可对程序流程图进行简化,简化后的图称为控制流图。在控制流图中只有两种图形符号: A)节点,用带标号的圆圈表示,代表一个或多个语句、一个处理方框序列和一个菱形判断框(假如不包含复合条件)都可以映射为一个节点; B)控制流线,用带箭头的弧或线表示,称为边或两节点连接。它代表程序的控制流,类似于流程图中的箭头线,控制流线通常标有名字。 2. 基本路径测试方法举例 如下面的C函数: void Sort(int iRecordNum,int iType) 1 { 2 int x=0; 3 int y=0; 4 while (iRecordNum-- > 0) 5 { 6 if(iType==0) 7 x=y+2; 8 else

软件测试练习题及答案

、判断 01 )测试是为了验证软件已正确地实现了用户的要求。错 02 )白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。对 03 )白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。错 04)程序员兼任测试员可以提高工作效率。错 05 )黑盒测试的测试用例是根据应用程序的功能需求设计的。对 06 )当软件代码开发结束时,软件测试过程才开始。错 07 )据有关数据统计,代码中 60%以上的缺陷可以通过代码审查发现出来。对 08)无效等价类是无效的输入数据构成的集合,因此无需考虑无效的等价类划分。错 09 )软件本地化就是将一个软件产品按特定国家或语言市场的需要翻译过来。错 10)在压力测试中通常采用的是黑盒测试方法。对 11)软件测试员无法对产品说明书进行白盒测试。对 12)功能测试工具主要适合于回归测试。对 13)测试人员说:“没有可运行的程序,我无法进行测试工作” 。错 14)自底向上集成需要测试员编写驱动程序。对 15)测试是可以穷尽的。错 16)自动化测试相比手工测试而言,能发现更多的错误。错 17)软件测试自动化可以提高测试效率,可以代替手工测试。错语句至少被执行一次。对 18)语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行19) Beta 测试是验收测试的一种。对 20 )软件开发全过程的测试工作都可以实现自动化。错 21 )软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。错 22)结构性测试是根据软件的规格说明来设计测试用例。错 23 )软件测试工具可以代替软件测试员。错 24 )通过软件测试,可以证明程序的正确性。错 25)在单元测试中,驱动程序模拟被测模块工作过程中所调用的下层模块。错26)软件缺陷可能会被修复,可能会被保留或者标识出来。对 27)测试用例是由测试输入数据和对应的实际输出结果这两部分组成。错28)单元测试通常由开发人员进行。对 (29 )现在人们普遍认为软件测试不应该贯穿整个软件生命周期,而应在编程完毕之后再进行,这样可以降低成本。错 (30)文档的错误不是软件缺陷。错 31) Junit 只是单元测试工具,并不能进行现回归测试。 (32)判定表法是一种白盒测试方法。

软件测试习题集及答案

第一章 什么是软件测试?软件测试的目的和作用是什么? 答: 软件测试是在受控制的条件下对系统或应用程序进行操作并评价操作的结果。 软件测试的目的是以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。测试是为了证明程序有错,而不是证明程序无错。一个成功的测试是发现了至今未发现的错误的测试。 软件测试的原则包括:所有的测试都应追溯到用户的需求;尽早地和不断地进行软件测试;不可能完全的测试,因为输入量太大,执行路径太多;注意测试中的群集现象;避免测试自己的程序;设计周密的测试用例。 软件缺陷产生的原因? 答:A.软件需求说明书编写的不全面,不完整,不准确,而且经常更改B.软件设计说明书C.软件操作人员的水平D.开发人员不能很好的理解需求明书和沟通不足 软件测试的意义? 意义: 对产品质量完成全面的评估,为软件产品发布(如验收测试)、软件系统部署(如性能规划测试)、软件产品鉴定(第三方独立测试)委托方和被委托方纠纷仲裁(第三方独立测试)和其它决策提供信息; 通过持续的测试(包括需求评审、设计评审、代码评审等)可以对产品质量提供持续的、快速的反馈,从而在整个开发过程中不断地、及时地改进产品的质量,并减少各种返工,降低软件开发的成本; 通过测试发现所要交付产品的缺陷,特别是尽可能地发现各种严重的缺陷,降低或消除产品质量风险,提高客户的满意度,扩大市场份额,提高客户的忠诚度。 通过对缺陷进行分析,找出缺陷发生的根本原因(软件过程中的问题,包括错误的行为方式)或总结出软件产品的缺陷模式,避免将来犯同样的错误或产生类似的产品问题,达到缺陷预防的目的 软件测试与软件开发的关系? 答:软件开发是一个系统的工程。包括需求分析,设计,编码,测试,维护等等几个环节。测试是整个软件开发流程中的一个环节。 简述软件测试过程v模型和w模型的主要区别: V模型是软件开发完了之后才开始测试活动。 而W模型则是软件测试活动伴随着软件开发活动。和软件开发同时开展。 W模型更加敏捷,对于软件的交付期和品质的保证能力更强。 第二章 测试计划的目的是什么? 答:软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。 什么是黑盒测试?黑盒测试主要采用的技术有哪些? 答:黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。它从用户观点出发的测试。用这种方法进行测试时,把被测试程序当作一个黑盒,在不考虑程序内部结构的内部

白盒测试练习题11

白盒测试练习题 1、为以下流程图所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。 语句覆盖:X=17,y=6; x=1,y=4; x=10,y=-1; 判定覆盖:x=18,y=7; x=3,y=2; x=1,y=-2; x=9,y=9 条件覆盖: 对于第一个判定( (x>8)&&y>5) ): 条件x>8 取真值记为T1,取假值记为 F1

条件y>5 取真值记为T2,取假值记为F2 对于第二个判定( (x>16)||(y>10) ): 条件x>16 取真值记为T3,取假值记为F3 条件y>10 取真值记为T4,取假值记为F4 对于第三个判定((x>0)||(y>0): 条件x>0 取真值记为T5,取假值记为F5 条件y>0 取真值记为T6,取假值记为F6 判定/条件覆盖: 组合覆盖: 1.X>8,Y>5:T1T2 2.X>8,Y<=5:T1F2

3.X<=8,Y>5:F1T2 4.X<=8,Y<=5:F1F2 5.X>0,Y>0:T5T6 6.X>0,Y<=0:T5F6 7.X<=0,Y>0:F5T6 8.X<=0,Y<=0:F5F6 9.X>16,Y>10:T3T4 10.X>16,Y<=10:T3F4 11.X<=16,Y>10:F3T4 12.X<=16,Y<=10:F3F4 2、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。程序如下,请按要求设计测试用例。 要求: 画出流程图分别写出满足语句覆盖和判定覆盖的测试用例

语句覆盖:c=a;c= ;c=0;c=, 判定覆盖:c=a,;c= ;c=0;c=, 1)画出控制流图; 2)分析复杂性;

(整理)基本路径测试

白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。 其中运用最为广泛的是基本路径测试法。 基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。 设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。 在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。包括以下4个步骤和一个工具方法: 1. 程序的控制流图:描述程序控制流的一种图示方法。 2. 程序圈复杂度:McCabe复杂性度量。从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。 3. 导出测试用例:根据圈复杂度和程序结构设计用例数据输入和预期结果。 4. 准备测试用例:确保基本路径集中的每一条路径的执行。 工具方法: 图形矩阵:是在基本路径测试中起辅助作用的软件工具,利用它可以实现自动地确定一个基本路径集。 程序的控制流图:描述程序控制流的一种图示方法。 圆圈称为控制流图的一个结点,表示一个或多个无分支的语句或源程序语句 流图只有二种图形符号: 图中的每一个圆称为流图的结点,代表一条或多条语句。

流图中的箭头称为边或连接,代表控制流 任何过程设计都要被翻译成控制流图。 如何根据程序流程图画出控制流程图? 在将程序流程图简化成控制流图时,应注意: n 在选择或多分支结构中,分支的汇聚处应有一个汇聚结点。 n 边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。 如下页图所示 n 如果判断中的条件表达式是由一个或多个逻辑运算符(OR, AND, NAND, NOR) 连接的复合条件表达式,则需要改为一系列只有单条件的嵌套的判断。 例如: 1 if a or b 2 x 3 else 4 y 对应的逻辑为:

软件测试练习题及答案

练习题 一、判断 (01)测试是为了验证软件已正确地实现了用户的要求。错 (02)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。对 (03)白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。错 (04)程序员兼任测试员可以提高工作效率。错 (05)黑盒测试的测试用例是根据应用程序的功能需求设计的。对 (06)当软件代码开发结束时,软件测试过程才开始。错 (07)据有关数据统计,代码中60%以上的缺陷可以通过代码审查发现出来。对(08)无效等价类是无效的输入数据构成的集合,因此无需考虑无效的等价类划分。错(09)软件本地化就是将一个软件产品按特定国家或语言市场的需要翻译过来。错(10)在压力测试中通常采用的是黑盒测试方法。对 (11)软件测试员无法对产品说明书进行白盒测试。对 (12)功能测试工具主要适合于回归测试。对 (13)测试人员说:“没有可运行的程序,我无法进行测试工作”。错 (14)自底向上集成需要测试员编写驱动程序。对 (15)测试是可以穷尽的。错 (16)自动化测试相比手工测试而言,能发现更多的错误。错 (17)软件测试自动化可以提高测试效率,可以代替手工测试。错 (18)语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次。对 (19)Beta测试是验收测试的一种。对 (20)软件开发全过程的测试工作都可以实现自动化。错 (21)软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。错 (22)结构性测试是根据软件的规格说明来设计测试用例。错 (23)软件测试工具可以代替软件测试员。错 (24)通过软件测试,可以证明程序的正确性。错 (25)在单元测试中,驱动程序模拟被测模块工作过程中所调用的下层模块。错(26)软件缺陷可能会被修复,可能会被保留或者标识出来。对 (27)测试用例是由测试输入数据和对应的实际输出结果这两部分组成。错(28)单元测试通常由开发人员进行。对 (29)现在人们普遍认为软件测试不应该贯穿整个软件生命周期,而应在编程完毕之后再进行,这样可以降低成本。错 (30)文档的错误不是软件缺陷。错 (31)Junit只是单元测试工具,并不能进行现回归测试。错 (32)判定表法是一种白盒测试方法。错 (33)白盒测试不考虑程序内部结构。错 (34)在单元测试中,桩程序模拟被测模块工作过程中所调用的下层模块。对

软件测试练习题及答案

一、判断 (01)测试是为了验证软件已正确地实现了用户的要求。错 (02)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。对 (03)白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。错 (04)程序员兼任测试员可以提高工作效率。错 (05)黑盒测试的测试用例是根据应用程序的功能需求设计的。对 (06)当软件代码开发结束时,软件测试过程才开始。错 (07)据有关数据统计,代码中60%以上的缺陷可以通过代码审查发现出来。对(08)无效等价类是无效的输入数据构成的集合,因此无需考虑无效的等价类划分。错(09)软件本地化就是将一个软件产品按特定国家或语言市场的需要翻译过来。错(10)在压力测试中通常采用的是黑盒测试方法。对 (11)软件测试员无法对产品说明书进行白盒测试。对 (12)功能测试工具主要适合于回归测试。对 (13)测试人员说:“没有可运行的程序,我无法进行测试工作”。错 (14)自底向上集成需要测试员编写驱动程序。对 (15)测试是可以穷尽的。错 (16)自动化测试相比手工测试而言,能发现更多的错误。错 (17)软件测试自动化可以提高测试效率,可以代替手工测试。错 (18)语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次。对 (19)Beta测试是验收测试的一种。对 (20)软件开发全过程的测试工作都可以实现自动化。错 (21)软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。错 (22)结构性测试是根据软件的规格说明来设计测试用例。错 (23)软件测试工具可以代替软件测试员。错 (24)通过软件测试,可以证明程序的正确性。错 (25)在单元测试中,驱动程序模拟被测模块工作过程中所调用的下层模块。错(26)软件缺陷可能会被修复,可能会被保留或者标识出来。对 (27)测试用例是由测试输入数据和对应的实际输出结果这两部分组成。错(28)单元测试通常由开发人员进行。对 (29)现在人们普遍认为软件测试不应该贯穿整个软件生命周期,而应在编程完毕之后再进行,这样可以降低成本。错 (30)文档的错误不是软件缺陷。错 (31)Junit只是单元测试工具,并不能进行现回归测试。错 (32)判定表法是一种白盒测试方法。错 (33)白盒测试不考虑程序内部结构。错 (34)在单元测试中,桩程序模拟被测模块工作过程中所调用的下层模块。对(35)在测试中发现缺陷多的地方,还有更多的缺陷将会被发现。对

白盒测试方法习题测验及答案

[试题分类]: [04]白盒测试方法/[0400][综合]白盒测试方法 1. 下面不属于白盒测试能保证的是。 A.模块中所有独立途径至少测试一次 B.测试所以逻辑决策真和假两个方面 C.在所有循环的边界内部和边界上执行循环体 D.不正确或漏掉的功能 答案:D 分数:1 题型:单选题 难度:1 2.因果图方法是根据()之间的因果关系来设计测试用例的。 A.输入与输出 B.设计与实现 C.条件与结果 D.主程序与子程序 答案:A 分数:1 题型:单选题 难度:1 3.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。 A.程序的内部逻辑 B.程序的复杂程度 C.使用说明书 D.程序的功能 答案:A 分数:1 题型:单选题 难度:1 4.软件测试中常用的静态分析方法是()和接口分析。 A.引用分析 B.算法分析 C.可靠性分析 D.效率分析 答案:A 分数:1 题型:单选题 难度:1 5.软件测试中常用的静态分析方法是引用分析和()。 A.引用分析 B.算法分析 C.可靠性分析 D.接口分析 答案:D 分数:1 题型:单选题 难度:1 6.白盒方法中常用的方法是()方法。 A.路径测试 B.等价类 C.因果图 D.归纳测试 答案:A 分数:1 题型:单选题

7.在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看作是() A.路径的集合 B.循环的集合 C.目标的集合 D.地址的集合 答案:A 分数:1 题型:单选题 难度:1 8.软件测试白箱测试是对软件的结构进行测试,下述: Ⅰ.边缘值分析Ⅱ.语句测试 Ⅲ.分值测试Ⅳ.路经测试 ()是其应包括的内容。 A.Ⅰ B.Ⅱ和Ⅲ C.Ⅲ和Ⅳ D.Ⅱ.Ⅲ和Ⅳ 答案:D 分数:1 题型:单选题 难度:1 9.在进行单元测试时,常用的方法是()。 A.采用白盒测试,辅之以黑盒测试 B.采用黑盒测试,辅之以白盒测试 C.只适用白盒测试 D.只适用黑盒测试 答案:A 分数:1 题型:单选题 难度:1 10.白盒测试法一般使用于()测试。 A.单元 B.系统 C.集成 D.确认 答案:A 分数:1 题型:单选题 难度:1 [试题分类]: [04]白盒测试方法/[0401]逻辑覆盖法 11.关于条件测试错误的是() A.可以检查程序中所包含的逻辑条件 B.条件中包含的错误有布尔算子错误 C.条件中包含的错误有布尔变量错误 D.条件中包含的错误有接口错误 答案:D 分数:1 题型:单选题 难度:1 12.关于条件中包含的错误类型说法错误的是() A.关系算子错误 B.算术表达式错误 C.条件中包含的错误有布尔变量错误 D.条件中包含的错误有接口错误

白盒测试练习与答案

1、在白盒测试用例设计中,有语句覆盖、分支覆盖、条件覆盖、路径覆盖等,其中 (A)是最强的覆盖准则。为了对如下图所示的程序段进行覆盖测试,必须适当地选取测试用例组。若x, y是两个变量,可供选择的测试用例组共有Ⅰ、Ⅱ、Ⅲ、Ⅳ四组,如表中给出,则实现判定覆盖至少应采取的测试用例组是(B)或(C);实现条件覆盖至少应采取的测试用例组是(D);实现路径覆盖至少应采取的测试用例组是(E)或(F)。 供选择的答案 A:①语句覆盖②条件覆盖③判定覆盖④路径覆盖 B~F:①Ⅰ和Ⅱ组②Ⅱ和Ⅲ组③Ⅲ和Ⅳ组④Ⅰ和Ⅳ组 ⑤Ⅰ、Ⅱ、Ⅲ组⑥Ⅱ、Ⅲ、Ⅳ组⑦Ⅰ、Ⅲ、Ⅳ组 ⑧Ⅰ、Ⅱ、Ⅳ组 解答:A. ④ B. ⑤ C. ⑧ D. ④ E. ⑤ F. ⑧ 2. 阅读下面这段程序,使用逻辑覆盖法进行测试,请问哪一组关于(a,b,c)的输入值可以达到条件覆盖。( B ) int func(int a,b,c) { int k=1; if ( (a>0) || (b<0) || (a+c>0) ) k=k+a; else k=k+b; if (c>0) k=k+c; return k; }A. (a,b,c) = (3,6,1)、(-4,-5,7) B. (a,b,c) = (2,5,8)、(-4,-9,-5) C. (a,b,c) = (6,8,-2)、(1,5,4) D. (a,b,c) = (4,9,-2)、(-4,8,3)

3. 阅读下面这段程序,使用逻辑覆盖法进行测试,请问哪一组关于(a,b,c)的输入值可以达到判定覆盖。(D ) int func(int a,b,c) { int k=1; if ( (a>0) &&(b<0) && (a+c>0) ) k=k+a; else k=k+b; if (c>0) k=k+c; return k; }A. (a,b,c) = (3,6,1)、(-4,-5,7) B. (a,b,c) = (2,5,8)、(-4,-9,-5) C. (a,b,c) = (6,8,-2)、(1,5,4) D. (a,b,c) = (4,-9,-2)、(-4,8,3) 4. 阅读下面这段程序,使用逻辑覆盖法进行测试,请问哪一组关于(a,b,c)的输入值可以达到判定条件覆盖。(B ) int func(int a,b,c) { int k=1; if ( (a>0) || (b<0) || (a+c>0) ) k=k+a; else k=k+b; if (c>0) k=k+c; return k; }A. (a,b,c) = (3,6,1)、(-4,-5,7) B. (a,b,c) = (2,-5,8)、(-4,9,-5) C. (a,b,c) = (6,8,-2)、(1,5,4) D. (a,b,c) = (4,9,-2)、(-4,8,3) 5、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。 int GetMax(int n, int datalist[ ]) { int k=0; for ( int j=1; j datalist[k] ) k=j; return k; } (1)画出该程序的控制流图,并计算其McCabe环路复杂性。 (2)用基本路径覆盖法给出测试路径。 (3)为各测试路径设计测试用例。

软件测试白盒测试用例练习题

白盒测试用例练习 一、为以下所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖,并画出相应的程序流程图。 void DoWork (int x,int y,int z) { int k=0,j=0; if ( (x>3)&&(z<10) ) { k=x*y-1; j=sqrt(k); //语句块1 } if ( (x==4)||(y>5) ) { j=x*y+10; } //语句块2 j=j%3; //语句块3 }

由这个流程图可以看出,该程序模块有4条不同的路径: P1:(a-c-e) P2:(a-c-d) P3:(a-b-e) P4:(a-b-d) 将里面的判定条件和过程记录如下: 判定条件M={x>3 and z<10} 判定条件N={x=4 or y>5} 1、语句覆盖 2、判定覆盖 p1和p4可以作为测试用例,其中p1作为取真的路径,p4作为取反的路径。 也可以让测试用例测试路径P2和P3。相应的两组输入数据如下:

3、条件覆盖 对于M:x>3取真时T1,取假时F1; z<10取真时T2,取假时F2; 对于N:x=4取真时T3,取假时F3; y>5取真时T4,取假时F4。 条件:x>3,z<10,x=4,y>5 条件:x<=3,z>=10,x!=4,y<=5 根据条件覆盖的基本思路,和这8个条件取值,组合测试用例如表所示: 4、判定/条件覆盖

5、组合覆盖 条件组合 1)x>3,z<10 2)x>3,z>=10 3) x<=3,z<10 4)x<=3,z>=10 5)x=4,y>5 6)x=4,y<=5 7)x!=4,y>5 8)x!=4,y<=5 6、路径覆盖

实训题目基本路径测试用例设计上机

实训题目基本路径测试用例设计上机 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

实训题目:基本路径测试用例设计------------上机 实训目的: 1、一步熟悉白盒测试的方法和策略 2、点掌握圈复杂度概念和基本路径测试用例设计方法 3、增强测试经验 实训地点:机房 实训课时:2课时 实训重点、难点:基本路径测试用例设计 实训安排:首先讲解基本路径测试设计测试用例的步骤,要求学生注意总结方法和技巧,然后布置上机任务,要求学生对照课件和课本完成上机任务。老师在机房进行辅导。 实训步骤: 一、Void sort(int i,int j,int k) 1 { 2 int m,n,p; 3 m=n=p=0; 4 if (i> 5 and j<8) 5m++; 6else 7 if(k>=9) 8 n++; 9 else 10 p++;

11 Printf(“%d,%d,%d”,m,n,p); 12 } 按照基本路径测试方法设计测试用例? 1、画流图,计算复杂度 2、导出测试用例 阅读下列说明,回答问题1 至问题3,将解答填入答题纸的对应栏内。 【说明】 使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由C 语言书写,请按要求回答问题。 Int IsLeap(int year) 1 { 2 if (year % 4 == 0) 3 { 4 if (year % 100 == 0) 5 { 6 if ( year % 400 == 0) 7 leap = 1; 8 else 9 leap = 0; 10 } 11 else 12 leap = 1; 13 }

软件工程白盒测试文档

实验二白盒测试 一、实验目的 通过对于实例程序的测试,熟悉结构性测试的基本方法。 二、实验要求 (1)综合运用结构性测试方法(如逻辑覆盖、基本路径测试等方法)对被测程序进行测试,找出whiteBox.exe程序中存在的缺陷。 三、测试用例的设计 1.对于Triangle Program的测试 Private Sub triangle(a As Long, b As Long, c As Long, progOutput As String) Dim IsATriangle As Boolean 'Are a, b, and c sides of a Triangle? Node (0) If (a < b + c) And (b < a + c) Then Node (1) IsATriangle = True Else Node (2) IsATriangle = False progOutput = "Not a Triangle" End If ' Determine Triangle Type Node (3) If IsATriangle Then Node (4) If (a = b) And (b = c) Then Node (5) progOutput = "Equilateral" Else Node (6) If (a = b) Or (a = c) Then Node (7) progOutput = "Isosceles" Else

Node (8) If (a * a = b * b + c * c) Or (b * b = a * a + c * c) Or (c * c = a * a + b * b) Then Node (9) progOutput = "Right Triangle" Else Node (10) progOutput = "Scalene" End If Node (11) End If Node (12) End If Node (13) End If Node (14) End Sub (1)程序段的控制流图如下:

白盒测试基本路径

白盒测试之基本路径测试法实训 一、程序代码 请按照基本路径测试法的步骤完成如下程序之基本路径测试法实训: 4

三、画出控制流图 可将流程图映射到一个相应的流图(假设流程图的菱形决定框中不包含复合条件)。在流图中,每一个圆,称为流图的结点,代表一个或多个语句。一个处理方框序列和一个菱形决测框可被映射为一个结点,流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。一条边必须终止于一个结点,即使该结点并不代表任何语句(例如:if-else-then结构)。由边和结点限定的范围称为区域。计算区域时应包括图外部的范围。 程序控制流图是: 四、计算圈复杂度 圈复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。独立路径必须包含一条在定义之前不曾用到的边。 有以下三种方法计算圈复杂度: 流图中区域的数量对应于环型的复杂性; 给定流图G的圈复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量;

给定流图G的圈复杂度V(G),定义为V(G)=P+1,P是流图G中判定结点的数量。 请计算本程序的圈复杂度: 1)V(G)=E-N+2=10条边-8个节点+2=4 2)V(G)=P+1=3个判定节点+1=4 五、分析出独立路径 没条独立路径是指,和其他的独立路径相比,至少引入一个新处理语句或一个新判断的程序通路。V(G)值正好等于该程序的独立路径的条数。 程序的独立路径是: ?路径1:4-14 ?路径2:4-6-7-14 ?路径3:4-6-8-10-13-4-14 ?路径4:4-6-8-11-13-4-14 六、准备测试用例 根据上面的独立路径,去设计输入数据,使程序分别执行到上面四条路径。为了确保基本路径集中的每一条路径的执行,根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被测试到,满足上面例子基本路径集的测试用例是: 满足上面例子基本路径集的测试用例是: 路径1:4-14 输入数据:iRecordNum=0,或者取iRecordNum<0的某一个值 预期结果:X=0 路径2:4-6-7-14 输入数据:iRecordNum=1;iType=0

实验04.使用基本路径测试法求解“自动售货机”问题

实验报告 实验序号:04 实验项目名称:使用基本路径测试法求解“自动售货机”问题

步骤: 1、解压eclemma软件包,并放到eclipse安装目录的dropins文件夹下: 2、重新启动eclipse软件,菜单栏会出现新的图标: 3、查看Windows的Customize perspective项中的Command Groups Availabiity 多了Coverage项: 4、编写待测试类SaleMachine.jav a文件和测试Junit Test Case文件SaleMachineTest.jav a:

5、先点击运行看看,覆盖了33.1%: 6、分析:红色代表未执行、黄色代表条件没有全部执行、绿色代表执行过了:

7、继续修改测试代码,直到覆盖率达到100%: 共编写了12个测试用例,使待测试代码100%被覆盖,运行如图: 四、实验结果与数据处理 a、最终待测试代码如下: public class SaleMachine { private int countOfBeer, countOfOrangeJuice, countOfFiveCents, countOfOneDollar; private String[] typeOfGoods = {"Beer", "OrangeJuice"}; private String resultOfDeal; public SaleMachine() { initial(); } public void initial() { countOfBeer = 6; countOfOrangeJuice = 6; countOfFiveCents = 6; countOfOneDollar = 6; } public SaleMachine(int fiveCents, int oneDollar, int numOfBeer, int

相关主题
文本预览
相关文档 最新文档