常见软件项目度量指标介绍基本度量项持续时间偏差(%)((实际持续时间-计划持续时间)/计划持续时间)*100(持续时间不包含非工作日)进度偏差(%)((实际结束时间-计划结束时间)/计划持续时间)*100工作量偏差(%)(实际工作量-计划工作量)/计划工作量规模偏差(%)((实际规模-计划规划)/计划规模)*100分配需求稳定性指数(%)(1-(修改、增加或删除的分配需求数/初始的分配需求数))*100软件需求稳定性指数(%)(1-(修改、增加或删除的软件需求数/初始的软件需求数))*100发布前缺陷发现密度(个/KLOC)((发布后缺陷发现总数-(发布后前测试计划本身缺陷数)/规模(KLOC)(这里的发布指开发向测试部发布)遗留缺陷密度(个/KLOC)(遗留缺陷:测试部发现的缺陷)(测试部发现缺陷数-测试部测试计划本身缺陷数)/规模(KLOC)生产率(LOC/人天)软件规模(LOC)/总工作(人天)质量控制活动缺陷发现密度(度量目的:建立基线,评估评审、测试是否充分提供参考)SRS评审缺陷发现密度(个/页)SRS评审发现的缺陷数/SRS文档页数STP评审缺陷发现密度(个/用例)STP评审发现的缺陷数/ST用例数HLD评审缺陷发现密度(个/页)HLD评审发现的缺陷数/HLD文档页数ITP评审缺陷发现密度(个/用例)ITP评审发现的缺陷数/IT用例数LLD评审缺陷发现密度(个/页)LLD评审发现的缺陷数/LLD文档页数UTP评审缺陷发现密度(个/用例)UTP计划评审发现的缺陷数/UT用例数CODE评审缺陷发现密度(个/KLOC)CODE评审发现缺陷数/编码阶段代码规模UT缺陷发现密度(个/KLOC)UT发现缺陷数/UT阶段代码规模IT缺陷发现密度(个/KLOC)IT发现缺陷数/IT阶段代码规模ST缺陷发现密度(个/KLOC)ST发现缺陷数/ST阶段代码规模缺陷类型引入密度:(度量目的:建立基线,为分析能力水平薄弱环节及交付件质量提供参考)SR缺陷引入密度(个/页)SRS类型缺陷数/SRS文档页数HLD缺陷引入密度(个/页)HLD类型缺陷数/HLD文档页数LLD缺陷引入密度(个/页)LLD类型缺陷数/LLD文档页数Code缺陷引入密度(个/KLOC)CODE类缺陷数/代码规模评审活动的有效性(度量目的:建立基线,对相关评审是否充分提供参考)SRS评审有效性(%)SRS评审发现的SRS类缺陷数/SRS类缺陷总数HLD评审有效性(%)HLD评审发现的HLD类缺陷数/HLD类缺陷总数LLD评审有效性(%)LLD评审发现的LLD类缺陷数/LLD类缺陷总数代码评审有效性(%)代码评审发现的Code类缺陷数/Code类缺陷总数每千行代码的文档规模(度量目的:建立基线,为评估交付件的质量从设计是否充分、粒度是否合理角度提供参考)每千行代码SRS文档规模(pages/KLOC)SRS文档页数/代码规模每千行代码HLD文档规模(pages/KLOC)HLD文档页数/代码规模每千行代码LLD文档规模(pages/KLOC)LLD文档页数/代码规模质量成本质量成本(%)(评审工作量+返工工作量+缺陷修改工作量+测试计划准备工作量+测试执行工作量+培训工作量+质量保证工作量)/实际总工作量返工成本指数(%)(返工工作量+缺陷修改工作量)/实际总工作量交付件生产率SRS文档生产率(页/人天)SRS文档页数/(SRS文档准备工作量+SRS评审工作量+SRS修改工作量)STP用例生产率(用例/人天)ST用例数/(STP准备工作量+STP评审工作量+STP修改工作量)HLD用例生产率(页/人天)HLD文档页数/(HLD文档准备工作量+HLD评审工作量+HLD修改工作量)ITP用例生产率(页/人天)ITP用例数/(ITP准备工作量+ITP评审工作量+ITP修改工作量)UTP用例生产率(页/人天)UTP用例数/(UTP准备工作量+UTP评审工作量+UTP修改工作量)编码阶段代码生产率(LOC/人天)编码阶段实际代码规模/(编码工作量+代码评审工作量+代码修改工作量)测试执行效率UT用例执行效率(用例/人天)UT用例数/(UT准备工作量+UT用例执行工作量+UT缺陷修改工作量)IT用例执行效率(用例/人天)IT用例数/(IT准备工作量+IT用例执行工作量+IT缺陷修改工作量)ST用例执行效率(用例/人天)ST用例数/(ST准备工作量+ST用例执行工作量+ST缺陷修改工作量)每千行代码测试用例规模(度量目的:建立基线,为评估交付件的质量从设计是否充分、粒度角度提供一个参考)每千行代码ST用例规模(用例/KLOC)ST用例数/代码规模每千行代码IT用例规模(用例/KLOC)IT用例数/代码规模每千行代码UT用例规模(用例/KLOC)UT用例数/代码规模实测规模缺陷发现密度(度量目的:建立基线,为评估测试用例的质量提供一个参考)UT实测规模缺陷发现密度(个/KLOC)UT发现的缺陷数/UT活动实际测试代码规模IT实测规模缺陷发现密度(个/KLOC)IT发现的缺陷数/UT活动实际测试代码规模ST实测规模缺陷发现密度(个/KLOC)ST发现的缺陷数/UT活动实际测试代码规模总结:开展度量活动的一个最关键的因素是要保证度量基础数据的有效、准确性,否则度量结果将是垃圾,反而会起误导作用.搜集准确有效的度量数据工作量并不小,所以决定采用哪些度量项需要从投入和产出来衡量。测试过程中的常用度量元序号优先级度量对象度量元度量单位采集周期采集/计算方法分析方法作用11用户发现的各类型的缺陷缺陷个数个交付阶段直接统计80-20分析:对缺陷类型按缺陷个数排序,找出客户发现的最多的20%的缺陷类型分析客户的关注点是什么?为什么客户能发现这些类型的缺陷,为什么我们没有测试出来?定义改进措施维护阶段21软件模块缺陷密度个/KLOC系统测试阶段缺陷个数/代码规模80-20分析:对所有模块的缺陷密度进行排序比较,找出缺陷密度最大的20%模块找出质量最差的模块,采取改进措施31遗留的缺陷缺陷个数个系统测试阶段上阶段遗留的缺陷个数+本阶段发现的缺陷个数-本阶段解决的缺陷个数和阶段出口准则对比里程碑评审决策的依据41各级别严重程度的缺陷缺陷个数个系统测试阶段直接统计和项目目标对比判断是否达到测试结束与产品发布准则51回归测试活动缺陷个数个系统测试阶段直接统计趋势线分析:横坐标为某次回归测试,纵坐标为缺陷个数,建立拟合曲线,判断收敛性针对每次回归测试活动,进行收敛分析,作为发布决策的依据62代码走查代码走查的效率个/小时编码阶段代码走查发现的缺陷个数/代码走查的工作量和项目目标对比比较评审与测试的效率,以确定二者投入工作量的比例72单元测试测试效率个/小时编码阶段单元测试发现的缺陷个数/单元测试的工作量和项目目标对比建立单元测试的性能基线,预测单元测试投入的工作量82系统测试测试效率个/小时系统测试阶段缺陷个数/测试工作量和项目目标对比建立测试活动的投入产出模型,用以估计为了达到项目的质量目标而需要的测试工作量92系统测试系统测试用例相对逻辑规模的密度个/功能点系统测试阶段系统测试用例个数/需求的规模和项目目标对比判断系统测试的充分性102系统测试系统测试用例相对物理规模的密度个/KLOC系统测试阶段系统测试用例个数/代码规模和项目目标对比判断系统测试的充分性113测试发现各类型的缺陷缺陷个数个编码阶段直接统计80-20分析:对缺陷类型按缺陷个数排序,找出最多的20%的缺陷类型根据类型的分布,查找错误的原因,定义编码或设计的改进措施系统测试阶段123单元测试缺陷密度个/KLOC编码阶段单元测试发现的缺陷个数/代码规模和项目目标对比建立单元测试的性能基线,用以制定项目的质量目标133单元测试单元测试用例相对物理规模的密度个/KLOC编码阶段单元测试用例个数(或断言的个数)/KLOC和项目目标对比判断单元测试的充分性143集成测试集成测试用例相对物理规模的密度个/KLOC集成阶段集成测试用例个数/KLOC和项目目标对比判断集成测试的充分性153系统测试测试用例的有效性%系统测试阶段依据测试用例发现的缺陷个数/所有的缺陷个数和项目目标对比评价测试用例的有效性,判断是否需要提高测试用例的设计技术