刚接触C/C++test的编码规范检查,容易先选一套规则扫描整个项目,结果一次出现几百条告警。逐条看之前,先确认检查范围和规则集是否符合项目要求。下面以C/C++test Professional的Eclipse集成界面为例,说明如何配置检查,以及告警过多时怎样调整。
一、C/C++test怎么配置编码规范检查
C/C++test通过测试配置决定扫描哪些代码、启用哪些规则。内置配置可以直接运行;需要调整规则时,先复制一份,再修改复制后的配置。
1、选择检查规则集
①点击【Parasoft】→【Test Configurations】,展开【Built-in】→【Static Analysis】。
②选择【Recommended Rules】,查看其当前启用的规则;如果项目采用特定编码标准,在相应的内置配置分类中选择对应规则集。
③右键点击选中的配置,选择【Duplicate】,在【User-defined】中打开复制后的配置。
2、调整要检查的规则
①打开复制后配置的【Static】,勾选【Enable Static Analysis】。
②进入【Rules Tree】,在【Filter】中输入规则名称或编号,找到要启用的规则。
③勾选项目需要的规则;对于确定不适用的规则,取消勾选。
④如需按类别调整,右键点击规则类别,选择【Enable Rules】或【Disable Rules】中的对应选项。
⑤点击【Apply】→【Close】,保存配置。
3、运行检查并查看结果
①在项目树中选中要检查的项目、文件夹或源文件。
②点击【Parasoft】→【Test Using】→【User-defined】,选择刚保存的配置。
③检查结束后,打开【Quality Tasks】视图中的【Fix Static Analysis Violations】,展开告警查看规则编号和对应代码行。
④双击带行号的告警,跳转到源代码位置。
二、C/C++test编码规则检查告警过多如何调整
先从告警列表里找出数量最多的规则和文件。如果大量提示集中在生成代码,优先调整扫描范围;如果集中在某条规则,就查看规则说明后再决定是否保留。限制显示数量可以让列表简短,但不会替你判断告警是否有效。
1、缩小本次扫描范围
①在项目树中只选中当前需要检查的源文件或模块,再运行测试配置。
②如需固定扫描范围,打开【Parasoft】→【Test Configurations】,选中自定义配置,进入【Scope】。
③在【File Filters】的路径选项中设置需要包含或排除的路径。
④对自动生成的文件,可在【Scope】中设置按文件内容标记跳过,保存后重新运行。
2、处理反复出现的规则
①在【Quality Tasks】中找到出现次数较多的告警,右键选择【View Documentation】,阅读触发条件。
②如需查看是哪套配置触发了告警,右键选择【View Test Configuration】。
③确认规则不适用于当前项目后,在自定义配置的【Static】→【Rules Tree】中搜索该规则并取消勾选。
④点击【Apply】→【Close】,重新运行检查,核对告警变化。
3、限制单条规则的报告数量
①打开自定义配置的【Static】。
②勾选【Limit number of violations reported per rule】,填写每条规则在一次检查中最多报告的数量。
③点击【Apply】→【Close】,重新运行检查。
这个设置只限制报告出的条数。例如某条规则实际触发了更多位置,达到上限后,列表不会继续显示其余位置;需要完整排查时,应调高或取消限制。
4、对个别可接受告警添加抑制
①在【Quality Tasks】中右键点击已确认可接受的告警,选择【Suppress Task...】。
②选择【Suppress in suppression file】或【Suppress in source code】。
③填写具体的抑制原因,点击【OK】。
④重新运行检查,确认该条告警不再出现,同时核对同一规则的其他告警仍正常显示。
三、调整后如何维护规则配置
告警数量降下来后,建议保留一套团队认可的检查配置。这样后续复查时,大家看到的是同一批规则,也能分清告警变化来自代码修改还是配置变化。
1、核对规则改动
①打开【Parasoft】→【Test Configurations】,选中调整前后的两个配置。
②右键选择【Compare】,查看启用规则及其他设置的差异。
③对不符合预期的改动,返回自定义配置修改并保存。
2、保留可复用配置
①在【Test Configurations】中右键点击确认可用的自定义配置,选择【Export】。
②选择保存位置,点击【Save】。
③下次需要在其他环境使用时,右键点击【User-defined】,选择【Import】,导入该配置文件。
总结
编码规范检查真正有用的地方,是让团队及时看见值得处理的问题,同时能说清每条规则为什么适用于项目。面对一长串告警,可以先挑一个模块、几条高频规则查起,再逐步扩大范围;对确实需要保留的例外,也留下具体原因,方便以后复核。希望这篇关于C/C++test编码规范检查配置和告警调整的内容对大家有帮助。如有C/C++test相关需求,欢迎联系我们咨询。