测试C++软件举例说明介绍

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

当前标题:测试C++软件举例说明介绍
当前链接:http://www.hantingmc.com/qtweb/news43/486643.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联