【转】大数据本质与测试
大数据本质是预测:只找数据相关性而不是找到准确的因果性。找因果关系的成本和难度 远大于找相关性,什么是相关性就是我知道当出现A现象时必然会出现B现。我不一定花成本去搞明白为什么,而只需要努力的提高出现A现象时一定会出现B现象的预测准确率。设计测试系统的本质是发现一堆bug数据,然后找到bug数据集与软件质量的相关性,不一定找到准确的因果性。测试设计的测试系统或测试评价模型对挖掘出的bug数据集的质量非常重要,否则在寻找bug集与质量相关性时,就会很难或不靠谱。
大数据是对所有数据进行分析处理而不是随机样本,最有价值的数据是异常数据,对全部数据进行统计分析发现这些小概率的异常数据对其分析是大数据分析的最大价值,异常数据说明我们的认知和建模还有漏洞,从而可发现我们过去未知的新事物,完善我们的认知模型。
大数据分析既然要全部数据就不怕数据中有错误数据的干扰 2+2=3.9也挺好的。从软件质量角度来看,只要是全部bug数集,即使有一些无效bug,但对产品发布质量的相关性准确性的负面影响 也小于 仅是随机抽样bug数据或按规则抽样bug数据进行数据分析的负面影响。
大数据时代三大关键资源:拥有大数据资源、拥有统计算法工具、拥有大数据思维模式。对于大多数人或组织没法拥有大数据资源,也不一定精通统计算法工具,但都可以拥有大数据思维模式,依靠大数据思维模式提升工作的效率和质量。我们就曾在图片搜索中发挥大数据思维模式,成功实现了高性能(单机计算机能力1秒1个)高准确率(85%)的自动识别“文不对图”的测试系统。