行业测试数据-案例分享
一 总体介绍
“人类正从IT时代走向DT时代”
1.数据测试指的是检查局部数据结构时为了保证临时存储在模块内的数据在程序执行过程中完整、正确的过程。2.工程师开发完成后,常常需要制造大批量的伪数据,来测试数据中台的开发效果。例如在数仓开发中,会遇到需要在已构建的数仓模型(各种表)中,导入一些测试数据,方便逻辑开发完之前进行开发和测试。亦或是自己有一些SQL逻辑需要测试,需要批量造一些假数据(几百上千条,甚至几十万条)。
如何在造数过程中保障数据质量,优化数据产出
数据质量问题:数据一致性,数据完整性、数据准确性、数据唯一性、数据关联性、数据及时性
数据准确性:用于分析和识别无效或者不准确的数据,不可靠的数据可能会导致严重的问题。数据唯一性:用于识别和度量重复数据、冗余数据,重复数据是导致业务无法协同、流程无法追溯的重要因素,是需要解决的最基本的数据问题。数据完整性:唯一性约束不完整、参照不完整;数据条目不完整、数据记录丢失或不可用;不完整的数据所能借鉴的价值就会大大降低,也是数据质量问题最为基础和常见的问题。数据一致性:多源数据的数据模型不一致,例如:命名不一致、数据结构不一致、约束规则不一致。数据实体不一致,例如:数据编码不一致、命名及含义不一致、分类层次不一致、生命周期不一致……。相同的数据有多个副本的情况下的数据不一致、数据内容冲突的问题。数据关联性:数据关联性问题是指存在数据关联的数据关系缺失或错误,例如主外键关系、索引关系等。会直接影响数据分析的结果。数据及时性:能否在需要的时候获到数据,数据的及时性与企业的数据处理速度及效率有直接的关系,是影响业务处理和管理效率的关键指标。
实时数据类:
源头数据订阅-》流式计算计算平台-〉数据输出在线存储系统
2、 逻辑正确性:
本地测试:模拟实时数据流,校验输出结果是否正确
3、数据准确性:
本地逻辑校验通过后,对真实数据进行校验。把实时数据拖回ODPS,做离线的查询、统计、对比
4、时效性:
关注日志时间和表数据产生时间,不能与实际时间偏差太大
二 语言简介
1.什么是python
Python是一种开源的 、解析性的,面向对象的编程语言。
Python使用一种优雅的语法,可读性强 Python支持类和多层继承等的面向对象编程技术。
Python可运行在多种计算机平台和操作系统中,如unix,windows,MacOS,ubuntu,OS/2等等
Python 标识符
在python里,标识符有字母、数字、下划线组成。在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。python中的标识符是区分大小写的。以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入;以双下划线开头的(foo)代表类的私有成员;以双下划线开头和结尾的(foo__)代表python里特殊方法专用的标识,如init()代表类的构造函数。
Python保留字符
下面的列表显示了在Python中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。所有Python的关键字只包含小写字母。
and exec notassert finally orbreak for passclass from printcontinue global raisedef if returndel import tryelif in whileelse is withexcept lambda yield
多行语句
Python语句中一般以新行作为为语句的结束符。但是我们可以使用斜杠( \)将一行的语句分为多行显示。
语句中包含[], {} 或 () 括号就不需要使用多行连接符。
Python 引号和注释
2.Python 接收单引号(' ),双引号(" ),三引号(''' """) 来表示字符串,引号的开始与结束必须的相同类型的。其中三引号可以由多行组成,编写多行文本的快捷语法,常用语文档字符串,在文件的特定地点,被当做注释。
3.Python中单行注释采用#开头
python 中多行注释使用三个单引号(''')或三个双引号(""")
多个语句构成代码组缩进相同的一组语句构成一个代码块,我们称之代码组。像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。我们将首行及后面的代码组称为一个子句(clause)。
4.Python数据类型
准数据类型在内存中存储的数据可以有多种类型。例如,person.s年龄作为一个数值存储和他或她的地址是字母数字字符存储。Python有一些标准类型用于定义操作上,他们和为他们每个人的存储方法可能。Python有五个标准的数据类型:Numbers(数字)String(字符串)List(列表)Tuple(元组)Dictionary(字典)
Python数字数字数据类型用于存储数值。他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。Python支持四种不同的数字类型:
int(有符号整型)<