关于大数据测试,你一定要试试python的fake库

news2025/2/28 20:13:35

一.背景

对于大数据相关项目的测试,往往需要大量的测试数据,而场内测试时很难获取那么大批量的真实数据,这个时候需要测试人员能够快速模拟出符合要求的测试数据。这个时候要是有一个自动化工具或测试脚本简直不要太爽~

二.问题引入

对于互联网大数据测试,当需要快速模拟以万为单位的用户数据(包括用户名、ip地址、主机名、访问url等)时,有什么方法可以推荐吗?

这个时候你一定要试试python的fake库,简单方便,用了的都说好!

三.功能介绍

fake库可以模拟哪些信息?模拟信息主要包括:人物、地址、公司信息、文件信息、互联网信息等,官方地址详见:https://faker.readthedocs.io/en/master/#。

四.案例介绍

1.接口测试——模拟接口传入参数

接口测试是几乎是每个测试人员测试生涯中的必经之路。对于接口测试,往往我们需要根据定义传入相应的参数值验证接口返回的正确性。例如:某个接口需要传入int型变量,上下限分别是0、100。写接口自动化测试的时候我们往往是使用等价类和边界值测试法选择几个测试数据,例如:0、100、-1、101、50进行测试,但毕竟测试数据覆盖不够全面。

对于这类需要丰富测试数据的需求,我们可以使用fake的python数据功能,随机生成int数(fake.pyint())、生成float数(fake.pyfloat(left_digits=None, right_digits=None, positive=False))等。

2.业务测试——大数据用户信息模拟

对于某些项目,需要模拟用户信息进行业务测试(例如:核酸监测系统,并发测试大量用户的信息采集)。假如我们需要生成一万个用户,包括:用户名、联系电话、电子邮箱、出生年月日、所在城市、公司和身份证号码等信息。使用fake库,该如何模拟呢?

数据简单代码示例如下图所示:

运行结果,模拟用户如下图所示:

3.安全测试——互联网访问信息模拟

对于某些互联网访问安全类项目,往往需要模拟用户互联网访问信息,从信息中判定用户是否有危险行为。比如:某公司的安全检测系统,需要从员工的互联网访问信息(包括:员工机器host_name,访问机器的源ip,访问网站url,访问网站ip等)监测员工是否访问危险网站或危险IP。那么,测试该系统,无法获取真实用户访问信息时,如何使用fake库模拟测试数据进行被测系统的业务测试呢?

数据模拟简单代码示例如下图所示:

运行结果,模拟用户互联网信息如下图所示:

五.Q&A

为何上述样例中生成的用户名、地址等信息是中文,如何产生英文信息?

模拟中文信息,在初始化fake库时,使用Faker(locale='zh_CN')即可,默认Faker()初始化时,产生的用户信息时英文。当然,我们还可以使用其他语言(比如日文)产生相应信息,初始化时使用Faker(local=’ja_JP’);

如何自定义产生一些自己定制化的信息,比如使用自定义的单词生成文本?

可以使用ext_word_list参数。例如:

最后:

可以到我的个人号:atstudy-js,可以免费领取一份10G软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!其中包括了有基础知识、Linux必备、Mysql数据库、抓包工具、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试等。

这些测试资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/9465.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Ajax进阶】跨域和JSONP的学习

✍️ 作者简介: 前端新手学习中。 💂 作者主页: 作者主页查看更多前端教学 🎓 专栏分享:css重难点教学 Node.js教学 从头开始学习 ajax学习 文章目录了解同源策略和跨域  同源策略    什么是同源    什么是同源策略跨域    什么是…

python基础07——函数,想重复使用自己的代码就写个函数吧

目录1 函数定义与调用1.1 自定义模块函数1.2 函数的返回值 return2 参数的传递方式2.1 位置参数2.2 默认值参数2.3 关键参数2.4 可变长度参数(收集和分配参数)2.4.1 收集位置参数2.4.2 分配位置参数,函数参数的序列解包2.4.3 收集关键字参数2.4.4 分配关键字参数3 变量的作用域…

腾讯云GPU云服务器在选择实例配置时应该注意哪些事项?

腾讯云异构计算服务器搭载GPU、FPGA等异构硬件,具有实时高速的并行计算和浮点计算能力,适合于深度学习、科学计算、视频编解码和图形工作站等高性能应用,下面分享腾讯云NVIDIA GPU云服务器配置CPU内存性能注意事项: NVIDIA GPU云…

26、Stream流式计算,链式编程

Stream流式计算,链式编程 什么是stream流式计算? 大数据包括(存储计算) 集合,mysql这些是用来存储的,而计算是用stream流式的 题目案例:只用一行代码,完成计算这些操作 操作&…

软件工程师备考1-2章(续)

一:差错控制 (1)奇偶检验 什么意思呢? 如果我们用 奇校验,就是保证传输过来的数据中的1是奇数,如果不是奇数那么说明传输错误。 (所以会增加一位,保证正确的数据的总的1一定是奇数) (2)海明码 什么是海明距离? 两个码字,例如 0 1 0 0 和 0 0 1 0 可以看到这…

java的Excel导出方式总结

一、使用hutool导出excel 1.1 hutool介绍 hutool功能很强大,http请求到json处理、excel的导入导出、定时任务、IO、缓存、数据库操作等都提供了简单而方便的api供我们使用,好处是再也不用担心自己去整理常用的工具类了,同时也支持按需引入【但…

怎样在PDF上直接编辑文字?这几种编辑方法需要掌握

怎么做才能够直接在PDF文件上编辑文字呢?对PDF文件大家在工作中是经常使用的,相信大家也都亲身体验过,那就是经常会看见文件中有错误的地方,可能只是一个错别字,或者是图片错误,但我们也不得不改&#xff0…

2023年前端开发趋势未来可期

☆ 对于很多质疑,很多不解,本文将从 △ 目前企业内前端开发职业的占比; △ 目前业内开发语言的受欢迎程度; △ 近期社区问答活跃度; 等维度来说明目前前端这个职业的所处位置。 ☆ 还有强硬的干货,通过深入…

MQTT 协议的基本概念

目录 1、MQTT 介绍 2、MQTT 发布-订阅模式 (1)Broker 可拓展 (2)Broker 消息过滤 (3)MQTT 的主要特征是什么? (4)MQTT 和消息队列的区别 3、MQTT 客户端、 Broker…

6-TRITC 四甲基罗丹明-6-异硫氰酸 CAS 80724-20-5

产品名称:6-TRITC 四甲基罗丹明-6-异硫氰酸 英文名称:6-TRITC [Tetramethylrhodamine-6-isothiocyanate] CAS:80724-20-5 结构式: Ex (nm) 544 Em (nm) 570 分子量 479.98 溶剂 DMSO 存储条件 在零下15度以下保存, 避免光…

使用Idea新建Play项目sbt构建失败,提示scala-xml依赖冲突

最近学习scala和paly,使用idea模板创建项目后,项目构建时就发现报错了,处理了很久,记录一下。 错误日志: [error] (update) found version conflict(s) in library dependencies; some are suspected to be binary incompatible: [error] […

协程原理与设计

什么是M:N协程?为什么要支持M:N协程?如何设计M:N协程?tRPC-Cpp引入了公司开源组件Flare/fiber作为底层库,本文多角度分析梳理了M:N协程的关键原理和特性。1 常见线程模型的问题 在高并发编程场景,如互联网后台类业务中…

尚医通 (十九) --------- 数据字典导出与导入

目录一、数据字典导出1. 导出接口封装2. 在 service-cmn 模块添加 service 方法3. 在 service-cmn 模块添加 controller 方法4. 测试5. 导出前端实现二、数据字典导入1. 导入接口封装2. 导入前端实现一、数据字典导出 1. 导出接口封装 A、在 model 模块添加导出实体 在 mode…

【论文解析】Deep Generative Models on 3D Representations: A Survey

文章目录内容组织结构3 FUNDAMENTALS3.1 Deep Generative ModelsGenerative Adversarial Networks.Variational AutoencodersNormalizing Flows.Diffusion ModelsEnergy-based model.3.2 3D RepresentationsVoxel gridsPoint cloudsMeshesNeural fieldsHybrid representation.4…

读《高性能MySQL》笔记---索引

索引是存储引擎用于快速找到记录的的一种数据结构。 索引的优点 索引大大减少服务器需要扫描的数据量。索引帮助服务器避免排序和临时表。索引将随机IO变为顺序IO。 说明: 顺序IO:是指读写操作的访问地址连续。在顺序IO访问中,HDD所需的磁…

生产环境日志还用notepad++?难怪定位慢,UltraEdit了解一下!

最近这两天运营部门反馈有会员的会员卡开卡时间与相关页面显示的开卡时间不一致,需要定位确定哪个时间是准确的。对于线上数据异常问题一定要谨慎处理,因为很有可能会是用户的某些非常规操作导致部分场景漏测。 对于这种数据异常的业务问题&#xff…

顺序存储二叉数(Java)

1、顺序存储二叉数 从存储角度来看,我们之前讲的树在存储结构上不是顺序存储的,都是非线性的存储结构,所以我们可以从数组的角度来分析,数组和树可以相互转换,数组可以转换成树,树也可以转换成数组&#x…

吗咿呀嘿-用js来搞个简单的人脸识别

缘起 “蚂蚁呀嘿,蚂蚁呀呼,蚂蚁呀哈” 相信最近好多人的朋友圈或者抖音都被类似视频刷过屏! 类似的效果最早是在2020年初,那个时候大家应该还都记得,几乎所有的人都因为疫情原因被迫线上办公! 工作当然离不…

mybatisPlus

第十一章:Mybatis_plus 第1节:简介 本章节主要介绍mybatisPlus是mybatis的增强工具,只做增强不做改变,不会对mybatis产生任何影响。它的主要优势具有无侵入、损耗小、强大的CRUD操作、支持 Lambda 形式调用、支持 ActiveRecord模…

向毕业妥协系列之机器学习笔记:无监督学习-异常检测

目录 一.发现异常事件 二.高斯正态分布 三.异常检测算法 四.开发与评估异常检测系统 五.异常检测与监督学习对比 六.选择使用什么特征 一.发现异常事件 下图的例子是飞机发动机的制造,有很多特征,我们为了方便讲解取其中的两个特征:发…