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

【回眸】Tessy集成测试软件使用指南(一)新手使用篇

前言

新建工程

配置项目环境

集成测试前条件准备

开始测试

 入口程序设置

开始测试

生成报告

结语

前言

这个专栏的文章前4篇都在记录如何使用Tessy进行单元测试,集成测试需要有一定单元测试基础,且做集成测试之前,需要做好单元测试,否则将会大幅增加软件单元代码纠错的代价。集成测试所花费的时间通常远远超过单元测试。如果直接从单元测试到系统测试,结果往往是不理想的。集成测试可以检测由于单元相互交互而导致的错误,通常由一组专业的测试人员执行。

新建工程

点击 +,新建工程,在弹出的界面中输入工程名,Project Root 中输入工程所 在绝对路径,其余默认即可,点击 OK。(之后新建工程,点击左上角"File" --> "New Project"即可)

 ➞点击“OK”。现在TESSY自动创建子文件夹“TESSY”在项目根目录。这个文件夹包含子文件夹内配置文件和持久性数据库。这需要几秒钟。

配置项目环境

在测试工程视图中,右击New Test Collection,或点击图标箱子 ,建立测试集合 interior_light。

可以更改名字。可右击创建New Folder,或直接创建New Module,在Module上添加被测代码文件,指定运行的环境设置。

•General:重命名module,选择运行的目标环境
•Sources:添加被测文件以及头文件路径

导入代码与单元测试部分设置基本相同,不同之处在于 Kind of Test 选择 Component

导入工程,配置好编译器、头文件,宏等其他选项后,点击放大镜或展开箭头即可对相应工程进行分析,分析过程中可能出现错误,需要将错误纠正后才可以进行下一步,分析中遇到的错误一般是配置编译器相关的错误,需要谨慎对待。

分析结束之后,与单元测试不同,module 下不会列出所有源码文件中的函数 列表,只显示 Scenarios 一个测试对象

根据被测对象功能以及对外接口,在 TIE 界面中进行接口设置。

集成测试前条件准备

对外部函数打桩,注意这里如果打的是普通函数,则对所有的用例是公用的。

 

设置外部变量

点击单元,为 “sensor_door”, “sensor_ignition”,“state_door”选择传递方向(IN/OUT/IRRELEVANT)

开始测试

场景1:关闭车门,内部照明灯点亮,如果没有打火动作,照明灯持续亮5秒钟后 熄灭。

场景 2:关闭车门,内部照明灯点亮,当有打火动作,照明灯立即熄灭。

 

切换到SCE perspect

添加两个测试用例在“Test Items view

添加描述:

1. Door closed: Light off after 5 seconds.

2. Door closed and ignition on: Light off immediately.

场景的测试数据视图类似于单元测试

切换到SCE perspective

双击“INIT”去编辑数据

 

 入口程序设置

进入 SCE 界面,选中组件函数 tick(),点击右上角图标,设置为 work task。

入口函数选取条件:void 类型且没有形参。

只有添加 work task 函数之后,该用例才能够执行。

场景描述:关闭车门(set_sensor_door = closed),内部照明灯点亮,当有打火 动作(set_sensor_ignition = on),照明灯立即熄灭.

点击 Insert Time Step 添加时间节点

在界面右侧可看到Component Functions 组件函数视图和External Function Calls 外部函数视图 

按照需要将组件函数/外部函数拖到指定时间节点,选中时间点后,可以编辑这个时间点的输入变量的值。

指定set_sensor_door()的参数

 指定LightOn() LightOff()的参数

配好的两个场景

开始测试

点击开始执行图标测试场景 

生成报告

点击 图中所示图标即可选择导出测试报告,选择“Edit Test Details Report Settings…” , 选择生成 report 的文件夹,点击“Generate”,生成测试报告。

 

结语

本文旨在帮助刚开始决定做集成测试且没有资料指导的小白,实际操作中遇到的错误需要个人的摸索和资料参考,如果后续有集成测试上遇到的问题,博主也将及时更新到本专栏,敬请期待。 

 

 

 

相关文章:

  • 雪域高原的智慧灯塔:国门书屋点亮边疆未来
  • ARCGIS国土超级工具集1.5更新说明
  • 精益数据分析(2/126):解锁数据驱动的商业成功密码
  • STM32 调试口STM32CUBEMX配置
  • 深入解析字体加密解密技术:从原理到实战
  • 数据结构第六章(四)-最小生成树、最短路径
  • Go 语言实现的简单 CMS Web
  • Windows安装Rust版本GDAL
  • 从零开始搭建PyTorch环境(支持CUDA)
  • 基于瑞芯微RK3562 四核 ARM Cortex-A53 + 单核 ARM Cortex-M0——Linux应用开发手册
  • Python抽象基类
  • Day1-初次接触UFS
  • spark-SQL核心编程课后总结
  • thinkphp:部署完整项目到本地phpstudy
  • 移动硬盘突然打不开紧急救援指南:从排查到完整恢复‌
  • 【设计模式——装饰器模式】
  • OpenLayers:extent与view extent 介绍
  • 数据中台(大数据平台)之数据仓库建设
  • 蓝桥杯 9. 九宫幻方
  • prototype`和`__proto__`有什么区别?如何手动修改一个对象的原型?
  • 专门做头像的网站/社群营销案例
  • wap移动建站系统/百度竞价投放
  • 西安网站搭建建设定制/谷歌商店官网下载
  • 服装网站策划设计/快速整站排名seo教程
  • 重庆景点介绍/百度seo优化排名客服电话
  • 个人作品展示网站模板/天津百度seo代理