作者:稀饭
1、大数据测试的基本概念
大数据测试通常是指对采用大数据技术的系统或引用的测试。大数据测试可以分为两个维度,一个维度是数据测试,另一个维度是大数据系统测试和大数据应用产品测试。其中:
(1)数据测试。主要关注数据的完整性、准确性和一致性等,是大数据测试中非常重要的一环。如果在该环节的数据测试不够严格,则后续所有的数据应用都可能出现偏差甚至是错误结果。
(2)大数据系统测试。主要包括功能、基准、安全和可靠性等测试。
(3)大数据应用产品测试。主要对一些典型的大数据应用产品,例如BI报表、数据挖掘产品和数据分析平台进行测试。
2、大数据测试和传统的数据测试的差异
(1)数据量级差异:大数据测试需要处理的数据量级较高,而传统数据测试涉及的数据量级比较低;
(2)数据结构:大数据测试需要处理的数据结构包括结构化数据、非结构化数据和半结构化数据,而传统数据测试则是以结构化数据为主;
(3)验证工作:大数据测试涉及的验证环节多、数据量大,会比较复杂。而传统数据测试则是以抽取数据来验证,相对简单;
(4)环境要求:大数据测试比较依赖HDFS、YARN和Zookeeper等集群环境,而传统数据测试则主要依赖传统数据库;
(5)测试工具:大数据测试依赖Hadoop生态系统组件和ETL测试工具,而传统数据测试则依赖传统数据库和传统测试工具;
(6)测试人员:大数据测试的测试人员的技能门槛高,需要测试人员掌握大数据相关的知识。而传统的数据测试相对门槛较低。
3、大数据测试类型
(1)功能测试
主要覆盖数据质量、数据维度、数据处理和数据展示等多个方面。功能测试常用的测试方法有数据完整性测试、数据一致性测试、数据准确性测试、数据及时性测试、数据约束检查、数据存储检查、SQL文件检查、数据处理逻辑验证、Shell脚本测试和调度任务测试等。
(2)性能测试
在大数据应用系统中,数据处理可能会涉及多个节点且需要在较短时间内完成,如果应用系统的性能较差,那么它的性能会随着数据量的增长而下降,甚至在达到一定规模时直接崩溃。因此,性能测试在大数据应用中非常重要。性能测试主要包括基准测试、并发测试、负载测试、压力测试、容量测试、稳定性测试等。
(3)其他非功能性测试
除功能测试、性能测试外,大数据测试还包括一些其他的非功能性测试,例如易用性测试、安全性测试、容错性测试、扩展性测试、部署方式测试、高可用性测试、混沌工程(是指在分布式系统上又经验指导的受控实验,观察系统行为并发现系统弱点的工程)。
4、大数据测试流程
(1)分析业务和需求;
(2)制定测试方案和计划;
(3)设计测试用例和准备测试数据;
(4)完成测试用例执行;
(5)生成测试报告并分析结果。
广告区↓





