51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4156|回复: 5
打印 上一主题 下一主题

C++test静态分析之Crules

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-9-1 09:55:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、准备工作

1.了解C++test静态分析

C++test 通过静态地分析代码,来执行代码规范静态分析,以检查与指定代码规范规则的一致性。此分析旨在通过以下措施防止错误,并改进代码质量:

·  检测源码中明显或潜在的缺陷。

·  防止使用可能有损安全性的代码。

·  实施组织设计准则、规范(专用于应用程序的、专门用途的或专用于平台的)、以及从已知的特定错误中概括出来的错误预防准则。

·  通过改进类设计和代码组织,而改进代码可维护性。

·  通过应用常见的格式化、命名以及其它风格方面的约定,提高代码可读性。

2.导入待测工程

参照前面的方法,将ATM这个工程导入C++test,作为待测工程。

二、C++test静态分析之Crules

1.配置Crules

(1)在C++test下拉菜单下选择“Test Configurations(测试配置)”,如图2-1所示。

(2)在出现的窗口左侧,展开Static Analysis(静态分析)文件夹,右键单击Crules,选择Dupicate(副本),此后在User-defined文件夹下会出现Crules,如图2-2所示。

(3)选择User-defined文件夹下的Crules,在右边面板中选择Static,根据需要选择测试规则,或者直接使用默认选择的规则,单击Apply,然后单击Close,如图2-3所示。

  2.运行Crules
(1)右键单击工程名ATM,选择C++test->Test Using->User-Defined->Crules,如图2-4所示。

(2)运行Crules过程,如图2-5所示。

3.查看运行Crules的结果
(1)选择C++test面板查看测试结果,如图2-6所示。

(2)右键单击违规项,选择View Rule Documentation,可以查看规则相关文档,程序员可据此修改代码错误,如图2-7所示。

(3)右键单击违规项,选择Suppress Task,在出现的对话框中填入抑制该违规项的原因,即可抑制违规项,如图2-8所示。

(4)再次运行Crules时,在任务栏中不再出现被抑制的违规项,如图2-9所示。

(5)如果想要取消抑制,选择Windows->Show View->Other,如图2-10所示。

(6)在出现的对话框中选择Suppressions,单击OK,如图2-11所示。

(7)在Suppressions面板中找到被抑制违规项,右键单击,选择Delete,即可取消抑制,重新运行Crules,被抑制项会重新出现在任务栏中,如图2-12所示。

  4.自定义Crules规则
(1)在C++test下拉菜单下选择Launch RuleWizard,打开规则向导,如图2-13所示。

(2)在规则向导窗口中选择File->New->Rule,如图2-14所示。

(3)在新建规则窗口中的Dictionary中选择C,C++,在Statements中选择if,单击OK,如图2-15所示。

(4)在窗口的右边,右键单击被圈起来的if,选择Condition[…],如图2-16所示。

(5)在选择条件窗口中,打开Expressions文件夹下的Assignment文件夹,选择a=b,如图2-17所示。

(6)右键单击if,选择Create Output->Display,如图2-18所示。

(7)在用户自定义输出对话框里,输入avoid if(a=b) expression,单击OK,如图2-19所示。

(8)回到规则向导窗口,在右边空白处单击右键,在出现的下来菜单中选择Properties,如图2-20所示。

(9)在规则属性对话框中,填入相应规则信息,如图2-21所示。

(10)回到规则向导窗口,在右边空白处单击右键,在出现的下来菜单中选择Save或Save As,如图2-22所示。

(11)选择规则保存的路径,并为规则命名,如图2-23所示。

(12)在C++test下来菜单中选择Test Configurations,在测试配置窗口选择Crules,点击右边的Import按钮导入刚才自定义的if_assignment规则,如图2-24所示。

(13)在导入规则对话框中,点击Browse按钮,选择被导入规则路径,单击OK,如图2-25所示。

(14)自定义规则被导入后,在Rules Tree中会出现该规则,如图2-26所示。

文章来源:www.tryarm.com
最新版本C++test免费下载:www.edukit.com.cn

[ 本帖最后由 lilycheng 于 2009-9-1 09:56 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2009-9-1 10:28:40 | 只看该作者

非常感谢51Testing

这几天忙着充实我们的tryarm论坛,也没有来这里发帖,刚刚去了领测,发现我原来的帖子都被删了,账号也被封了,确实,我的帖子带有做广告的成分,但是不也给大家提供了许多学习资料吗?我的帖子里面都是非常多图片的,从图片的处理到上传,还是有点工作量的,就这么全给删了,我也挺心疼的,所以非常感谢非常感谢51Testing,没有删帖,也没有封号,也希望我的帖子给大家更多的帮助吧。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2012-5-14 15:45:30 | 只看该作者
挺好的,正找c++test的使用资料呢
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2012-5-14 15:45:44 | 只看该作者
挺好的,正找c++test的使用资料呢
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2012-5-14 15:58:59 | 只看该作者
挺好的,正找c++test的使用资料呢
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2015-6-24 15:34
  • 签到天数: 50 天

    连续签到: 1 天

    [LV.5]测试团长

    6#
    发表于 2015-1-4 14:17:57 | 只看该作者
    我也在整理这方面的资料,请问你们都学习多久了?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-20 10:35 , Processed in 0.088403 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表