测试工具:insure++

安装。

  1,简介:http://baike.baidu.com/link?url=bCcoWd3xi07KMU8VGVthyQ2466AGj2sODDgNzFqEPxPiaU5wU941tBA9DPUtObjC8mdSteqCBULzX5CLpKREmq

  2,安装平台:Ubuntu 14.04.1 LTS

  3,解压及准备工作。

    1) 创建一个insure目录,并解压(tar -zxf <insure tar page>)

    2)解压后,将源包放在解压目录下。

    3)阅读README文件,或者直接使用./install。所有选项都使用默认即可。

    4)到setup 5时(README),选择A:add a license. 此时,需要hostid 和 密码。

      a. hostid 可输入 S 指令查看。

      b. 密码需要破解(破解教程需要自己搜索)

    5)得到许可(或破解)后,后面步骤分成两种。

      a. 直接使用ln -s source dist链接,并将link文件放在/usr/bin/中即可使用。

      b. 也可在.bashrc中添加全局PATH,将<tar dir>/insure/bin的路径添加的环境变量中。

        i. 路径添加的参考文章:http://blog.chinaunix.net/uid-23781137-id-3451238.html

  4,完成安装后,输入指令:insure g++ ...可能会出现:undefined reference...的错误。

    1)解决方案:http://forums.parasoft.com/lofiversion/index.php/t2617.html

    2)即在 g++ 指令后添加: -Wl,--no-as-needed.即可。

    3)理论上添加--no-as-needed不会影响程序运行,但因为对此设置了解不深刻。无法完全保证。

    4)部分工程不会报出错误,但链接后会在log文件中提示无法使用insure的功能。

常见问题。

  1,insure++中使用libdl.a静态链接问题.

    1)问题现象:

      ../base/lib64/libdl.a(dlsym.o): In function `dlsym‘: 
      (.text+0x5): undefined reference to `__dlsym‘

    2)解决方案(暂时):使用动态链接方式。即使用 *.so 文件代替 *.a文件。

    3)出现问题的原因:怀疑insure使用了对应的动态链接方式。

    4)参考文章:http://www.newsmth.net/nForum/#!article/CProgramming/113004 只有解决方案,但没有解释原因。

  2,tca [option] tca.log 出错:float points exception(core dumped)

    1)出现原因:部分文件的分母部分为0.导致计算覆盖率百分比时出错。

    2)解决办法:使用TCA界面版本,或在block为0的模块中添加一个无用的内联函数。使除法的分母为1.

    3)个人建议:使用TCA界面版本,因为这样不需要增加无用的模块(很多.h文件都是没有任何函数块的)。如服务器中没有界面,可以复制tca.log and tca.map文件到本机,再通过TCA界面打开。

    4)另外对于覆盖率,可以使用BullseyeCoverage。非常简单好用。

    PS:测试使用inusre++.file_ignore 功能,期望使用此选项忽视部分头文件。失败。设置解释为:通过此设置的文件会直接通过编译器进行编译,而不增加insure的额外代码。而覆盖率似乎与insure的插入代码 没有关联。

       “无关联”结论依据: 使用 "*.h" 忽视所有头文件,在TCA中依然可以显示所有的头文件。

      结论基于file_ingore 设置成功的前提。但无法找到方法去确定 忽略文件 的功能是正常的。如果对此结论有所怀疑,可以尝试测试file_ignore功能,如果个人对于file_ignore功能理解有误,则上述结论可能存在错误。

    PS2:复制服务器上的log and map 文件,需要重新设置map和log的路径。需要注意:tca.log中保存默认的tca.map的索引路径。如果要在其他机器上观察.log文件,需要与默认路径相同。

常用配置。

  1,配置文件.psrc。可以进行多文件配置。详情参考insure用户手册。

    1)个人建议:根目录+项目目录双重配置。当然,如果没有必要针对项目进行配置的话。可以直接使用根目录即可。

      a. 使用默认配置其实已经可以满足基本的要求。

    2)因为服务器端无GUI,所以需要将所有信息输出为文件的格式。所以,在此配置的基础文件命令如下。

      a. insure++.report_banner on
       insure++.report_file [ filename ]

  2,提取TCA文件信息(为无界面版服务)

    1)具体命令为:tca -dF tca.log >> [ filename ]

  3,常用设置。(个人阅读英文手册,测试和翻译得到。并不能保证完全理解原含义。对此有疑议的,可以参考手册。)

    1)insure++.summarize leaks ——针对leak(内存泄漏)生成一个综合报告。其他选项有: bugs coverage outstanding.

    2)insure++.report_banner on——将报告输出到默认的IO中,一般情况下,就是当前的terminal窗口

    3)insure++.report_file ./insurelog/%v-exec:%d.Log——讲报告输出到一个指定文件中。可以对名字进行一些设置。和 report_banner 冲突。开启此选项会默认关闭此选项。

    4)insure++.report_overwrite false——写入报告时,是否覆盖已有文件。默认打开

    5)inusre++.summarize coverage  //  insure++.coverage_switches tca [option]——设置 代码覆盖率报告。将代码覆盖率数据 直接 汇总的测试报告中。但未测试,是否与leak设置冲突。

    6)insure++.coverage_log_file [full path]  //  insure++.coverage_map_file [full path]——设置 覆盖率的log and map文件的保存路径

    7)insure++.compiler_fault_recovery off——默认为on,打开时,仅在链接(link)时强制使用insure。而编译时仅尝试使用,如insure任意操作失败,会自动调用默认的编译器进行编译。此时,insure对当前文件为不可用状态。

    8)insure++.compiler_fault_recovery_banner on——建议设置为on,会在执行insure插入操作时打印一条信息在terminal上。

    9)insure++.verbosity 4——编译和链接报告:0-4级。默认等级未知。开启时,会在当前目录下生成Insurelog.txt文件。等级0-4:用来设置报告(编译,链接和运行)的详细程度。      

时间: 2024-11-14 12:47:47

测试工具:insure++的相关文章

源代码测试工具推荐及点评

本文推荐并点评了软件开发测试中经常使用的20种源代码测试工具,能够帮助大部分人解决测试问题.>>原文来自20款源代码测试工具推荐及点评 AdaTEST--一款针对于Ada应用程序的覆盖率测试.静态测试和动态测试工具 AQtime--该产品含有完整的性能和调试工具集,能够收集程序运行时关键的性能信息和内存/资源分配信息,并提交概要报告和详细报告,还提供所有的程序优化处理工具,囊括了自定义过滤器.图形化的调用层次结构一直到源代码浏览等内容. BoundsChecker--为C++开发者而生的运行时

20种源代码测试工具

本文推荐并点评了软件开发测试中经常使用的20种源代码测试工具,能够帮助大部分人解决测试问题. AQtime--该产品含有完整的性能和调试工具集,能够收集程序运行时关键的性能信息和内存/资源分配信息,并提交概要报告和详细报告,还提供所有的程序优化处理工具,囊括了自定义过滤器.图形化的调用层次结构一直到源代码浏览等内容 AdaTEST--一款针对于Ada应用程序的覆盖率测试.静态测试和动态测试工具 BoundsChecker--为C++开发者而生的运行时错误检测和调试工具,支持C/C++..Net.

测试工具的选择和使用

2003年第9期<程序员>上啄木鸟部落发文“测试工具的选择和使用”,现将其中的工具列表摘录,以备忘 Parasoft白盒测试工具集 工具名 支持语言环境 简介 Jtest Java 代码分析和动态类.组件测试 Jcontract Java 实时性能监控以及分析优化 C++ Test C,C++ 代码分析和动态测试 CodeWizard C,C++ 代码静态分析 Insure++ C,C++ 实时性能监控以及分析优化 .test .Net 代码分析和动态测试 Compuware白盒测试工具集 工

最全测试工具大全

软件测试类工具大全第一部分,现列举如下,并非百分百全面,仅供测试同行参考: 功能自动化测试工具 厂商 工具名称 * Mercury Winrunner 备注:世界上最古老.经典的测试工具厂商Mercury Interactive公司(2004年改名Mercury)的绝对主打产品,于Loadrunner.Testdirector并称三雄,统治IT行业测试工具市场的20世纪末的10余年.然而它过时了,随着20世界末WEB应用技术的盛行,Winrunner显得力不从心.故2003年Mercury公司开

测试工具网址大全(转)

测试工具网址大全压力测试工具集 工具相关网址LoadRunner http://www.mercuryinteractive.com/products/loadrunner/SilkPerformer http://www.segue.com/products/load-stress-performance-testing/index.aspQALoad http://www.compuware.com/products/qacenter/qaload.htmWebLoadOpenSTA开源Jm

centos6.5 rpm安装glusterfs以及第三方测试工具

这篇文章适合初学者读,做下实验来之后对glusterfs有一个初步的了解,我的所有操作都是在一台机器上做的.还有一些环境配置我列举了一下,并没有很详细的列出来,相信大家应该没问题.一些第三方测试工具需要大家自行在网上下载.楼主也是一个一个下载下来的.此次下载的是3.47的版本,因为我们公司用的就是这个版本,之前试过其它版本,老是会出现服务挂起的现象,没有办法,版本回退 glusterfs  rpm包下载地址: https://download.gluster.org/pub/gluster/gl

12个强大的Web服务测试工具

在过去的几年中,web服务或API的普及和使用有所增加. web服务或API是程序或软件组件的集合,可以帮助应用程序进行交互或通过形成其他应用程序或服务器之间的连接执行一些进程/事务处理.基本上有两种类型的web服务——基于互联网协议,REST和SOAP推动数据和信息的通讯. 由于这些web服务暴露于网络并且分布于不同的网络,所以它们很容易受到风险和安全威胁,从而影响基于它们的进程.因此,web服务或API测试非常有必要,可以确保它们执行正确并正确地响应查询. 市场上有不少商业和开源的测试工具可

压力负载测试工具

网站压力负载测试工具:Web版已逝,只好送大伙单机版 前言: 最近老板资金周转出了点问题,工资好久没发了,于是暂闲置在家,静待老板弄到钱东山再起的消息: QQ群里,偶尔不时的会有人问,原来的分布式网站负载工具怎么下载不了啦?或者不能用啦?之类的问题. 我只能说,鉴于互联网精神,我之前把它关了. 其实主要是我那个VPS商,前端时间,估计也是资金问题,泥玛尼的打不开1个月都没人理,最后还告诉我硬盘数据全没了. 好在我够善良,不然真想拿刀砍他. 趁着感冒,敲敲代码,刺激下大脑,提高下免疫力. 虽然原来

网站压力测试工具 Webbench

webbench最多可以模拟3万个并发连接去测试网站的负载能力 Webbench是有名的网站压力测试工具,它是由 Lionbridge公司(http://www.lionbridge.com)开发. Webbech 能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况.webBech的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数 和每秒钟传输数据量.webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进行测试的能力.还

android移动app测试几款移动端测试工具分享

接触移动app测试时间不长,从开始的学习时候开始知道eclipse,但是至今不是很懂,除开创建虚拟机,进行一下log的抓取,还有分析内存泄露.以及监控一下app的资源占用之外其他并不清楚.而且pc端的不方便是显而易见的,每次都需要连接调试模式并不见得有多方便,对于一些简单的性能测试,使用移动端的测试工具会更方便,结果更直观. 首先,我接触到第一款就是网易的Emmage,又名机关枪,这款app我感觉还是最成熟最直接的,操作简单,主要用于监控单个App的CPU,内存,流量,启动耗时,电量,电流等性能