如何做大数据测试
1、数据规模:大数据测试所涉及的数据规模通常是海量级别的,而普通测试所涉及的数据规模较小。
2、测试工具:大数据测试需要使用专门的测试工具和框架,如HadoopUnit、Apache BigTop、JMeter、LoadRunner等,而普通测试则可以使用通用的测试工具和框架,如JUnit、TestNG等。
3、测试目的:大数据测试的主要目的是验证大规模数据的质量、性能和可靠性,而普通测试则主要用于验证软件的功能、逻辑和正确性。
4、测试方法:大数据测试需要使用分布式计算和存储技术,例如Hadoop、Spark、NoSQL等,以处理和分析大量数据。普通测试则使用传统的单机测试技术,例如单元测试、集成测试、系统测试等。
5、数据量:大数据测试需要处理大规模数据,通常是以千万、亿甚至更多的数据为单位进行测试。普通测试的数据量相对较小,通常以几千、几万或百万级别为单位进行测试。
6、测试环境:大数据测试需要使用大规模集群环境,以模拟生产环境的情况。普通测试则通常使用开发环境或测试环境。
具体测试时,重点考虑以下几个方面:
1、数据质量测试:对大数据进行完整性、准确性、一致性等方面的测试,确保数据的质量符合要求。
2、性能测试:测试大数据系统的性能,包括吞吐量、响应时间等指标,保证系统能够承受高负载的访问。
3、安全测试:测试大数据系统的安全性,包括访问控制、数据加密等方面的测试,确保数据的安全性。
4、可靠性测试:测试大数据系统的可靠性,包括故障恢复、容错性等方面的测试,确保系统能够保持稳定运行。
综上所述:
普通测试通常指对软件系统的功能、性能和安全等方面进行测试,其数据规模相对较小,通常是人为构造的数据集,以确保软件在不同情况下的表现符合预期。这种测试通常需要编写测试用例、运行测试、记录测试结果等步骤。而大数据测试则是针对大规模数据进行的测试,旨在验证软件系统能够处理、存储和分析大量数据的能力。这种测试需要使用真实的大数据集,测试数据的来源可以是来自传感器、社交媒体、金融机构等数据源。大数据测试的目标是测试系统的可伸缩性、容错性和性能等方面。
因此,大数据测试需要使用大数据技术,例如Hadoop、Spark等,测试人员需要了解大数据架构和相关技术,对数据的采集、存储和处理过程有深入的理解。大数据测试还需要考虑如何模拟真实数据的情况,测试数据的生成和准备过程可能比普通测试更复杂。
测试用例模板:
Mapping Doc Validation(映射文件验证),验证映射文件是否提供了响应的ETL信息,且每个映射文档的更新日志有记录
Validatioin(验证),根据对应的映射文件验证源与目的地数据仓库的表结构
Validatioin(验证),验证源和目标数据的类型一致
Validatioin(验证),验证源和目标数据的长度一致
Validatioin(验证),验证数据字段类型和格式是指定的类型
Validatioin(验证),验证源的数据类型长度不应小于目标数据类型长度
Validatioin(验证),针对映射表对数据表的列的名称进行验证
约束验证,验证目标表中的约束管理满足我们的期望设计
数据一致性验证,防止语义相同,但特定属性的数据类型和长度不一致的问题
数据一致性验证,防止完整性约束滥用
完整性验证,要确保所有期望的数据都已经完整的加载到目标表中
完整性验证,要比较源和目标数据的个数(即确保计数上的完整)
完整性验证,检查出现的任何不合格的记录
完整性验证,检查目标表列中的数据没出现被截断的情况
完整性验证,对边界值进行分析检查
完整性验证,要检查比较目标数据仓库和源数据的关键字段的唯一性
正确性验证,数据要没有拼写错误或不准确的记录
正确性验证,无null、非唯一或超出范围的数据记录存在
转换,验证转换逻辑的正确性
数据准确性,数值型验证,验证是否为数值类型
数据准确性,日期型验证,验证是否为日期格式,并且在所有日期类型数据的格式应该统一
数据准确性,精度验证,小数点的精度要满足期望的精度
数据准确性,数据检查:检查数据的正确性,完整性
数据准确性,null检查
拷贝验证,验证目标表中业务要求所有唯一性指标均正确的实现(例如主键、唯一标识的键、或其它任一唯一表示的列)
拷贝验证,验证从源数据多列合并而成的数据是正确的
拷贝验证,验证仅仅根据客户要求对源数据进行了多列合并至目标表中
数据完整性验证,在验证源和目标表中的数据集的完整性时,我们需要用到交集运算,以确定目标数据的完整性
数据清理,对于不需要的列在载入至数据仓库前应该进行删除