##商业软件如需下载安装使用试用,可以点下面,通过简介添加

静态测试软件(QAC、Klocwork、Coverity等)单元测试软件 集成测试软件(VectorCAST、TestBED、Tessy、C++Test等)_哔哩哔哩_bilibili

1.序列名不规范
为了工程化的管理测试用例,单元测试时,建议为每个被测函数(uut)创建一个序列,而序列名使用函数名,以便后期维护管理。

2.未确认代码是否编译通过,就开始测试
应当在确定代码编译成功后,再开始用testbed进行静态分析和单元测试
而且如果时间允许,清确保完成了编码规则检查后,再进行静态分析。

3.当被测文件较大时,可将文件只抠出变量定义、函数申明以及被测函数的实现。以加快测试执行进度。
抠代码时,只保留最开始的函数定义和需要的函数,为了提高效率,可以一次扣多个函数的代码
抠代码前清做好源代码的备份工作。
由于抠的代码少了一些函数,创建用例时可能会找不到一些函数,在callview中可以看到一些未知函数,这时我们可以打桩。您可以可以根据实际需要为桩函数设置返回值等。

4.testbed有三种模式,单元测试通常使用Unit test only模式。
testbed的.三种测试模式
Unit test only 纯单元测试
Integraton test 集成测试(所有的函数都集成起来)
Isolate test 集成测试(适合增量测试,只有选定的函数集成,未选中的将被打桩)
当然使用integeration test模式也是可以的,里面的那些函数会使用实现,而不是桩,从某种意义上说,它的值也可以看成是桩。

5.testbed单元测试用例采用分步骤执行以发现问题出现的阶段
在测试用例视图上,选中一个用例,依次点击以下右键菜单,即可实现分步骤执行测试用例。
Gnerator driver、
build driver
execute driver
split regression driver output
process regression driver output

6 测试用例不能导出到中文目录,否则提示 文件没有写权限
导出到中文路径时,提示没有权限,其实是因为中文路径,我曾今在坑里呆过。:)

7 .编译测试用例时,提示undefined symbol 未定义标识**
在文件树上删除该变量,重新编译

8.编译测试用例,提示申明与调用不兼容(imcompitable)
例如,提示与memset 不兼容。
解决方法:将memset打系统桩,并设置参数和返回值的数据类型。

9 testbed测试嵌入式程序时,由于在模拟器上没有指定地址,导致执行到这些地址时,指针跑飞,
解决办法1: 使用修改代码,定义变量
例如, ( int) 0x80000001=9;
由于地址0x80000001未定义
程序改为: int p;
P=9;

解决方法2:在测试用例的预定义代码(通过测试用例的右键菜单打开)中定义宏,让一个变量来替换地址
例如 #define 0x80000001 p;
定义全局变量p,
这样要控制地址中存放的数据,直接设置用户全局变量p的值即可,

10 函数中使用到的指针,要确保值有效。
例如,使用p->name,那么p所指向的结构体struct student需要时存在的,否则程序会跑飞。
修改的方法是,定义一个用户全局变量aaa ,类型为struct student,设置p的值为 & aaa。

11.TESTBED测试程序处理过程
程序编译的大概过程,先生成桩文件(instrument file),然后编译生成测试驱动文件.
桩文件同源文件一个目录,名称为ixxx.CPP
驱动文件在workfls文件夹下,名称为 S_…CPP

12. testbed中用例的输入参数是有顺序的。不合适的顺序可能导致结果不正确或者程序异常。
例如 pstudent参数应当在 pstudeng->name之前赋值。否则可能由于pstudent尚未设置有效值,就去取成员变量,而异常。

13. testbed中用例的界面输入参数是在initial code后执行的。若同时在用例的输入界面和initial code中定义输入参数值,清一定注意顺序。
例如 您在initial code 中 设置全局变量 pNode->next = NULL,而用例输入界面上设置 .pNode = &g_my_code,由于initial code 先执行,程序会异常。

13. 桩函数可以设置多个值,值用逗号分隔,各次调用取一个值。
例如,值设置为1,2,3 ,那么桩函数第一调用时使用1,第二次使用2,第三次使用3

14. 程序跑飞的调试
先看序列文件夹下是否生成exh文件(执行历史文件),如果没有,说明用例参数有问题,删除不必要的参数,检查参数顺序是否正确。
如果有exh文件,查看代码的执行情况,了解到执行了那些块,最后出错时执行的代码是哪个快。可大致分析问题出现的范围后,通过注释桩文件中的代码,逐步缩小范围。
具体方法:找到.exh最后一行编号值,在源程序同目录下找到对应的桩文件inszz_xxx.c 文件,查找该编号值,该编号到下个编号之间的代码就是程序跑飞的范围、

15. 测试用例有问题时,可设置为suspend,先处理其他测试用例。

17. 测试用例可以复制粘贴多份,修改参数后,通过resequence来执行指定参数及其后的测试用例。

18. 桩程序和驱动程序
桩程序和源文件在同一个目录,主要用于进行覆盖率的统计。名称通常为ixxx.c或 ixxx.cpp
驱动程序在序列文件夹(xxxseqwrkfls)测试用例执行就是在执行该程序
先生成桩程序,创建测试用例时,生成驱动程序。

19.testbed 静态分析闪退
该问题有可能是由于源代码中存在大段的注释引起。

20.测试用例build时,提示变量confilct
根据错误提示查看,通常是由于两处定义不同,例如,一处为数组,一处不是,
解决方法1:最方便的是在用户定义全局变量中将那个冲突的全局变量删除掉。这样就只剩余一处,就不冲突了。
解决方法2:也可以修改用户全局变量,使其不冲突。

21 误删除了用户全局变量怎么办?
误删除了用户全局变量,点击工具条上的 按钮,系统自动会将误删除的变量补充回来,

22 tonado模拟器异常后,再执行用例结果会有问题。
使用 vxworks 的tonado环境进行嵌入式程序测试时,清注意观察模拟器的状态。例如是否已经有异常等,有问题了及时重启。

23 注意位域对值得影响
有时测试时,明明给全局变量给定了值,结果并没有进入预期的分支。
这时可能有以下几种情况:
a。该变量的值进入用例后,到达分支之前,值被改变了(被赋值,或者其间的其他函数中改变了它的值);
b。是否全局变量为一个位域,如下结构体,成员b的取值只能为0,1,2,3,
当您为其赋值4(对应的二进制位 100)的时候,其真正保存的值为0.
当您为其赋值6(对应的二进制位 110)的时候,其真正保存的值为2.
struct student
{undefined
int a:8;
int b:2;
int c:6;
};

24 用例执行出错,原因可能是:
a 某个全局变量可能被误删除掉了 ,
这个在日志视图可以看到相应的错误。点击工具条上G,恢复全局变量。
b 用例参数值设置的顺序不对,导致程序跑飞。
例如,pstudent为结构体类型的指针,如果用例中先设置 pstudent->name=“aaa”,再设置pstudent=&student1, 由于设置顺序的问题,程序会跑飞。
解决办法:调整输入顺序。
c 被测函数中使用到的指针未被初始化,导致执行异常。
例如,被测代码中 pstudent->sex=1;
由于pstudent为初始化,程序跑飞。
解决办法,定义一个类型为student的用户全局变量student1,在测试用例中将pstudent 设置为&student1,这样指针指到一个有效地址,程序就不跑飞了,

25.测试用例丢失了怎么办
用例丢了怎么办?还好testbed有很好的备份机制,可以到备份文件夹中寻找。
如下图所示,备份文件夹在 LDRA_workarea下的tbwrkfls下,文件夹以tbtcffiles结尾。

26 testbe的编译器环境配置?
1.安装tbconfig;
2.启动tbconfig,点击菜单导出序列号,发送给厂商,然后将厂商反馈的ctl文件导入,方可打开;

3.点击菜单 developer tools,在子菜单中选择需要的编译器后,在弹出窗口中设置testved的安装目录,编译器的安装路径等,点击ok,即可完成环境配置。
环境配置完成,在testbed的对应的编译器目录下会生成相应的配置文件。

28 如何为未识别的函数打桩。
首先在call view视图中,选中该函数,点击右键菜单create Mnanaged Stud ,设置其为桩函数。 
然后在call view中,选中该函数,依次点击菜单 Managed Stud Properties->parameters、Return type 设置输入参数,和函数返回类型。

27 如何设置桩函数的指针型参数保存的值
桩函数最常用的是设置桩函数返回值,但有时我们希望退出桩函数时设置这些指针参数所指地址保存的值,该怎么办呢
1.首先在桩函数管理窗口中,选择该桩函数,点击右键菜单 Set Parameter on Exit,

在弹出窗口上点击impirt,选择参数名前带有*的加入,

加入后,设置要给定的值后,点击ok按钮即可。

28 编译时提示参数不匹配。
这可能是由于某个桩函数由于函数原型没有找到原型,它的形式参数和返回值少了,我们只要在右侧的call view的列表中找到该函数,点击右键菜单 Managed stub properties ->return type \ parameters 可设置返回值和函数参数值。正确设置参数值后,编译错误。
如果还有问题,吧system stub 勾选上,试一下,有时这个也需要悬选上。
29 ccs编译器华景配置注意事项。
tbconfig中正确选择ccs硬件系列(如c6x),testbed的路径,ccs的路径后点击ok。
这样生成的文件还是需要根据具体硬件型号、以及项目依赖的库修改对应compile.bat、build.bat、xxxmenu.cmd
cmd文件修改依赖的lib文件(参照项目工程的lib即可)

Testbed软件下载安装使用试用相关推荐

  1. medini analyze软件下载安装使用试用购买

    ##商业软件如需下载安装使用试用,可以点下面,通过简介添加 静态测试软件(QAC.Klocwork.Coverity等)单元测试软件 集成测试软件(VectorCAST.TestBED.Tessy.C ...

  2. C++Test软件下载安装使用试用

    ##商业软件如需下载安装使用试用,可以点下面,通过简介添加 静态测试软件(QAC.Klocwork.Coverity等)单元测试软件 集成测试软件(VectorCAST.TestBED.Tessy.C ...

  3. Klocwork软件下载安装使用试用

    ##商业软件如需下载安装使用试用,可以点下面,通过简介添加 静态测试软件(QAC.Klocwork.Coverity等)单元测试软件 集成测试软件(VectorCAST.TestBED.Tessy.C ...

  4. Polyspaces软件下载安装使用试用

    ##商业软件如需下载安装使用试用,可以点下面,通过简介添加 静态测试软件(QAC.Klocwork.Coverity等)单元测试软件 集成测试软件(VectorCAST.TestBED.Tessy.C ...

  5. Tessy软件下载安装使用试用购买

    ##商业软件如需下载安装使用试用,可以点下面,通过简介添加 静态测试软件(QAC.Klocwork.Coverity等)单元测试软件 集成测试软件(VectorCAST.TestBED.Tessy.C ...

  6. GreenHills Software编译器下载安装使用试用

    ##商业软件如需下载安装使用试用,可以点下面,通过简介添加 静态测试软件(QAC.Klocwork.Coverity等)单元测试软件 集成测试软件(VectorCAST.TestBED.Tessy.C ...

  7. ubuntu系统vim常用命令学习以及ubuntu软件下载安装

    文章目录 一.ubuntu系统vim常用命令学习 (一)进入进入vim编辑器的方式 (二)vi的三种工作方式 (三)退出vi的命令 (四)命令模式下的各种命令 1.光标移动命令 2.插入命令 3.删除 ...

  8. ubuntu下常用软件下载安装

    ubuntu下常用软件下载安装 1.jdk apt-get install openjdk-8-jdk 检查是否安装成功 java -version 2.mysql 安装 apt-get update ...

  9. Vehicle Spy 软件下载安装手册

    Vehicle Spy 软件下载安装手册 一.Vehicle Spy软件简介 Vehicle Spy 是美国英特佩斯公司的一款集成了诊断.节点/ECU仿真.数据获取.自动测试和车内通信网络监控等功能的 ...

  10. comsol6.1软件下载+安装教程

    comsol6.1软件下载+安装教程 comsol6.1引入了分离涡模拟.卫星热分析.电机绕组布局和稳定的机械接触等新功能. 软件下载链接:https://pan.baidu.com/s/18957q ...

最新文章

  1. 在Ubuntu 14.04 64bit上安装OpenResty 1.9.7.4
  2. DNS基本原理与配置
  3. 数据挖掘的最佳学习清单
  4. 资讯|WebRTC M89 更新
  5. 封装类(Merry May Day to all you who are burried in work ~)---2017-05-01
  6. leelen可视对讲怎么接线_对讲门铃怎么安装
  7. java object怎么拿字段_「Java面试秘籍」String不可变,如何理解
  8. java.math.BigDecimal cannot be cast to java.lang.Integer
  9. layUI表单验证不生效的问题
  10. 单片机控制24v电压_整车控制器-硬件篇
  11. linux安装RarLinux
  12. Filebeat log @timestamp处理
  13. java18天map和线程
  14. 中职计算机基础辅导书,中职计算机基础 (938)(16页)-原创力文档
  15. 如何做好国产三维CAD软件的研发?
  16. Mac如何查找m3u8视频链接,并下载
  17. 快速理解数据库函数依赖(平凡函数依赖、非平凡函数依赖、完全函数依赖、部分函数依赖、传递依赖)
  18. CPU、GPU、TPU的原理简述及其区别
  19. php连接mysql测试脚本,php MySQL连接测试
  20. ROLAP,MOLAP和HOLAP之间的区别

热门文章

  1. STM32入门开发: NEC红外线协议解码(超低成本无线传输方案)
  2. Java如何实现代理服务器?
  3. 「 机器人学 」机器人与控制工程基础浅谈
  4. vs mysql 开发erp_ERP vs MRP的区别
  5. 新会计准则 计算机管理系统,用友ERP供应链管理系统实验教程(新会计准则版)pdf...
  6. 新闻发布系统 新闻管理系统 可注册、登录
  7. 手机铃声格式规范,midi格式规范(转)
  8. 屏幕录像专家限制录像时长_著名的Rails屏幕录像获取更新
  9. 企业使用防伪税控开票子系统出现问题常见问题
  10. svn安装打开不弹出登录认证页面