当前位置: 首页 > news >正文

左侧 导航 网站风云办公ppt模板网站

左侧 导航 网站,风云办公ppt模板网站,logo设计文案范例,58同城网站模板下载目录 前言 Tessy 如何进行打桩操作 普通桩 高级桩 手写桩 Tessy单元测试之指针相关测试注意事项 有类型的指针(非函数指针): 有类型的函数指针: void 类型的指针: 结语 前言 进行单元测试之后,但凡…

目录

前言

Tessy 如何进行打桩操作

普通桩

高级桩

手写桩

Tessy单元测试之指针相关测试注意事项

 有类型的指针(非函数指针):

 有类型的函数指针:

 void 类型的指针:

结语

前言

进行单元测试之后,但凡稍微复杂一些的软件都难以避免需要在设置中遇到桩函数,今天就来记录一下如何在TESSY中使用桩函数。

首先介绍一下什么是桩函数:

桩函数(Stub)是模拟被测试模块所调用的模块。

桩,或称桩代码,是指用来代替关联代码或者未实现代码的代码。如果函数B用B1来代替,那么,B称为原函数,B1称为桩函数。打桩就是编写或生成桩代码。

Tessy 如何进行打桩操作

在tessy里如何给外部函数进行打桩呢?

首先需要按照正常流程进行分析函数,函数分析没有问题之后再打开TIE,这里可以看到函数里有用到的外部函数,内圈是白色说明该函数虽然使用到了,但是却没有打桩,如果返回值是void型,直接右击点击 Create Stub (for current Testobject),如果返回值非void型,需要右键点击 Create advanced Stub(for current Testobject)

要注意的是, Create Stub 之后不需要设置passing和target passing,Create Advanced Stub 之后需要设置passing和target passing,默认的passing和target passing很可能不正确。

普通桩


1)函数没有返回值没有形参,可以打普通桩
2) 如果函数不影响后续实现以及变量,可以打普通桩
3) 如果函数本身有返回值但并不使用,可以打普通桩
4) 函数有形参,但不观测可以打普通桩

例如:

extern void STUB_1();
extern hirain_u8 STUB_2();
static hirain_u8 STUB_3(hairain_u8 temp){return temp*temp;};void test_fun_stub_1(void){STUB_1();}

STUB_1()
在当前 c 文件中没有定义,直接执行会报未定义错误

要对该函数打普通桩

高级桩


1) 如果用到函数返回值,需要打高级桩,手动控制其返回值
2) 如果函数有形参,并且需要接口传参检测,需要打高级桩

extern void STUB_1();
extern hirain_u8 STUB_2();
static hirain_u8 STUB_3(hairain_u8 temp){return temp*temp;};hirain_u8 test_fun_stub_2(void){hirain_u8 temp = STUB_2();return temp;}

被测函数中用到了STUB_ 2 函数的返回值, 打普通桩 会报以下错误:

所以需要打高级桩,在TDE 界面中设置函数调用预期返回值。

例如:

extern void STUB_1();
extern hirain_u8 STUB_2();
static hirain_u8 STUB_3(hairain_u8 temp){return temp*temp;};hirain_u8 test_fun_stub_4(hirain_u8 temp){hirain_u8 trm = STUB_3(temp);return tem;}

对STUB_3() 函数进行传参检测,需要给该函数打高级桩,第一个接口为返回值,
其余 为形参接口

手写桩


如果需要让桩函数有额外的功能(传参检测、局部数据处理、多传参检测、函数
实现变更等) 可以进行手写桩:

hirain_u8 loop_test3(hirain_u8 temp){for(hirain_u8 i = 0;i<temp;i++){STUB_3(i);}return 1;
}

想要获取每次函数被调用获取的值,可以创建普通桩,新建变量,然后手写桩函
数完成传参记录。

Tessy单元测试之指针相关测试注意事项

 有类型的指针(非函数指针):

构建 合适 的对象 ,将地址传入指针接口。
例如:

hirain_u8 a;
void TS_FUN_PON_2(hirain_u8 *p,STR *pl)
{a = *p;pl->str2 = pl->strl;}

 首先进入TIE界面查看passing 和target passing,不能设置的有冲突

 接着回到TED,选择需要赋值的指针,在表格处右键 Create Pointer Target Value

创建完指针变量之后需要在 Dynamics里给指针变量赋值

 有类型的函数指针:

构建与指针类型相同的函数对象,将地址传入指针接口
在 Declarations /Definition 模块写函数的声明和定义 。

例如:

hirain_u32(*T_pon)(hirain_u32 i);
hirain_u32 hirain_stuv(hirain_u32 temp){temp = (*T_pon)(temp);return temp;
}

 void 类型的指针:

需要新建一个有类型的全局变量,然后将指针 指向该变量,
将变量地址传入指针接口。

例如:

hirain_u8 TS_FUN_PON_1(int *p,void *p1)
{hirain_u8 temp = 0;int *temp1 = p1;a = *p;return *temp1;}

新建一个变量且命名

 在TED界面赋值

结语

本文介绍了当使用Tessy对软件进行单元测试时如何打桩和指针相关测试的注意事项及操作要点,希望能给正在摸索Tessy的网友一点点启发。

http://www.sczhlp.com/news/54710/

相关文章:

  • 上海 .net网站建设网站一年了百度不收录
  • 口碑好的定制网站建设做网站用织梦好吗
  • 北京大学网站建设网站引导页面制作的四个任务名称
  • 阿里巴巴网站怎么做才能排第一导航网站 php
  • 网站站点是什么视频下载网站免费
  • 影视视频网站怎么做十大免费域名
  • 网站做访问追踪asp钓鱼网站开发
  • 网站添加子域名笑话网站模版
  • 做不了飞机要看什么网站厦门建设局公维金网站
  • 制作旅游网站设计概述库存管理软件单机版
  • 深圳外贸网站设计网站带支付源码
  • 定制型网页设计开发深圳网站优化计划
  • 重庆业务外包网站建设通辽正规网站建设
  • 没有icp备案的网站学校网站建设工作会议
  • 寿光做网站m0536商圈外卖网站怎么做
  • 吉林市网站建设优化中国建筑在线网
  • 太原网站建设联系方式如何引流客源最快的方法
  • 网站跳出率什么意思广东富盈建设有限公司企业网站
  • 广东品牌设计公司给你一个网站你如何做优化
  • 怎样进入谷歌网站百度wordpress结构化数据插件 sign 检测失败
  • 免费行情软件网站大全下载万网网站需要的步骤
  • 烟台做公司网站密云手机网站建设
  • 渝北网站制作移动应用开发干什么的
  • 网站建设是属于软件吗商标购买网商标
  • 突出什么 加强网站建设网站建设与管理实践报告总结
  • 湘潭做网站电话磐石网络设计网络网站
  • 做购买网站东西湖区城乡建设局网站
  • 中国建设会计协会网站智慧团建官方网站电脑版
  • 国内有哪些比较好的做定制旅游网站电子商务网站建设购物车
  • 广州网站制作开发桂林两江四湖游