赞
踩
在测评工作中,一般静态分析和逻辑测试使用Testbed工具帮助测试,代码扫描使用Klocwork工具辅助分析,本文是在测试过程中的总结
逻辑测试:选取核心代码进行插桩,将插桩后代码替代原代码进行编译,执行用例,使相关功能全部执行完成,通过testbed测试工具对软件的语句/分支覆盖情况进行检查,并对未覆盖的语句进行原因分析
1) 逻辑测试选定的代码要有针对性的选择关键模块代码,这样会更有说服力;
2) 插装后的程序应按照步骤进行修改,要不会分析不出覆盖率数据;
3) 如果分析的覆盖率数据达不到指标要求,应仔细分析覆盖率报告中那些程序未执行到,针对这些未执行到的代码,有针对性的执行动态测试用例,根据输出的覆盖数据再进行覆盖率分析;
4) 对于确有执行不到、看不明白的代码要和开发人及时沟通,分析原因,针对为执行到的代码进行叠加分析。
代码扫描:使用Klocwork对编程规范性进行检查,包括编程缺陷和安全漏洞等,提交至开发人员确认,使用源码统计专家统计代码注释率不低于20%
静态分析:用Testbed进行静态分析,分析控制流,检测有无不能运行的单元,有无无效的函数参数,扇入扇出不大于10,圈复杂度小于等于7
逻辑测试
一、选取核心代码进行插桩(一般为代码总量20%)
二、将插桩后代码更名,替代原代码进行编译,执行功能、接口测试用例,插桩代码的功能全部执行完成
三、对生成的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,查看质量度量结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。