单元测试工具C++ Test简介

  C++ Test是Parasoft公司出品的一个针对C/C++源代码进行自动化单元测试的工具。它可以对源代码进行三种测试:白盒测试、黑盒测试以及回归测试。

  白盒测试

  C++ Test对C/C++源代码进行分析,针对所有的类的成员函数(包括:公共的、保护的以及私有类型的)进行测试。测试的方法是判断当输入一个非法的参数时,有关函数能否正确处理。(Record命令)在此状态下软件针对指定的文件、类或者是函数自动生成测试用例。

  黑盒测试

  不对源代码进行分析,并且只针对类的公共接口函数进行测试。(Play命令)

  在此状态下软件不自动生成测试用例,而是直接运行在"测试用例编辑器"中当前已有的测试用例(手工添加的)。

  回归功测试

  在修改源代码后用原有的测试用例进行重新测试。(Play命令)

  建议在实际使用中首先用Record命令执行一遍白盒测试,让软件根据函数自动生成相应的测试用例,然后再根据需要手工添加一些测试用例,最后再通过Play命令执行一遍黑盒测试。

  示例一

  假设我们要测试如下一个类的成员函数:int mode2(int nParam),则在进行白盒测试时软件会自动为我们生成如下6个测试用例:

  nParam = 1, 0, -1, 2147483647, -2147483647, 230

  可以看出,软件测试用例的生成主要还是测试一些边界值,例如最大值、最小值、0等。

  示例二

  假设我们要测试如下一个类的成员函数:void strcpy(char* dest, char const * src),则软件会自动生成如下9个测试用例:

  (1) dest = NULL, src = NULL

  (2) dest = "yPqKIJ!u_", src = NULL

  (3) dest = "", src = NULL

  (4) dest = NULL, src = "h)zn9b"

  (5) dest = "BsmC,/i=zI6CT}pX", src = "HcI{BeP(J"

  (6) dest = "", src = "% i?~TnON"

  (7) dest = NULL, src = ""

  (8) dest = "($MN

  (9) dest = "", src = ""

  可见,如果我们的代码在实现时没有对各种可能情况(尤其是边界条件)进行特殊处理的话,则通过C++Test可以方便地发现这些潜在的问题。此外,对于一些特殊的测试情况,我们还可以手工创建测试用例。此外,采用C++ Test也可以帮助我们检查程序的编码情况,判断是否严格按编码规范进行开发。

  使用

  C++ Test的使用比较简单,即可以针对一个VC工程进行全面的测试,也可以一次只对一个C/C++源文件进行测试。

  在试用中发现,如果项目比较大时,最好不要直接对一个工程进行自动测试,而应按文件一个一个地测试,否则可会会导致程序死掉。由于其是采用Java技术开发的,所以在使用时最好使用运算速度较快的机器。

Parasoft C++Test软件静态分析操作指南_编码规范/标准检查 C++Test是Parasoft公司出品的一款可以针对C/C++源代码进行软件静态分析、软件单元测试、软件集成测试的测试工具,在C/C++白盒测试领域被广泛使用。软件静态分析(Static Analysis),也被称为静态代码分析或静态源代码分析,是一种软件工程中常用的技术和方法。它主要通过在不运行代码的情况下对源代码进行语义和结构分析,以发现潜在的错误、缺陷和安全漏洞。静态分析的目标是为开发者提供一种自动化的方式来检查代码质量,帮助发现和修复潜在的问题,从而提高软件的可靠性、可维护性和安全性。 阅读详情

相关推荐

Parasoft C++Test软件单元测试_操作指南

本文主要为使用C++TEST进行单元测试的流程性操作讲解,后续文章将以专题形式进行详细讲解,以及用一些被测函数作为示例进行实例讲解。

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 1574

C/C++test新手入门(WINDOWS) 2024.1更新

Parasoft C++test新手入门操作手册 快速安装配置指南 目录 1. 推荐机器性能......................................................................................................

2万+

C++TEST及TESTBED工具对比

C++TEST及TESTBED工具对比.很好的描述了俩个工具的特点

C++/Qt:C++test单元测试框架

本文简要描述了如何在C++test中进行mingw环境下qt的单元测试方法,以及一些c++test的使用小技巧。

炸酱面和他的博客们 1万+

c++test测试工具

c++test测试工具

软件测试质量保证:实验一 Testbed静态测试实验

(1)启动Testbed,在File菜单下选择Select File选项,选择被测样例系统。 (2)选择需要分析文件testrain.c,点击select。 (3)确认工作保存路径及配置路径,点击continue完成测试项目建立。 (4)点击菜单栏中的Configure,在下拉菜单中点击Code Review Report Options选项。选择分析的规则集。 (5)在Data Files页中找到规则配置文件,编辑cpen.dat文件,配置编程规则。 (6)点击菜单栏中的Analysis,在下拉菜单中点击Select Analysis,选择Main Static Analysis,Complexity Analysis,Static Data Flow Analysis三个选项。点击Start Analysis按钮,开始进行静态分析。 (7)查看静态调用图,并分析程序静态结构。 (8)双击函数节点名称进入静态数据流图。 (9)点击菜单Options,选择Add Annotations添加节点名称。 (10)右键点击控制流图中节点在弹出菜单中选择Annotated Procedure

qt 模拟鼠标滑轮_C++跨平台库QT学习 使用UnitTest单元测试入门

一、新建子目录项目在QT点击菜单 文件-新建文件或项目-其他项目-子目录项目:二、新建控制台项目然后继续建一个子项目:新建类文件后,项目如下:新建类MyCalc,后面会对这个类里的add方法进行测试:mycalc.hclass MyCalc{public: int add(int a,int b);};mycalc.cpp#include "mycalc.h"int MyCalc::add(...

weixin_39674190的博客 345

C++Test静态分析报告文档生成工具(适用于C++Test 10.3(独立版))

C++Test静态分析生成的结果为网页格式的文件,不便于编写测试报告,本工具可用于自动提取C++Test静态分析结果(report.xml文件)中的数据,按条目生成出一个excel文档。本工具适用于C++Test 10.3(独立版)(理论上其他版本report.xml文件格式变化不大,应该也适用,但是不做保证,可以试一试) 这个小工具的脚本代码会在我的文章(https://blog.youkuaiyun.com/Vista7Malone/article/details/144420913)中进行分享,如果你发现这个工具不能完全适用于你的C++Test版本,可以找到我的文章,参考其中的代码进行适应性更改。 本工具基于C++Test 10.3.2(独立版)进行编写,其他版本可能会因report.xml格式不一样,导致解析错误。可私信找我解决。

突破编程_C++_高级教程(单元测试与 Google Test 教程)

C++ 高级教程:单元测试

突破编程 3404

在C++test中做Qt单元测试

在这篇帖子中我将详细讲述我是用的开发环境和测试环境,如何在ParasoftC++test中创建Qt的的测试工程,如何进行静态扫描,如何进行单元测试,如何插桩,以及一些使用C++test的小技巧。这篇帖子中使用的开发和测试环境分别为mingw4.4、Qt4.8.3和ParasoftC++test9.6。首先我们在安装完以上三个软件以后需要配置环境变量,我的环境变量配置如下图所示。搭建好环境创建一个带有Gui的Qt工程用于后边讲解,然后在工程中添加新类MyClass并在MyClass中添加以下内容。添加完代码以后编译运行,去工程的Debug目录下寻找Makefile.Debug文件,打开后在cc和

zemax光线光扇图

通过入瞳某一坐标(PX,PY)的光线在像面上有唯一的位置(EX,EY),以EX,EY为纵坐标,以PX,PY为横坐标,分别建立坐标系,把通过入瞳的光线都在坐标系里描点就得到了光扇图。对于视场内任意一点,取其子午面内的光线,以光线在光阑面上的透射点坐标为横坐标,同时以该光线在像面上的坐标为纵坐标,描出所有点,构成的图形即为子午面光扇图。在焦点位置,曲线的斜率为0,也就是说,不管入射时的横坐标(光阑面上的位置)是多少,离轴多远,都将汇聚在焦点处。此时,子午面和弧矢面有不同的分布,两条曲线不重合。

fendoudecheng的博客 8096

C++ Test单元测试工具

第一部分: C++ Test是Parasoft公司出品的一个针对C/C++源代码进行自动化单元测试的工具。它可以对源代码进行三种测试:白盒测试、黑盒测试以及回归功能测试。  白盒测试  C++ Test对C/C++源代码进行分析,针对所有的类的成员函数(包括:公共的、保护的以及私有类型的)进行测试。测试的方法是判断当输入一个非法的参数时,有关函数能否正确处理。(Record命令)在此状态下软件...

weixin_30677073的博客 1181

期末求生指南:手把手教你用浏览器开发者工具绕过百一测评切屏检测

本文详细介绍了如何利用浏览器开发者工具绕过百一测评的切屏检测功能。通过分析JavaScript事件监听机制,定位关键检测代码,并提供实时调试和本地覆盖两种修改方法,帮助学生在遵守规则的前提下更灵活地应对在线考试。文章还包含风险控制和替代方案等实用建议。

weixin_28698059的博客 548

【C++ 单元测试】Google Test 基本指南

在软件开发的世界里,**质量保证**(Quality Assurance)是确保产品可靠性和用户满意度的基石。单元测试作为质量保证的重要组成部分,能够帮助开发者在早期发现并修复代码中的问题。Google Test(简称 gTest)作为一个广泛使用的C++单元测试框架,为开发者提供了强大而灵活的测试工具。本章将深入探讨Google Test的安装方法、主要特点以及单元测试的最终目标。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 3077

ESP32、MicroPython、天问ASR-PRO,串口发送数据并播报

天问ASRPRO语音芯片内置脑神经网络处理器,支持DNN、TDNN、RNN等神经网络及卷积运算硬件运算,非软件运算,支持语音识别、声纹识别、语音增强、语音检测、单麦克风降噪增强、单麦克风回声消除、360度全方位拾音等功能。ASR-PRO可以图形化编程,降低开发难度,对小白友好。之前使用ASRPRO与ESP32进行过语音控制,这次由于一个项目需要对ESP处理过后的数据进行播报,就想到利用该模块。以下程序主要为测试代码,并非实际项目,仅供参考学习(若有错误,欢迎指正)。二者通过串口通信,波特率为9600。

weak_student的博客 5951

4.Simulink基础建模操作——加减乘除运算

加减乘除运算

FPGA/MATLAB学习教程/源码/项目合作开发 9550

C++单元测试实战:从Google Test到Catch2的高效验证

本文对比了GoogleTest和Catch2两大C++单元测试框架的差异,演示了如何通过单元测试提升代码质量。GoogleTest功能全面适合大型项目,而Catch2轻量简洁适合快速验证。文章详细展示了两种框架的断言用法和测试案例,并介绍了如何使用gcov/lcov工具将测试覆盖率提升至80%以上。最佳实践建议优先测试边界条件,避免测试实现细节,并在CI/CD中集成覆盖率检查。单元测试能有效拦截bug,为代码重构提供保障,是提升开发质量的重要环节。

huahua8088的博客 1316

FPGA/IC 秋招笔试/面试题总结(目录)

FPGA/IC 秋招笔试/面试题总结-目录介绍 文章目录FPGA/IC 秋招笔试/面试题总结-目录介绍一、FPGA内部资源1. 什么是FPGA2.FPGA内部资源二、同步时钟、同步/异步电路1.同步时钟2.同步/异步电路三、同步复位/异步复位1.同步复位2. 异步复位3. 异步复位同步释放四、同步FIFO/异步FIFO1.同步FIFO2.异步FIFO五、FIFO最小深度计算1.FIFO最小深度2.示例分析六、逻辑电平1.TTL电平标准2.LVTTL电平标准3.CMOS电平标准4.LVCOMS电平标准5.RS

Crazzy_M的博客 2万+

【C++ 单元测试】 GTest 指南:剖析 TEST_P 与 TYPED_TEST

在日常开发中,Google Test(GTest)已经成为C++单元测试领域的事实标准。从最初的 `TEST` 与 `TEST_F` 出发,很多团队逐渐发现针对不同类型或不同输入参数进行大规模测试时,往往需要更灵活的方式来组织测试用例,这就是 `TEST_P` 和 `TYPED_TEST` 的诞生背景。毕竟,正如荣格所言,“理解越多,也就越能够包容”,对测试框架的深入了解也能帮助我们更好地构建健壮的代码。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 1719

AIGC游戏本地化:用AI实现多语言自动翻译

游戏本地化是游戏全球化战略的关键环节,传统人工翻译方式成本高、周期长。本文旨在探讨如何利用AIGC技术实现高效、准确、低成本的游戏多语言自动翻译解决方案。我们将覆盖从文本翻译到语音合成的完整本地化流程,重点关注AI技术在游戏特定语境下的应用优化。文章首先介绍游戏本地化的核心挑战和AI解决方案,然后深入讲解关键技术原理,接着通过实战项目演示具体实现,最后讨论应用场景和未来趋势。AIGC:人工智能生成内容,指利用AI技术自动生成文本、图像、音频等内容本地化(Localization)

AI 领航者的博客 1338

OpenClaw 在 Docker 容器中的部署实战——零配置启动

本文介绍了OpenClaw在Docker容器中的快速部署方法,对比了本地部署与容器化部署的优势。通过官方镜像和Docker Compose两种方式,5分钟即可完成部署,并详细讲解了配置管理方案(挂载配置文件和环境变量)。文章还提供了飞书集成配置方法,以及生产环境下的日志管理、资源限制、健康检查等优化建议。最后包含常见问题排查指南,帮助开发者快速实现OpenClaw的容器化部署。

刘一说的IT专栏 904

C++ 单元测试框架 Google Test (gtest)

一、安装 git clone https://github.com/google/googletest cd googletest mkdir build cd build cmake .. -DCMAKE_CXX_FLAGS='-std=c++11' # 不指定c++11标准会报错 make sudo make install 安装完之后生成的头文件位于/usr/local/include/gtest/下,静态库文件(libgtest.a, libgtest_main.a)位于/usr/local/

A_L_A_N 6390

手把手教你五种方案配置Obsidian免费同步,全平台通用(支持Alist/OpenList)

Obsidian是一款优秀的Markdown笔记工具,但官方同步服务每年近700元让人望而却步💸 本文整理了5种免费同步方案,涵盖苹果生态专属方案、多网盘插件同步、版本管理同步、点对点同步、自建实时同步等不同场景📱💻 每种方案都附有详细配置步骤,助你找到最适合的同步方式✨

XiaoqiangClub的博客 1832

C++项目中的Boost.Test单元测试实践:从入门到精通

本文介绍了使用Boost.Test框架进行C++单元测试的实践方法。通过一个简单的求和函数示例,展示了测试用例的编写、断言的使用以及测试模块的配置。文章详细讲解了BOOST_REQUIRE和BOOST_CHECK等断言的区别,并提供了完整的CMake构建配置,包括如何集成Boost.Test单元测试框架。示例代码包含求和函数实现、测试用例和CMake配置文件,为开发者提供了一个完整的单元测试实践模板。

Lion_Long的博客 1028

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

C++ 单元测试:QT test、Google test学习笔记

本文汇总在qt测试中两个框架:QT test 和Google test。记录二者的用法以便后续使用。

leoties的博客 1934

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: 如何制定成功的测试计划
下一篇: 自动化测试:对象库VS描述性编程
bitzsoft
博客等级 码龄19年 0粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值