文档库 最新最全的文档下载
当前位置:文档库 › 白盒测试 逻辑覆盖习题

白盒测试 逻辑覆盖习题

白盒测试 逻辑覆盖习题
白盒测试 逻辑覆盖习题

流程图:

1、 语句覆盖:

测试用例:{a=2、b=1};{a=0,b=1};{a=-2,b=1}; 2、 判定覆盖(分支覆盖):

测试用例:{a=2、b=1};{a=0,b=1};{a=-2,b=1}; 3、 条件覆盖:

对于第一个判定:a>1 取真时为T1,取假时为F1; b<0 取真时为T2,取假时为F2; 对于第二个判定:a<=-1 取真时为T3,取假时为F3; 测试用例设计:

4

6、路径覆盖:

可以取语句覆盖的用例,只要覆盖所有路径即可

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

经典逻辑推理题附答案

经典逻辑推理题(你能做起几道)(附答案) 2008年12月27日星期六下午 11:32 一、 Q先生和S先生、 P先生在一起做游戏。 Q先生用两张小纸片,各写一个数。这两个数都是正整数,差数是1。他把一张纸片贴在S先生额头上,另一张贴在P先生额头上。于是,两个人只能看见对方额头上的数。 Q先生不断地问:你们谁能猜到自己头上的数吗? S先生说:“我猜不到。” P先生说:“我也猜不到。” S先生又说:“我还是猜不到。” P先生又说:“我也猜不到。” S先生仍然猜不到; P先生也猜不到。 S先生和P先生都已经三次猜不到了。 可是,到了第四次, S先生喊起来:“我知道了!” P先生也喊道:“我也知道了!” 问: S先生和P先生头上各是什么数? 二、 有一个牢房,有3个犯人关在其中。因为玻璃很厚,所以3个人只能互相看见,不能听到对方说话的声音。” 有一天,国王想了一个办法,给他们每个人头上都戴了一顶帽子,只叫他们知道帽 子的颜色不是白的就是黑的,不叫他们知道自己所戴帽子的是什么颜色的。在这种情况下,国王宣布两条如下:

1.谁能看到其他两个犯人戴的都是白帽子,就可以释放谁; 2.谁知道自己戴的是黑帽子,就释放谁。 其实,国王给他们戴的都是黑帽子。他们因为被绑,看不见自己罢了。于是他们3个 人互相盯着不说话。可是不久,心眼灵的A用推理的方法,认定自己戴的是黑帽子。您想,他是怎样推断的? 三、 有一个很古老的村子,这个村子的人分两种,红眼睛和蓝眼睛,这两种人并没有什 么不同,小孩在没生出来之前,没人知道他是什么颜色的眼睛,这个村子中间有一个广场,是村民们聚集的地方,现在这个村子只有三个人,分 住三处。在这个村子,有一个规定,就是如果一个人能知道自己眼睛的颜色并且在晚上自杀的话,他就会升入天堂,这三个人不能够用语言告诉对方眼睛的颜色,也不能用任何方式提示对方的眼睛是什么颜色,而且也不能用镜子, 水等一切有反光的物质来看到自己眼睛的颜色,当然,他们不是瞎子,他们能看到对方的眼睛,但就是不能告诉他!他们只能用思想来思考,于是他们每天就一大早来到广场上,面对面的傻坐着,想自己眼睛的颜色,一天天过去了 ,一点进展也没有,直到有一天,来了一个外地人,他到广场上说了一句话,改变了他们的命运,他说,你们之中至少有一个人的眼睛是红色的。说完就走了。这三个人听了之后,又面对面的坐到晚上才回去睡觉,第二天,他们又 来到广场,又坐了一天。当天晚上,就有两个人成功的自杀了!第三天,当最后一个人来到广场,看到那两个人没来,知道他们成功的自杀了,于是他也回去,当天晚上,也成功的自杀了! 根据以上,请说出三个人的眼睛的颜色,并能够说出推理过程!

白盒测试方法习题及答案

[试题分类]:[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 .路经测试

白盒测试方法

一、白盒测试概念 1、定义 白盒测试又称结构测试、透明盒测试、逻辑驱动测试、基于代码的测试。盒子指被测试的软件,白盒指盒子是可视的。白盒测试是一种测试用例设计方法,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例。白盒测试主要针对被测程序的源代码,主要用于软件验证,不考虑软件的功能实现,只验证内部动作是否按照设计说明书的规定进行。 2、目的 我们一方面注重软件功能需求的实现,另一方面还要注重程序逻辑细节,主要是因为软件自身的缺陷,具体如下: 1)逻辑错误和不正确假设与一条程序路径被运行的可能性成反比。日常处理往往被很好地了解,而“特殊情况”的处理则难于发现。 2)我们经常相信某逻辑路径不可能被执行,而事实上,它可能在正常的基础上被执行。程序的逻辑流有时是违反直觉的,只有路径测试才能发现这些错误。 3)代码中的笔误是随机且无法杜绝的。笔误出现在主流上和不明显的逻辑路径上的机率是一样的。很多被语法检查机制发现,但是其他的会在测试开始时才会被发现。 4)功能测试本身的局限性。如果程序实现了没有被描述的行为,功能测试是无法发现的,例如病毒,而白盒测试很容易发现它。 3、目标 采用白盒测试必须遵循以下几条原则,才能达到测试的目标: 1)保证一个模块中的所有独立路径至少被测试一次。 2)所有逻辑值均需测试真(true) 和假(false)两种情况。 3)检查程序的内部数据结构,保证其结构的有效性。 4)在上下边界及可操作范围内运行所有循环。 4、黑白灰区别 黑盒测试技术:也称功能测试或数据驱动测试,只关注规格说明中的功能,测试者在程序接口对软件界面和软件功能进行测试,它只检查实现了的功能是否按照“用户需求说明书”的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。主要用于软件确认测试,结合兼容、性能测试等方面,但黑盒测试不能保证已经实现的各个部分都被测试到。黑盒测试适用于各阶段测试。 白盒测试技术:只关注软件产品的测试,深入到代码一级的测试,它是知道产品内部结构,通过测试来检测产品内部动作是否按照“设计规格说明书”的规定正常进行,按照程

逻辑思维题及答案

【1】假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。 取5升, 倒在6升中; 再取5升, 倒入6升水壶至其满, 5升水壶中剩下4升; 将6升水壶倒空, 将5升水壶中4升水倒入6升水壶, 再取5升水, 倒入6升水壶至其满, 5升水壶中剩余3升. 答题完毕. 【2】周雯的妈妈是豫林水泥厂的化验员。一天,周雯来到化验室做作业。做完后想出去玩。"等等,妈妈还要考你一个题目,"她接着说,"你看这6只做化验用的玻璃杯,前面3只盛满了水,后面3只是空的。你能只移动1只玻璃杯,就便盛满水的杯子和空杯子间隔起来吗?" 爱动脑筋的周雯,是学校里有名的"小机灵",她只想了一会儿就做到了。请你想想看,"小机灵"是怎样做的? 将第二只杯子的水倒入第5只杯子. 则为, 满, 空, 满, 空, 满, 空. 答题完毕. 【3】三个小伙子同时爱上了一个姑娘,为了决定他们谁能娶这个姑娘,他们决定用手枪进行一次决斗。小李的命中率是30%,小黄比他好些,命中率是50%,最出色的枪手是小林,他从不失误,命中率是100%。由于这个显而易见的事实,为公平起见,他们决定按这样的顺序:小李先开枪,小黄第二,小林最后。然后这样循环,直到他们只剩下一个人。那么这三个人中谁活下来的机会最大呢?他们都应该采取什么样的策略? 小李存活概率最大. 1. 小李有三个选择, 空枪, 射击小黄, 射击小林. 小李不会选择射击小黄, 因有30% 概率小黄死亡, 小林涉及, 小李必死, 死亡概率30%; 小李不会选择射击小林, 因有30% 概率小林死亡, 小黄回击, 小李可能死, 死亡概率为30% * 50% = 15%; 小李会选择空枪, 因为小黄必然射击小林, 小林死亡概率50%; 小林若不死, 必然射击小黄, 小黄死亡概率50% *100% = 50%; 小李死亡概率为0. 2. 此时,小黄和小林中间必然死亡一人. 小李可能面对小黄, 可能面对小林. 面对小黄, 生存概率30% + 70% *50% = 65%

白盒测试方法习题及答案

[试题分类]:[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

趣味逻辑推理100题第21-30题及答案

趣味逻辑推理100题第21-30题答案 逻辑推理题21 : 丢失的钻戒 某酒店的经理接到贵宾艾丽斯小姐的投诉,说自己放在梳 妆台上的钻戒不翼而飞。 经理立刻叫来了为艾丽斯小姐服务的几个工作人员进行调 查。他们担心惹祸上身,极力表白自己是无辜的。贴身管家说: “我们五个人当中只有一个是说谎者,就是厨师。”厨师说:“我们五个人中,说谎的有两个人。”司机说:“不,经理,我们五个人中间有三个人在说谎。”清洁员说:“经理,除了我以外,

其他四个人全都说谎。”而门童说:“我信五个人没有一个人不说谎。” 结案后的事实证明,这五个人中说真话的只有一个人。请 问这个人是谁? 在一列火车的某节车厢,有四位乘客面对面坐在一起。他们身穿不同颜色的大衣,具有不同的国籍,其中两人是靠窗坐,另两人是挨过道坐。 现在已经知道,他们座位分别为A、B、C、D,其中有一名身穿蓝色大衣的旅客是个国际间谍,并且又知道:英国旅客坐在B先生的左侧;A先生穿褐色大衣;穿黑色大衣者坐在德国旅客的右侧;D先生的对面坐着美国旅客;俄国旅客身穿灰色大衣;英国旅客把头转向左边,望着窗外。请想想看,谁是

穿蓝色大衣的间谍? 解: 根据题意,四位旅客的座位如图所示 已知:1、现在已经知道,他们座位分别为A、B、C、D,其中有一名身穿蓝色大衣的旅客是个国际间谍, 2、英国旅客坐在B先生的左侧; 3、A先生穿褐色大衣; 4、穿黑色大衣者坐在德国旅客的右侧; 5、D先生的对面坐着美国旅客; 6、俄国旅客身穿灰色大衣; 7、英国旅客把头转向左边,望着窗外。 推理: 从2、7、2号位置坐的是英国旅客,4号位置是 B先生;

白盒测试实例

白盒测试实例之一——需求说明 三角形的问题在很多软件测试的书籍中都出现过,问题虽小,五脏俱全,是个很不错的软件测试的教学例子。本文借助这个例子结合教学经验,从更高的视角来探讨需求分析、软件设计、软件开发与软件测试之间的关系与作用。 题目:根据下面给出的三角形的需求完成程序并完成测试: 一、输入条件: 1、条件1:a+b>c 2、条件2:a+c>b 3、条件3:b+c>a 4、条件4:0

11. if(a==b && b==c && a==c) //这里可以省掉一个判断 12. { 13. printf("1是等边三角形"); 14. } 15. else 16. { 17. if(a==b || b==c || a==c) 18. { 19. printf("2是等腰三角形"); 20. } 21. else 22. { 23. if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a) 24. { 25. printf("3是直角三角形"); 26. } 27. else 28. { 29. printf("4是一般三角形"); 30. } 31. } 32. } 33. } 34. else 35. { 36. printf("5不能组成三角形"); 37. } 38. } 39. else 40. { 41. printf("6某些边不满足限制"); 42. } 43. } 点评:这样的思路做出来的程序只能通过手工方式来测试所有业务逻辑,而且这个程序只能是DOS界面版本了,要是想使用web或图形化界面来做输入,就得全部写过代码。

软件测试练习题及答案

、判断 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模型更加敏捷,对于软件的交付期和品质的保证能力更强。 第二章 测试计划的目的是什么? 答:软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。 什么是黑盒测试?黑盒测试主要采用的技术有哪些? 答:黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。它从用户观点出发的测试。用这种方法进行测试时,把被测试程序当作一个黑盒,在不考虑程序内部结构的内部

白盒测试技术中的几种逻辑覆盖

白盒测试技术中的几种逻辑覆盖 白盒测试技术中的逻辑覆盖 一个或者多个条件组成一个判定,一个程序中可以有多个判定。 首要的是建立一个二维的真值表,各列为判定和条件,各行为每组值的T或者F。 1、语句覆盖 为了暴露程序中的错误,至少每个语句应该执行一次。 这也是最弱的逻辑覆盖标准咯。 2、判定覆盖 每个判定的每种可能结果都要执行一次。 建立判定表以后,要保证每种判定的结果中都包含了T和F,才满足判定覆盖。 3、条件覆盖 不但每个语句需要执行一次,而且判定表达式中的每个条件都要取到可能的结果。 建立判定表以后,要保证每种条件的结果中都包含了T和F,才满足条件覆盖。 4、判定/条件覆盖 使得每个判定以及每个判定中的每个条件都取到可能的结果。 建立判定表以后,要保证每个判定结果包含T和F,而且每种条件的结果包含T和F。 也就是综合了上面的条件覆盖和判定覆盖。 5、条件组合覆盖 使得每个判定中的条件的各种组合至少出现一次。 也就是说,先把程序中的条件列出来,排列组合,写出所有的可能性,看有没有那组值同时满足这些排列组合。 6、路径覆盖 每条可能的路径都至少执行一次。

就是看源程序中的判断,都有哪些组合,比如T ,FF,FT,等等,看看哪个满足包含了所有的组合。 因为这些不同的组合就代表了程序中执行的不同路径啊。 如何挑选白盒测试工具 白盒测试目前主要用在具有高可靠性要求的软件领域,例如:军工软件、航天航空软件、工业控制软件等等。白盒测试工具在选购时应当主要是对开发语言的支持、代码覆盖的深度、嵌入式软件的测试、测试的可视化等。 对开发语言的支持:白盒测试工具是对源代码进行的测试,测试的主要内容包括词法分析与语法分析、静态错误分析、动态检测等。但是对于不同的开发语言,测试工具实现的方式和内容差别是较大的。目前测试工具主要支持的开发语言包括:标准C、C++、Visual C ++、Java、Visual J++等。 代码的覆盖深度:从覆盖源程序语句的详尽程度分析,逻辑覆盖标准包括以下不同的覆盖标准:语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖、多条件覆盖和修正判定条件覆盖。 ·语句覆盖为了暴露程序中的错误,程序中的每条语句至少应该执行一次。因此语句覆盖(Statement Coverage)的含义是:选择足够多的测试数据,使被测程序中每条语句至少执行一次。语句覆盖是很弱的逻辑覆盖。 ·判定覆盖比语句覆盖稍强的覆盖标准是判定覆盖(Decision Coverage)。判定覆盖的含义是:设计足够的测试用例,使得程序中的每个判定至少都获得一次“真值”或“假值”,或者说使得程序中的每一个取“真”分支和取“假”分支至少经历一次,因此判定覆盖又称为分支覆盖。 ·条件覆盖在设计程序中,一个判定语句是由多个条件组合而成的复合判定。为了更彻底地实现逻辑覆盖,可以采用条件覆盖(Condition Coverage)的标准。条件覆盖的含义是:构造一组测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次。 ·多条件覆盖多条件覆盖也称条件组合覆盖,它的含义是:设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。显然满足多条件覆盖的测试用例是一定满足判定覆盖、条件覆盖和条件判定组合覆盖的。 ·修正条件判定覆盖修正条件判定覆盖是由欧美的航空/航天制造厂商和使用单位联合制定的“航空运输和装备系统软件认证标准”,目前在国外的国防、航空航天领域应用广泛。这个覆盖度量需要足够的测试用例来确定各个条件能够影响到包含的判定的结果。它要求满足两个条件:首先,每一个程序模块的入口和出口点都要考虑至少要被调用一次,每个程序的判定到所有可能的结果值要至少转换一次;其次,程序的判定被分解为通过逻辑操作符(and、or)连接的布尔条件,每个条件对于判定的结果值是独立的。 不同的测试工具对于代码的覆盖能力也是不同的,通常能够支持修正条件判定覆盖的测试工具价格是极其昂贵的。

白盒测试用例练习题(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)

软件测试练习题及答案

练习题 一、判断 (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)在单元测试中,桩程序模拟被测模块工作过程中所调用的下层模块。对

命题逻辑练习题及答案14

命题逻辑练习题 一、从五个备选答案中选择一个正确的答案,并做出简要的分析: 1、古代一位国王率领张、王、李、赵、钱五位将军一起打猎,各人的箭上均刻有自己的姓氏。围猎中,一只鹿中箭倒下,但却不知是何人所射。国王令众将军猜测。 张说:“或者是我射中的,或者是李将军射中的。” 王说:“不是钱将军射中的。” 李说:“如果不是赵将军射中的,那么一定是王将军射中的。” 赵说:“既不是我射中的,也不是王将军射中的。” 钱说:“既不是李将军射中的,也不是张将军射中的。” 国王令人把射中鹿的箭拿来,看了看,说:“你们五位将军的猜测,只有两个人的话是真的。” 根据国王的话,可以判定以下哪项是真的? A、张将军射中此鹿。 B、王将军射中此鹿。 C、李将军射中此鹿。 D、赵将军射中此鹿。 E、钱将军射中此鹿。 1、某大学进行演讲比赛,得第一名的只有一人。在对六个参赛者进行名次预测时,四人作了如下 预测: 甲:取得第一名的要么是我,要么是乙。 乙:取得第一名的要么是甲,要么是丙。 丙:如果不是戊取得第一名,就一定是己。 丁:第一名决不会是甲。 比赛结果发现,只有一个人的预测正确。请问谁得第一名?谁的预测正确? A、甲得第一名,乙的预测正确。 B、乙得第一名,甲的预测正确。 C、丙得第一名,乙的预测正确。 D、丁得第一名,丁的预测正确。 E、戊得第一名,丙的邓测正确。 2、销售经理的人选,对于一个公司的生存和发展十分重要。哈维珍珠有限责任公司对于销售经理 的任用,就非常填重。由于前任销售经理因故离任,关于公司新销售经理的人选,甲、乙、丙 三位董事经过充分考虑,提出了他们的意见: 甲:要么聘用李先生,要么聘用王先生。 乙:如果不聘用李先生,那么也不聘用王先生。 丙:如果不聘用王先生,那么就聘用李先生。

最新白盒测试面试题

精品文档 class是从struct发展而来的。之所以将struct和class都保留,是因为: 1、提出class是为了强调一种概念。 2、保留struct是为了照顾到大多数人的习惯。 struct和class是有区别的。 struct保证成员按照声明顺序在内存中存储。class不保证等等 而它们都可以继承,实现多态等。但也有少许区别。比如: struct A { }; class B : A{ }; //private继承 struct C : B{ }; //public继承 这是由于class默认是private,struct默认是public。 一般说来,struct和class可以换用(当然要注意一些语法问题)。 而struct更适合看成是一个数据结构的实现体, class更适合看成是一个对象的实现体, 对私有成员进行保护,还提供与外界的接口。 从习惯上更喜欢用class。 05:请讲一讲析构函数和虚函数的用法和作用? 答:置于“~”是析构函数;析构函数因使用"~"符号(逻辑非运算符),表示它为腻构造函数,加上类名称来定义。 ;析构函数也是特殊的类成员函数,它没有返回类型,没有参数,不能随意调用,也没有重载,只有在类对象的生命期结束的时候,由系统自动调用。 有适放内存空间的做用! 虚函数是C++多态的一种表现 例如:子类继承了父类的一个函数(方法),而我们把父类的指针指向子类,则必须把父类的该函数(方法)设为virturl(虚函数)。 使用虚函数,我们可以灵活的进行动态绑定,当然是以一定的开销为代价。 如果父类的函数(方法)根本没有必要或者无法实现,完全要依赖子类去实现的话,可以把此函数(方法)设为virturl 函数名=0 我们把这样的函数(方法)称为纯虚函数。 如果一个类包含了纯虚函数,称此类为抽象类 精品文档

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

[试题分类]: [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)为各测试路径设计测试用例。

逻辑思维训练题和答案

211.分辨金球和铅球。 有两个大小及重量都相同的空心球,但是,这两个球的材料是不同的,一个是金,一个是铅。这两个球的表面涂了一模一样的油漆,现在要求在不破坏表面油漆的条件下用简易方法指出哪个是金的,哪个是铅的。你能分辨出来吗? 212.分辨硬币。 现在桌子上面放了25枚硬币,其中有10枚硬币是正面朝上。如果别人蒙住你的眼睛,而且你的手也摸不出硬币的反正面。你用什么方法能将硬币分成两堆,而且这两堆硬币正面朝上的个数相同。 213.移火柴。 用火柴摆了一个2+72+1的式子,现在要求你移动其中任何一根火柴,然后将式子的答案变成36。该怎么移呢? 说明:1是由竖一根火柴组成,2是由横折横三根火柴组成,7是由横折两根火柴组成。 214.巧排队列。 一个班级有24个人,有一次,为了安排一个节目,必须把全班学生排成6列,要求每5个人为-列,那么该怎么排呢? 215.观察数字。 观察3、3、8、8这一组数字,不改变数字顺利,加入运算符号,将这些数字组成一个算式,使结果等于27。 216.旋转梯形。 有一规则的梯形如下图所示,先让它向左转,然后顺时针旋转三圈,再向后转,在逆时针旋转三圈,此时它的图形方向是怎样的?(用立体结合平面的思维考虑) 上 右 下 217.区分图形 哪一张图不同于其他的图?从左往右、从上往下看。 218.黑色珠子有多少 观察图形:○●○●●○●●●●○●●●●●●●●○……前200个珠子中有多少个黑色的? 219.观察字母。 PRO、XSZ这两组字母有哪些不同之处? 220.测测你的观察力 在图一中的13块图形中,去掉一块可以组成图二的船型,应该去掉那一块?

相关文档
相关文档 最新文档