1、对于下面这段伪码,设计该段程序能达到100%分支覆盖率的最少用例数量为(C)
begin:
while(condition1)
statement1;
if(condition2) then
statement2;
end if;
end while;
end
假设condition1和condition2互不依赖。
A、1个 B、2个 C、3个 D、4个
分析:两个条件,其中一个条件在另一个的真分支中,需要3个用例,我们用分支1的真假分别用T1、F1,分支2的真假分别用T2、F2,那么三个用例分别是(T1,T2),(T1,F2),(F1,-)
2、1、下列哪种测试设计技术需要考虑程序控制流的“点”和“边”(C)
A、边界值 B、状态转换 C、判定覆盖 D、判定表
分析:考虑程序结构设计用例的一定是白盒技术,四个选项中只有C是白盒技术。
3. 在Android的测试架构中,如果我们要对一个自定义的view控件进行单元测试,最好是继承于下面的哪个测试类?(C)
a. Junit
b. ActivityInstrumentationTestCase2
c. AndroidTestCase
d. ApplicationTestCase
分析:AndroidTestCase对象中提供了mock的Context对象,可以有效隔离控件对android系统的依赖。
4. 软件测试中的风险分析不包含以下的哪个部分?(D)
a. 风险发生的几率
b. 风险造成的影响
c. 风险发生系数
d. 风险的消减
分析:风险消减不属于风险分析的内容,应属于计划过程。
5. 在Java程序的内存泄露检查中,下列哪种对象引用方式最容易引起内存泄露?(A)
a. 强引用
b. 虚引用
c. 弱引用
d. 软引用
分析:在java的内存回收机制中,如果一个对象通过一串强引用链接可到达(Strongly reachable),它是不会被回收的,如果这部分对象不手动销毁,则有可能会造成内存泄露。