前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【rainbowzhou 面试7/101】技术提问--如何准备测试数据?

【rainbowzhou 面试7/101】技术提问--如何准备测试数据?

作者头像
rainbowzhouj
发布2023-03-16 14:15:02
2570
发布2023-03-16 14:15:02
举报
文章被收录于专栏:rainbowzhou的成长足迹

【rainbowzhou 面试6/101】技术提问--举例说明你写的ETL测试用例?中,我介绍了ETL测试中常见的ETL测试场景及用例。那么面试官可能会追问你在实际大数据项目过程中,你设计完用例后,如何准备测试数据?本篇聊聊这个话题,希望对大家有所帮助。

前言

仔细回想整个测试流程,对于任意一个项目而言,在测试用例设计完成后,执行测试用例之前,我们都还有一个环节的任务要做,即准备相应的测试数据。而对于大数据测试来说,准备相应的测试数据还有以下难点,如:

  • 数据来源广、维度多、类型复杂(Vatiety);
  • 数据体量大、TB级数据才是起步的量级,PB级已是常态(Volume)。 那么相应的我们需要根据测试用例和对应业务场景准备不同类型的测试数据。在这个过程中,我们需要考虑真实业务数据的来源(数据库、Web日志、传感器等),同时需要注意数据类型、数据逻辑和数据量等。

准备测试数据的方法

基于GUI(图形用户界面)构造数据

基于GUI构造数据是原始的数据构造方法,构造的数据来自真实的业务流程,最大程度保证了数据的正确性和完整性。在很多手工测试的场景中,普遍采用这种方法,但是存在这样的情况,数据来源是客户的私有化数据,客户会分不同的环境来限制你的使用,或要求脱敏、加密等处理后才能使用。

使用批量数据生成工具构造数据

在测试过程的部分场景中,需要构造海量数据。这时,我们可以选择一些比较成熟的批量数据生成工具来构造数据,如DataFactory、DataX等。

通过数据库(SQL语句等)生成数据

向数据库中直接插入数据是常用的构造测试数据的方法。具体做法:将创建测试数据的SQL语句封装成一个个测试数据生成函数,当需要创建测试数据时,直接调用这些封装好的函数即可。这种方法生成测试数据的效率非常高,可以短时间内向数据库中插入大量的测试数据。

基于真实业务数据脱敏后导入测试环境

可以将部分客户提供的样例数据同步到测试集群,并且进行严格脱敏流程后使用,保证测试过程中数据的多样性和真实性。

基于测试数据平台构造测试数据

可以将测试数据准备工作进行脚本化甚至平台化,工具平台化会逐渐成为测试数据准备工作发展的方向。若已有测试数据平台的公司,可以直接利用平台生成系统化的数据。

基于中间件构造数据

在微服务架构中,通常需要通过消息中间件将多个服务进行解耦,为了减少对测试工作的以来,通常会向Kafka中构造数据。例如实时数据可以通过编写Kafka的producer代码,向Kafka中生产测试所需的测试数据。具体做法与通过数据库构造测试数据类似,将Kafka的producer代码封装成测试数据生成函数,当我们创建测试数据时,直接调用这些封装好的函数即可。

在实际工作中,数据的准备是比较重要且复杂的环境,测试数据需要尽量和实际数据保持一致,如时区的一致性零时区还是东八区、时间的值是精确到天还是秒、金额保留几位小数等。

参考资源:

  • 大数据测试技术与实践

看完今天的分享对你是不是有所启发呢,有任何想法都欢迎大家后台私信我,一起探讨交流。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 rainbowzhou的成长足迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 准备测试数据的方法
    • 基于GUI(图形用户界面)构造数据
      • 使用批量数据生成工具构造数据
        • 通过数据库(SQL语句等)生成数据
          • 基于真实业务数据脱敏后导入测试环境
            • 基于测试数据平台构造测试数据
              • 基于中间件构造数据
              相关产品与服务
              消息队列 TDMQ
              消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档