25-3:《软件质量保障》课程第三次随堂测试题(30 分)

来源文件:25-3.pdf

说明:原 PDF 未给出明确答案,以下答案根据 gitbagNotebook/md笔记/ppt/ 中的白盒测试、回归测试与性能测试相关内容补全。

一、填空题(11 分)

  1. 白盒测试是一种基于____或____的测试方法。

    答案:源程序、代码

  2. 错误屏蔽指____取值改变不会影响判定结果,即该条件的取值错误是不可见的。

    答案:原子条件

  3. 控制流图中的结点的含义是表示一条____或多条____。

    答案:过程语句、过程语句

  4. 数据流测试是一种面向____覆盖的基于程序结构的测试方法。

    答案:变量定义位置到使用位置

  5. 回归测试最初的目的是:为了保证在软件____和____时,那些未改变的代码的功能不会受影响。

    答案:演化、维护

  6. 软件性能关注的是软件在运行过程中表现出来的____与____之间的吻合程度。

    答案:时间和空间效率、用户需求

  7. 简单循环的测试用例构造可以针对循环次数采用边界值测试的____公式。

    答案:6n+1

二、选择题(7 分)

  1. 关于静态白盒测试和动态白盒测试的区别,以下说法正确的是( )。

    A. 静态白盒测试需要运行程序,而动态白盒测试不需要运行程序。
    B. 静态白盒测试主要检查代码的逻辑结构,动态白盒测试关注程序的运行时行为。
    C. 代码审查属于动态白盒测试,而单元测试属于静态白盒测试。
    D. 静态白盒测试比动态白盒测试更适合发现内存泄漏和性能问题。

    答案:B

  2. 针对代码片段 if(x>=5&&x<=10) x++; 为了达到条件组合覆盖,至少需要( )个测试用例。

    A. 1
    B. 2
    C. 3
    D. 4

    答案:C

  3. 关于数据流测试的概念和应用,下列描述中正确的是( )。

    A. 数据流测试主要关注程序中变量的定义和使用是否正确。
    B. 数据流测试可以帮助检测出变量在使用前未被初始化的错误。
    C. 数据流测试通常用于优化程序性能,而不是用于错误检测。
    D. 数据流测试可以揭示程序中由于变量错误赋值导致的逻辑错误。

    答案:A、B、D

  4. 下列说法正确的有?( )

    A. 条件覆盖能保证判定覆盖。
    B. 判定覆盖能保证边覆盖。
    C. 语句覆盖能保证节点覆盖。
    D. 判定覆盖能保证路径覆盖。

    答案:B、C

三、判断题(12 分)

  1. 白盒测试是一种基于规约的测试,尽可能覆盖软件定义的行为( )

    答案:×

  2. 动态白盒测试只需要对所有逻辑判定的取值(“真”或“假”)都执行一次即可( )

    答案:×

  3. 逻辑覆盖测试是一种基于控制流的测试方法( )

    答案:√

  4. 判定覆盖准则要求每个判断的取 True 和 False 至少各一次( )

    答案:√

  5. 无论我们采用哪种测试覆盖方法,也都无法绝对保证程序的正确性( )

    答案:√

  6. 100% 的语句覆盖通过率就可以保证软件不存在严重的问题( )

    答案:×

  7. 满足判定覆盖一定满足语句覆盖( )

    答案:√

  8. 满足条件覆盖一定满足所有分支覆盖( )

    答案:×

  9. 路径覆盖考虑了程序中各种判定结果的所有可能组合,因此可以替代条件覆盖和条件组合覆盖标准( )

    答案:×

  10. 软件性能属于用户的非功能性需求( )

    答案:√

  11. 设计测试用例的一个核心目标是用尽可能少的测试用例覆盖更多的情况( )

    答案:√

  12. 数据流测试中,dc-path 是指从变量定义到变量使用的任何一条路径( )

    答案:×