昨天分析有300条诊断,今天只改了几个文件,结果却降到80条。先别急着把差额记作整改成果,还要查本次是否只上传了部分文件、视图是否隐藏了抑制项。QAC如何保存分析结果的历史快照,QAC历史结果对比时违规数量变化异常如何核验,应将快照与源码版本、分析配置一起保留。以下以QAC配套Dashboard的快照流程为例。
一、QAC如何保存分析结果的历史快照
Dashboard中的一次结果上传会形成一个快照。要用它记录项目变化,上传内容和来源就应保持可追溯。
1、保存本轮代码和配置
①固定源码提交,记录分支、提交标识及配置名称,避免将未经确认的工作目录作为正式快照来源。
②保存QAC版本、分析组件版本及CCT、ACF、RCF文件,同时保留宏定义、包含路径和分析文件清单。
③完成约定范围的分析,检查解析错误、超时及未分析文件。分析后若又修改源码,应重新分析再上传。
2、连接Dashboard并上传完整项目
①在【Perforce QAC Dashboard】菜单选择【Connect to Perforce QAC Dashboard Server】,登录后检查连接状态,确认账号具有上传权限。
②进入【Upload Results】,选择上传完整项目的【Upload Project to Perforce QAC Dashboard】选项,打开上传对话框。
③核对【Project Name】,在【Snapshot Name】填写能够对应提交或构建的名称。
④点击【OK】,等待上传完成,再到Dashboard打开新快照,检查文件范围和诊断明细。
3、设置源码保存和父快照
①检查【Upload Source】。需要直接保留全部源码时选择【All】;选择【None】时,应确认版本控制配置能够定位对应源码。
②后续需要从Dashboard下载快照作为诊断基线时,应确保上传包含相应源码,不能只保存诊断结果。
③核对【Snapshot Parent】,需要接到指定历史节点时明确填写;留空时通常使用最近上传的快照作为父节点。
④多分支或多人上传时,确认项目和历史链,避免将不同来源的结果直接串成一条整改趋势。
4、确认项目不会覆盖历史记录
①检查Dashboard项目是否启用了【Single Snapshot Mode】。需要保存多轮历史时,不应使用持续覆盖单份快照的模式。
②对正式共享项目采用受控上传,从固定构建环境逐次提交完整结果。
③若只上传选中文件,将其作为限定范围的审查结果记录,不要直接代表整个项目。
二、QAC历史结果对比时违规数量变化异常如何核验
先比较输入范围,再比较诊断。两份结果没有覆盖同一批文件,直接相减很难说明整改情况。
1、核对快照、文件和父子关系
①分别打开两份快照,核对名称、对应提交、项目及配置,确认没有选错分支或构建结果。
②对照文件清单,检查本轮是否使用过【Upload Selected Files to Perforce QAC Dashboard】,或命令行上传时指定了文件列表。
③检查【Snapshot Parent】是否符合预期,确认历史链连接到了计划中的节点。
④如果某文件未进入中间快照,还应核对其Dashboard抑制信息。部分上传可能影响抑制向后继承,之后该文件重新出现时,可见诊断数量也可能变化。
2、统一筛选及统计单位
①在本地【Analysis Results/Diagnostics】中选择相同文件范围,核对消息类别及Severity过滤条件。
②检查是否隐藏了基线抑制、Dashboard抑制、注释或pragma抑制的诊断;查看基线项时启用【Show baseline suppressed diagnostics】。
③核对分页。诊断面板默认每页显示100条时,当前页行数不能代表全部结果。
④明确统计的是主诊断、子消息还是规则映射数。一条诊断可能对应多条规则,展开后的子消息也不应直接当成独立违规累计。
3、按消息ID定位变化来源
①按诊断ID、文件和规则整理差异,找出增长或下降明显的部分,双击消息进入源码位置。
②点击【ID】查看消息说明,再对比CCT、ACF和RCF。RCF控制规则及相关消息,ACF涉及分析组件,CCT变化也可能影响源码理解。
③比较宏定义和包含路径,检查条件编译是否让某段代码进入或退出分析。
④将条目分为新增、仍存和不再出现,再确认消失原因属于修复、删除、排除还是抑制。总数下降不等于本轮没有新问题。
三、QAC历史数量异常如何通过复算确认
如果范围和视图都已对齐,仍解释不了差异,可以保留原快照,用受控复算缩小问题来源。
1、对旧代码使用新旧配置分别分析
①取回旧快照对应提交,使用原工具和配置复算,核对能否重现原诊断。
②对同一份旧代码应用当前配置,比较消息变化,记录哪些差异来自分析器、规则或编译环境。
③使用同一套当前配置分析新代码,将配置变化与代码变化分别记录,不覆盖原始快照。
2、将核验结果补回快照记录
①保存新增、仍存和消失条目的明细,附上文件范围、筛选条件、配置版本及复算结果。
②对确认属于上传缺口或配置错误的结果,重新完整分析并另建快照,保留异常快照的说明。
③未接入Dashboard的项目,可在独立目录归档源码版本、配置、分析输出及报告,为后续复算保留资料。
总结
QAC如何保存分析结果的历史快照,QAC历史结果对比时违规数量变化异常如何核验,关系到整改记录能否经得起复查。一次明显下降,可能来自代码修复,也可能只是文件没有上传齐。给快照留下源码、配置和范围信息,接手人员便能查清当时分析了什么,而不必根据曲线猜测。希望这些操作能帮助大家解释每轮结果的变化,让历史数据更便于用于代码评审和交付核验。如有QAC相关需求,欢迎联系我们咨询。