3、解答:单元测试又称模块测试,是针对软件设计的最小单位─程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。单元测试是在编码阶段完成的,每编写出一个程序模块,就开始做这个模块的单元测试,所以只要采用模块化方法开发软件,单元测试都是必需的。它可由编写程序的人来完成。因为它需要根据程序的内部结构设计测试用例,对于那些不了解程序内部细节的人,这种测试无法进行。
4、解答:针对覆盖标准,相应的测试用例组如下
注意:测试是一个程序的执行过程。对于逻辑表达式 A or B,当A为真时不再对B做判断,对于逻辑表达式 A and B,当A为假时不再对B做判断。未能做判断的条件,在解答中用“□”表示。
75软件测试技术选择判断解答题_软件测试的目的
此测试用例组在满足条件覆盖的情况下又满足了判定覆盖的要求。
?在条件组合覆盖情形,(x?90)or(y?90)的组合有4种,与条件(x+y?140)的组合应有8种,但(x+y?140=F)and((x?90=T)or(y?90=T))不可能出现,因此,7个测试用例就够了。
?因为流程图有3条路径,只需3个测试用例就够了。如果将判定中的复合条件表达式改为单个条件的嵌套选择结构,第一个判定有3条路径,其中两条路径通向第二个判定。第二个判定有4条路径,组合起来总共应有9条路径。但是,其中受测试条件的限制,有3条路径不可达,因此,程序中应有6条路径,需要6个测试用例来覆盖它们。
5、解答:A. ④ B. ⑤ C. ⑧ D. ④ E. ⑤ F. ⑧
判定表
?为判定覆盖选取测试用例情形:对第一个判定选取测试用例组Ⅰ和Ⅱ,当用Ⅰ覆盖判定的T分支时,不会走到第二个分支;当用Ⅱ覆盖判定的F分支时,第二个判定需另取一个测试用例组覆盖其T分支,此时取测试用例组Ⅲ或Ⅳ即可。因此,选择⑤或⑧均可。 为条件覆盖选取测试用例情形:取测试用例组Ⅰ和Ⅳ就可以覆盖所有4个条件的取值。
为路径覆盖选取测试用例情形:总共3条路径,需3个测试用例,可选使各路径为T的测试用例。Ⅰ、Ⅱ、Ⅲ或Ⅰ、Ⅱ、Ⅳ均可,可选⑤或⑧。
6、解答:(1)流程图如下。
(2) 测试用例设计
?画程序流程图是设计测试用例的关键。从以往同学解题的经验来看,在画流程图时就出错了。所以首先要把流程图中的逻辑关系搞清楚再画出正确的流程图。考虑测试用例设计需要首先有测试输入数据,还要有预期的输出结果。对于此例,控制循环次数靠循环控制变量i和循环终值high。循环0次时,取low = high,此时一次循环也不做。循环一次时,取low +1 = high,循环二次时,取low+2 = high。
?若出题时特别强调要使用BRO策略,条件V[i] < pivot && ++k≠i的约束集合为 { (<, < ), (<, = ), (=, <), (>, < ) },因此,测试用例设计为:
7、解答:(1) McCabe环路复杂性 = 5
(2) 独立路径有5条:
①③①②⑤⑧?? ①②⑤⑨??①②④⑥??①②④⑦??
(3) 为各测试路径设计测试用例:
路径①③:取n = 1
路径①②⑤⑧??:取n = 2,预期结果:路径⑤⑧③不可达
路径①②⑤⑨??:取n = 2,预期结果:路径⑤⑨③不可达
路径①②④⑥⑤⑧③:取n = 2, V[0] = 2, V[1] = 1, 预期结果:k = 1, V[0] = 1, V[1] = 2
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-36049-16.html
派驻军