软件测试总结(十)

                

从这一节开始即将总结白盒测试的常用经典技术。前面详细总结了黑盒测试和一些常用的黑盒测试技术,但是都没有打开软件的代码进行测试,黑盒测试的概念就是针对白盒测试技术命名的,那么什么是白盒测试呢?白盒测试也称结构测试,白盒测试是针对被测单元内部是如何工作进行的测试,深入程序代码细节,它根据程序的控制结构设计测试用例,主要用于软件程序验证。

               白盒测试又分为静态白盒测试和动态白盒测试。其中静态测试主要涉及代码走查和审查,就不在这里总结了,动态测试包括逻辑覆盖测试、路径覆盖测试和边界值测试等,当然分法还有好多,这里主要总结逻辑覆盖测试和路径覆盖测试。覆盖测试要以程序图和流程图辅助工具,所以在学习覆盖测试前要熟练掌握程序图和流程图的画法。

      本节主要介绍流程图和流程图到程序图之间的转化。程序流程图是描述和分析软件控制流向的通用工具,利用程序流程图设计测试用例有助于分离程序的路径,进行覆盖统计,程序流程图的主要符号:

      顺序:

软件测试总结(十)

     条件判断:

软件测试总结(十)

     先判断后循环:

软件测试总结(十)

     先执行后判断循环:

软件测试总结(十)


    下面看一段程序的代码,并分析画出其流程图:

    #include <iostream.h>

   void main()

  {

   inti,a[5];              //定义循环变量i,数列项n

   longsum=0;      //定义数列的和及临时变量

   cout<<"请输入5个数,作为数列每项的值:"<<endl;

   for(i=1;i<=5;i++)

   {

     cout<<"请输入第"<<i<<"个值:";

     cin>>a[i];

   }

   for(i=1;i<=5;i++)

   {

     sum+=a[i];

   }

   cout<<a[1]<<"+"<<a[2]<<"+...+"<<a[5]<<"="<<sum<<endl;

  }

 

 

      流程图:

软件测试总结(十)


      程序图:

软件测试总结(十)

      由于程序流程图的知识很简单,所以本节就介绍这么一个非常简单的实例,图都可以对比画出来的,程序流程图在逻辑覆盖测试中非常重要,所以以后章节的总结中也会渗透程序流程图的实例。

上一篇:软件测试总结(九)


下一篇:软件测试总结(十一)