• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

在软件测试过程中编写单元测试中的驱动模块

发布: 2009-5-21 10:27 | 作者: 不详 | 来源: 测试时代采编 | 查看: 125次 | 进入软件测试论坛讨论

领测软件测试网

调用说明:按钮、菜单显示参数配置界面
名称:本类的实例化对象 ParameterPage

调用说明:show()、toFront()方法

2.      
 各个服务模块
 调用说明:直接调用getParam()方法
 
——————————————————————————————————————————————————————————
        那么对于这一个单元模块来讲,在开发时是再涉及到单元测试时,往往show(),toFront()方法还没有开发出来,所以测试工程师需要独立开发驱动模块或桩模块。,驱动模块和桩模块的概念如下,网上有很多概念,不好理解,我认为用这种说法更方便理解。

 

        驱动模块在大多数场合称为\"主程序\",它接收测试数据并将这些数据传递到被测试模块,相反桩模块就是那些被测试模块所调用的“程序”,它们之间的区别是调用与被调用的关系。


        往往被测试单元的上层程序还没有开发出来我们就需要实施单元测试,上层程序有时要包含多个调用界面,函数,方法等,而我们测试的单元模块的期望结果有可能只有返回一个值或是传递一个参数,这时候就需要编写驱动模块或者是桩模块(如果是需要调用其它函数返回的值)。


        如何编写桩模块?举一个简单的例子


/*被测程序*/
int Fun(int in)
{
    if (in >= 0)
    {
        return 1;
    }
    else
    {
        return -1;
    }
}

        那么通过TCL进行扩展指令编写时,针对该被测函数,驱动如下:

/*用户自己扩展的用户指令,用来驱动被测函数*/
int Ex_TestFun(ClientData clientData,Tcl_Interp * interp,int argc,  char* argv[])
{
     int i;
     int ret,iExceptedRet;

    //打开测试结果记录文件
    FILE * out;
    out = fopen(\"D:\\\\result.txt\",\"a\");
                    
    //第一步:检查用户输入参数个数是否正确
    if (3 != argc)
    {
        fputs(\"Parameters error\",out);
        fflush(out);
                return TCL_ERROR;
    }
   
   //第二步:取出用户输入参数
    if (TCL_OK != Tcl_GetInt(interp,argv[1],&i))
   {
              return TCL_ERROR;           
   }

   if (TCL_OK != Tcl_GetInt(interp,argv[2],&iExceptedRet))
   {
        return TCL_ERROR;
   }


   //第三步:将参数传递给被测函数
   ret = Fun(i);

   //第四步:将被测函数执行结果和输入的期望结果进行比较,根据比较结果作为用例执行结果输出到测试报告中if (ret != iExceptedRet)
   {
        fputs(\"test fail\",out);
        fflush(out);
   }
   else
   {
        fputs(\"test success\",out);
        fflush(out);
   }

   return TCL_OK;
}
——————————————————————————
        驱动模块编写完毕后,就可以直接实施单元测试而不必等待上层的程序开发出来才能进行测试,提高工作效率。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

22/2<12

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网