TBrun在单元测试中应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TBrun在单元测试中应用

TBrun在单元测试中应用   【 摘 要 】 TBrun提供完全自动的单元测试解决方案,它可以使开发人员和测试人员在单元级应用LDRA工具套件强大的源码分析器。本文用实际例子阐述了TBrun在单元测试中的应用,介绍了三种技术管理测试用例的创建、四种常用例子的解析以及使用TBrun来计算三种覆盖率(SC、DC、MC/DC)。   【 关键词 】 测试;单元测试;TBrun   1 引言   TBrun是由英国LDRA公司开发,它使单元测试过程自动化,解决了传统的单元测试大量消耗时间和资源的问题,减少了人力的投入。   2 TBrun介绍   TBrun提供完全自动的单元测试解决方案,它可以使开发人员和测试人员在单元级应用LDRA工具套件强大的源码分析器。TBrun利用LDRA Testbed提供的全面地控制流/数据流分析方法,得到详细的关于单元接口、参数、全局(输入和输出)、返回值、变量类型和使用、函数调用等信息。获得这些信息的传统方法是通过有经验的开发人员指定,因此,这个过程的自动化,解放了那些可能被分配了其他任务的团队。   3 TBrun的特点   (1) 自动生成测试驱动,不需要人工添加脚本;(2) 通过图形和命令行界面选项达到高水平的测试量;(3) 强大的自动分析引擎可提高测试效率,解放开发人员和测试人员;(4) 完全自动的回归测试,便于测试数据和测试结果的保存和维护;(5) 自动侦测源代码的变更;(6) 可在主机,目标机和仿真环境下执行测试。   4 TBrun在实际项目中应用   4.1 三种技术管理测试用例创建   4.1.1 迭代(Iterations)技术   采用迭代技术可以创建指定数量的测试用例,重复一个内部的驱动变量生成不同的测试用例,当为某一函数创建一个新用例,TBrun内置小精灵被调用,在弹出的对话框中选择Iterations,并在对话框中可以输入一个需要循环的数值10,Tbrun会自动将输入的数值10存储在内置变量ldra_qq_tc_iterator中。使用ldra_qq_tc_iterator时,它的值从0开始,每次加1,直到9,共10次。通过这个变量可以对需要输入的参数进行某一规律的变化,例如对输入参数var输入以下值:1 + ( 0.1 * ldra_qq_tc_iterator),这句话表示1 + ( 0.1 * 0)、1 + ( 0.1 * 1)……1 + ( 0.1 * 9),总共生成10个测试用例,这样可以快速生成批量的测试用例。   4.1.2 循环(Repetitions)技术   采用循环技术可以重复一定次数的测试用例执行,通常在测试中快速改变局部静态变量的值。同样的当为某一函数创建一个新用例,TBrun内置小精灵被调用,在弹出的对话框中选择Repetitions,并将循环次数设置为20,不同于迭代技术,它只会产生一个测试用例,只是这个测试用例会被执行20次。   4.1.3 范围(Range)技术   Range这种技术可以理解为更复杂的Iterations版本,可按不同输入变量值的组合快速生成大量测试用例,看下面一段代码:   int function1 (int x,int y)   {   if (y2)   {   if (x 1)   {   if (x   extern int flg;   int function2(void)   {   int a = 0;   if (flg)   {   a = 1;   }   return a;   }   首先手工创建用户全局变量(User Global Details),通过按钮选择需要创建的全局变量,根据例子,选择“flg”,类型为“int”,在“Initial value”填写默认值“1”,用户全局变量就会和序列中的源文件关联起来,并且能够在文件窗口中看到,这个测试用例就可以运行了。   4.2.2 数组的处理   当处理大数组时,有很多分配值和计算值的不同的方法,尤其针对大容量的数组,可直接用测试用例初始化数组,通过while或for循环给数组分配初值,数组元素可在序列级的初始化代码里赋值,也可在各测试用例的初始化代码里进行赋值,对于有一定数值规律的大数据结构,此法免除了手工赋值的繁琐。   4.2.3 指针的处理   TBrun能够让使用者很方便的对通过指针进行改变的变量进行测试。既可以通过手工处理的方式也可以通过TBrun小精灵来进行。TBrun对指针的处理分为Output、mapping、Type Expansion。   (1) 输出技术 Output   int a = 5;   int b = 10;   int *ptr;   void function3 (int flg)   

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档