C及C++单元测试工具白盒测试工具集成测试工具选型报告_第1页
C及C++单元测试工具白盒测试工具集成测试工具选型报告_第2页
C及C++单元测试工具白盒测试工具集成测试工具选型报告_第3页
C及C++单元测试工具白盒测试工具集成测试工具选型报告_第4页
C及C++单元测试工具白盒测试工具集成测试工具选型报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C及C+单元测试工具(白盒测试工具、集成测试工具)选型报告一、选型情况1、选型概述对比了三种C/C+单元测试工具:工具RX、工具TX、工具VU。其中,工具VU为国产软件,另外两种为国外软件。2、选型过程(1)第一阶段:通过网络搜索、咨询代理商等方式进行初步筛选,挑选出工具RX、工具TV、 工具VU作为候选软件;(2)第二阶段:成立选型小组,和候选软件的开发商或代理商进行接触,通过座谈,电话沟通, 软件演示等手段,结合单位情况、报价等多种因素进行分析;(3)编制评审结果:编制对比表格,得出评审结论,提出选择建议。3、评价方式基于实际应用的需要,从对单元测试的主要难题的解决程度、测试效率、测试 效

2、果、服务、价格等方面进行评价。二、三种软件优点与不足1、工具RX:概况:X国XX公司出品 初步了解的价格是每浮动License的售价为50万左右。优点:1:静态分析,允许用户加强代码的标准,评估软件的复杂度和可维护性。2:动态测试,验证软件需求,为测试的说明、执行、归档、重用和重复动态测 试提供一个形式上的框架。通过测试产生一个完整的诊断和质量确认的报告。提供 大量的覆盖率分析:语句覆盖、条件分支覆盖、数据值覆盖、MC/DC和用户自定义 标准。3:软件执行,测试程序是否满足需求。4:数据检查,检查用户定义的类型。5:测试脚本,根据用户定义的Test Case Definition自动生成。6:

3、自动打桩,使用桩模块模拟被测模块的函数调用。用户可以传递参数给桩模 块,并设置桩模块的返回参数7:时间工具,检测软件的执行时间。不足:1:没有底层输入和局部输入、局部输出功能,不但增加编写桩代码的工作量, 而且有些代码的测试无法进行。内部输入用桩来设定,与一般输入分开,难于维护。2:由于工具不可能自动了解被测试代码的功能,生成的用例多是垃圾,意义不 大。3:没有表格驱动功能,增加了数据建立和维护成本,也不便于对数据分类集中 以便人工检查数据的完整性。4:输入输出数据分散而不直观,不能一目了然地浏览程序行为(程序行为就是 什么输入下会执行哪些代码产生什么输出)。5:覆盖状况(如哪个条件真值未覆盖

4、)标示不清晰,没有直观逻辑结构图,分 支和路径的覆盖状况难于便利地浏览。6:没有协助用户快速找出遗漏用例的功能,难于实现高标准的覆盖。2、工具TX概况:X国XXX公司出品,曾在国内设有分公司,但在x年x月底撤消。每浮动License 售价约2.1万美元,另每年收取30%服务费。多购时单价变化不大。优点:1:可以检测编码规范2:可以自行制定规则3:检测后出现问题的地方标注清楚4:违规行为有划分等级5:代码走查,回归测试,白盒测试,黑盒测试各个功能点分开不足:1:没有底层输入和局部输入和局部输出功能,不但增加编写桩代码的工作量, 而且有些代码的测试无法进行。内部输入用桩来设定,与一般输入分开,难于

5、维护。2:由于工具不可能自动了解被测试代码的功能,生成的用例多是垃圾,意义不 大。3:没有表格驱动功能,增加了数据建立和维护成本,也不便于对数据分类集中 以便人工检查数据的完整性。4:输入输出数据分散而不直观,不能一目了然地浏览程序行为(程序行为就是 什么输入下会执行哪些代码产生什么输出)。5:覆盖状况(如哪个条件真值未覆盖)标示不清晰,没有直观逻辑结构图,分 支和路径的覆盖状况难于便利地浏览。6:没有协助用户快速找出遗漏用例的功能,难于实现高标准的覆盖。3、工具VU概况:国内xxx公司出品,2005年V1.0发布,目前最新版本为4.4。优点:1:自动生成测试驱动代码、桩代码;自动提供表格驱动

6、支持,建立用例只需在表格中填数据,数据表格支持复合类 型、数组、指针,多级指针可设置任一级的空指针;对于不便于表格驱动的数据,如链表、映射表,提供了数据转换接口,转换为 便于表格驱动的数据。与前两种工具一样,VU也有自动生成用例的功能,不过,VU认为工具不可能 自动了解代码的功能,因此主要依靠自动用例是不现实的,只能作为一个补充。2:解决了单元测试的核心难题:解耦合。不需要编写桩代码,不污染产品代码,可以像设置参数一样,随意控制底层函 数产生测试所需要的数据;同一用例多次调用同一底层函数,可以设定不同数据;支持在某些用例控制底层函数产生指定的数据,而另一些用例调用实际代码;3:解决了单元测试的

7、另一个核心难题:局部输入与局部输出支持用替换选中代码、插入代码等方式,将局部数据转换为可在表格中设置输 入的变量;支持多次赋值,方便地解决死循环之类的问题;支持在任意指定位置打印局部数据,并支持对局部数据的结果进行判断;这些功能不需要手工编写代码,且不污染产品代码。4:白盒覆盖支持语句、条件值、判定、MC/DC、分支、路径覆盖的自动统计;所有未覆盖的逻辑单位具有清晰的标示;更重要的是,具有白盒用例设计功能,针对未覆盖的逻辑单位,支持从现有用 例中计算出近似用例,并提供修改提示,用户按提示修改近似用例,即可完成覆盖; 此功能可以快速实现高标准覆盖,例如MC/DC。可标记不可覆盖的逻辑单位,并将标

8、记为不可覆盖的逻辑单位从覆盖率统计中 去除。5:支持快速开发测试结果支持程序行为描述,即同时显示指定用例的输入、所执行的代码、输 出;支持一边开发,一边自动更新测试代码并执行测试。6:可维护性与可复用性产品代码修改时,测试代码自动更新,测试代码不需要手工维护;测试数据与测试代码分离,便以维护;支持将测试数据保存到文本文件,其他函数可从文本文件导入数据;支持将测试数据保存到Excel文件,其他函数可从Excel文件导入数据;复用的数据支持针对单个数据、某类型下的数据、及整个函数的所有数据。不足:没有静态分析功能。如果需要静态分析,可以按10:1的比例,搭配专业的静态 分析工具,如PL (价格50

9、00人民币左右)。PL是最专业和老牌的静态分析工具, 其功能明显优于RX和TX所捆绑的静态分析功能。三、主要功能对比表工具RX工具TX工具VU解决耦合问题可以设定桩模块 的返回值需编写桩函数的具 体实现直接在表格设置底层函数 的返回值、出参、所修改的全局或成员变量解决局部输入无无可以控制任意局部变量,解 决死循环代码的测试等问 题解决局部输出无无可以判断变量在任意位置 的实时值测试数据通过对话框填写 数据生成测试代 码通过数据树或编写 测试代码来建立测 试数据测试数据独立于表格中,测 试过程通常只需在表格中 填数据覆盖统计支持的覆盖统计差不多,但VU的标示最清晰快速完成覆盖无无使用用例设计器可

10、快速完 成覆盖对快速开发的支 持无无支持eTDD快速开发技术支持国外厂商提供服 务国外厂商提供服务国内厂商提供技术支持,在 响应速度、沟通便利性上占 优势价格50 万/License10 万/License四、选择建议通过上述比较可看出:VU在解决单元测试的主要难题(耦合问题、局部输入、局部输出)方面优势明 显。在测试效率上,VU的工作过程基本上就是在表格中填写数据,测试数据与测试 代码分离,自动生成的测试代码自然可以自动维护。另外,表格化的测试数据也更 容易复用。在测试效果上,三者的覆盖统计差不多,但VU有用例设计器,可以快速地完成 覆盖,另外两种工具在测试复杂代码时,要完成覆盖是很困难的,Visual Unit优势 明显。服务也很重要,VU国内团队开发和服务,便于沟通,这是国外工具不能比拟的。VU没有捆绑静态分析功能,但静态分析只不过是更严格的编译,通常,把编译 器的警告等级调到最高,基本上就可以代替静态分析工具的功能,并且更便利。如 果需要静态分析,应该采购专门的静态分析工具,如PL,不但在功能上比捆绑的更 专业,而且在经济上也更合算,例如,采购10个捆绑式工具,付出的是10个单元 测试工具和10个静态分析工具的价钱,同时只有10个用户使用,而采购10个单 元测试工具+2个静态分析工具,付出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论