深度剖析C++Test测试问题

开发 后端
也许大家对C++Test测试还不是很了解,看完本文后对您一定会大有帮助,下文除了学习C++Test的基本性质外还对C++Test测试的新特性进行全面研究。

C++Test测试自动建立一个测试驱动程序,其设计目标是极大化类的测试覆盖性和错误检测。为类建立测试驱动,你只要简单地打开这个类,然后按Build Test键,C++Test将自动建立测试驱动程序。

另外,如果被测的方法需要调用当时还不存在或无法访问的函数,C++Test能够自动生成桩函数;这样能够测试与外部资源操作的交互作用和不包含任何隐藏的弱点。C++Test不是实际调用这些函数,而是调用桩函数并返回桩函数提供的值。

如果你需要控制使用的返回值,你可以建立一个桩调用表,生命输入/输出的关系。 你还能加入用户定义的桩函数。例如,如果你要使用原始的函数,且该函数定义在不同的文件中;或者你想要仿真原始函数的行为,而用一个简单的函数替代它自动生成C/C++类的测试驱动程序和桩函数的能力是C++Test所独有的;

只有C++Test测试能够自动测试C/C++类(一当它能够编译时),而不需要用户的任何干预。使得你能够尽快地自动检测代码错误,以最容易、最省钱和最快速的方法找到和修正它们。如果没有这样的自动化工具,大量的时间和资源消耗将失去单元测试的潜在好处和现实意义。

静态测试
C++Test测试内嵌了业界最出名的Effective C++(epcc)、More Effective C++(mepcc)、meyer-klaus(mk)以及Universal Code Standard(ucs)等超过700条的C/C++规范,用户自己还能自定义规范。

同时,它也集成了由parasoft累积出来的一些规范。静态测试中,C++Test会对代码进行详尽的扫描,验证代码中是否存在和这些规范相冲突的地方,尽快的发现一些简单或低级错误,避免由它们带来的集成扩散。

白盒测试
C++Test提供了一种有效并且高效的方法执行白盒测试。C++Test完全自动执行所有的白盒测试过程,自动生成和执行精心设计的测试用例。自动标记任何运行失败,并以一种简单的图示化结构显示。然后自动保存这些测试用例,能够方便地用于以后的回归测试。

由于C++Test能够自动生成桩函数,或允许你加入自己的桩函数,因此它能够测试引用外部对象的类。换句话说,C++Test能够运行任何一个或一组类,并自动生成和执行一组测试用例,它们被设计成能够发现尽可能多的错误。 C++Test允许你定制白盒测试用例的生成,和在什么层次上(项目、文件、类或方法)执行测试。

黑盒测试
C++Test通过自动化黑盒测试的大部分操作,减轻了这类测试的负担。特别是以两种方法自动化黑盒测试的第一阶段--建立测试用例:
· 帮助你设置每个测试用例的结果。

你可以简单地输入测试用例输入,然后让C++Test运行测试用例并自动确定实际的输出结果。如果结果正确,不需要其它动作。如果结果不正确,你可以输入预期的输出结果。这样比手工输入每个测试用例的结果更快更容易。自动生成测试用例的核心集合。

C++Test测试自动设计了一组广谱的白盒测试用例。当使用这些测试用例在黑盒测试时,你只需简单地观察实际的输出结果,然后对任何不正确的结果输入预期的值。
当你需要输入或修改测试用例时。

你可以在C++Test自动生成的测试用例框架种简单地键入相应的值。这将显著地加快建立测试用例的过程。 在自动化建立黑盒测试用例的大多数步骤之外,C++Test完全自动化余下的黑盒测试步骤。按一个键,你能够对项目、文件、类或方法运行一个或一组。C++Test然后自动执行所有的测试用例,报告所有的输入/输出关系,并标记任何实际输出与预期不一致或导致程序崩溃的测试用例。

回归测试
C++Test完全自动化与回归测试有关的所有步骤。C++Test首次测试某个类时,自动保存其测试和测试参数。当需要执行回归测试时,你可以打开合适的项目和文件,运行所有原来的白盒和黑盒测试用例;C++Test会自动运行完全相同的测试用例和测试参数,并告之发现的任何问题。这意味着你能够立即知道修改是否引入了任何错误。

监视测试覆盖性
为了帮助你测量当前使用的测试用例集合的有效性,并且给你提供达到尽可能高的覆盖性的信息,C++Test自动监视测试覆盖性。
C++Test测试实时跟试覆盖性,然后建立一个综合测试覆盖性报告。

覆盖性窗口图示化地说明了当前正在被执行的代码行,已执行过的行和每行的执行次数。因此,它不仅指出了一个代码行是否被测试过,而且说明了被测试的有多彻底。这些信息对于确定那些代码需要追加测试是非常有帮助的。

【编辑推荐】

  1. C与C++中标准输入实现方式上的一点区别
  2. C++编译器如何对Const常量进行分配存储空间
  3. C++类库设计的基本构思与方法
  4. 玩转C++语言的几种方法
  5. 如何更好的进行C++代码编制
责任编辑:chenqingxiang 来源: NET130
相关推荐

2010-01-22 14:41:46

C++Test

2010-02-07 15:42:46

Android单元测试

2010-01-15 14:00:24

C++Test

2010-01-14 18:11:51

C++Test

2010-01-18 09:49:13

C++Test

2010-01-15 17:31:18

C++Test

2010-01-14 15:15:39

C++Test

2010-01-12 16:33:58

C++test

2010-01-19 15:47:05

C++Test

2010-01-25 11:05:14

C++Test

2010-01-28 14:33:58

C++Test工具

2010-01-20 10:40:44

C++Test

2010-01-27 15:50:23

C++复杂性

2010-01-11 10:19:57

C++开发工具

2010-02-01 13:34:59

Python 脚本

2010-03-03 17:43:12

Android系统

2010-02-26 17:44:40

Python测试框架

2010-03-01 18:21:08

Python测试

2014-01-09 09:24:32

Linux渗透测试渗透测试

2010-02-06 15:32:30

Android架构
点赞
收藏

51CTO技术栈公众号