本帖最后由 草帽路飞UU 于 2022-8-19 15:59 编辑
什么是大数据大数据是指无法在一定时间范围内用传统的计算机技术进行处理的海量数据集。 对于大数据的测试则需要不同的工具、技术、框架来进行处理。 大数据的体量大、多样化和高速处理所涉及的数据生成、存储、检索和分析使得大数据工程师需要掌握极其高的技术功底。 需要你学习掌握更多的大数据技术、Hadoop、Mapreduce等等技术。 大数据测试策略大数据应用程序的测试更多的是去验证其数据处理而不是验证其单一的功能特色。 当然在大数据测试时,功能测试和性能测试是同样很关键的。 对于大数据测试工程师而言,如何高效正确的验证经过大数据工具/框架成功处理过的至少百万兆字节的数据将会是一个巨大的挑战。 因为大数据高效的处理测试速度,它要求测软件工程师具备高水平的测试技术才能应对大数据测试。 我们来看下大数据处理的三个特性: 另外,数据质量也同样是大数据测试的一个重要维度。 因此在进行应用程序测试之前,必须确保数据质量,并且考虑把数据质量作为数据库测试的一部分。涉及数据的各种特性的检验,例如一致性、准确性、重复性、连贯性、有效性及完整性等等。 大数据应用测试步骤下面我们一起看看大数据应用的测试过程是怎么样的。 整体而言,大数据测试大体可以分为三大步骤: Map Reduce过程工作正常 数据聚合、分离规则已经实现 数据key-value关系已正确生成 验证经过map reduce后数据的准确性等特性
主要验证: 验证数据转换规则是否正确应用 验证数据的完整性和是否成功持久化到目标系统 验证无数据损坏
架构测试Hadoop处理海量数据是非常的消耗资源的,良好的架构是确保大数据项目成功的基础。糟糕的涉及会导致性能急剧的下降,进而使得系统无法满足我们的需要,因此我们需要,或是说至少在Hadoop环境下进行性能测试、故障恢复测试,以应改进效率和应对可能的最糟糕的情况。 性能测试是一个复杂的工作,它贯穿整个测试周期,需要关注内存、CPU、网络等等指标。 故障恢复测试则是验证数据处理过程中可能出现的故障,为做好意外的恢复做好相应的应对措施。 性能测试大数据性能测试主要包含以下几个部分: 在本阶段,我们主要验证大数据应用从源数据中提取、加载数据的效率。 一是验证单位时间内数据的提取、加 载效率。 二是验证数据持久化至mongodb等库的效率等等 在本阶段,我们验证map reduce任务的执行效率,重点关注的是数据处理的效率。当然这个过程可能也会涉及到数据的持久化相关指标,例如存储至HDFS读写效率等等,同样也会涉及在内存中处理效率,即我们的处理算法效率等等
大数据处理,一般都会需要综合利用各种组件来辅助处理,所以我们也是需要关注这些辅助组件的性能 性能测试策略大数据应用性能测试涉及海量的结构化和非结构化的数据,与我们平时所面对的业务系统有所不同,所以我们需要针对大数据应用制定特定的测试策略,以应对海量的数据。 根据上图性能测试执行过程一般是这样的: 性能测试基础准备在大数据性能测试时,需要准备相关的基础工作,如下: 数据准备,我们需要在不同的节点准备什么量级数据? 日志预估,在测试过程中,可能会生成多大的日志,日志的可能增量是什么样的? 并发,在测试时,可能会有多少线程并发读和写? 超时设置,应对设置怎样的连接超时?查询超时?写超时等等? JVM参数,如何设置最优的jvm参数,heap size、GC机制等等 Map Reduce,我们应该选择什么样的sort、merge等算法? 消息队列,消息队列长度会怎么样?等等
必备的测试环境大数据测试不同于常规的应用测试,你应该具备以下一些基础环境: 大数据测试的挑战对于从事大数据测试的软件测试工程师而言,与传统的测试工作相对比,我们可能面临的以下几个可能的挑战: 对大数据而言,管理影像信息也将是一个巨大的问题。
需要验证的数据量巨大,而且需要更快的处理速度 需要有效的自动化测试手段 需要尽可能的跨平台
|