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

2024-05-25 11:28

本文主要是介绍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进行软件质量度量的操作过程,希望对大家有所帮助。下一篇文章我们将讲解如何提取前面这两篇文章中静态分析的数据信息,自动生成测试报告文档。

这篇关于Parasoft C++Test软件静态分析操作指南_软件质量度量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1001373

相关文章

【C++ Primer Plus习题】13.4

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream>#include "port.h"int main() {Port p1;Port p2("Abc", "Bcc", 30);std::cout <<

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

C++包装器

包装器 在 C++ 中,“包装器”通常指的是一种设计模式或编程技巧,用于封装其他代码或对象,使其更易于使用、管理或扩展。包装器的概念在编程中非常普遍,可以用于函数、类、库等多个方面。下面是几个常见的 “包装器” 类型: 1. 函数包装器 函数包装器用于封装一个或多个函数,使其接口更统一或更便于调用。例如,std::function 是一个通用的函数包装器,它可以存储任意可调用对象(函数、函数

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

06 C++Lambda表达式

lambda表达式的定义 没有显式模版形参的lambda表达式 [捕获] 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 有显式模版形参的lambda表达式 [捕获] <模版形参> 模版约束 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 含义 捕获:包含零个或者多个捕获符的逗号分隔列表 模板形参:用于泛型lambda提供个模板形参的名

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

6.1.数据结构-c/c++堆详解下篇(堆排序,TopK问题)

上篇:6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)-CSDN博客 本章重点 1.使用堆来完成堆排序 2.使用堆解决TopK问题 目录 一.堆排序 1.1 思路 1.2 代码 1.3 简单测试 二.TopK问题 2.1 思路(求最小): 2.2 C语言代码(手写堆) 2.3 C++代码(使用优先级队列 priority_queue)

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

软件设计师备考——计算机系统

学习内容源自「软件设计师」 上午题 #1 计算机系统_哔哩哔哩_bilibili 目录 1.1.1 计算机系统硬件基本组成 1.1.2 中央处理单元 1.CPU 的功能 1)运算器 2)控制器 RISC && CISC 流水线控制 存储器  Cache 中断 输入输出IO控制方式 程序查询方式 中断驱动方式 直接存储器方式(DMA)  ​编辑 总线 ​编辑