Skip to main content

质量报告

概述

质量报告是 Bugly 为了满足业务了解自身应用质量、性能数据优劣的需求而提供的指标数据评分支持。

Bugly 平台作为端性能、质量监控平台,提供了包括崩溃率、OOM 率、ANR 率、挂起率等在内的多种质量指标。这些指标反映了应用的质量、性能等情况,帮助开发者及时发现和解决问题,提升用户体验。

出于对业务数据的安全考虑,Bugly 业务只能查看自身业务的质量、性能指标数据,因此无法横向比较其数据的优劣。然而横向比较,了解自身业务指标数据的优劣情况,对于业务在是否需要投入优化或投入力度等决策上有着重要的意义。

为此,Bugly 根据自身数据指标情况,提供了质量报告支持,通过对业务指标数据进行打分和评级,以便于业务在了解自身指标数据优劣和优化决策上提供一定的参考。

质量评分

Bugly 质量报告评分分为单项指标得分综合得分。单项指标得分会根据对应指标数据,为对应指标进行的打分;综合得分则是对所有单项指标得分进行加权平均计算得出。

具体参与计算的指标,可以参考《Bugly 质量报告标准 2024 版本(beta)》参与评分指标

单项指标得分评分规则

单项指标采用 5 分制,从高到低分别对应优秀、良好、一般、较差、差五个评价等级。

为了能够使得得分和评价等级能够真实反映业务情况,得分的评分线采用 Bugly 平台所有应用的相同指标的分位值统计计算所得。

分数评级分位值进行如下划分:

--- 优秀 --- 90% --- 良好 --- 75% --- 一般 --- 25% --- 较差 --- 10% --- 差 ---

  • 前 10%: 5分(优秀),该项指标在前 10% 属于该等级;
  • 前 25% ~ 10%:4分(良好),该项指标在前 25% 以上,前 10% 以下属于该等级;
  • 前 75% ~ 25%:3分(一般),该项指标在前 25% 以下,后 25% 以上属于该等级,占比 50%;
  • 前 90% ~ 75%:2分(较差),该项指标在后 25% 以下,后 10% 以前属于该等级;
  • 后 10%:1分(差),该项指标在后 10% 以下属于该等级;

以崩溃率(Crash 率)为例,例如通过全平台业务计算出 90 分位、75 分位、25 分为及 10 分位的崩溃率分别为:0.01%、0.03%、0.1% 和 0.2%,则 Crash 率为 0.005% 的评分等级为 5 分(优秀),而 0.02% 则为 4 分(良好),同理 0.5% 则为 1 分(差)。

详细分数计算结果参考《Bugly 质量报告标准 2024 版本(beta)》各指标分数标准

加权综合得分评分规则

目前参与质量报告的项目有:崩溃率、ANR 率、FOOM 率、挂起率、启动耗时、内存峰值及网络错误率。考虑到不同业务对不同指标项的侧重点不同,为了计算业务综合得分,采用各个指标项目得分的加权平均分计算。

综合得分 = sum(单独项指标分 * 对应指标权重)

默认情况下,Bugly 采用默认权重进行计算。同时允许业务按照自身的侧重点不同,对权重进行自定义的调整。业务可在必要时,通过“设置”-“产品配置”-“权重设置”对各项指标的权重进行自定义调整。默认权重参考《Bugly 质量报告标准 2024 版本(beta)》综合得分默认权重

权重设置

因各个业务使用情况的差异,某些监控指标未接入开启,因此对于对应指标没有数据的情况,Bugly 对其不进行评分,其结果也不参与综合得分计算。于是存在权重和可能不为 1 的情况。此时 Bugly 采用归一化的方式对综合得分进行计算。

计算指标权重 = 指标权重 / 所有参与综合得分权重和

例如业务仅开启了 崩溃率、ANR 率和 FOOM 率指标,其对应的权重为 0.3、0.15 和 0.15。那么在进行综合得分计算时,其权重需要进行归一化计算为: 0.3/(0.3+0.15+0.15) = 0.6, 0.15/(0.3+0.15+0.15) = 0.3, 0.15/(0.3+0.15+0.15) = 0.3。

由于综合得分为非整数,因此对应综合得分评级采用四舍五入的方式进行评级。例如 3.4 分会被评价为一般,但是 3.6 分会被评价为良好。

分数解释

业务如何理解自己所获得的评分呢?从上述计算规则可以基本的值,对应评分意味着其对应指标或综合得分在 Bugly 平台上所有产品中所在的大概位置。例如崩溃率得分为 3 分,意味着其在 Bugly 平台中排在前 25% ~ 75% 的位置,属于一般水平,其他得分也可以得到类似的结果。

为何会对 3 分(一般)评分区间放这么大?其目的是期望最终的得分情况呈正态分布。事实上,考虑到各个业务的用户量、App 功能复杂度、用户使用时长等都存在着差异,以同样的标准去衡量势必存在一定的不合理性。因此 Bugly 在评分时尽量采用宽松的方式,减少不同 App 之间的直接比较,只挑选出指标靠前和考后的部分,通过评分进行区分。

考虑通过 App 类型、用户量进行分组评分。但分类势必引入一定的主观概念,造成结果不够客观;而用户量在部分头部量级的业务中,缺乏足够的评价样本。

通过现有的评分方案,对 Bugly 所有产品的综合评分进行分布统计,可以获得如下结果:

综合得分分布

正如预期设计,评分绝大部分业务都集中在 3 分(一般)区间,评分分布近似正态分布。

注意

部分业务由于开启的指标值较少,例如早期 SDK 版本,仅支持崩溃率数据,因此其只有一项指标得分,导致其综合得分可能较高。为了获得更为全面的评分结果,建议业务升级到最新版本,以获得全面的指标数据。