大数据的测试工作:
模块的单独测试
模块间的联调测试
系统的性能测试:内存泄露、磁盘占用、计算效率
数据验证
下面对各个模块的测试工作进行单独讲解。
0.功能测试
性能测试
自动化测试
文档评审
脚本开发
后台数据处理端
后端的测试重点,主要集中在数据的采集处理、标签计算效率、异常数据排查,测试脚本编写、自动化脚本编写
数据的采集处理
ETL:即将数据从源系统加载到数据仓库的过程。源系统包括:数据文件、RDD数据库、非RDD数据库等;
extract:从源系统提取需求数据。
transform:清洗数据。
Load:将清洗的数据加载至数据仓库。
ETL测试:即确保根据需求将源系统的数据经过处理后加载到目标的数据是准确的。即源和目的数据之间转化过程中的数据验证。
测试类型
测试场景
券商等金融机构,其用户每天都会产生大量的交易数据,这部分数据最初都会存储在客户的关系型数据库中,因此后台每天需要先进行数据采集,将数据采集至Hadoop的hdfs系统;数据采集过后,需要对源数据进行一次数据清洗工作:过滤异常数据、筛掉关联性较高的数据。
标签计算效率
由于hivesql的计算,需要大量的读写数据到磁盘的操作,因此计算效率较低;
impala则是将数据push到内存中,然后从内存中读取数据,效率有大幅提升,但是耗费了较高的服务器内存,成本较高;
Spark:内存计算引擎,提供Cache机制来支持需要反复迭代计算或者多次数据共享,减少数据读取的IO开销;
异常数据排查
异常值:分为两类:null,计算错误的值。Null值,首先需求排查是否是数据的影响。其次排查依赖数据的因素后,就需要排查是否是hiveSQL编写的问题和MR代码问题。标签计算错误:通过手工根据标签公式计算标签的值和通过hive计算得出的值进行对比,如果不一致,则需要排查是否是hivesql没有对标签公式进行精确实现。计算错误的值可以分为两类:明显错误;非明显错误
由于此部分计算好的数据需要导入到中台进行进一步运用,所以此部分的数据准确性有至关重要的作用。
中台管理端
中台产品一般以web服务呈现。测试内容除了与普通的Javaweb项目相同,还要测试后台数据Export中台的过程中,数据类型、准确性、完整性、性能进行测试。
就目前的项目而言:测试计划的内容包括:需求文档测试、后台导出表的测试、中台接口测试、前端UI页面测试、性能测试、安全测试、兼容性测试。
需求文档:需求点梳理、整理测试点、编写测试用例
数据连表导出:后台数据和中台数据的类型、精度要保持一致;
中台接口测试:此部分可以进行接口自动化测试。
UI页面测试:根据需求文档、UI设计编写测试用例
性能测试:中台接口的压测、中台服务缓存数据占服务器的内存空间测试
安全测试:根据公司安全测试手册进行测试
兼容性测试:IE10
前端应用端
主要是app端的测试工作:一般的app测试工作,数据的核对
结尾
可以看出来,整个项目始终包含数据的验证工作。
附录:
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点