在软件测试中的应用程金榜_第1页
在软件测试中的应用程金榜_第2页
在软件测试中的应用程金榜_第3页
免费预览已结束,剩余1页可下载查看

付费下载

下载本文档

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

文档简介

1、C+Test 在软件测试中的应用-测试中心 程金榜摘要:随着软件行业的日益壮大和逐步成熟,软件测试也在不断发展。目前国内互联网企业已经把 40%的工作量花在软件测试上,而服务于金融等一些要求高可靠性、高安全性行业的软件,软件测试的工作量成倍数增长。面对繁重的测试任务,以人工为主的测试方法已经无法满足测试的需求。采用软件测试工具辅助测试质量,缩短工期是非常必要的。进试,对于提高工作效率,提高工作1.测试工具C+Test软件测试工具种类繁多,比较著名的有 webload、QTP、Splint、Cppcheck、C+Test 等。这些测试工具几乎覆盖了从功能到性能、从测试管理到缺陷管理、从白盒到黑盒

2、等各个方面。其中 C+Test 是美国 Parasoft 公司研发的一款C、C+的软件测试工具,具有的专利技术,其功能覆盖了从代码静态检查到代码运行环境进行动态检查,以及自动生成测试用例和回归测试等方方面面,从横向的测试宽度和纵向的测试过程都能够给软件单元测试提供足够的支持。2.主要功能简介(1)静态代码检测:C+Test 内建了包括 MISRA C+在内的 1000 余种编程规范,用户可根据实际需要选择符合要求的规范来进行代码静态检测。通过搜索代码中的“可疑点”,开始分析正在测试的源码。可疑点是潜在的错误点。这些可疑点在扫描规则中被定义。只要识别了可疑点,C+Test 就会导致该可疑点的可能

3、执行路径,并检查是否有任何确实BugDetective (C+ Test 专利技术)规则的路径存在。如果找到了这样的路径,就报告一个违例。(2)单元测试:用户可根据需求,自动生成测试用例、驱动函数、桩函数。根据用户配置自动生成单元测试所需要的测试用例、驱动模块、桩模块,并且用户可以添加、修改、删除这些自动生成的模块以达到精确测试的目的。此外,C +Test 还是一款优秀的 TCM( 团队配置管理) 和CVS( 源码器)。TCM 主要用于一个项目或者一个公司级的测试配置、抑制条件、规则文件和测试用例文件的共享,C+Test 支持与 CVS 的连接来支持共享源码和相关测试。3.C+Test 静态代

4、码检测C+Test 分为插件版和版两种版本,其中插件版集成于 IDE 环境,版则类似eclipse 界面通过项目文件的导入方式来创建测试项目,如VC6。本文采用 C+Test9.2版进行说明,插件版和3.1 导入工程版的使用方法大同小异,不再赘述。在导航器区域右击鼠标新建->项目;在打开的框中选择 microsoft vistual studio6.0 项目,单击下一步,选择需要添加的工程目录,单击完成。如图 1 至图 3 所示。或者单击菜单栏文件->新,进行项目添加。图 1 新建工程窗口图 2 选择工程窗口图 3 完成导入窗口3.2 采用规则单击菜单栏的 Parasoft 按钮-

5、>测试执行->内建->Static Analysis,选取相应的内置规则, 根据行业的特点进行选取,其中 CRules 规则为 C、C+语言基本的规则,建议选取。BugDetective 为 C+ Test 的技术,通过静态模拟程序执行路径, 可多个函数和文件,从而找到运行时缺陷。查找到的缺陷包括使用未初始化的内存,空指针,除零,内存和泄漏。这些通过常规静态分析所忽略的缺陷,可高亮显示其执行路径。图 4 规则选取窗口3.3 生成报告单击结果显示框右上角的生成报告按钮,选择生成报告的路径,默认扫描结果的报告格式是 html。如图 5 所示。图 5 规则选取窗口如下图所示为扫描结

6、果,可以按照严重度和默认分类两种类型进行排序,的客户进行选取。不同需求图 6 测试报告4.C+Test 单元测试著名测试Beizer 博士认为:"软件开发历史上最臭名昭彰的错误都是单元错误-即通过适当的单元测试可以发现的错误。"做单元测试最大的问题就在于驱动函数和大量桩函数的编写,这将占用测试大量的时间并且要求测试必须拥有比较丰富的编程经验,现在 C+Test 软件可以完成自动这一繁重的任务。4.1 自动生成测试用例单击 Parasoft 按钮->测试执行->内建->Generate Unit Tests,开始要测试的代码生成单元测试用例; 然后可以看到工

7、程下面多了一个“ tests ” 文件夹, 展开后,名为TestSuite_MySimpleHandler_cpp.cpp 即为 MySimpleHandler.cpp 的自动生成测试用例。图 7 自动生成用例4.2 自定义测试用例以 MySimpleHandler.cpp 里的 CreateLog(const char* filename)函数为例,自动生成的用例里如下图所示。用户可以对 test_CreateLog_2 进行重新编写或者重载,生成 test_CreateLog_3 函数,对 const char * _filename= "Hello world"进行修

8、改,改成其他输入参数如 const char* _filename = "%s_%02d%02d%02d%02d%02d.log",从而验证 MySimpleHandler.cpp 里的CreateLog(const char* filename)函数对于不同参数的输出结果。4.3 测试用例执行与结果分析单击菜单栏的 Parasoft 按钮->测试执行->内建->Unit testing->Run unit tests,在显示对话框中就可以查看结果了,同时还可以切换到覆盖率窗口查看执行的覆盖率。图 8 测试结果5.结语C+Test 作为一个以单元测试为主的测试工具,功能非常强大。其中内置的静态编

温馨提示

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

评论

0/150

提交评论