一.背景

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

二.问题引入

对于互联网大数据测试,当需要快速模拟以万为单位的用户数据(包括用户名、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自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试等。

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

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

  1. Manning大神牵头,斯坦福开源Python版NLP库Stanza:涵盖66种语言

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 转自:机器之心 对于斯坦福 NLP 库,我们一定不会陌生,但是这一库主要基于 Java ...

  2. 乐玩自动化测试模块_深圳大数据测试培训推荐班

    推荐就业服务.很多培训机构都有推荐就业的服务,比如就有终身就业推荐服务,如果学员找的工作不满意,的就业老师会一直为他免费推荐工作.深圳大数据测试培训推荐班4.企业内推.有的培训机构会和企业建立比较深入 ...

  3. 一名合格的大数据测试工程师,需要掌握哪些基本知识

    关于大数据测试策略.大数据应用测试步骤.大数据测试流程等等,你应该也听到很多人给你科普过这些基本的知识了,在这就不再冗述了. 今天轻松一下,分享一些有趣的数据主要来说下,成为大数据测试工程师前,你必需 ...

  4. python降低图片分辨率_手把手:扫描图片又大又不清晰?这个Python小程序帮你搞定!...

    原标题:手把手:扫描图片又大又不清晰?这个Python小程序帮你搞定! 大数据文摘作品 编译:HAPPEN.于乐源.小鱼 一位乐于分享学生精彩笔记的大学教授对于扫描版的文件非常不满意--颜色不清晰并且 ...

  5. 快来试试Python写的游戏《我的世界》

    <我的世界 Minecraft>大家应该都听说过,但你有没有想过自己用Python写一个这样的游戏呢?太难.太复杂了?也许吧,但是不试一试你怎么知道能不能成呢? 国外有位叫fogleman ...

  6. 大数据测试基础知识点

    1.什么是大数据 大数据是一个大的数据集合,通过传统的计算技术无法进行处理.这些数据集的测试需要使用各种工具.技术和框架进行处理.大数据涉及数据创建.存储.检索.分析,而且它在数量.多样性.速度方法都 ...

  7. 软件测试之大数据测试

    什么是大数据 大数据是指无法在一定时间范围内用传统的计算机技术进行处理的海量数据集. 对于大数据的测试则需要不同的工具.技术.框架来进行处理. 大数据的体量大.多样化和高速处理所涉及的数据生成.存储. ...

  8. 十大被低估的python库_小白必读!十大被低估的Python自带库!

    原标题:小白必读!十大被低估的Python自带库! 大家在学习python的过程中,都会了解到python的一个强大的功能在于各种强大的第三方库函数,大家只需要通过pip install 即可安装我们 ...

  9. python慢在哪里_求大神分析一下我的python脚本慢在哪里?

    请大神们分析下这个python脚本为什么会运行这么慢. 初衷: 公司有个料号系统, 在网站上输入料号就能查询相关的资料, 一般情况下, 我会ctrl+c, 打开网站, ctrl+v, 点击查询, 得到 ...

最新文章

  1. 脑电数据分析工具汇总
  2. react使用moment进行日期格式化
  3. 饥荒海难机器人怎么用_饥荒:海难是一款野外生存游戏
  4. Android视图绘制逻辑与思想(一):attachToRoot到底有什么作用?
  5. Exchange Server 2019新功能预览-揭秘被削减的功能
  6. 4.2 Tensorflow笔记:池化函数
  7. 从程序猿到SAP产品经理,我是如何转型的?
  8. 算法复习——计算几何基础(zoj1081)
  9. 不入oracle数据库,Oracle数据库之操作符及函数
  10. shell 编程-Expect
  11. 1007 素数对猜想(C语言)
  12. caffe/build/tools下会生成一些工具
  13. android-async-http框架之与网络进行数据交互
  14. 颜值即正义,这个蓝色爱心不好看吗
  15. linux里关于Tab/Ctrl/Shift/Insert的快捷键
  16. 郑州灵活用工平台开发怎么选择模式?
  17. Code Project精彩系列(2)
  18. Botnet趋势漏洞利用状况分析
  19. 谷歌地球不能用了?我敢说大部分人不知道真实原因
  20. 傅里叶级数、傅里叶变换、短时傅里叶变换 公式

热门文章

  1. 【Kotlin 协程】协程取消 ② ( CPU 密集型协程任务取消 | 使用 isActive 判定协程状态 | 使用 ensureActive 函数取消协程 | 使用 yield 函数取消协程 )
  2. Java多线程之间的通信方式
  3. 雅可比旋转(Jacobi法)求对称矩阵的特征值和特征向量
  4. 隐藏站长统计4个字的方法
  5. 真服了!docker源码分析孙宏亮
  6. 猜数字游戏(比大小)
  7. 已解决: newff()转为jar 调用报错:Layer sizes is not a row vector of positive integers
  8. python opencv图片拼接融合
  9. 郭健: Linux进程调度技术的前世今生之“前世”
  10. 立创开源丨基于CH340C的STC三口双电压自动冷启动自动下载器