TESSY创建以及设计一个测试用例

news2024/12/22 20:38:15

我们以tessy5.1 IDE为例,给大家展示编写一个测试用例的过程。

还不会创建工程的,可以参考以下这篇文章:

       TESSY创建单元测试或集成测试工程_tessy 集成测试-CSDN博客

接下来我们以这个作为开始状态进行介绍

 1、添加源文件

 

2、添加头文件路径

 3、执行分析

也选中当前模块,点击即可对工程进行分析 

如果分析成功,我们就看到源码中的函数都显示在测试module下了。先分析,再进行测试,分析过程中的问题,一定要解决。

4、外部函数打桩

可以看到下图的外部函数,有一个内圈是白色,就说明该函数虽然使用到了,但是却没有打桩(导入已有的测试用例,如果源文件添加了调用外部的接口,就必然看到)

下面看到的就是已经打了普通桩的函数

 对于需要打普通桩,还是高级桩,规则是:

      1、返回值是void型外部函数,直接右击点击 Create Stub (for current Testobject);

      2、返回值非void型,需要右键点击 Create advanced Stub(for current Testobject)

后续会给大家写一篇介绍怎么打高级桩的文章 

5、创建测试用例 

当我们看到分析后,函数前面的图标没有一个内圈是白色的或者浅黄色的,说明这个函数没有创建测试用例

这时我们就需要给这个函数创建一个测试用例了

也可以通过这个方式创建用例

下面就是已经创建了一个用例了

       当我们单击用例时,看到函数的前面的图标有一个内圈时白色的,就说明这个测试用例的空的,还没有内容,如右边的红框看到的。

6、设计测试用例

测试用例的设计,就需要根据源码来分析、设计了。

看一下void iLightOff(void)的源码

static void iLightOff(void)
{
   if (off == state_light)
      return;
   else
   {
      state_light = off;
      LightOff();
   }
}

可以看到,函数中有两个分支,分支走向取决于 state_light的值。所以可以设计出两条测试用例:

1、设置state_light的值为off,期望的结果是:state_light的值是off,没有调用别的函数,直接退出了;

2、设置state_light的值为on,期望的结果是:state_light的值是off,将会调用void LightOff(void),接着也退出了;

接下来按照步骤5,再创建一个测试用例,输入参数(样例可以双击选择,没有选择的直接键盘输入)

填写好输入输出的值后,点击或Ctrl+s进行保存

看到函数前面的浅黄色小圈,说明测试用例已经填写了数据;

接下来可以点击或者,执行用例了。

不过后面这个方式需要选择某一条用例后才可以操作,因为这个方式是执行选中的用例。

这是执行后,可以看到每一条用例都有一个绿色的小勾,说明用例执行成功了。

7、覆盖率

 单元测试属于白盒测试,覆盖度一般有(摘录于《软件测试的艺术》这一本书):

 1、语句覆盖;

 2、判定覆盖;

 3、条件覆盖;

4、判定/条件覆盖;

5、多重覆盖;

言归正传,接着说怎么在TESSY工具中配置覆盖率,点击测试执行绿色按钮右边的下拉小三角

选择Edit TestExecution Settings . . . ,可以对覆盖率进行设置,保存后执行。

注: 

1、None 表示不计算任何覆盖度
2、Test object only 表示只计算当前被测函数的覆盖度
3、Test object and called functions 表示计算被测函数和调用函数的覆盖度

不同的测试用例,设置如下:
  1、单元测试时,选Test object only only,覆盖度选C0,C1,MC/DC
  2、集成测试时,选T est object and called functions functions,覆盖度选CPC 和FC

现在介绍的单元测试,因此我们选择C0,C1,MC/DC,执行后结果如下:

单元测试用例的创建、设计就介绍到这里了.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2125710.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

存储型XSS漏洞

1.介绍 存储型XSS攻击是一种常见的网络攻击,也称为持久型XSS攻击。与反射型XSS攻击不同,存储型XSS攻击将恶意代码存储在服务器端或数据库中,当其他用户访问该网页时,恶意代码会被执行,导致用户的信息被窃取或造成其他…

Redis相关命令详解

目录 一、认识Redis 二、string 1、重要知识 2、基础命令 3、Key值的设置 三、list 1、重要知识 2、存储结构 3、基础命令 4、list的应用场景 四、hash 1、重要知识 2、基础命令 五、set 1、重要知识 2、基础命令 3、具体应用 六、zset 1、重要知识 2、…

“禁塑行动·我先行”广州绿葆网络发展有限公司与辽宁省慈善联合总会共谱环保新篇章

2024年9月9日,在国家大力推进生态文明建设、全面实施禁塑令政策的大背景下,农工同心公益基金“禁塑行动我先行”公益捐赠辽宁省启动仪式在辽宁省成功举办。此次活动由辽宁省慈善联合总会、农工党辽宁省委会主办,辽宁省慈善联合总会农工同心公…

MUR2060CT-ASEMI快恢复二极管MUR2060CT

编辑:ll MUR2060CT-ASEMI快恢复二极管MUR2060CT 型号:MUR2060CT 品牌:ASEMI 封装:TO-220AB 安装方式:插件 批号:最新 恢复时间:35ns 最大平均正向电流(IF)&#…

噪声的消除

开关电源的干扰一般是几十K到几百K: 【电源噪声查不出来?不用上板子,滤波器仿真就能搞定】https://www.bilibili.com/video/BV12v411r798?vd_source3cc3c07b09206097d0d8b0aefdf07958 村田消除噪声的仿真软件: SimSurfing - 村…

Kafka原理剖析之「Topic创建」

一、前言 Kafka提供了高性能的读写,而这些读写操作均是操作在Topic上的,Topic的创建就尤为关键,其中涉及分区分配策略、状态流转等,而Topic的新建语句非常简单 bash kafka-topics.sh \ --bootstrap-server localhost:9092 \ // …

QT设置闹钟超时播报

头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QTimerEvent> #include<QTime> #include<QTextToSpeech>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic…

mysql 之 information_schema

information_schema 是 MySQL 中的一个特殊数据库&#xff0c;它提供了关于 MySQL 服务器中所有数据库、表、列、索引、存储过程、函数、触发器等对象的元数据信息。information_schema 是一个只读数据库&#xff0c;主要用于查询数据库的结构信息&#xff0c;而不是存储用户数…

【Unity踩坑】创建新项目后提示编译错误要进入安全模式

在创建了新项目后&#xff08;比如URP&#xff0c;AR&#xff0c;VR&#xff09;&#xff0c;首次打开时提示有编译错误&#xff0c;要进入安全模式。 脚本是项目模板自带的&#xff0c;不会有问题。这时需要先选择进入安全模式&#xff0c;然后关闭项目&#xff0c;重新打开就…

C++之函数进阶

函数默认参数 注意事项&#xff1a; 1. 如果从某个位置开始&#xff0c;有了默认参数&#xff0c;那么从这个位置往后&#xff0c;都必须有默认参数 2. 函数声明和函数定义只能有一个进行默认参数设置 函数占位参数 函数重载 函数名相同void fun()&#xff0c;功能实现不同 提高…

arxiv 首次投稿注意事项记录

文章目录 注册用教育邮箱&#xff0c;不用背书latex&#xff1a; 主tex和bib文件放在最外层&#xff0c;重命名为arxiv.tex和arxiv.bib &#xff08;没测试过不重命名会怎么样&#xff09;在overleaf右上方点submmit&#xff0c;选arxiv&#xff08;这样会自动生成一个bbl文件&…

基于HTML5的下拉刷新效果

基于HTML5的下拉刷新效果 效果示例图示例代码 效果示例图 示例代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport&quo…

储能系统:工商业绿色转型的“稳压器”与“利润加速器”

在当今工商业领域&#xff0c;随着生产规模的扩大与新能源应用的快速普及&#xff0c;负荷峰谷差日益成为制约企业可持续发展的瓶颈。新能源的间歇性与不稳定性&#xff0c;更是让电网电能质量波动加剧&#xff0c;成本持续攀升。然而&#xff0c;在这一挑战背后&#xff0c;蕴…

基于Java+ssm+jsp开发的相亲交友网站管理系统

项目简介 该项目是基于Javassmjsp开发的婚恋交友网站管理系统&#xff0c;这是一项为大学生课程设计作业而开发的项目。 该系统旨在帮助大学生学习并掌握Java编程技能&#xff0c;同时锻炼他们的项目设计与开发能力。通过学习基于Java的婚恋交友管理系统项目&#xff0c;大学生…

源代码如何防泄漏?用对软件真的很重要!

在数字化时代&#xff0c;源代码的安全保护对企业来说至关重要。源代码泄露不仅会导致企业技术优势的丧失&#xff0c;还可能引发严重的经济损失和法律风险。因此&#xff0c;实现源代码防泄漏成为了企业信息安全战略中的重要一环。 深信达的SDC沙盒防泄密软件正是在这样的背景…

【leetcode_python】杨辉三角

给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2: 输入: numRows 1 输出: [[1]] 方案&#…

Facebook的虚拟现实功能简介:社交网络的新前沿

在科技飞速发展的今天&#xff0c;虚拟现实&#xff08;VR&#xff09;已经从科幻小说中的梦想变成了触手可及的现实。作为全球领先的社交平台&#xff0c;Facebook&#xff08;现已更名为Meta&#xff09;正大力推动虚拟现实技术的发展&#xff0c;以重新定义用户的社交体验。…

element表格合并列数据相同合并单元格

<!-- :span-method"objectSpanMethod"合并列 --><el-table stripe :data"morningdataList" style"width: 100%" :span-method"objectSpanMethod" ><el-table-column align"center" label"" :show…

企业数据资产目录建设方案(可编辑的46页PPT)

引言&#xff1a;在当今数据驱动的时代&#xff0c;数据已成为企业最宝贵的资产之一&#xff0c;其有效管理和利用直接关系到企业的决策效率、业务创新能力和市场竞争力。数据资产目录建设方案旨在通过系统化的方法&#xff0c;对企业内部的数据资源进行全面的梳理、分类、编目…

vscode中前端项目文件格式化备份

文件->首选项->设置 点击图标后进入&#xff0c;并粘贴下面代码 {"files.associations": {"*.vue": "vue","*.wpy": "wxml","*.wxml": "html","*.wxss": "css","*.cjso…