测试工具使用心得:Testbed与Klocwork

发表于:2023-11-27 09:29

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:找到你的天赋了嘛    来源:CSDN

  在测评工作中,一般静态分析和逻辑测试使用Testbed工具帮助测试,代码扫描使用Klocwork工具辅助分析,本文是在测试过程中的总结。
  一、测试类型的思考
  逻辑测试:选取核心代码进行插桩,将插桩后代码替代原代码进行编译,执行用例,使相关功能全部执行完成,通过testbed测试工具对软件的语句/分支覆盖情况进行检查,并对未覆盖的语句进行原因分析:
  1) 逻辑测试选定的代码要有针对性的选择关键模块代码,这样会更有说服力;
  2) 插装后的程序应按照步骤进行修改,要不会分析不出覆盖率数据;
  3) 如果分析的覆盖率数据达不到指标要求,应仔细分析覆盖率报告中那些程序未执行到,针对这些未执行到的代码,有针对性的执行动态测试用例,根据输出的覆盖数据再进行覆盖率分析;
  4) 对于确有执行不到、看不明白的代码要和开发人及时沟通,分析原因,针对为执行到的代码进行叠加分析。
  代码扫描:使用Klocwork对编程规范性进行检查,包括编程缺陷和安全漏洞等,提交至开发人员确认,使用源码统计专家统计代码注释率不低于20%。
  静态分析:用Testbed进行静态分析,分析控制流,检测有无不能运行的单元,有无无效的函数参数,扇入扇出不大于10,圈复杂度小于等于7。
  二、工具的测试步骤
  逻辑测试
  1、选取核心代码进行插桩。(一般为代码总量20%)
  2、将插桩后代码更名,替代原代码进行编译,执行功能、接口测试用例,插桩代码的功能全部执行完成。
  3、对生成的exh文件进行分析。
  进入Set-Select/Create/Delete Set窗口,输入项目名称ceshi0823,点击Create弹出的窗口中选择Group进入Set-List/Add/Remove Files in Set窗口,点击Add,添加需要插桩的代码(插桩代码最好不存在中文路径),点击OK,添加成功。
  进入Analysis-Select Analysis窗口,勾选Main Static Analysis(基本静态分析)和Generate Instrumented Program(s)(生成插桩程序),点击Generate Instrumented Program(s)后面的configure。
  勾选下图中红框框起来的选项进行插桩配置,点击OK,保存配置信息。
  点击Start Analysis ,进行插桩,插桩后生成以inszt_为前缀的文件。此文件夹下的文件不要进行删除、移动、修改操作(对结果进行分析时testbed识别此路径下的文件及时间)将inszt_为前缀的文件复制出来,去掉前缀,原名替换代码中相应的.c文件。进行编译后,打开软件,动态执行功能、接口等测试用例,覆盖插桩的功能。
  执行完测试用例后,退出软件。在程序路径下搜索.exh,搜索到的文件为插桩程序生成的文件,格式如下所示:打开后每一行有一个数字(0-255之间,数字越大,说明覆盖率越高),前面空5个格。(当exh文件不符合此格式时,需手动调整为此格式)
  进入Analysis-Select Analysis窗口,勾选Dynamic coverage Analysis,点击后面的configure,选择生成的.exh文件存放路径(最好不要用中文路径),点击确定按钮,点击Start Analysis ,进行分析查看分析结果,分支覆盖、语句覆盖率。
  代码扫描
  K8安装成功后,首先以管理员身份Start Klocwork Severs。
  点击file-New Project,输入项目名称、选择需要分析的语言,点击Next。
  选择Bulid from Source Root Directories,点击Add,添加源码所在文件夹(不要有中文),点击Finish。
  右键点击项目名称,选择Build,在弹出的窗口中选择存放分析结果的路径(路径不要有中文),点击Build,软件开始进行分析,在存放结果路径下查看测试结果,测试结果保存。
  对需要扫描的规则进行勾选,点击OK,保存后进行扫描。
  静态分析
  进入Set-Select/Create/Delete Set窗口,输入项目名称ceshi0803-jt,点击Create,弹出的窗口中选择System。
  进入Set-List/Add/Remove Files in Set窗口,点击Add,添加需要分析的代码。
  进入Analysis-Select Analysis窗口,勾选Main Static Analysis(基本静态分析)、Complexity Analysis(复杂度分析)和Static Data Flow Analysis(静态数据流分析),点击Start Analysis ,开始进行分析。
  分析完后,选择Group Results-Text Results-Quality Review Report,查看质量度量结果。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号