Parasoft中文网站 > 售前问题 > Parasoft单元测试用例怎么生成 Parasoft单元测试数据怎么维护

Parasoft单元测试用例怎么生成 Parasoft单元测试数据怎么维护

发布时间:2026-06-30 16: 19: 00

Parasoft的单元测试用例应该怎样生成,以及单元测试的数据又该如何维护,这两个问题通常需要先看项目使用的是C/C++test、Jtest,还是团队在现有工具上集成出来的测试流程。Parasoft C/C++test主要面向C和C++,它能提供静态分析、单元测试、覆盖率以及需求追踪这些能力;Jtest则针对Java单元测试,比较关注JUnit测试的生成、执行和覆盖率的提升。所以在生成用例之前,不能只问工具该怎么操作,还要先把语言、构建环境和测试目标确认下来。

一、Parasoft单元测试用例怎么生成

Parasoft生成单元测试用例,一般并不是完全脱离代码就自动产出最终结果。它的方式是先识别出被测试的函数或者方法,然后再结合桩函数、输入数据和覆盖率目标,生成一个测试的框架。自动生成可以帮助省去一部分初稿的时间,但后面仍然需要人工去检查断言和业务上的含义。

1、先准备好项目的构建环境

需要对照构建设置、编译器配置和测试配置这几项,确认Parasoft能够正确地识别源码、头文件、依赖库还有编译参数。如果构建信息不够完整,工具或许能看见源码,但生成的测试用例却编译不过去,或者函数签名、宏定义和条件编译的路径会被认错。C和C++的项目要特别注意头文件的路径、目标编译器、宏开关以及链接依赖,否则后面相当多的时间都会花在修整测试环境上面。

2、选择需要生成用例的函数

生成用例的时候,不必一口气把整个工程都选上。可以先从核心函数、复杂分支比较多的模块,或者过去缺陷比较集中的代码入手。Parasoft C/C++test的文档里也提到,它可以针对单个函数,也可以面向整个项目去生成C和C++的测试用例。实际使用的时候,先从小范围开始生成,再慢慢地扩大,这样做会比一次性生成一大堆很难维护的用例要稳定一些。

3、生成之后检查断言和桩函数

自动生成的用例一般能覆盖输入组合、分支路径和一部分返回结果,但它不一定知道业务上期望的值到底是什么。比如一个函数返回了0,这到底是代表成功、失败还是空结果,就需要结合需求去判断。遇到涉及外部接口、硬件寄存器、数据库或者网络调用的时候,还要检查桩函数和模拟对象是不是符合真实的情况,不能只看用例能不能跑得通。

二、Parasoft单元测试数据怎么维护

测试数据如果维护得不好,单元测试很快就变成一次性的东西。代码一改动,用例就大量失败,团队又弄不清楚到底是产品逻辑变了,还是测试数据已经过期了。维护测试数据的时候,重点是要让输入、期望的输出和业务场景能够互相对应起来。

1、按照场景来整理测试数据

可以围绕正常输入、边界值、异常输入还有组合条件这几个方面去整理数据。比如数值计算函数,要覆盖最小值、最大值、零值和非法值;状态机函数,要覆盖不同状态之间的迁移;接口解析函数,要覆盖空报文、错误格式和正常的报文。测试数据不要只用来满足覆盖率,还要能解释清楚每一个用例到底在验证什么。

2、让数据和断言一起被维护

测试数据改动以后,断言也要同步去检查。比如输入参数发生了变化,那么期望的返回值、错误码和输出结构体的字段,可能都需要跟着变化。如果只改了输入,却没有改断言,测试失败的时候看起来像是代码出了错,其实可能是测试数据本身没有维护完整。Jtest的介绍里也强调过,它通过生成和执行JUnit测试,来帮助提升覆盖率和测试效率,但是生成之后的测试,还是需要和实际代码的行为保持一致。

3、让测试数据和版本绑定在一起

对照测试用例的版本、代码的版本和需求的版本,记录下测试数据适合用在哪个阶段。这一点在嵌入式软件、汽车软件和安全关键的项目里尤其重要。同一个函数在不同的需求版本下面,合法的输入范围可能已经发生了变化;旧的测试数据如果继续使用,很可能会导致判断出错。测试数据最好是跟随代码仓库一起来管理,不要长时间只放在个人的本地环境当中。

三、用例生成之后怎么检查质量

单元测试用例生成以后,不要只去看数量。更有价值的是看它覆盖了哪些代码路径,能不能稳定地执行,是不是真正验证了需求。

1、先看覆盖率的缺口

通过覆盖率报告,去查看语句、分支或者条件的覆盖情况。Parasoft C/C++test可以把单元测试和结构覆盖率分析结合起来,帮助去评估测试的质量。如果某些分支一直没有被覆盖到,那就要回过头去补充输入数据,或者调整桩函数的返回值,而不是盲目地增加重复的用例。

2、再看失败用例的原因

用例失败,不一定就是坏事。失败有可能暴露了代码里的缺陷,也有可能说明断言没有写对、桩函数不合理、测试数据已经过期,或者环境配置出了错。处理的时候要先分一下类,不要直接把失败的用例删掉。

3、保留可以复用的测试资产

稳定的测试数据、桩函数、断言模板还有覆盖率报告,这些都应该保留下来。后面代码发生变化的时候,就可以快速地做回归,而不是每一次都重新去生成。自动生成比较适合起步阶段,长期的质量还是要靠持续的维护。

总结

Parasoft单元测试用例怎么生成,以及Parasoft单元测试数据怎么维护,关键是要先把构建环境和被测试的范围准备好,然后再按函数或者模块去生成用例。生成之后需要检查断言、桩函数和覆盖率,不能只盯着用例的数量。在维护测试数据的时候,要按正常、边界、异常和组合场景去整理,并且和代码版本、需求版本绑定在一起。这样,Parasoft生成的单元测试才不会只是一次性的结果,而能变成后续回归测试和质量评估的基础。

展开阅读全文

标签:ISO26262CWEOWASP

读者也访问过这里:
Parasoft
与世界保持同步创新的测试
立即购买
最新文章
Parasoft服务虚拟化怎么配置 Parasoft服务虚拟化环境连接失败怎么办
服务虚拟化用于测试时,需要让Virtualize Server、虚拟资产、传输连接和被测应用地址保持一致。主机名、端口、路径或证书不匹配,都可能出现连接失败或请求未命中。因此,弄清Parasoft服务虚拟化怎么配置Parasoft服务虚拟化环境连接失败怎么办,重点是把创建、部署、转发和验证连成完整链路。
2026-07-27
Parasoft接入Jenkins怎么配置 Parasoft Jenkins构建失败日志怎么排查
Parasoft接入Jenkins应当怎样配置,以及Jenkins构建失败时日志又该如何排查,这两个问题,是不少团队在把静态分析、单元测试和覆盖率接入CI的时候,都会碰到的。这里需要先分清楚两件事情,Parasoft这个工具,它负责的是执行分析、生成报告;而Jenkins这边,它负责的是调度任务、展示结果,还有控制流水线的状态。如果前一个环节没有生成出有效的报告,那么后面插件的配置就算再完整,Jenkins的页面上,也不会有正常的结果出来。所以在进行配置的时候,不能只盯着插件那边的界面,而是要把工具的执行、报告的输出、路径的读取,还有质量的判断标准,这几样东西连在一起去看。
2026-06-30
Parasoft SOAtest怎么测试接口 Parasoft SOAtest接口断言怎么设置
Parasoft SOAtest测试接口的方法,和接口断言怎样设置,这两件事的关键,是先把接口的请求调通,然后再一步一步把需要校验的地方补上去。SOAtest这个工具,能够支持REST、SOAP、微服务、数据库这些不同的测试场景,也能够根据流量或者自然语言去生成API的测试,还可以创建那种靠数据来驱动、分好几个步骤的测试流程。所以,它的用处不只是发出一个请求然后去看返回的结果,它更适合把接口的调用、参数的准备、响应的校验,还有回归的执行这一整套东西都串在一起。
2026-06-30
Parasoft DTP报告怎么查看 Parasoft DTP质量趋势怎么分析
Parasoft DTP报告怎么查看,以及DTP里的质量趋势怎么分析,这通常是项目在接入静态分析、单元测试、覆盖率或合规检查之后才会碰到的事情。DTP这个工具,它并不是要你再单独跑一次测试,它更像是一个能把各类测试结果集中起来看的质量平台,它可以把静态分析、测试执行、覆盖率和合规状态这些数据,都放在一个统一的看板里面,用来帮助判断项目当前的风险和发布准备的情况。
2026-06-30
Parasoft C/C++test怎么导入工程 Parasoft C/C++test头文件路径怎么补齐
Parasoft C/C++test导入工程的方法,以及头文件路径的补齐方式,其关键并不在于仅将源码文件夹选中。C/C++项目对编译器、宏定义、头文件目录、目标平台和构建脚本都存在依赖,如果这些信息没有被一同导入,工具所看到的代码便不是项目在真实编译时的代码,后续的静态分析、单元测试和规则检查都会因此出现偏差。Parasoft的文档中也曾提到,C/C++test能够通过构建数据文件、Visual Studio工程、CMake生成的JSON等方式,来收集输入范围和构建信息。
2026-06-30
Parasoft MISRA规则怎么启用 Parasoft MISRA违规项怎么按等级筛选
Parasoft的MISRA规则应当怎样启用,以及MISRA的违规项又该如何按照等级去筛选,这两个问题的处理方式,主要取决于项目当前使用的是Parasoft C/C++test的桌面版本、命令行版本,还是结合DTP平台来统一查看结果。MISRA规则的启用,并不是简单地把开关打开就算完成了,在这之前,还需要确认项目代码能够被正常分析,编译配置、头文件的路径、宏定义,还有规则集,这几样都是正确的。Parasoft C/C++test这个工具,能够被用在C和C++代码的质量检查上,同时也支持面向安全关键软件的编码规范合规检查,其中就包含了与MISRA有关的规则。
2026-06-30

咨询热线 15601718224