白盒测试】白盒测试的常用技术有哪些

2020-05-28 09:28发布

2条回答

白盒测试常用的技术一般分为静态分析技术和动态分析技术。


1.静态分析技术主要有:控制流分析、数据流分析、信息流分析、代码评审等


2.动态分析技术主要有:程序插装、逻辑覆盖率测试等


小猪仔
3楼 · 2021-01-14 16:33

 白盒测试的常用技术逻辑覆盖法

  逻辑覆盖法主要讨论以下四点:

  测试覆盖率。

  逻辑覆盖。

  面向对象的覆盖。

  测试覆盖准则。

  下面分别进行讨论。

  1.测试覆盖率

  测试覆盖率是用于确定测试所执行到的覆盖项的百分比。其中的覆盖项是指作为测试基础的一个入口或属性,比如语句、分支、条件等。

  测试覆盖率可以表示出测试的充分性,在测试分析报告中可以作为量化指标的依据,测试覆盖率越高,效果越好。但覆盖率不是目标,而是一种手段。

  测试覆盖率包括功能点覆盖率和结构覆盖率。

  1)功能点覆盖率主要用于表示软件已经实现的功能与软件需要实现的功能之间的比例关系。

  2)结构覆盖率包括语句覆盖率、分支覆盖率、循环覆盖率、路径覆盖率等。

  2.逻辑覆盖

  根据覆盖目标的不同和覆盖源程序语句的详尽程度,逻辑覆盖又可分为语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖、多条件覆盖、修改条件判定覆盖、组合覆盖和路径覆盖。

  (1)语句覆盖

  语句覆盖是选择足够多的测试数据,使得程序中的每个可执行语句至少执行一次。语句覆盖的缺点是对程序执行逻辑的覆盖率很低。

  (2)判定覆盖

  判定覆盖是通过设计足够多的测试用例,使得程序中的每一个判定至少获得一次真值和假值,或者使得程序中的每一个取真的分支或取假的分支至少经历一次,也称为分支覆盖。判定覆盖的缺点是主要对整个表达式的最终取值进行度量,忽略了表达式的内部取值。

  (3)条件覆盖

  条件覆盖是通过设计足够多的测试用例,使得程序中每个判定包含的每个条件的可能取值(真/假)都至少满足一次。条件覆盖的缺点是不能够满足判定覆盖。

  (4)条件判定组合覆盖

  条件判定组合覆盖是通过设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。条件判定组合覆盖的测试用例一定同时满足判定覆盖和条件覆盖。条件判定组合覆盖的缺点是没有考虑单个判定对整体结果的影响,无法发现逻辑错误。

  (5)多条件覆盖

  多条件覆盖也称条件组合覆盖,是通过设计足够多的测试用例,使得每个判定中条件的各种可能组合都至少出现一次(以数轴形式划分区域,提取交集,建立最少的测试用例)。

  多条件覆盖的缺点是判定语句较多时,条件组合值比较多。


相关问题推荐

  • 回答 2

    白盒测试,也就是你看的到程序的内部结构,管中间过程。一般的方法采用逻辑覆盖的:1.根据程序画出程序流程图2.根据程序流程图选择逻辑覆盖方式 3.时间有多对一些程序的判定条件进行边界值判定测试 暂时就想到这几点吧,有机会一起探讨,希望对你有帮助! 黑...

  • 回答 6
    已采纳

    白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的。白盒法全面了解程序内部逻辑结构、对所有逻辑路径进行测试...

  • 回答 3
    已采纳

    需要的,白盒测试是测试重要的一部分,其实测试当中很大一部分错误都是白盒测试检测出来的,另外白盒测试作为测试的最早期阶段,发现bug的修改代价是最小的,所有白盒测试同样重要...

  • 回答 2
    已采纳

    白盒测试也称为结构测试或逻辑驱动测试。它是根据软件产品的内部工作过程,检查内部成分,以确认每种内部操作符合设计规格要求。白盒测试的方法有逻辑覆盖测试和基本路径测试。1 白盒测试基本技术: 词法分析与语法分析,静态错误分析,程序插桩技术。   2...

没有解决我的问题,去提问