Testbed单元测试

这篇具有很好参考价值的文章主要介绍了Testbed单元测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在testbed中C代码中的"单元"指的是一个函数,单元测试就是针对每个函数进行测试。

在使用testbed进行单元测试前需要先确认当前使用的编译器是否正确,且current compiler和default compiler是否是一致的。如果当前编译器不正确,可点击configure-switch compiler选择目标编译器,接着select即可。如果current compiler和default compiler不一致,可点击configure-switch compiler-reset current set进行设置。

testbed,软件测试,单元测试

 由testbed进入Tbrun有三种模式:integration unit/ module test、isolation unit/ module test、unit test only,每种模式对应不同的测试类型,C代码单元测试使用unit test only模式,cpp代码单元测试使用另外两种模式皆可。

点击Tbrun-unit test only,进入单元测试环境中。

testbed,软件测试,单元测试

TBrun中使用测试序列(sequence)容纳测试用例和测试数据,单元测试第一步就是创建测试用例,一个函数对应一个测试序列。点击TBrun菜单sequence-new创建测试序列,sequence name中输入序列名(函数名),选中code coverage选项卡中的code coverage选择框(自动计算覆盖率),选中Test Enviroment选项卡中除Test build选择框之外的其他选择框,其他选项卡保持默认值,点击continue确认。

testbed,软件测试,单元测试

创建测试用例,将鼠标放到某个函数上,右键弹出菜单点击create new test case,弹出测试用例创建向导窗口,此窗口显示函数的基本信息,可忽略,点击continue即可,此时,一个用例创建完成,用例管理窗口test case view中显示已创建的用例,在variable I/O view窗口中显示函数的输入输出参数。

设定测试用例的输入输出参数值,验证函数功能,函数的输入输出不只有函数的参数,还包含函数内部使用的全局变量。

桩函数——使用一个函数原型相同的空函数代替原函数。如果被测函数中调用了其他函数,则被调用函数会被打桩,如果被调用函数的返回值影响了被测函数的分支流程,或被调用函数的动作影响了被测函数的分支流程,则需要对桩进行设置,一般设置桩的返回值。点击M图标即可打开桩的属性设置其返回值。

设置好测试用例的IO和桩后,即可执行测试用例:1、一键式运行用例,在测试用例管理窗口的空白处右键,然后点击run test case driver;2、分步式执行用例,在测试用例管理窗口的空白处右键,然后依次点击generate driver 、build driver、execute driver、(split regression driver output)、process regression driver output,每一步执行成功会有√提示。

用例执行完后查看测试结果:函数功能验证、函数覆盖率。函数功能验证通过测试用例执行后的pass/fail结果来反映。函数覆盖率可通过动态覆盖率分析报告查看,点击Tbrun菜单result-dynamic coverage analysis report,此报告包含整个文件中所有函数的语句、分支、MC/DC覆盖率信息。此外,也可以通过图形化的方式查看函数覆盖率,在用例管理窗口选中用例右键,点击view flowgraph 打开覆盖率图形化显示窗口,绿色代表已覆盖,红色代表未覆盖。

测试完成后,点击Tbrun菜单sequense-exprot test case(TCF)保存测试用例,以便进行回归测试。

创建测试用例时常用的几个重要操作

1、测试用例中增加用户全局变量

单元测试的测试用例针对的是某个函数,编译时只编译代码中的一个函数,如果此函数中使用了全局变量,且恰好此变量用extern声明,即全局变量的声明(定义)不在此文件内部,就需要用户自己在Tbrun中添加此全局变量的声明(定义)。点击Tbrun菜单Global variables-create user global弹出全局变量定义窗口,在窗口中输入name和declaration type后点击finish。

2、测试用例创建向导中对全局数组的处理

创建测试用例时,测试用例创建向导提示遇到全局数组,有三种处理方式,用户自主选择:

add all elements to the test case 把数组的所有元素都添加到用例的IO窗口中

add multiple elements to the test case 把数组的部分元素都添加到用例的IO窗口中

remove all elements from the test case 把数组的所有元素从用例的IO窗口中删除

3、测试用例创建向导中对指针的处理

输入指针:如果被测函数的参数中包含输入指针(该指针所指向内容未被改变),测试用例向导会提示用户发现输入指针,一般选择第二种处理方式set input pointer to the address of entity,随后填入要指向的实体,也可以通过find选择已有的全局变量,或者new一个全局变量来指向。

输出指针:如果被测函数的参数中包含输出指针(此指针的所指向内容被改变),测试用例向导会提示用户发现输出指针,一般选择第二种处理方式mapping把此指针映射到某个实体,点击next出现映射窗口,在此窗口中选择map to global entity,然后assign分配映射到哪个全局变量,再点击next,随后一步步next或continue完成输出指针的处理。文章来源地址https://www.toymoban.com/news/detail-797906.html

到了这里,关于Testbed单元测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软件测试系列--单元测试

     一、单元测试的概念 单元测试(Unit Testing)是对软件基本组成单元进行的测试,如函数(function或procedure)或一个类的方法(method)。当然这里的基本单元不仅仅指的是一个函数或者方法,有可能对应多个程序文件中的一组函数。 单元也具有一些基本的属性。比如:明确的

    2024年02月16日
    浏览(39)
  • 软件测试——单元测试

    单元测试是软件开发中的一种测试方法,用于验证软件中的各个独立单元(通常是函数、方法或类)是否按照设计规范正常工作。以下是进行单元测试的一般步骤和最佳实践: 1. 选择测试框架 选择适合项目的测试框架,例如: JUnit(Java) PyTest(Python) JUnit(JavaScript) PHP

    2024年02月03日
    浏览(47)
  • 【软件测试】单元测试

    单元测试 (Unit Testing),又称 单体测试 、 模块测试 ,是最小单位的测试,其依据是详细设计、程序源代码或编码标准,对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误,使代码达到设计要求。 单元测试是所有的测试活动中最早进行的,它能以最低的成

    2024年02月13日
    浏览(40)
  • 软件测试之单元测试详解

    目录 前言: 1、什么是单元测试? 2、什么是好的单元测试? 3、怎么写单元测试? 4、玩转单元测试 单元测试是软件测试中的一种测试方法,用于验证代码中最小可测试单元的正确性。它主要关注对程序的各个独立模块、函数或方法进行测试,以确保其按照预期产生正确的输

    2024年02月12日
    浏览(53)
  • 软件测试之【单元测试、系统测试、集成测试】

    目录 一、单元测试的概念 二、单元测试的目的 三、单元的常见错误 四、如何进行单元测试 五、单元测试策略 六、系统测试的概念 七、系统测试的环境 八、系统测试的类型 九、系统测试的过程 十、集成测试概念 十一、集成测试的目的 十二、集成测试关注的重点 十三、集

    2023年04月08日
    浏览(47)
  • 软件测试之单元测试、系统测试、集成测试详解

    🍅 视频学习: 文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 , 免费获取软件测试全套资料,资料在手,涨薪更快 单元测试是对软件基本组成单元进行的测试,如函数或一个类的方法。当然这里的基本单元不仅仅指的是一个函数或者方法,有可能

    2024年04月25日
    浏览(53)
  • 软件测试实验:Junit单元测试

    目录 前言 实验目的 实验内容 实验要求 实验过程 题目一 题目一测试结果 题目二 题目二实验结果 总结 软件测试是软件开发过程中不可缺少的一个环节,它可以保证软件的质量和功能,发现并修复软件的缺陷和错误。软件测试分为多种类型,其中一种是单元测试,即对软件

    2024年02月02日
    浏览(49)
  • 【软件测试】单元测试、集成测试、系统测试有什么区别?

    1、粒度不同 集成测试bai粒度居中,单元测试粒度最小,系统du测试粒度最大。 2、测试方式不同 集成测试一般由开发zhi小组采用白盒加黑盒的方式来测试,单元测试一般由开发小组采用白盒方式来测试,系统测试一般由独立测试小组采用黑盒方式来测试。 3、测试内容不同

    2024年02月09日
    浏览(47)
  • 软件测试--应用JUnit进行单元测试

    JUnit是一个开源的Java编程语言的单元测试框架,最初由 Erich Gamma 和 Kent Beck 编写。Junit测试是一种白盒测试工具。JUnit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。具有JUnit经验对于应用“测试驱动开发(TDD)”的程序开发模型是非常重要的。 JUnit本质上是一套框

    2023年04月12日
    浏览(41)
  • 【软件测试】学习笔记-如何做好单元测试

    在正式开始今天的话题之前,我先给你分享一个工厂生产电视机的例子。 工厂首先会将各种电子元器件按照图纸组装在一起构成各个功能电路板,比如供电板、音视频解码板、射频接收板等,然后再将这些电路板组装起来构成一个完整的电视机。 如果一切顺利,接通电源后

    2024年02月03日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包