data在python_Fake data的使用和产生 – Python篇

  • Post author:
  • Post category:python


什么是Fake data

Fake data顾名思义假数据,是在真实产品数据无法使用的情况下,产生地接近于产品环境的数据,多用于开发和测试。

Fake data的使用场景

有哪些开发或测试场景会使用fake data?

当你需要开发一个UI原型,但是API还没开发完成继而无法获取相关数据来显示到前端,这个时候,就可以使用mock data来模拟API,从而不阻碍UI的开发工作且使UI和API的开发并行,也有可能提早发现一些问题

当需要产生大量的数据填充数据库的时候,可以使用自动化填充接近于产品数据的fake data到数据库来满足开发测试需求

当需要大量类产品环境数据进行压力测试的时候

单元测试需要产生dummy data的时候

Fake data的原则

除了刻意设计的破坏性的test data,我们需要的test data应该是接近于产品环境和现实生活的,而不是固定的搭配。接近于产品数据的fake data能够更好地揭露产品环境潜在的问题,让产品看起来具有真实的使用价值和意义。

Fake data的实现方式

在我目前工作的项目中,需要填写各种各样的表单,这些表单收集中不同的用户数据,如果每一次我都填不同的数据来测试,是不是会更接近于产品的真实使用情况,说不定还能挖掘出一些潜在问题。产品环境的数据由于安全隐私不能触碰,那么如何产生大量的假数据呢?主要有下面两种

这篇文章会介绍Python的四个用于产生fake data的module

lipsum – is a simple Lorem Ipsum generator library which can be used in your Python applications

radar – Random date generation

mimesis – is a fast and easy to use library for Python programming language, which helps generate mock data for a variety of purposes in a variety of languages

Faker – is a Python package that generates fake data for you

安装Python3

在开始之前,先升级下python吧,官方都说了

Python 2.x is legacy, Python 3.x is the present and future of the language

况且很多流行库比如numpy都会不在继续维护python2,继而开始在python3上开发维护。那还有什么理由坚持python2呢?

想看python2还有多久退休,请参考这里。

我现在的Python开发环境还是macOS自带python 2.7.10,所以需要通过Homebrew去安装python3.具体的教程可以参考这里还有这里。

┌─[diyu@CNdiyu] – [~] – [Wed Jan 10, 16:14]

└─[$] <> python3 –version

Python 3.6.4

大功告成!

Lorem Ipsum 乱数假文

lipsum是一个随机文本语句和片段生成器。生成的文本有意义的lorem ipsum文本。

代码非常简单

import lipsum

print(“generate 10 words”)

print(lipsum.generate_words(10))

print(“*” * 50)

print(“generate 3 sentences”)

for x in lipsum.generate_sentences(3).split(‘.’):

print(x.strip())

print(“*” * 50)

print(“generate 3 paras”)

for x in lipsum.generate_paragraphs(3).split(‘\n’):

print(x)

输出为

generate 10 words

Quae cum dixissem, magis ut illum provocarem quam ut ips!

**************************************************

generate 3 sentences

Hunc vos beatum; ratio quidemvestra sic cogit

At ego quem huic anteponam non audeo dicere;dicet pro me ipsa virtus necdubitabit isti vestro beato M

Regulumanteponere, quem quidem, cum sua voluntate, nulla vi coactuspraeter fidem, quamdederat hosti, ex patria Karthaginemrevertisset, tum ipsum, cum vigiliis et fame cruciaretur, clamatvirtus beatioremfuisse quam potantem in rosa Thorium

**********************************************



版权声明:本文为weixin_36187176原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。