Parasoft C++Test软件静态分析操作指南_软件质量度量

系列文章目录

Parasoft C++Test软件安装指南
Parasoft C++Test软件静态分析操作指南_编码规范/标准检查
Parasoft C++Test软件静态分析操作指南_软件质量度量
Parasoft C++Test软件静态分析_自动提取静态分析数据生成文档
Parasoft C++Test软件单元测试_操作指南
Parasoft C++Test软件单元测试_实操技巧
Parasoft C++Test软件集成测试_操作指南
Parasoft C++Test软件集成测试_实操技巧
Parasoft C++Test软件使用的常见问题及处理
Parasoft C++Test软件单元/集成测试_自动提取测试用例信息生成测试报告文档
粉丝问题解答系列文章… …
其他持续更新中… …


文章目录

  • 系列文章目录
  • 前言
  • 一、C++Test简介
  • 二、“软件质量度量”简介
  • 三、使用C++Test进行软件质量度量
    • 1.选取质量度量规则
    • 2.修改度量指标
    • 3.执行质量度量
    • 4.查看质量度量结果
    • 5.生成质量度量报告
  • 总结


前言

在上一篇文章《Parasoft C++Test软件静态分析操作指南_编码规范/标准检查》中,我们讲解了如何使用Parasoft C++Test对软件的编码规范/标准进行静态检查,主要是自定义筛选工具自带的一些编码规范/标准规则集。今天接着讲解如何使用Parasoft C++Test进行软件质量度量,并根据自己的需要修改一些度量指标。


一、C++Test简介

C++Test是Parasoft公司出品的一款可以针对C/C++源代码进行软件静态分析、软件单元测试、软件集成测试的测试工具,在C/C++白盒测试领域被广泛使用。

二、“软件质量度量”简介

软件质量度量是评估软件质量的过程,通常涉及一系列指标和量化标准,以确保软件满足其预定的功能、性能、安全性和可靠性要求。常用的软件质量度量项包括:代码注释率、圈复杂度、扇入数、扇出数、调用层级数等。

三、使用C++Test进行软件质量度量

下面以Visual Studio插件版的C++Test进行介绍,其他版本的C++Test操作都是类似的。

1.选取质量度量规则

在菜单栏中的“Parasoft”中打开“测试配置”:
在这里插入图片描述
在测试配置左侧“内建”中的“Static Analysis”中选择质量度量的规则集,比如Metrics,在右键选项中选择“复制”:
在这里插入图片描述
复制之后,会在上方的“用户自定义”中出现刚才复制的静态分析度量规则。在右侧选中“静态”配置页,可以对规则进行自定义选择(可以通过对每一条规则单独进行勾选,或者右键通过“启用规则”或“禁用规则”并根据规则等级批量进行选择):
在这里插入图片描述

2.修改度量指标

当工具自带的度量指标不满足你的实际需求时,可以对规则中的指标进行修改。以圈复杂度为例,工具自带有圈复杂度超过10、20的度量规则,假如我们需要修改为15,操作如下:
首先右键复制原来的规则(工具自带的规则不允许修改,需要复制出自定义的规则才允许修改):
在这里插入图片描述
选中复制出来的自定义规则,右键选择“在RuleWizard中编辑规则”:
在这里插入图片描述
在弹出的规则视图中双击你要修改的部分进行修改,比如双击右下角的"Count:$$>20",在弹出的窗口中将20改为15:
在这里插入图片描述
然后在左上角保存规则即可:
在这里插入图片描述
这样这条规则将会在圈复杂度超过15的时候报出违规。
配置完成后,可以修改自定义规则集的名称,比如可以将其保持名称为“软件质量度量”,然后点击右下角的应用进行保存:
在这里插入图片描述

3.执行质量度量

首先,确保你的源码工程能够编译成功。然后选择你要进行静态分析的源码文件(可以是整个工程的所有文件,也可以单独选择某一个或几个文件),在右键菜单选项中选择“Parasoft”->“测试执行”->”用户自定义“->“Static Analysis”->刚才自定义配置的质量度量规则:
在这里插入图片描述
开始执行软件质量度量,在“测试进度”窗口中可以执行进度,执行完成后的界面如下:
在这里插入图片描述

4.查看质量度量结果

执行完成质量度量的静态分析后,可以在“质量任务”窗口查看分析出来的违规情况,如下所示:
在这里插入图片描述
双击违规描述,会自动跳转到对应的源码位置,方便查看和修改:
在这里插入图片描述

5.生成质量度量报告

在“测试进度”窗口中,点击“处理”生成质量度量的静态分析报告到默认地址:
在这里插入图片描述
生成的静态分析报告如下:
在这里插入图片描述


总结

以上就是使用Parasoft C++Test进行软件质量度量的操作过程,希望对大家有所帮助。下一篇文章我们将讲解如何提取前面这两篇文章中静态分析的数据信息,自动生成测试报告文档。

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

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

相关文章

C语言章节学习归纳--数据类型、运算符与表达式

3.1 C语言的数据类型(理解) 首先,对变量的定义可以包括三个方面: 数据类型 存储类型 作用域 所谓数据类型是按被定义变量的性质,表示形式,占据存储空间的多少,构造特点来划分的。在C语言中&…

2461. 长度为 K 子数组中的最大和(c++)

给你一个整数数组 nums 和一个整数 k 。请你从 nums 中满足下述条件的全部子数组中找出最大子数组和: 子数组的长度是 k,且子数组中的所有元素 各不相同 。 返回满足题面要求的最大子数组和。如果不存在子数组满足这些条件,返回 0 。 子数…

设计模式6——单例模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用,主要是下面的UML图可以起到大作用,在你学习过一遍以后可能会遗忘,忘记了不要紧,只要看一眼UML图就能想起来了。同时也请大家多多指教。 单例模式(Singleto…

完成商品属性分组和商品属性关联维护

文章目录 1.前端页面搭建1.复制attrgroup-attr-relation.vue到src/views/modules/commodity下2.加入超链接和引入组件 src/views/modules/commodity/attrgroup.vue1.加入超链接2.引入组件 3.数据池加入变量4.使用组件1.引用组件2.添加方法3.测试,点击关联&#xff0…

建站平台布局结构

建站平台布局结构对于网站的成功至关重要。一个良好的布局结构能够有效地吸引用户,提升用户体验,并且有助于网站的搜索引擎优化(SEO)。在设计网站布局结构时,需要考虑到用户导航、信息层次结构、页面加载速度等方面&am…

Android JetPack快速上手

学习地址 【Android Jetpack组件从入门到入坟,全家桶全面学习教程精讲,通俗易懂】 review 研究生期间接触过一部分android开发,近期有个小项目需要进行开发,临时恶补了一下Android相关知识点,突然发现Android新增了…

VBA语言専攻每周通知20240524

通知20240524 各位学员∶本周MF系列VBA技术资料增加611-615讲,T3学员看到通知后请免费领取,领取时间5月24日晚上18:00-5月26日晚上18:00。本次增加内容: MF611:用InputBox录入日期 MF612:信息提示10秒后关自动关闭 MF613:只是信息提示10秒 MF614:显…

如何解决Nginx反向代理不生效?

目录 背景 过程 日志 检查配置文件 重启服务 检查容器内的配置文件 容器和宿主机 其他 背景 用了两年的nginx新加的反向代理不生效 Docker挂载的配置文件启动的Nginx,配置一切正常,但是反向代理不生效,???先自查一波 过程 日志 …

RDDM论文阅读笔记

CVPR2024的残差去噪模型。把diffusion 模型的加噪过程分解为残差diffusion和noise diffusion,其中残差diffusion模拟从target image到degraded image的过程,而noise diffusion则是原来的diffusion过程,即从图片到高斯噪声的加噪过程。前者可以…

如何让社区版IDEA变得好用

如何让社区版IDEA变得好用 背景 收费版的idea功能非常强大,但是费用高。社区版的免费,但是功能被阉割了。如何才能让社区版Idea变得好用,就需要各种插件支持了。经过全局配置编码,maven,jdk版本,在加上各…

架构二。。

1、CAP 只能3选2 1)一致性(Consistency) 客户每次读都是返回最新的写操作结果 2)可用性(Availability) 非故障节点在合理的时间内返回合理的响应 3)分区容忍性(Partition Tolerance…

Ribbon负载均衡(自己总结的)

文章目录 Ribbon负载均衡负载均衡解决的问题不要把Ribbon负载均衡和Eureka-Server服务器集群搞混了Ribbon负载均衡代码怎么写ribbon负载均衡依赖是怎么引入的? Ribbon负载均衡 负载均衡解决的问题 首先Ribbon负载均衡配合Eureka注册中心一块使用。 在SpringCloud…

计算机网络之应用层知识点总结

6.1 网络应用模型 (1)应用层概述 (2)网络应用模型的介绍 客户/服务器(C/S)模型 P2P模型 6.2 域名解析系统DNS (1)DNS系统介绍 (2)域名 (3&#…

学习平台|基于Springboot+vue的学习平台系统的设计与实现(源码+数据库+文档)

学习平台系统 目录 基于Springboot+vue的学习平台系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 3学生功能模块 4教师功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八…

不小心丢失mfc140u.dll文件怎么办?mfc140u.dll丢失的解决办法

当您发现mfc140u.dll文件不见了或者受损,别担心,我们可以一起解决这个问题!首先,您可能会注意到一个小提示,当您尝试打开某些程序时,屏幕上会跳出一个消息说“找不到mfc140u.dll”或者“mfc140u.dll文件缺失…

解决docker中container运行闪退终止的问题

在运行bindmount-test时,点击完运行按钮后闪退结束运行。 第一步查看log日志: 2024-05-18 23:46:18 Error: Cannot find module /app/nodemon 2024-05-18 23:46:18 at Function.Module._resolveFilename (internal/modules/cjs/loader.js:668:15) …

2024-5-24 石群电路-15

2024-5-24,星期五,22:15,天气:晴,心情:晴。今天最后一天上班,终于要放返校假啦,开心!!!!!!不过放假也不能耽误…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(八)

课程地址: 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程,一套精通鸿蒙应用开发 (本篇笔记对应课程第 15 节) P15《14.ArkUI组件-状态管理state装饰器》 回到最初的 Hello World 案例,首先验证 如果删掉 State…

物理服务器介绍

物理服务器介绍 概述分类按服务器应用分类按服务器结构分类塔式服务器机架式服务器刀片式服务器机架式服务器与刀片式服务器的对比按处理器个数分类按处理器架构分类 主板概述工作原理物理结构技术参数 CPU概述工作原理指令集相关技术技术参数主流产品 内存概述类型相关技术技术…

C语言-atoi()库函数的模拟实现

文章目录 前言一、atoi()库函数的介绍及使用1.1 atoi()库函数介绍1.2 atoi()库函数使用 二、atoi()库函数的模拟实现2.1 函数设计2.2 函数实现思路2.3 具体实现2.4 测试 总结 前言 本篇文章介绍c语言中库函数atoi()的使用,以及模拟实现库函数。 一、atoi()库函数的…