软件设计师中级-白盒测试相关题目

【2020年下半年】35.36.用白盒测试技术对下面流程图进行测试,设计的测试用例如下表所示。至少采用测试用例( )才可以实现语句覆盖;至少采用测试用例( ) 才可以实现路径覆盖。

A.①    B.②   C.③    D.④
A.①    B.①②   c.③④    D.①②③④
答案:.A、D

首先了解流程图符号:https://baike.baidu.com/item/%E6%B5%81%E7%A8%8B%E5%9B%BE%E7%AC%A6%E5%8F%B7/12727793?fr=aladdin

根据测试用例:

用例①可以满足覆盖所有语句,满足语句覆盖。

用例①可以满足路径ace,用例②可以满足路径abd,用例③可以满足路径abe,用例④可以满足路径acd。所以满足路径覆盖需要测试用例①②③④。

【2019下半年】下图用白盒测试方法进行测试,图中有37条路径采用McCabe度量计算该程序图的环路复杂性为38)。

(37)A.3 B.4 C.5 D.6

(38)A.3 B.4 C.5 D.6

答案:B、B

根据图示可以找到不同路径共4条

第一条:1-2-3-11

第二条:1-2-3-4-5-6-10-11

第三条:1-2-3-4-5-7-9-10-11

第四条:1-2-3-4-5-7-8-9-10-11

环路复杂性

方法一:

计算公式V(G)=M-N+2

M(边数【紫色】)-N(点数【红色】)=13-11+2=4

方法二:

看有多少个封闭区间,总数加1

图中有3个,加1是4个

【2019上半年】以下关于测试的叙述中,正确的是34

(34)A.实际上,可以采用穷举测试来发现软件中的所有错误

B.错误很多的程序段在修改后错误一般会非常少

C.测试可以用来证明软件没有错误

D.白盒测试技术中,路径覆盖法往往能比语句覆盖法发现更多的错误

答案:D

解析:
一个高效的测试是指用少量的测试用例,发现被测软件尽可能多的错误。软件测试不能说明软件中不存在错误,不能用穷举法来进行测试。
经验表明,测试中存在集群规律,即未发现的错误数量与已发现的错误数量成正比,已发现的错误数量越多,则该模块未被发现的错误也就越多。
软件测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件产品(主要是指程序)中的错误和缺陷。
“白盒测试技术中,路径覆盖法往往能比语句覆盖法发现更多的错误”选项的描述是正确的,白盒测试中语句覆盖是覆盖度最弱的,所以路径覆盖往往能比语句覆盖发现更多的错误。

【2016下半年】(32)对下图所示流程图采用白盒测试方法进行测试,若要满足路径覆盖,则至少需要32个测试用例。采用McCabe度量法计算该程序的环路复杂性为33

(32)A.3 B.4 C.6 D.8

(33)A.1 B.2 C.3 D.4

答案:CD

解析:路径覆盖应使程序中每一条 可能的路径至少执行一次。该流程图中一共有六条路径:①②③④⑤⑥⑦⑧,①②③④⑤⑥⑧,①②③⑤⑥⑦⑧,①②③⑤⑥⑧,①②⑥⑦⑧,①②⑥⑧,因此,实现路径覆盖至步需要6个测试用例。McCabe度量法是一种基于程序控制流的复杂性度量方法,环路复杂性为V (G) =m-n+2,图中m=10,n=8,V (G) =10-8+2=4。

【2015下半年】

若用白盒测试方法测试以下代码,并满足条件覆盖,则至少需35个测试用例。采用McCabe度量法算出该程序的环路复杂性为36

int find_max(int i, int j, int k) {
    int max;
    if (i > j) then
        if(i > k) then max = i;
        else max = k;
    else if (j > k) max = j;
        else max = k;
}

(35)A.3 B.4 C.5 D.6

(36)A.1 B.2 C.3 D.4

画出该代码的流程图,如下:   要满足条件覆盖,要求三个判断框的Y和N至少要经过一次,即1Y2Y;1Y2N;1N3Y;1N3N,至少需要4个测试用例。 McCabe度量法是一种基于程序控制流的复杂性度量方法,环路复杂性为V(G)=m-n+2,图中m=9,n=7,V(G)=9-7+2=4。             

  • 9
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,关于软件测试用例白盒测试和练习题,我可以给你一些参考: 白盒测试是一种测试方法,它通过了解被测试软件的内部结构和代码逻辑来设计测试用例,并对其进行测试。在白盒测试中,测试人员可以访问程序代码和内部数据结构,从而可以设计测试场景以覆盖所有可能出现的情况。下面是一些白盒测试用例的例子: 1. 确保所有代码路径都被测试覆盖,包括所有条件语句和循环结构。 2. 检查是否有未初始化的变量或指针,这可能导致程序崩溃或产生意外的行为。 3. 检查程序是否能够正确地处理错误情况,如无效的输入或错误的参数。 4. 检查程序是否能够正确地处理边界条件,如处理最小和最大值。 5. 检查程序是否能够正确地处理并发或多线程访问。 6. 检查程序是否能够正确地处理内存分配和释放,以避免内存泄漏或错误的内存访问。 下面是一些白盒测试练习题: 1. 设计测试用例测试一个函数,该函数接受两个整数并返回它们的和。 2. 设计测试用例测试一个函数,该函数接受一个字符串并返回该字符串中的第一个单词。 3. 设计测试用例测试一个函数,该函数接受一个整数数组并返回数组中的最大值。 4. 设计测试用例测试一个函数,该函数接受一个字符串并返回该字符串中的所有元音字母的数量。 5. 设计测试用例测试一个函数,该函数接受一个日期和一个整数,并返回该日期加上给定天数后的日期。 希望这些练习题和用例可以帮助你更好地理解白盒测试。如果你还有其他问题,可以继续问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值