软件测试技术复习题(含答案) 下载本文

动作桩:

A1:安装驱动程序 A2:加入纸张 A3:加入墨粉 A4:打印纸张 2、 确定规则个数

输入条件个数:3

每个条件的取值:”是“或”否“ 规则个数:2*2*2=8 3、 填入条件项和动作项

条件 C1 C2 C3 动作 A1 A2 A3 A4 1 Y Y Y √ 2 Y Y N √ 3 Y N Y √ 4 Y N N √ √ 5 N Y Y √ 6 N Y N √ √ 7 N N Y √ √ 8 N N N √ √ √ 4、 简化决策表,合并相似规则

没有相似规则,无需合并。 6. 白盒测试方法的综合应用

示例源码(购物车添加商品方法,判断hashmap中没有pid对应的商品为false的情况下添加product)

public void addProduct(String pid,Product product) {

第 29 页 共 37 页

if(hasmap==null) {

hashmap= new HashMap(); }

if(hashmap.containsKey(pid)==false) //购物车中不存在该商品 {

hashmap.put(pid,product); } }

要求:根据以上的示例源码,采用两种以上的白盒测试方法进行测试,要求写出详细的测试用例及测试过程,并比较你所采用的测试方法的优点和缺点

程序结构图:

第 30 页 共 37 页

语句覆盖:CASE1:hasmap==null和hashmap.containsKey(pid)==false为真,语句执行的路径ace,覆盖了程序中四个语句,达到了语句覆盖。 判定覆盖:

CASE2:hasmap==null和hashmap.containsKey(pid)==false都为真; CASE3:hasmap==null和hashmap.containsKey(pid)==false都为假; 程序中的每个判定分支都取真和取假了,达到了判定覆盖。

【优点】 判定覆盖具有比语句覆盖更强的测试能力,而且具有和语句覆盖一样的简单性,无需细分每个判定就可以得到测试用例。

【缺点】 语句覆盖的覆盖标准无法发现判定中逻辑运算的错误;判定覆盖往往大部分的判定语句是由多个逻辑条件组合而成,若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。 7. 黑盒测试方法的综合应用

案例:加法器程序计算两个1—100之间的整数和。

要求:根据以上的案例描述,采用黑盒测试方法进行测试,要求写出详细的测试用例及测试过程。

第 31 页 共 37 页

8. 白盒测试方法的综合应用

示例源码

Dim a,b as Integer Dim c as Double If(a>0 and b>0) Then

c = c/a End if

If(a>1 OR c >1) Then

第 32 页 共 37 页