测试C 软件举例说明介绍
创始人
2024-06-20 10:10:18
0

C++软件不同于C的一个关键地方就在于,C++在完全保留有C的高效的基础上,增添了抽象机制。而所谓的“现代C++风格”,让我们感受到科学和美学的统一所展现出的巨大魅力。

C++软件测试用例的生成主要还是测试一些边界值,例如***值、最小值、0等。假设我们要测试如下一个类的成员函数:void strcpy(char* dest, char const * src),则软件会自动生成如下9个测试用例:

  1. <module name="FileLength"/>   
  2.  
  3. <module name="LineLength">   
  4.  
  5. <property name="max" value="120"/>   
  6.  
  7. </module>   
  8.  
  9. <module name="MethodLength">   
  10.  
  11. <property name="max" value="300"/>   
  12.  
  13. </module>   
  14.  
  15. <module name="ParameterNumber"/>  
  16.    
  17. <module name="RedundantThrows">   
  18.  
  19. <property name="allowUnchecked" value="true"/>   
  20.  
  21. <property name="allowSubclasses" value="true"/>   
  22.  
  23. </module>  
  24. <module name="VisibilityModifier">   
  25.  
  26. <property name="protectedAllowed" value="true"/>   
  27.  
  28. <property name="packageAllowed" value="true"/>   
  29.  
  30. </module> 

可见,如果我们的代码在实现时没有对各种可能情况(尤其是边界条件)进行特殊处理的话,则通过C++Test可以方便地发现这些潜在的问题。此外,对于一些特殊的测试情况,我们还可以手工创建测试用例。此外,采用C++ Test也可以帮助我们检查程序的编码情况,判断是否严格按编码规范进行开发。

C++ Test的使用比较简单,即可以针对一个VC工程进行全面的测试,也可以一次只对一个C++软件进行测试。在试用中发现,如果项目比较大时,***不要直接对一个工程进行自动测试,而应按文件一个一个地测试,否则可会会导致程序死掉。由于其是采用JAVA技术开发的,所以在使用时***使用运算速度较快的机器。

ProfileConf直接使用了第三方SNMP协议包,而ProfileConfNew则使用了封装后的SNMP协议软件包。进行协议封装的目的一是为了隔离第三方软件包,另一个目的是为了简化客户端使用SNMP协议栈的操作。#t#

改造完成后,我们使用Together自带的软件测量工具进行了数据测量。选择Together菜单中tools——>metrics,里面提供了大量的测量指标。通过数据可以看出,改进以后,编写的代码有所减少,大约节省三分之一的代码;耦合度有所降低,但并不是特别明显,因为我们把对第三方协议包的依赖转为对自己编织的协议包的依赖了;

C++软件代码复杂度大大降低,这是因为我们自己编写的协议包更符合实际使用情况,因而使代码编写难度大大降低,非常容易学习,修改和维护。数据说明了一切。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...