软件测试工具比较:QAC/QAC++ 与C++ Test的对比分析

QAC/QAC++ 与C++ Test的对比分析
1.        公司背景
        Programming Research公司总部在英国,1986年成立,是编程标准领域的权威,专注于 软件代码的质量,是ISO、 MISRA 等协会的主要成员,参与制定了多项国际编程标准,提供QAC/QAC++/QA J等编程规则 检查 工具,同时也为客户提供编程标准审查、咨询等服务。
        Parasoft公司总部在美国,1987年成立,主要研究错误 如何引入到软件以及如何预防,创始人出版过一些软件错误防御以及最佳实践的书籍,在中国有办事处,代理商有几家。
2.        产品构成
        Programming Research公司的产品包括:
        QA C ——C语言静态分析编程标准检查工具
        QA C++ —— C++ 语言静态分析编程标准检查工具
        QA J —— Java语言静态分析编程标准检查工具
        另有MISRA C 2004/MISRA C++ 2008/JSF AV++等标准一致性检查插件
        Parasoft的主要产品:
        J test —— JAVA语言代码分析审查、 测试工具
        C++test ——C/C++语言代码分析,动态测试套件
        Insure++ —— 运行时错误分析工具
        WebKing——是SOAtest的一部分
        SOAtest——WEB类型应用测试工具
        BPEL Maestro——帮助简化WEB服务的架构
        Concerto—— 项目流程 管理软件
        .TEST——.NET 开发 工程师的工具包,包括静态分析和动态测试
3.        主要 功能与应用方向
QA C/QA C++:
代码审查和静态分析,利用先进的EDG分析器 技术,对C/C++代码进行静态分析,基于软件内置的超过2000多条规则(C部分1300多条,C++部分1300条),报告被测软件违反规则的情况,包括代码的安全性隐患,危险用法,未定义行为等。同时提供上百种软件静态度量,包括基于 函数,基于 文件和类的。可以提供软件的结构分析。
主要用于:
        帮助企业实施编程标准,作为 自动检查工具使用;
        开发工程师的桌面检查工具,帮助提高代码的一致性和质量;
        代码评审辅助工具,生成的报告可以作为代码评审的有用 信息

C++ Test:
静态分析
基于800多条编程准则(C/C++混合在一起)进行 自动化的编程规范检查。
不提供软件质量度量和软件结构分析(待定)
缺点: C和C++是两种编程语言,C的编程标准和C++的编程标准是两种不同的标准,C++ Test用一套编程标准对C和C++同时进行检查,无法做到专业、准确。

动态测试
典型的单元测试功能,自动生成测试 脚本自动打桩,C++ Test是一个工具套件,同时包含静态分析和动态测试,QA C系列工具专注于静态分析和编程标准检查,可以集成其他的动态测试工具,例如Cantata++实现动态测试的能力。

C++ Test功能比较全面,主要用在开发人员的调试、代码走查和单元测试阶段
QAC/QAC++ 可以作为企业、组织、团队的编程标准约束工具,在机构内贯彻实施编程标准的利器。
4.        技术指标分析
工具
特性        QAC /QAC++        C++ Test
支持的标准        ISO、MISRA C、MISRA C++、JSF  AV++、GJB5369、Effective C++…        MISRA C/C++ Effective C++...
规则数量        C:1300、 C++:1300        C/C++共800
报告形式        GUI 浏览器、HTML、TXT、EXCEL、WORD、PDF、XML,报告格式可以定制各种 中文模版        提供20种报告模版
中文汉化        提供中文的警告消息报告,提供中文的报告        不详
支持MISRA        作为MISRA协会的主要成员,目前QAC7.1 支持95%,QAC++2.5支持88% MISRA C++标准的规则, 是支持MISRA规则最全面的工具        其支持MISRA规则是由RuleWizard自定义模块构成,只支持部分MISRA C/C++规则
集成性        提供MS VS6.0 .NET、Tornado、Eclipse等集成插件,也自定义集成,目前还可以集成Keil, Source Insight, VisualDSP等IDE环境。
可以继承makfile 等Build环境,可以继承配置管理工具        Eclipse
Visual Studio .NET
Wind River Workbench
ARM Real View Development Studio
NetBurner
Baseline功能        能够提供Baselining功能,把历史遗留的软件最为一个基线,只报告新加入的代码和修改的代码所存在的软件问题,可以和版本管理工具集成        无此功能
规则定制        QAC/QAC++提供规则定制的接口,也就是Post Analyses接口, 用户可以利用这个接口描述编程风格,命名约定,编程限制,度量限制、代码中存在问题的规则定制
        提供Rule Wizard模块,基于GUI的规则定制,可视化开发, 学习也需要一定的 时间,开发定制规则难度亦不小

软件度量        提供C语言60多种静态度量指标
提供C++语言20多种静态度量指标
以图形化的形式报告可以导出到Excel,进行质量度量
        无(待查)
结构分析        提供函数调用关系, 数据引用关系、包含关系、函数控制流图等分析        无(待查)
编译器支持        支持所有的C/C++编译器        针对特定的主机编译器和嵌入式编译器
分析器性能        采用先进的EDG 解决方案,分析器性能优越,分析速度快。
当前主流硬件配置下万行代码不超过10秒        私有分析器技术,分析速度慢,一般比QAC/QAC++慢2倍以上,如果打开自定义规则,分析速度更慢

5.        参考案例
摩托罗拉(中国)选择QAC作为编程规范检查工具
2006年摩托罗拉(中国)某部门选用QAC作为代码规范检查工具,之前此部分曾经购买CodeWizard(现已经合并到C++Test中),使用中发现分析 结果存在较多的误报,同时也有一些不安全的代码被遗漏等情况出现,经过试用,最后认为QAC分析速度快,分析结果准确,全面,QAC的MISRA模块生成的《MSIRA一致性报告》作为该客户的代码审查唯一的依据。


航天科工集团飞航技术研究院推广QAC/QAC++编程标准检查工具
2007年初, 航天科工集团飞航技术研究院(以下简称三院)准备在全院各个研发单位实施编程标准,具体的标准制定和工具选型由304所牵头开展,2007年9月,304所对多家供应商及其工具进行调研并实际试用评估,认为QAC/QAC++:
        能够满足三院对C/C++编程规则进行自动检查的要求
        可以针对三院提出的附加规则进行开发和定制
        成熟的许可证管理机制可以在三院内网部署
        具有许可证 资源冲突和超时管理的机制
        分析速度非常快
        可以生成多种格式的报告,报告模板可以定制
综合比较QAC/QAC++功能强大,且性价比最高,最终选择了旋极公司代理的英国PR公司的QAC和QAC++,作为在全院范围内强制执行编程标准检查的指定工具,旋极公司在软件工程化和 软件测试领域处于国内领先地位,有着10多年的 经验,是很多国防和军工研发单位软件工程化和测试方案的供应商和服务商,旋极公司不仅仅为客户提供软件测试的工具,更凭借雄厚的技术实力和长期积累的经验为用户提供工具实施和项目开发的咨询服务,304所工程师和旋极公司工程师一起对GJB5369-2005《航天型号C语言安全子集》以及《Effective C++》等标准进行分析,最后对航天三院的C/C++标准进行的调整和优化,并由旋极公司提供专门的检查模块。
2008年4月,由航天304所和旋极公司共同对涉及三院的七个软件研发单位进行了编程标准和工具使用的 培训。工具许可证 安装在三院信息中心机房 服务器上,三院各单位通过内网获取浮动许可证本地使用,项目启动近一年来,QAC/QAC++在各软件研发单位发挥了巨大的作用,已经成为型号软件开发中的必不可缺的常用工具,保证了型号软件的标准符合性和软件的质量。
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: msg(1:0999) qac deep flow static analyser 4.1.0-40725 是一款静态分析工具,用于检测和分析代码中的潜在问题和错误。它可以帮助开发人员发现代码中的逻辑错误、内存泄漏、未初始化的变量、不安全的操作等问题。该工具支持多种编程语言和平台,包括C、C++、Java等。 使用msg(1:0999) qac deep flow static analyser 4.1.0-40725,开发人员可以将代码提交给工具进行分析工具会自动扫描代码,并生成详细的报告。报告中包含了代码中存在的问题的描述以及修复建议。开发人员可以根据报告中的信息,修改代码并进行再次分析,直到问题被解决。 这款工具具有高效性和准确性,能够快速识别出潜在的代码问题。它可以帮助开发人员提高代码质量,减少潜在的错误和漏洞。通过使用该工具,开发人员可以在早期阶段捕获问题,从而降低了修复成本和开发周期。 总而言之,msg(1:0999) qac deep flow static analyser 4.1.0-40725是一款强大的静态分析工具,可帮助开发人员识别和修复代码中的问题,提高代码质量和可靠性。 ### 回答2: msg(1:0999)是指在deep flow static analyser 4.1.0-40725版本中的某个消息,而qac则是对msg(1:0999)的一个质量控制标准。 deep flow static analyser 4.1.0-40725是一种深度流静态分析工具,用于代码质量控制和漏洞检测等。它可以对代码进行静态分析,自动检查代码中的错误、漏洞、风格问题等。 qac是质量控制标准之一,它是一种静态代码质量分析工具qac可以通过对代码的语法、结构和风格等方面进行分析,提供有关代码质量的指导和改进建议。它可以帮助开发人员提高代码的可读性、可维护性和可靠性。 在deep flow static analyser 4.1.0-40725中,msg(1:0999)可能是一个特定的错误或警告信息,表示代码中某一行或某一段存在问题。通过对这个问题进行分析和修复,可以提高代码的质量和可靠性。 通过使用deep flow static analyser 4.1.0-40725和qac这样的工具,开发人员可以及时发现和修复代码中的问题,提高开发效率和代码质量。这些工具的使用有助于减少代码错误和漏洞,提高软件的安全性和可靠性。 ### 回答3: msg(1:0999) qac deep flow static analyser 4.1.0-40725是一种静态代码分析工具。静态代码分析是一种代码质量检查的方法,用于发现潜在的错误、漏洞和不规范的代码。该工具可以帮助开发人员在代码编写过程中找到潜在的问题,并提供相应的修复建议。 qac deep flow static analyser 4.1.0-40725具有高度的可定制性和灵活性,可以根据不同的项目需求进行配置和调整。它能够扫描、检查和分析各种编程语言的代码,包括C、C++和Java等。通过使用该工具,开发人员可以提高代码的质量,并减少潜在风险和错误的数量。 该工具使用静态分析技术进行代码检查,而不需要实际运行代码。它会扫描整个代码库,识别潜在的问题,如空指针引用、内存泄漏、未使用的变量和函数等。它还可以检查代码的规范性和一致性,如命名规范、代码风格和注释等。 qac deep flow static analyser 4.1.0-40725能够生成详细的报告,显示每个问题的位置、类型和修复建议。开发人员可以根据报告中的信息逐一解决问题,改善代码的质量。此外,该工具还支持与集成开发环境(IDE)的集成,以便在开发过程中实时检查代码。 总之,msg(1:0999) qac deep flow static analyser 4.1.0-40725是一款强大而灵活的静态代码分析工具,可以帮助开发人员提高代码质量,并减少潜在的错误和风险。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值