1.2 大数据的背后
现在,依据大数据的统计和分析能够发现很多以前无法想象的规律。例如,闻名于世的啤酒与尿片的故事就是大数据分析的一个经典案例。全球零售业巨头沃尔玛在对消费者购物行为分析时发现,男性顾客在购买婴儿尿片时常常会顺便搭配几瓶啤酒来犒劳自己,于是尝试推出了将啤酒和尿片摆在一起的促销手段,没想到这个举措居然使尿片和啤酒的销量都大幅增加了。如果转换一种思路来理解这种现象,考虑“奶爸”在世界杯期间既要看足球比赛,又要带自己的孩子,为了不耽误他们观看完整的足球比赛,他们会将孩子放在边上,任由他们玩耍,而自己喝啤酒庆祝球队的胜利,因此,他们需要购买尿片来帮助他们的小宝宝隔尿,同时也不影响自己喝啤酒庆祝球队的胜利。
另一个经典的例子就是Google预测流感案例。2009年2月,国际权威期刊Nature上刊登了一篇名为Detecting Influenza Epidemics Using Search Engine Query Data的文章,论述了Google基于用户的搜索日志(包括搜索关键词、用户搜索频率以及用户IP地址等信息)成功“预测”了流感病人的就诊人数。Google是如何做到的呢?原来美国有个疾控中心,它统计了美国本土各个地区的疾病就诊人数,一般会延迟两周公布数据。而Google利用其搜索引擎搭建了一个预测平台,提前获取疾控中心的大数据,并对这些数据进行回归分析,从而成功地预测了复杂的流感规模问题。
在国内,杭州市首次利用大数据治理交通阻塞问题。2016年10月,杭州市政府联合阿里云公布了一项计划:建立杭州市的城市大脑。城市大脑的内核将采用阿里云ET人工智能技术,对整个城市进行全局实时分析,自动调配公共资源,修正城市运行中的问题,并最终进化成为治理城市的超级人工智能。“缓解交通阻塞”是城市大脑的首个尝试,并已经在萧山区的中心路段投入使用,部分路段车辆通行速度提升了11%。
上述3个例子说明,通过对大数据进行分析,可以找到一些隐藏在数据背后的规律。那么,能否将大数据的处理方法运用到实际的软件测试中,以便发现软件中的缺陷呢?如果能够获得海量的用户使用软件的数据,再利用大数据处理技术对这些数据进行分析,就能从中发现使软件执行失效的小概率事件,从而发现软件缺陷,这种测试方法称为大数据测试方法。