大数据测试的学习路线
首先,我想让大家思考一个问题:如果你不懂大数据架构,你是否能保障大数据输出数据质量?
答案是即使你不懂大数据架构,你或许也可以保障数据质量。类似于考试,卷子里的其中几道难题,不会导致你不及格,能否及格取决于你基础是否扎实。那么你想要及格,则需要你掌握的技能如下:
硬技能
- 计算机基础知识
- 数据结构与算法
- 操作系统
- 计算机网络
- 常用数据库
- 代码版本管理工具
对于测试工程师而言,计算机科学的知识体系是必不可少的,它有助于我们在开发测试过程中遇到问题时可以快速定位并选择合适的策略。扎实的计算机知识功底是测试/大数据测试工程师的基础。
- 至少掌握一门编程语言
- python
- java
- scala
- go
python、java语言目前仍是主流,go有追赶之势。
- 扎实的测试基础知识
- 测试设计
- 测试方法
- 测试工具
- 缺陷管理
测试工程师应具备扎实的测试基础知识。在项目流程中,合理的测试方法与缺陷管理,以及有效的测试设计,是保证项目质量的前提;选择合适的测试工具则有利于提升测试效率。
软技能
- 较好的业务沟通能力
- 良好的分析和解决问题的能力
- 具备责任心、好奇心等
- 较强的逻辑思维能力
- 善于学习新的知识
测试工程师不仅要掌握测试的相关知识和技能,还需要具备项目管理、协调和沟通等软技能。
加分项
- 大数据技术
- 大数据的生态系统知识
- 大数据类项目流程
- 大数据的处理流程
- 大数据技术的的发展与应用
对于大数据技术,应用广泛的是以Hadoop和Spark为核心的生态系统。Hadoop提供了一个稳定的共享存储和分析系统,存储由HDFS实现,分析由MapReduce实现。在Hadoop这个分布式计算基础框架中,有多个子项目提供配套的补充服务。
大数据计算主要完成海量数据并行处理、分析挖掘等面向业务的任务。大数据计算主要涉及批处理框架、流处理框架、交互式分析框架和图计算等。通过对大数据的计算与分析,从海量数据中提取隐含其中并具有潜在价值的信息,这不但是大数据类项目的重要流程,而且是大数据测试时需要我们关注的核心功能。
- 大数据测试技术
- 大数据测试方法论
- 大数据测试技能
- 大数据测试工具
测试大数据项目更像是验证数据处理的流程。掌握大数据测试方法论是测试实践的前提条件。在大数据项目的测试流程中,通常设计数据库测试、基准测试、性能测试和功能测试等,制定清晰的大数据测试策略或计划有助于项目的成功交付。可参考之前文章 说说你如何证明你能cover大数据测试?
大数据测试工具是提供测试效率的有效武器。分析业务数据的痛点,调研大数据测试过程中的工具需求,借助脚本、自动化方式和工具等,可有效提升测试的效率和准确性,避免重复性工作。
回到开头的那个问题:
我们假设某个项目的测试目标为:(仅测试输出数据)
- 数据准确性:数值要准确
- 数据及时性:数据要按约定时间产出
- 数据完整性:数据不能少、不能缺、不能多
测试的方法是:
- 梳理数据流转链路&数据口径
- 对比源表和目标表 (python脚本)
- 数据服务接口测试(功能&性能)
- 静态代码Code Review
找相应的人员获取到:
需产品配合:
- 清楚的数据需求描述
- 数据口径对齐
需开发配合:
- 提供完整的表映射文档,表结构文档
- 提供自测SQL
那么你马上就能上手大数据测试了,To do:
- 数据量是否正确,检查是否缺失数据
- 数据抽样检查每个字段是否正确
- 检查数据字段是否缺失
- 数据服务接口测试(功能&性能)
- ...
参考资源:
- 大数据测试技术与实践
以上,有任何想法都欢迎大家后台私信我,一起探讨交流。