首页 > 其他分享 >[软件测试] 02 白盒 逻辑覆盖测试 习题

[软件测试] 02 白盒 逻辑覆盖测试 习题

时间:2023-12-30 13:56:20浏览次数:33  
标签:02 语句 覆盖 测试用例 判定 测试 条件 习题 软件测试

提示
篇幅较长,可以使用Ctrl+F,在页面中快速查询关键词(或者你要找的题目)并跳转到指定的位置。

关键词:白盒测试,逻辑覆盖测试

单选题

  1. 以下不属于逻辑覆盖测试的是(C)

    A. 语句覆盖

    B. 判定覆盖

    C. 基本路径覆盖

    D. 条件覆盖

    根据不同的测试要求,逻辑覆盖测试可以分为语句覆盖、判定覆盖(分支覆盖)、条件覆盖、判定-条件覆盖(分支-条件覆盖)、条件组合覆盖、路径覆盖六种覆盖测试方法。

    :路径覆盖和基本路径测试是两个容易混淆的概念,不存在”基本路径覆盖“这个概念。

    它们的关系是:

    白盒测试包含逻辑覆盖测试基本路径测试等等,而路径覆盖属于逻辑覆盖测试中的一种。

    image-20231229204625523
  2. 在软件测试中,逻辑覆盖标准主要用于(B)

    A. 黑盒测试

    B. 白盒测试

    C. 文档测试

    D. 软件验收

  3. 下列不属于白盒测试技术的是(D)

    A. 路径覆盖

    B. 判定覆盖

    C. 条件覆盖

    D. 需求覆盖

  4. 在逻辑覆盖准则中,覆盖性最强的是(D)

    A. 语句覆盖

    B. 判定覆盖

    C. 条件覆盖

    D. 条件组合覆盖

    各种测试覆盖率之间的关系

    image-20231229205612894

  5. 在下面所列举的逻辑测试覆盖中,测试覆盖最弱的是(C)

    A. 条件覆盖

    B. 条件组合覆盖

    C. 语句覆盖

    D. 判定/条件覆盖

  6. 下面的个人所得税程序中,满足语句覆盖测试用例是(D)

    单选作业1.jpg

    A. income=(800,1500,2000,2001)

    B. income=(800,801,1999,2000)

    C. income=(799,1499,2000,2001)

    D. income=(799,1500,1999,2000)

  7. 条件组合覆盖是一种逻辑覆盖,满足条件组合覆盖级别的测试用例也满足(A)级别的测试。

    A. 语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖

    B. 判定覆盖、条件覆盖、判定/条件覆盖

    C. 语句覆盖、判定覆盖、判定/条件覆盖

    D. 路径覆盖、判定覆盖、条件覆盖、判定/条件覆盖

    这道题D可以先排除,因为条件组合覆盖不包含路径覆盖。

    而对于B和C,都是A的子集,也不能算错。不过这道选择题的出题人给出的答案是最充分的A选项。

  8. 下列有关测试过程V模型的说法中,正确的是(B)

    A. 验收测试应确定成程序的执行是否满足软件设计的要求

    B. 系统测试应确定系统功能和性能的质量特性是否达到系统要求的指标

    C. 单元测试和集成测试应确定软件的实现是否满足用户需要或合同的要求

    D. 集成测试在编码结束前就可以开始

  9. 下列不属于软件测试过程模型的一项是(A)

    A. 瀑布模型

    B. H模型

    C. V模型

    D. W模型

    瀑布模型是软件生命周期模型

  10. 使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。

    A. 程序的内部逻辑

    B. 程序的复杂程度

    C. 使用说明书

    D. 程序的功能

  11. 如果一个判定中的复合条件表达式为(A>1)or (b<=3),则为了达到100%的条件覆盖率,至少需要设计多少个测试用例(B)

    A. 1

    B. 2

    C. 3

    D. 4

    条件覆盖:设计测试用例时应保证程序中每个复合判定表达式中,每个简单判定条件(子条件)的取真和取假情况至少执行一次。

    根据条件覆盖的定义,我们可以只设计两个测试用例,满足两个子条件的布尔值分别为(True, False)和(False,True),就能实现100%的条件覆盖率。

  12. 通常可分为白盒测试和黑盒测试。白盒测试是根据程序的(A)来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。

    A. 内部逻辑

    B. 功能

    C. 输入数据

    D. 应用范围

主观题

  1. 什么是黑盒测试,什么是白盒测试?

答:

简单版本

  • 黑盒测试是忽略系统或部件的内部机制只集中于响应所选择的输入和执行条件产生的输出的一种测试。

  • 白盒测试侧重于系统或部件内部机制的测试,类型分为分支测试、路径测试、语句测试。

详细版本

  • 黑盒测试又称功能测试或数据驱动测试,是通过测试来检测每个功能是否都能正常使用。是通过软件的外部表现来发现缺陷和错误。黑盒测试把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性,它是站在使用软件或程序的角度,从输入数据与输出数据的对应关系出发进行的测试。
  • 白盒测试又称结构测试或逻辑驱动测试,指通过对程序内部结构的分析、检测来寻找问题。白盒测试把程序看成装在一个透明的白盒子里,也就是清楚了解程序结构和处理过程,检查是否所有的结构及路径都是正确的,检查软件的内部动作是否按照设计说明的规定正常进行。

  1. 运用逻辑覆盖的方法测试以下程序段:

逻辑覆盖程序段01.png

上述程序段的流程图如下:

逻辑覆盖流程图.png

其中:
x=c+1; 为语句块1
x=x=c; 为语句块2
printf("a=%d,b=%d,c=%d,x=%d\n",a,b,c,x); 为语句块3
return x; 为语句块4

要求:根据给出的流程图按讲义上的格式分别写出6种逻辑覆盖(语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖)的测试用例。

image.png

image.png

image.png

image.png


  1. 简述逻辑覆盖测试的6种覆盖策略及各自的特点。

根据不同的测试要求,覆盖测试可以分为语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖。

① 语句覆盖就是设计足够的测试用例,使得被测试程序中的每条可执行语句至少被执行一次。

② 判定覆盖又称分支覆盖,就是设计足够的测试用例,使得被测试程序中的每个判断的“真”、“假”分支至少被执行一次。

③ 条件覆盖是指设计足够的测试用例,使得被测试程序中的每个判断语句中的每个逻辑条件的可能值(真、假)至少被满足一次。或者说设计足够多的测试用例,使得被测试程序中的每个逻辑条件的可能值(真、假)至少被满足一次。

④ 判定-条件覆盖是指设计足够的测试用例,使得被测试程序中的每个判断本身的判定结果(真、假)至少满足一次,同时,每个逻辑条件的可能值(真、假)也至少被满足一次。即同时满足100%判定覆盖和100%条件覆盖的标准。在保证完成要求的情况下,测试用例的数目越少越好。

⑤ 条件组合覆盖是指设计足够的测试用例,使得被测试程序中的每个判断的所有可能条件取值的组合至少被满足一次。其测试用例应该注意如下三点:(1)条件组合只针对同一个判断语句内存在多个条件的情况,让这些条件的取值进行笛卡儿乘积组合。(2)不同的判断语句内的条件取值之间无须组合。(3)对于单个条件的判断语句,只需要满足自己的所有取值即可。

⑥ 路径覆盖是指设计足够的测试用例,运行被测程序,覆盖程序中所有可能的路径。

标签:02,语句,覆盖,测试用例,判定,测试,条件,习题,软件测试
From: https://www.cnblogs.com/feixianxing/p/software-test-review-white-box-logic-coverage-exerci

相关文章

  • 2023 Music Exhibition
    ......
  • 2023.12.30 日记
    早上跑400m,低血糖。跑完我在操场上呕吐,四肢麻木地瘫在草地。我无力了。脸部传来瘙痒。痒觉移动到了耳梢。它在耳朵旁转了几圈,大抵由于那个洞深不可测,便放弃了,继续在我身上爬行。我感受到飞蝇在我的睫毛上晃动。我伸起手扇它,它没飞走。我也没有伸起手。四肢从冰冷麻木转向......
  • Farewell to Pika, Embracing the Arrival of PikiwiDB in 2024
    今年(2023年) 3 月份于某接手项目时,OpenAtom 基金会 Pika 项目(https://github.com/OpenAtomFoundation/pika)对接人告诉我,OpenAtom 基金会旗下的多个项目都面临了一个共同问题:项目名称被第三方注册为商标。出于合规要求,余三月份重点工作之一就是给项目重新申请一个全新的......
  • [软件测试] 01 软件测试基础概念 习题
    提示:篇幅较长,可以使用Ctrl+F,在页面中快速查询关键词(或者你要找的题目)并跳转到指定的位置。关键词:软件测试基础概念判断题由于功能性是软件最基本的质量特性,因此在用户未提出明确的非功能需求时,只需在进行完善的功能测试后,就可以向客户提出验收测试请求。答案:错误测试......
  • 来自泰山运维的2023年终总结
    2023就要过完了,大家都在写年终总结,我也盘点下自己:全年研发目标基本完成,个人也前进了一丢丢。在此,感谢所有帮助过我的朋友们。1、年初目标1.公司研发任务能够保质、保量的完成。2.提升mysql技能,从小白到白又白。3.全面掌握k8s。4.身体健康、多赚钱。2、部门研发任务回......
  • 3-1-02AXI4-FULL-uiFDMA IP仿真验证
    软件版本:vitis2021.1(vivado2021.1)操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA登录"米联客"FPGA社区-www.uisrc.com视频课程、答疑解惑!2.1概述本文试验中对前面编写的FDMAIP进行仿真验证。2.2saxi_full_memIP介绍这个IP的源码可以基于XILINX提供的ax......
  • 02.软件开发流程
    目录 软件软件生命周期软件开发模型软件 软件是与计算机系统操作有关的计算机程序、可能有的文档及数据。软件生命周期 定义问题软件开发软件维护@startumlscale10|定义问题|start:搜集需求;:可行性研究;:需求分析;|软件开发|:概要设......
  • 01.软件测试基础概念
    目录 软件测试软件测试作用软件缺陷软件测试原则软件测试对象测试用例软件测试 通过手工或者工具对“被测对象”进行测试验证实际结果与预期结果之间是否存在差异软件测试作用 通过测试工作可以发现并修复软件当中存在的缺陷,从而提高用户对产......
  • 20231213-sdfz多校集训-DS
    非lxl的DS不会线性代数,只能来写DS了。20231226-没有逻辑,直接放例题。P1527矩阵乘法-整体二分P1527[国家集训队]矩阵乘法给你一个\(n\timesn\)的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第\(k\)小数。\(1\leqn\leq500\),\(1\leqq\leq6\times......
  • 1-1-02 AMD(XILINX) FPGA开发工具Vitis(vivado)安装
    1.1Vitis概述Vitis统一软件平台可实现在Xilinx异构平台(包括FPGA、SoC和VersalACAP)上开发嵌入式软件和加速应用。它可为边缘、云和混合计算应用加速提供统一编程模型。利用与高层次框架的集成,通过加速库采用C、C++或Python进行开发,或者使用基于RTL的加速器和低层次......