前言
今天分享的内容是2017年5月10日晚,在微信群里做的一次分享,这里整理出来,以供大家阅读、了解。
为什么要分享一下数据分析方面的知识呢?
一是扩展下知识面
二是期望讨论下数据分析在测试领域的应用场景的可能性
从分享的情况来看,测试人员的思维依旧非常局限,同时大多的测试从业者的知识面是相当的狭窄。
数据分析的关键要点
准备
主要是读写各种各样的文件格式、数据库,获取原始数据集。处理
主要对原始数据集进行清理、休整、整合、规划化、重塑、切片切换、变形等处理,生成可数据分析的数据集。转换
对可分析数据集做数据做一些数学和统计运算生成新的数据集。例如分组分类、数据聚合等等。建模和计算
将新的数据集跟统计模型、机器学习算法进行关联,实现数据落地的应用模型和计算。展示
将数据最终根据其应用场景创建交互式的或报表、文字、图片等静态信息展示。
应用场景
通常情况下,大家所了解的数据分析更多的是为市场、运营服务。
那数据分析在测试领域可否有发挥的地方呢?
笔者以为,数据分析是可以在测试领域发挥重要功能的,甚至可以为质量的保证提供一个很好的支撑。
下面我们来尝试发散下:
通常情况下,每天业务线上的运营会产生以G为单位的日志数据,而这些日志数据中记录着系统运营过程中的异常、错误等等,如果通过对其进行分析,再反馈至测试过程中的策略定制、用例设计和日常业务测试结合,应当可以改进整个测试过程。
在任何一个行业里,其业务数据都具备一定的行业特征,如果能将这些特征进行分析,抽离出来。那么应该可以尝试该类业务级数据的自动化测试
在我们日常的企业实践中,大家有没有发现,其实很多数据是独立,业务无关的。把这类数据进行抽离后,是可以做元数据级的自动化测试的
当我们从事某一个行业的时间够长时,会发现不管系统如何改造,以前所踩过的坑,在系统改造时依旧会出现,对测试人员来说是十足的坑,如何能更好的避免呢? 我想,对历史bug记录的分析,尤其时积累了几万的bug时,单纯的靠人工分析是不靠谱的,如果引入数据分析相关技术来进行自动化分析,并能够形成一定的模式,那对于避免这些坑将会有很大的作用
就不一一举例了,大家可以尽情的发挥想象,数据分析技术在测试领域或是说质量保证是可以发挥极大的能量的。
数据分析技术
我们一起来看下笔者推荐给大家学习掌握的数据分析技术。
- python 编程不可少
- numpy 数据计算基础库
- pandas 数据分析库
- scikit 机器学习套件
- TensorFlow 谷歌基于DistBelief进行研发的第二代人工智能学习系统。
- Spark 是专为大规模数据处理而设计的快速通用的计算引擎(当你面对TB为单位的数据时需要的东西)
对于大部分情况下,大家只需python、numpy、pandas就可以干活了。
推荐点资料
- 《Python数据分析基础教程:NumPy学习指南(第2版)》
- 《集体智慧编程》
- 《利用python进行数据分析》
- scikit官方文档:http://scikit-learn.org/stable/tutorial/index.html
其他的就先不推荐了,有兴趣的朋友可以自行搜索阅读。