软工——详解白盒测试

原创 2014年09月13日 17:47:53

   软件测试,是一个容易被遗忘的过程。人们都看到了软件开发的美好,却忽视了软件测试的重要性。

软件测试目的:现程序中的错误。

   为了发现程序的错误,测试用例的制定也是非常重要的。只有尽可能用较少的测试用例,检测出程序的错误。

软件测试计划的制定:

   之前学习软件工程的时候,白盒测试中的覆盖不太清楚。在复习软考的过程中,又重新看了一遍软工。终于明白各种覆盖,究竟是什么意思了。接下来请看详解。

 

    对于软件的测试,是在软件开发的全部生命过程中。只是不同阶段,测试的重心和测试方法不同而已。

 

计划何时制定:

         

计划何时执行:

   而测试计划的执行,正好与制定计划相反。

   在详细阶段:编码的时候伴随着单元测试。

             完成之后,进行集成测试。

              确认完成,交工的时候,进行一次确认测试。(确认测试,即检测系统  是否与需求相匹配)

本节,主要讲解白盒测试逻辑覆盖标准。

 

 

白盒测试

   用于单元测试。

   白盒,就是要了解程序的内部结构进行的测试。相对黑盒来说,要求测试人员的水平较高。

   首先看一下白盒逻辑覆盖标准:

        1语句覆盖

        2、判定覆盖

        3、条件覆盖

        4、判定-条件覆盖

        5、条件组合覆盖

        6、路径覆盖

   覆盖程度依次增强。

 

看到上面6类方法,是不是很头疼。

    首先,对于以上概念,首先要区分一下,什么是条件,什么是判定。区分开这两种,上面的6种方法,也就迎刃而解了。

 

    判定:

       决定逻辑的分支

    条件:

       进行决定逻辑分支的一个子条件

 

还是看一个例子吧 

          

例子中存在的判定:

    1T1:A>=80 and B>=80

    2T2:A+B>=140 and(A>=90 or B>=90)     

例子中存在的条件

    1T11:A>=80             

    2T12:B>=80          

    3T21:A+B>=140                

    4T22:A>=90

    5T23:B>=90

例子中的路径

   三条:①②③

        

语句覆盖:

   从头执行到尾。只需要一个测试用例就可以。

判定覆盖:

   在测试用例中,被测试程序,每个判定的可能取值至少执行一次。

       

         

 

    4个判定,只需要全部包含在测试用例中就可以了。

       可以设置3个测试用例

   例:

       

如上的可能的用例结果中。

   可以实现判定覆盖的组合:

        1、①②

        2、③④

        3、①②③

        ……

        n、①②③④

        

       只要满足,所有的判定,在用例中至少存在一次的。就是判定覆盖。

 

条件覆盖

   在若干个测试用例中,运行被测程序,使得程序中每个判定的每个条件的可能取之至少执行一次。

   

   如上10个条件,每个必须至少执行一次。

   条件覆盖,与判定覆盖做法一致,只是判定的数目有变化。

           

  只要所选取的测试用例中,每列中都存在两个判定,这样的测试用例组。就称之为条件覆盖。

 

判定条件覆盖:既是判定覆盖,又是条件覆盖。

条件组合覆盖:

       判定的重点,在与T11 T12 的组合。

       对于以上例题,条件组合覆盖测试用例最少为:

                    

 

路径覆盖

   顾名思义,就是对于所有的分支至少经过一次。

   通过流程图很容易看出来。三条路径,分别需要三条测试用例。

   

    通过以上的例子,白盒测试,就是追求以较少的测试用例,来找出更多的错误。

 

总结

    白盒测试标准。也就分三方面进行测试:判定、条件、路径。

    白盒测试,比起黑盒测试来说,对测试人员的要求比较高。因为是要测试程序内部的结构。所以,制定合理的测试用例,也是一件很不容易的事情啊。测试的工作也同样很重要。有不正确的地方,望斧正。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

软件测试技术之: 白盒测试和黑盒测试

白盒测试和黑盒测试的区别和基本方法。
  • rl529014
  • rl529014
  • 2016年06月01日 16:02
  • 12186

C/C++白盒测试工具之codeviz安装使用(续)

为什么说CodeViz是白盒测试工具?
  • yzlworld
  • yzlworld
  • 2014年06月18日 18:10
  • 2125

Jtest工具介绍及使用案例

1  工具介绍 1.1   概述 一段时间以来,软件开发业一直在推崇单元测试、编程标准执行、指标评估和按合同设计(Designby Contract)等技术。如果能实施这些技术,就能极大地改善软件...
  • huangjin0507
  • huangjin0507
  • 2016年07月05日 10:05
  • 4255

白盒测试实战——NITIAN Word

最近,我在编写一款自娱自乐的单词对比记忆的软件NITIAN WORD,这里选取它的一部分逻辑,利用白盒方法进行测试,算是理论联系实际吧。...
  • BlueCloudMatrix
  • BlueCloudMatrix
  • 2014年04月12日 02:33
  • 1434

【白盒测试】——五覆盖方式

语句&判定&条件&判定/条件&条件组合覆盖 语句覆盖:每个语句走到了就行: 示例 判定覆盖:每个判定至少有一次真、一次假 示例 条件覆盖:每个条件都要有一次真、一次假。 示例 判定/条件覆盖...
  • u012654963
  • u012654963
  • 2015年10月18日 21:51
  • 830

我的第一篇博客——软件缺陷粗浅认识及白盒测试举例

软件缺陷可以分为:   1.输入/输出缺陷   2.逻辑缺陷   3.计算缺陷   4.接口缺陷   5.数据缺陷   软件缺陷的产生:   1.疏忽造成的错误(Carelessness defect...
  • mr_lady
  • mr_lady
  • 2015年05月27日 07:28
  • 549

免费试看——软件白盒测试基础(更新程度:完毕)

课程描述: 本课程主要讲解了掌握软件白盒测试技术以及相关的单元测试、集成测试的各项基本技能,包括白盒基本代码技术、代码静态分 析和质量度量方法、单元测试设计和执行技能、集成测试设计和执行技能、Pa...
  • hzbingyue
  • hzbingyue
  • 2011年10月12日 14:58
  • 689

小白的白盒测试之路——需求了解篇

小白的白盒测试之路 需求了解篇 接到一个功能的测试,第一步就是了解整个需求,能否将整个需求了解透彻直接关系到后续测试工作开展和测试质量;如何在做好需求了解呢?下面我们就分析一下。 ...
  • sogouqa
  • sogouqa
  • 2015年04月23日 02:48
  • 622

小白的白盒测试之路——用例设计篇

提到白盒测试的用例,首先想到的是接口测试用例和逻辑覆盖用例,但小白最近遇到了这样的一个问题: 问题:黑盒白盒同时进入测试,黑盒测平台,白盒测核心,项目上线时间为平台测试结束时间,...
  • sogouqa
  • sogouqa
  • 2015年04月23日 00:27
  • 380

白盒测试——基本路径测试法

  • 2008年09月06日 20:32
  • 279KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:软工——详解白盒测试
举报原因:
原因补充:

(最多只允许输入30个字)