大数据项目测试<二>项目的测试工作

大数据的测试工作:

1、模块的单独测试

2、模块间的联调测试

3、系统的性能测试:内存泄露、磁盘占用、计算效率

4、数据验证(核心)

下面对各个模块的测试工作进行单独讲解。

0. 功能测试

1. 性能测试

2. 自动化测试

3. 文档评审

4. 脚本开发

一、后台数据处理端

后端的测试重点,主要集中在数据的采集处理、标签计算效率、异常数据排查(功能),测试脚本编写(HiveQL)、自动化脚本编写(造数据、数据字段检查等)

  1.数据的采集处理(Extract-Transform-Load)

    ETL:即将数据从源系统加载到数据仓库的过程。源系统包括:数据文件(excel、log等)、RDD数据库、非RDD数据库等;

    extract:从源系统提取需求数据。

    transform:清洗数据(数据格式转化、异常数据处理等)。

    Load:将清洗的数据加载至数据仓库。

    

    ETL测试:即确保根据需求将源系统的数据经过处理后加载到目标的数据是准确的。即源和目的数据之间转化过程中的数据验证。

    测试类型

      

    测试场景

    

    券商等金融机构,其用户每天都会产生大量的交易数据,这部分数据最初都会存储在客户的关系型数据库中(oracle),因此后台每天需要先进行数据采集,将数据采集至Hadoop的hdfs系统;数据采集过后,需要对源数据进行一次数据清洗工作:过滤异常数据(NULL)、筛掉关联性较高的数据。

  2.标签计算效率

    根据标签文档编写hiveSQL、MR等标签计算代码,针对hiveSQL,不同的开发人员编写的sql质量不同,执行的效率也不相同;此部分不仅需要开发人员具备基本的复杂sql编写功底,也需要开发人员掌握一定的sql性能调优能力;在数据,服务器配置一定的情况下,效率的提升来源于对sql的优化;

    由于hivesql的计算(都会转化成一个MR),需要大量的读写数据到磁盘的操作,因此计算效率较低;

    impala则是将数据push到内存中,然后从内存中读取数据,效率有大幅提升,但是耗费了较高的服务器内存,成本较高;

    Spark :内存计算引擎,提供Cache机制来支持需要反复迭代计算或者多次数据共享,减少数据读取的IO开销;

  3.异常数据排查

    异常值:分为两类:null,计算错误的值。 (1)Null值(标签下的数据均为NULL),首先 需求排查是否是数据的影响(例如 依赖数据缺失)。其次排查依赖数据的因素后,就需要排查是否是hiveSQL编写的问题和MR代码问题。(2)标签计算错误: 通过手工根据标签公式计算标签的值和通过hive计算得出的值进行对比,如果不一致,则需要排查是否是hivesql没有对标签公式进行精确实现。计算错误的值可以分为两类:1.明显错误(可以通过sql筛选出来的异常值,针对存在阈值的标签,比如股票仓位:仓位不得>1,如果出现>1的数据,则可以断定此标签计算有问题);2.非明显错误(此部分无法筛选出来,必须通过计算才能验证)

    由于此部分计算好的数据需要导入到中台进行进一步运用,所以此部分的数据准确性有至关重要的作用。(测试人员需要对业务十分了解)

 

二、中台管理端

  中台产品一般以web服务呈现。测试内容除了与普通的Java web项目相同,还要测试后台数据Export中台的过程中,数据类型、准确性、完整性、性能进行测试。

    就目前的项目而言:测试计划的内容包括:需求文档测试、后台导出表的测试(表字段类型、数据完整性、浮点型数据精度、导出性能等)、中台接口测试(自动化)、前端UI页面测试、性能测试、安全测试、兼容性测试。

    需求文档:需求点梳理、整理测试点、编写测试用例

    数据连表导出:后台数据和中台数据的类型、精度要保持一致(中台数据库为MySQL,数据类型可能和后台的数据类型定义不一致,要确保数据类型转化的正确性);

    中台接口测试:此部分可以进行接口自动化测试。

    UI页面测试:根据需求文档、UI设计图编写测试用例

    性能测试:中台接口的压测、中台服务缓存数据占服务器的内存空间测试

    安全测试:根据公司安全测试手册进行测试(安全漏洞扫描)

    兼容性测试:IE10

三、前端应用端

    主要是app端的测试工作:一般的app测试工作,数据的核对(类型、精度等)

四、结尾

   可以看出来,整个项目始终包含数据的验证工作。

附录:

异常值检查: https://www.cnblogs.com/xiaohuahua108/p/6237906.html

spark  优势:  https://www.zhihu.com/question/31930662

接口测试: https://www.cnblogs.com/iloverain/p/9429116.html

原文地址:https://www.cnblogs.com/iloverain/p/9601949.html

时间: 2024-10-06 09:39:46

大数据项目测试<二>项目的测试工作的相关文章

大数据从基础到项目实战(一站式全链路最佳学习路径)

大数据从基础到项目实战(一站式全链路最佳学习路径)课程链接:https://pan.baidu.com/s/1HC9zqxwUFNBJHT9zP1dlvg 密码:xdgd 本课程为就业课程,以完整的实战项目为主线,项目各个环节既深入讲解理论知识,又结合项目业务进行实操,从而达到一站式学习,让你快速达到就业水平. 全真企业项目全流程演示: 大数据生产->采集->存储->处理->计算->分析(离线+实时)->抽取(离线+实时)->Java接口->可视化Web展示

SqlBulkCopy类进行大数据(10000万条以上)插入测试

好多天没写博客了,刚刚毕业一个多月,在IT的路上真是迷茫啊! 关于上一篇博客中提到的,在进行批量数据插入数据库的时候可以通过给存储过程传递一个类型为Table的参数进行相关操作,在这个过程中本人没有进行效率的测试.后来查找发现可以通过SqlBulkCopy类进行大数据插入操作,本文就来介绍一个这个类的作用并做了相关的效率测试(与Insert语句进行对比). SqlBulkCopy只能向SqlServer表写入数据,该表既可以是同一个服务器上的也可以是远程服务器上的.当然要写入的数据即数据源不单单

Spark进阶 大数据离线与实时项目实战 完整版

第1章 课程介绍&学习指南本章会对这门课程进行说明并进行学习方法介绍. 第2章 Redis入门Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度.本章将从Redis特性.应用场景出发,到Redis的基础命令,再到Redis的常用数据类型实操,最后通过Java API来操作Redis,为后续实时处理项目打下坚实的基础... 第3章 HBase入门HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:

大数据技术之_18_大数据离线平台_01_项目开发流程+大数据常用应用/分析平台/业务处理方式+数据分析平台的数据来源+数据处理的流程+项目集群的规模+需求分析+技术架构/选型

一.项目开发流程1.1.项目调研1.2.项目需求分析1.3.方案设计1.3.1.概要设计1.3.2.详细设计1.4.编码实现1.4.1.单元测试1.4.2.集成测试1.4.3.压力测试1.4.4.用户测试二.大数据常用应用2.1.数据出售2.2.数据分析2.2.1.百度统计2.2.2.友盟2.2.3.其他统计分析组织2.3.搜索引擎2.3.1.solr2.3.2.luence2.3.3.luence & solr 对比2.4.推荐系统(高数)2.4.1.技术2.4.2.算法2.5.精准营销2.5

大数据 电信客服项目

1.项目背景 通信运营商每时每刻会产生大量的通信数据,例如通话记录,短信记录,彩信记录, 第三方服务资费等等繁多信息.数据量如此巨大,除了要满足用户的实时查询和展示之外, 还需要定时定期的对已有数据进行离线的分析处理.例如,当日话单,月度话单,季度话单, 年度话单,通话详情,通话记录等等+.我们以此为背景,寻找一个切入点,学习其中的方法论. 当前我们的需求是:统计每天.每月以及每年的每个人的通话次数及时长. 2.项目架构 3.项目实现 系统环境: 表1 系统 版本 windows 10 专业版

大数据学校(二)hadoop概述及Google的三篇论文

学习大数据,学什么?怎么学? 1.原理和运行机制.体系结构(非常重要)2.动手:搭建环境.写程序 目的:1.学习内容 2.熟悉一些名词 一.各章概述(Hadoop部分) (一).Hadoop的起源与背景知识 1.什么是大数据?两个例子.大数据的核心问题是什么? 举例: (1)商品推荐:问题1:大量的订单如何存储? 问题2:大量的订单如何计算? (2)天气预报:问题1:大量的天气数据如何存储? 问题2:大量的天气数据如何计算? 大数据的核心问题: (1)数据的存储:分布式文件系统(分布式存储)(2

新闻网大数据实时分析可视化系统项目——10、数据采集/存储/分发完整流程测试

(一)idea工具开发数据生成模拟程序 1.在idea开发工具中构建weblogs项目,编写数据生成模拟程序. package main.java; import java.io.*; public class ReadWrite { static String readFileName; static String writeFileName; public static void main(String args[]){ readFileName = args[0]; writeFileNa

新闻网大数据实时分析可视化系统项目——12、Hive与HBase集成进行数据分析

(一)Hive 概述 (二)Hive在Hadoop生态圈中的位置 (三)Hive 架构设计 (四)Hive 的优点及应用场景 (五)Hive 的下载和安装部署 1.Hive 下载 Apache版本的Hive. Cloudera版本的Hive. 这里选择下载Apache稳定版本apache-hive-0.13.1-bin.tar.gz,并上传至bigdata-pro03.kfk.com节点的/opt/softwares/目录下. 2.解压安装hive tar -zxf apache-hive-0.

基于大数据的电影网站项目开发之阶段性总结(三)

一.基础讲解 1. 主机ping不同虚拟机 虚拟机要设置IP地址,ip段是vmware        编辑菜单-->虚拟网络编辑器  网段,       网关:192.168.XXX.2       IP地址,不要是.1/.2       把vmware装好以后,在"网络适配器"里,应该多出两个虚拟网卡 2. linux    使用linux里的一些命令        cd:切换目录        tar -zxvf ....tar.gz,对tar文件进行解压        su