无处不在的模型之简要质量度量 高效运维社区郑欣 郑欣 高效运维社区资深专家 曾就职于大连创盛,EMC²,立思辰,作业盒子等企业,担任测试管理相关工作。专注于测试团队效能提升改进,敏捷化转型,DevOps改造等相关领域的工作 请替换您的照片 01无处不在的模型 目02质量度量模型 contents 录03模型诊断 04模型应用 PART01 无处不在的模型 漏斗模型 金字塔模型 无处不在的模型 23年3月21日,随着ChatGPT4的发布,大模型被推上了风口浪尖。 LOREM LOREM 中小模型是我们工作的法宝。 LOREM LOREM 波士顿矩阵 分层模型 为什么要建质量模型 1)概念抽象:IT研发过 程比较复杂,很难对质不 量进行宏观的综合判断。易 解 没办法衡量好坏。理 2)碎片化:用单一指标平铺的方式进行度量表达,可读性差,表达片面限制人们的分析理解。 木桶效应质量建模 碎片化 4)难以指导改进:仅对指针 标进行展示,不代表反馈对 差 了质量。缺失了加工分析,性 得出结论的过程,不利于优化改进。 3)缺乏针对性:对企业长期存在的痛点问题,对应性差。无法通过指标引导,进 行各种痛点问题的集中体现。 3 4 质量模型困境 效果评估 模型选择 1.理论模型多,如何选择? 2.公共模型涉及广泛,如何指导实践? 3.指标多,如何管理使用? 4.建模之后,如何证明模型正确有效? 模型一定是正确的吗? 模型演进 随着科学的发展,每天都有模型被抛弃、修正、提升、迭代 模型应用 模型是定制的,方法是通用的,建模方法可以在垂直范围内跨领域应用。 千里之行,始于足下:积累一些分析优化的方法,通过数据分析,持续优化迭代模型,持续改进。 1 2 从本质上说,所有的模型都是错误的,但有些是有用的。 ——乔治.伯克斯(GeorgeBox) 日心说(欧多克斯)地心说(哥白尼)300年 质量度量模型 1991年ISO/IEC9126提出: •内部质量——研发过程; •外部质量——软件提供的功能和价值; •使用质量——用户角度;包括3个层次: •质量特性 •质量子特性 •度量指标 图1-1部分质量模型 图1-2ISO25000质量模型 •建设范围——理论模型 •建设素材? •建模方法? 图1-3McCall质量模型 PART02 质量度量模型 简要建模方案-定权模型 建模三要素:数据、指标、权重 指标数据 指标(自变量)X权重 指标(因变量)X权重 优秀90 基线60 范围等级分数 内部质量分 权重1 100% 等级5 5 [90%-100%) % 等级4 4 [80%-90%) 等级3 3 [60%-80%) % 等级2 2 [0-60%) 等级1 1 单测增量行覆盖率 x 权重A 单测通过率 x 权重B 静态扫描缺陷 x 权重C 。。。。。。 x 权重D x 外部质量分 权重2 x 使用质量分 权重3 。。。。。。 权重4 xx 内部质量分 质量分 质量度量模型-数据 数据 100% 等级5 5 [90%-100%) % 等级4 4 [80%-90%) 等级3 3 [60%-80%) % 等级2 2 [0-60%) 等级1 1 优秀90 基线60 范围等级分数 图2-1数据清洗思维导图 图2-3正态分布 图2-2趋势散点图 图2-2置信区间散点图 1.数据预处理 2.确定置信区间 3.确定中位数 4.确定基线 5.确定优秀线 质量度量模型-指标 类型 示意指标 类型 示意指标 内部质量 —代码质量 单测增量行覆盖率 内部质量——过程质量 提测成功率 单测通过率 缺陷有效率 静态代码缺陷情况 二次缺陷率 *** *** 内部质量 ——正确性 缺陷分布 交付效率(可选) 平均交付时长 缺陷密度 平均缺陷恢复时长 缺陷严重率 自动化测试执行效率 *** *** 外部质量 ——正确性 生产缺陷数量 成本(可选) *** 生产缺陷密度 *** 缺陷逃逸率 *** *** *** 内部质量01 外部质量02 使用质量03 知识图谱是知识库的一种,是知识的一种 描述、组织和存储方式。他是人类语言中所涉及的概念、实体、属性、概念之间、实体之间的关系。 •建设范围——理论模型 •建设素材——指标+元数据体系、数据 •建模方法? 图2-4指标属性 质量度量模型-指标 指标管理: 1.指标实体 2.指标属性——统计检索 3.指标关系——下钻上卷 构建知识库,是将知识从结构化、 半结构化的数据中提取出来,包括命名实体识别、命名实体的链接与关系抽取。 实体是客观世界的事物,是构成知识 图谱的基本单位。命名实体指自动识别制定类别实体。 •建设范围——理论模型 •建设素材——指标+元数据体系、数据 •建模方法? 图2-6E_R图2 图2-5E_R图1 质量评价模型-权重 建模三要素: 样本选择——指标数据预处理——数据 建模和参数估计——权重 •建设范围——理论模型 •建设素材——指标+元数据体系、数据 •建模方法? 图2-7权重的计算方法 PART03 模型诊断 质量度量模型 图3-1部分机器学习模型 一元线性回归 编号 姓名 语文 数学 外语 总分 1 喜羊羊 97 98 99 294 2 美羊羊 83 82 89 254 3 沸羊羊 76 75 71 222 4 慢羊羊 63 67 64 194 5 懒羊羊 59 55 42 156 应用范围:量纲一致 一元线性回归方程,用于预测 Yt=axt+b a为斜率,b为截距 误差最小原则:最小二乘法 图3-2散点图1 线性关系中,有可能出现多条直线。如何进行选择呢? 图3-2散点图2 编号 项目 内部质量 外部质量 使用质量 总分 1 喜羊羊 97 98 99 294 2 美羊羊 83 82 89 254 3 沸羊羊 76 75 71 222 4 慢羊羊 63 67 64 194 5 懒羊羊 59 55 42 156 图3-3散点图3 一元线性回归 编号 姓名 语文 数学 外语 总分 1 喜羊羊 97 98 99 294 2 美羊羊 83 82 89 254 3 沸羊羊 76 75 71 222 4 慢羊羊 63 67 64 194 5 懒羊羊 59 55 42 156 图3-4散点图4 编号 项目 内部质量 外部质量 使用质量 总分 1 喜羊羊 97 98 99 294 2 美羊羊 83 82 89 254 3 沸羊羊 76 75 71 222 4 慢羊羊 63 67 64 194 5 懒羊羊 59 55 42 156 图3-5分数表格 当总分增加1分的情况下,这1分来自某个学科的概率。按提高概率大小排序,得到:数学>英语>物理>化学>历史>道法>语文,其结论就是学校在以后的教学策略中,要重视数学,其次是英语、物理、化学、历史和道德与法治,最后是语文。 多元线性回归 多元线性回归之标准方程法: 编号 姓名 短跑(s)x1 跳远(m)x2 跳绳(个/分)x3 总分y 1 喜羊羊 6=x11 8.9=x21 200=x31 y1 2 美羊羊 7=x12 8.5=x22 180=x32 y2 3 慢羊羊 8=x13 8=x23 150=x33 y3 4 沸羊羊 9=x14 7.5=x24 140=x34 y4 5 懒羊羊 10=x15 7=x25 120=x35 y5 应用范围:量纲不一致标准方程法 hθ(x)=θ0+θ1x1+θ2x2+。。。+θnxn 编号 项目 单测覆盖率x1 缺陷数量x2 缺陷严重率x3 内部质量y 1 喜羊羊 6=x11 8.9=x21 200=x31 y1 2 美羊羊 7=x12 8.5=x22 180=x32 y2 3 慢羊羊 8=x13 8=x23 150=x33 y3 4 沸羊羊 9=x14 7.5=x24 140=x34 y4 5 懒羊羊 10=x15 7=x25 120=x35 y5 图3-6线性代数矩阵图 θ=(XTX)-1XTy 图3-7多元线性图 回归模型诊断 回归模型诊断: 1.检验线性关系 2.检验正态性 3.检验方差齐性 4.检验独立性 模型弥合度:回归线和各观测点的接近程度 误差 计算 总平方和(SST) 真实值-均值的平方和 回归平方和(SSR) 预测值-均值的平方和 残差平方和(SSE) 真实值-预测值的平方和 R2=SSR/SST=xT*y相关系数/弥合度 建设步骤: 1.识别重要变量 2.判断相关性的方向 3.估计权重(回归系数) R2越趋近1,说明弥合度越高;越趋近于0说明弥合度越低。 PART04 模型应用 Thanks 高效运维社区DevOps时代 荣誉出品 GOPS全球运维大会2024·深圳站 THANKS 感谢大家观看 7Pace 确定目标-目 建立模型模 - 代码总流失率崩溃率 系统可用性缺陷密度 确 平均检测时间 估 (MTTD) 平均故障间隔时间 (MTBF) 平均解决时间 (MTTR) ([时间段]内的[添加行数]+[修改行数]+[删除行数])标 理解和转化-指标准备- 调优发布与应用 - 型 分析目标、数据理解、数据准备、建立模型、模型评 定 模型发布与应用。 、 [总执行时间]/[失败总数] 【从发现到解决的总时间】/【修复总数】 客户满意度(CSAT) 修复漏洞的平均时间 代码覆盖率 [满意客户总数]/[客户调查回答总数]*100 [漏洞发现到修复之间的总时间]/[时间段]内的[漏洞总数] [测试的代码行数]/[代码库中的代码总行数]*100 一元权重模型的建设 确定目标-目 建立模型模 可靠性功能 代码特点 界面可访问性系统性能 缺陷管理 文档 跨平台适应性安全保障 总体满意度 故障率、系统可用性、崩溃率 理解和转化-指标准备- 调优发布与应用 - - 标故障概率、错误数量、错误的严重性型 代码行数、代码清晰、遵守编码规则 确 估 分析目标、数据理解、数据准备、建立模型、模型评 模型发布与应用。 定 、检测崩溃和错误的平均时间、系统故障之间的平均时间 解决错误的平均时间、工单积压: