注目イベント!
春の新人向け連載2025開催中!
今年も春の新人向け連載が始動しました!!
現場で役立つ考え方やTipsを丁寧に解説、今日から学びのペースを整えよう。
詳細はこちらから!
event banner

让我们来谈谈统计吧 - 面向软件质量的统计入门(No.2 与数据正确相处的方法)

日本語|English|中国语
| 3 min read
Author: shuichi-takatsu shuichi-takatsuの画像
Information

为了覆盖更广泛的受众,这篇文章已从日语翻译而来。
您可以在这里找到原始版本。

前言

#

“让我们来谈谈统计吧”第二期将讨论作为统计处理前提的“数据本身”应如何对待。
无论使用多么高大上的分析方法,如果所依据的数据不恰当就毫无意义。
这里我们从以下三个方面来掌握数据的基础:

  • 数据的种类(定性·定量+量表)
  • 测量值与误差的关系
  • 为了收集优质数据的条件

数据的种类:定性数据和定量数据

#

统计中的数据大致可分为“定性数据”和“定量数据”两类:

● 定性数据(质性数据)

#

是具有意义或属性的数据,不是用数值表示,而是用 标签类别 表示。

  • 示例:缺陷类型(UI、逻辑、性能)
  • 示例:评审判定(OK / NG / 需要重新确认)
  • 示例:测试结果(合格 / 不合格)

特点

  • 无法进行数值计算(无法得出平均值等)
  • 可用于比较比例或出现频率

此外,质性数据还可再细分为以下两种:

  • 名义数据:没有顺序意义的标签(例如:缺陷类型)
    名义数据示例
  • 顺序数据:具有顺序意义的数据(例如:评审等级 S > A > B > C)
    顺序数据示例

● 定量数据(量化数据)

#

是以数量形式测量的数据,数值本身具有意义

  • 示例:缺陷数量、测试执行时间、代码量(KLOC)
  • 示例:修复所用天数、缺陷密度

特点

  • 可用于描述性统计(平均、方差等)和推断统计
  • 易于通过折线图或散点图等进行可视化

此外,量化数据也可再分为以下两类:

  • 离散数据:不连续的数值(例如:缺陷数量)
    离散数据示例
  • 连续数据:在某个范围内连续的取值(例如:内存使用量)
    连续数据示例

关于数据的尺度(量表)

#

此外,不同数据在含义和处理方式上有所差异。
要正确选择统计方法和可视化方式,理解“尺度(量表)”是必不可少的。

● 名义量表(Nominal Scale)

#
  • 仅仅是标签(例如:缺陷类型、错误代码分类)
  • 能进行的计算只有出现次数或众数

● 顺序量表(Ordinal Scale)

#
  • 顺序具有意义(例如:评审等级、满意度调查:满意 > 一般 > 不满意)
  • 可以计算中位数和排名比较,但在某些情况下不适合计算平均值

● 区间量表(Interval Scale)

#
  • 等间隔具有意义,但不存在绝对0(例如:日期、温度℃)
  • 可以进行加减运算、计算标准差等

● 比率量表(Ratio Scale)

#
  • 存在绝对0,所有运算皆可进行(例如:执行时间、缺陷数量)
  • 在统计分析和可视化中最常使用的量表

● 四种量表的差异及对应的统计处理

#

下表展示了这四种量表的差异。

量表 比较 平均 差值 比率 示例
名义量表 缺陷分类、错误代码分类
顺序量表 评审等级、满意度调查
区间量表 日期、温度℃
比率量表 执行时间、缺陷数量

例如,缺陷密度(件/KLOC)属于比率量表,可以进行平均、方差和趋势分析。
下图显示了每个版本的缺陷密度趋势,可看出当低于0.8件/KLOC时,目标正在逐步达成。
各版本缺陷密度的趋势及目标对比

量表的差异影响可采用的统计方法、图表类型及解读方式。


测量值与误差

#

无论多么仔细地测量,都必然会产生误差(包括波动)。
如果不了解这一点,盲目信任数据会导致错误判断的风险。

● 测量值 = 真实值 + 误差

#

软件质量数据(如评审时间或缺陷发生率等)的测量值存在再现性的限度。
不要仅凭一次测量结果来判断,重要的是要有“测量存在波动”的前提。
下图为对同一测试项目测量10次时波动的示例。

  • 示例:测量测试执行时间时,每次大约波动1~2秒

重复测量的波动:测量值 = 真实值 + 误差

正如如此,即使测量相同对象,每次也不会完全相同,这是现实。

● 误差的类型

#

在处理质量数据的现场,如果将“波动”和“偏差”混为一谈,就会导致错误的改进判断。
需要理解测量误差也存在不同类型,并加以区分使用。
下图展示了“系统误差”和“偶然误差”的典型差异。

  1. 系统误差:总是向同一方向偏移的误差(例如:测量仪表显示快0.5秒)
  2. 偶然误差:每次测量时随机产生的误差(例如:环境噪声或测量者差异)

● 为什么要重视误差?

#

仅凭“单次测量结果”来判断质量改进是非常危险的。
由于测量结果包含波动,要判断变化是否具有统计学意义,必须依赖统计视角。
下图比较了变更前后测量结果的波动。中位数的差异是否显著,您会如何解读?

  • 仅凭一次测量结果来判断是危险的
  • 通过以统计方式处理误差,可以判断“是否真的发生了变化?”

对数据要始终保持“含有不确定性的观测值”的姿态,这一点很重要。


什么是优质数据?

#

统计只有在拥有**“优质数据”**的情况下才有意义。那么,什么是优质数据?

● 优质数据的条件

#
  1. 准确性:是否没有记录错误或单位错误?
  2. 一致性:测量方法和记录规则是否统一?
  3. 全面性:所需范围内的数据是否完整采集?
  4. 时效性:是否在所需的时间点获取了数据?
  5. 客观性:是否未混入主观或感官上的偏差?
  6. 目的适配性:该数据是否符合要进行分析和判断的目的?

示例:如果目的是“缺陷原因分析”,是否包含了发生阶段和影响范围等?

● 不良数据示例

#
  • 在对缺陷数量进行统计时,没有区分现象数和原因数(定义不明确)
    将缺陷的定义和分类规则文档化,明确统计规则
  • 责任人之间记录“缺陷”的标准不同(掺杂了主观因素)
    制定记录规则,进行定义标准化并执行审查
  • 测试时间的记录是手写后再录入(缺乏可靠性)
    引入自动收集或即时录入机制,保证可靠性

● 数据收集中,“制定规则”占90%

#

“先收集了再说”的方式,在真正分析时往往会发现没法使用。

  • 明确由谁以何种方式记录什么
  • 完善数据定义说明书和记录规则表

在实际现场,由于“记录格式不明确”“各责任人记录粒度不同”等原因,收集后无法进行统计的情况并不少见。
因此,在收集之前就需要先进行记录设计并让相关人员知晓


总结

#
  • 数据分为“定性”和“定量”,可使用的统计方法不同
  • 测量值始终包含误差,因此需要多次观测并考虑误差
  • 要收集优质数据,明确记录规则和定义是必不可少的

下次预告

#

下次我们将正式进入“描述性统计”的领域,学习平均数、中位数和众数的区别及使用。

这里汇总了统计相关信息。

希望能为您的数据分析提供帮助。

豆蔵では共に高め合う仲間を募集しています!

recruit

具体的な採用情報はこちらからご覧いただけます。