惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
D
Docker
S
SegmentFault 最新的问题
博客园 - 聂微东
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
GbyAI
GbyAI
L
LangChain Blog
Vercel News
Vercel News
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
T
Threat Research - Cisco Blogs
T
Threatpost
Scott Helme
Scott Helme
T
Tailwind CSS Blog
Latest news
Latest news
Stack Overflow Blog
Stack Overflow Blog
Blog — PlanetScale
Blog — PlanetScale
The Register - Security
The Register - Security
罗磊的独立博客
P
Proofpoint News Feed
腾讯CDC
S
Schneier on Security
雷峰网
雷峰网
A
About on SuperTechFans
T
Tenable Blog
F
Full Disclosure
Cyberwarzone
Cyberwarzone
博客园_首页
有赞技术团队
有赞技术团队
K
Kaspersky official blog

文章列表

吉利银河翼真L380 【动态测试_Flash】 【动态测试_DIO】 【曲轴信号】 【动态测试_ADC】 【动态测试_软件安装】 【读书_了凡四训】 [岚图梦想家座椅] 【CAN错误帧分析】 【小鹏X9座椅破解_完结撒花】 【小鹏X9座椅破解_解决思路】 【这是拍到了谁家后花园!!!】 【遥控魔鬼鱼拆解】 【MATLAB R2024b超详细图polyspace激活安装】 【我们的语言来自何处】 【IDE编译器的使用笔记】 [Halo的Hao主题好用的注入代码]
【动态测试_软件操作_语句覆盖100%】
标签 · 2025-09-05 · via

文档主要针对语句覆盖进行软件说明

学习记录:

1.同一份代码可以创建不同的project

2.创建project时要包含头文件

3.宏定义:CODESCROLL=1

4.打桩:打桩设置返回值后所有的用例默认都是一个返回值,所以要新建一个test,执行新test的自带用例达到取反效果

想要在一个test下执行全部分支,可以用

if (CS_TESTCASENO()==1)

return 100;

else

return 20;

int * temp = CS_INT_INPUT(int, "ret");

*((int *)arg0) = &temp;

5.创建单元测试时编译不过去,提示:'""' 不是内部或外部命令,也不是可运行的程序

或批处理文件。

解决办法:重新建一个hightec的hightool

实际操纵过程中没有重建,修改toolchain中已有的4.9.3

1.Env Script 选择C:\HIGHTEC\ide\htc-ide-v2.1.2\plugins\org.apache.ant_1.10.1.v20170504-0840\bin\antRun.bat

2.C标签页下的Compiler和Linker选择C:\HIGHTEC\toolchains\tricore\v4.9.3.0\bin\tricore-gcc.exe

3.C标签页下的Archiver选择C:\HIGHTEC\toolchains\tricore\v4.9.3.0\bin\tricore-ar.exe

4.C++标签页下的Compiler和Linker选择C:\HIGHTEC\toolchains\tricore\v4.9.3.0\bin\tricore-g++.exe

5.C++标签页下的Archiver选择C:\HIGHTEC\toolchains\tricore\v4.9.3.0\bin\tricore-ar.exe

新建工程

选择C文件

起名字和选择工具链

选要测的C文件

增加H文件包含


增加宏定义CODESCROLL=1

增加测试用例

增加C文件里的函数

例1、输入参数测试_inputVarTest

这个函数一共4条语句,软件自动生成了1个测试用例包含17case 覆盖了24、27行,现在需要增加两条case把19、21行的语句覆盖也覆盖上。

添加测试用例

看着代码逻辑设计输入输出值,保证程序能跑到想跑的代码

视图选项记得选语句覆盖~,第一个例子语句覆盖就到100%!!!!

例2、静态变量测试_staticVarTest

添加一个测试函数,并运行。软件没有自动生成用例,需要到test info中手动添加静态变量。

手动添加静态变量

添加4个case,a=0,1,3,4语句覆盖100% 又是小进步!!!

例3、数组变量测试_arrayTest1

增加数组测试函数

发现数组只有成员0,其他成员需要添加

例4、条件覆盖和判定覆盖的覆盖测试_mcdcTest

就是把if判断里的所有可能性跑到了,(a == 10 && b < 30 && c > 50)有4种有效的可能性

第一个不满足的时候,后面就不关心了

case全删除,重新写4个case

case1满足全对
case2满足C2错

case3满足C1错

case4满足C0错

语句覆盖100%只需要前2个case,条件覆盖需要4个~~~

例5、桩函数返回值测试_undefinedStubTest

加入打桩测试函数

自动生成的桩函数不能覆盖115行,现在需要手动往case里添加桩函数返回值最后我能够控制返回什么

增加桩,同时加测试代码

return CS_INT_INPUT(int, "ret");/*返回输入ret变量的值*/

这样可以控制函数返回什么数了

例6、空指针参数测试_VoidPtrParmTest

增加函数

增加桩函数测试代码,把输入的值传到指针参数。

int * temp = CS_INT_INPUT(int, "ret1");

((int )arg0) = &temp;