软考-案例分析专题-知识点-白盒测试

338 阅读3分钟

本篇文章所写的是关于软考电子商务考试中"所考"的白盒测试。

1、白盒测试

  1. 基本概念
  • 白盒测试又称为结构测试逻辑驱动测试,它是把测试对象看成一个透明的盒子。
  • 它允许测试人员利用程序内部的逻辑结构设计测试用例,对程序所有逻辑路径进行测试。
  1. 测试对象
  • 白盒测试的测试对象是基于被测试程序的源代码,而不是软件的需求规格说明书。
  • 使用白盒测试方法时,测试人员必须全面了解程序内部逻辑结构,检查程序的内部结构,从检查程序的逻辑着手,对相关的逻辑路径进行测试,最后得出测试结果。
  1. 白盒测试方法有两大类:
  • 静态测试方法:
    • 不要求在计算机上实际执行所测试的程序,主要以一些人工的模拟技术对软件进行分析和测试,如代码检查法静态结构分析法
  • 动态测试方法:
    • 是通过输入一组预先按照一定的测试准则构造实际数据来动态运行程序,达到发现程序错误的过程。
    • 白盒测试中的动态分析技术主要有 逻辑覆盖法软考中主要考这6种逻辑覆盖方法)和基本路径测试法

2、六种逻辑覆盖方法讲解

2.1 语句覆盖

基本思想:设计足够的测试用例,只要每一个执行处理框内的语句都至少能执行一次就可以,不用关注判断逻辑。

语句覆盖的目的:

  • 测试程序中的代码是否被执行,它只测试代码中的执行语句,这里的执行语句不包括头文件、注释、空行等。
  • 语句覆盖在多分支的程序中,只能覆盖某一条路径,使得该路径中的每一个语句至少被执行一次,但不会考虑各种分支组合情况

举例分析:

image.png

2.2 判定覆盖

基本思想: 设计用例,使得程序中的每一个判断取真分支和取假分支至少经历一次,重点需要关注判断框即可。

举例分析:

image.png

2.3 条件覆盖

基本思想:条件覆盖则是关注判断框内条件的真假执行情况,每一个条件的取值必须至少包含一真一假。重点关注判断框内的条件真假取值情况。

举例分析:

image.png

image.png

2.4 判定-条件覆盖(CDC)

判定-条件覆盖满足了判定覆盖准则条件覆盖准则,弥补了二者的不足。但是判定-条件覆盖不一定比条件覆盖的逻辑更强。

基本思想:设计用例,使判定条件中的所有可能(条件成立、不成立)至少执行一次取值,同时,所有判断的可能结果(取真,取假),至少执行一次

举例分析:

image.png

2.5 条件组合覆盖(MCC)

每个判定表达式中条件结果的所有可能组合至少出现一次

基本思路:设计用例,使所有可能的条件取值组合至少执行一次

举例分析:

  1. 如下图每一个判定,有两个子条件。对于每一个判定都有在2^2=4种组合。 a中,y>1,z==0。 b中,y==2,x>1。所以说要满足条件组合覆盖,就是要把判定里面的4种条件都走一遍

image.png 2. 比如a有4种组合:真真,真假,假假,假真

image.png

2.6 路径覆盖

每一条路径都要执行一遍,关注的是起止点之间的路径。

基本思路: 设计测试用例,来覆盖程序中的所有可能执行的路径

举例分析:

image.png

ps:总结不易,点个赞呗