基於Faker生成中文測試數據實例

2021-02-16 開源優測

上一篇 基於Python生成中文測試數據 講解了如何使用python代碼自己實現中文測試數據的生成,這篇我們分享如何基於Faker開源庫來實現。

Faker 是一個可以讓你生成偽造數據的Python包。

安裝:pip install Faker

 

官方文檔:https://faker.readthedocs.io/en/master/

github地址: https://github.com/joke2k/faker

常用地 方法及作用列表

下面我們看一個實際的實例代碼:

# -*- coding: utf-8 -*-
__author__ = "苦葉子"
from faker import Faker

""""
基於Faker生成不同測試數據實例
"""
if __name__ == "__main__":

# 創建faker實例,中文
# 如果要生成其他語言,則將zh_CN改成對應的語言執行
fake = Faker("zh_CN")

print("- 生成5個姓名")
for _ in range(5):
print(fake.name())

print("\n- 生成5個國家")
for _ in range(5):
print(fake.country())

print("\n- 生成5個條碼")
for _ in range(5):
print(fake.ean8()) # 8位條形碼
print(fake.ean13()) # 13位條形碼

print("\n- 生成5個顏色")
for _ in range(5):
print(fake.hex_color())

print("\n- 生成5個公司名")
for _ in range(5):
print(fake.company())

print("\n- 生成5個信用卡")
for _ in range(5):
print(fake.credit_card_number(card_type=None)) # 卡號
print(fake.credit_card_provider(card_type=None)) # 卡的提供者
print(fake.credit_card_security_code(card_type=None)) # 卡的安全密碼
print(fake.credit_card_expire()) # 卡的有效期
print(fake.credit_card_full(card_type=None)) # 完整卡信息
print("---" * 5)


print("\n\n其他方法這裡就不一一演示,請自信敲代碼")

運行結果為:

關於Faker的更高級使用可以參見官方的文檔 https://faker.readthedocs.io/en/master/

本文僅簡單的演示,以見其強大!!!

     

掃一掃加我微信,入群一起討論交流各種開源測試技術、工具、經驗和解決方案。

掃一掃,關注開源優測公眾號,原創文章首發平臺

大數據測試過程、策略及挑戰

大數據測試之ETL測試入門

軟體測試工程師又一大挑戰:大數據測試

jmeter入門系列v1.0電子版

Python3接口測試pdf+源碼免費領

快學Python3系列

順手點點點右下角的

相關焦點

  • Faker Providers使用及自定義開發
    前面兩篇文章,一篇介紹了利用Python原生生成測試數據基於Python生成中文測試數據,一篇介紹了Faker庫生成測試數據基於Faker生成中文測試數據實例, 本文介紹基於Faker Providers生成測試數據的實例。
  • 別再造假數據了,來試試 Faker 這個庫吧!
    點擊上方「濤哥聊Python」,選擇「星標」公眾號重磅乾貨,第一時間送達本文轉載自:進擊的Coder在做程序開發的時候,我們經常會用到一些測試數據,相信大多數同學是這麼來造測試數據的:test1test01test02測試1測試2測試數據1這是一段測試文本
  • 測試數據不會造?Fake Data!
    在測試過程中,大家應該都遇到過各種各樣的數據構造問題。e.g.  Community Providers  由一些Community提供的,目前包括Web相關、雲相關、WiFi、微服務、信用分數據。  Community Providers  根據地區/語言差異,本地化提供的一些方法,如簡體中文下生成的姓名和繁體中文下生成的姓名是不一樣的。
  • 居然還有人在手寫測試數據?
    平時我們在開發程序的時候,總免不了需要造一些假數據來驗證自己的程序功能是否正常。那麼你是通過什麼方式來造假數據的呢,不會每次都是手寫「測試數據、test」吧。今天派森醬給大家介紹兩個超級好用的庫,批量生成各種假數據,比如用戶信息,地址,日期,數字等等。
  • 測試工程師的你還在為製造測試數據苦惱嗎?Python庫Faker幫到你!
    那是因為工作當中,有個痛點,就是真正執行測試工作前,需要製造一些虛假的數據,比如測試下單流程,我們起碼要聯繫人、電話、地址等等數據,在沒有認識這個庫之前,你是否隨便填一些小明啊,13100000000,或者亂七八糟的數據來填充呢?或許這樣是可以的,但是為了解決製造測試數據這個痛點更加貼近用戶填寫的真實數據,我們可以採用Faker這個庫來幫助我們生成一些貼近真實的數據.
  • 如何用Faker來創造假數據
    CDA數據分析師 出品1. 目標有的時候需要對某一種數據結構(布爾,浮點,字符,整數)來創造一些數據(名字,地址,顏色,郵件,電話號碼,地址)從而可以來測試某一個某一個python庫或者自己寫的一些代碼。
  • python自動生成測試數據
    faker.am_pm()# 'AM'faker.century()# 'X'faker.date(pattern="%Y-%m-%d", end_datetime=None)# '1997-06-16'faker.date_between(start_date="-30y", end_date="today
  • 移動端異常數據測試
    比如後端接口數據返回某個欄位為空、某個欄位類型變了、數組為空等.此時如果客戶端沒有兼容這些異常行為,大多數情況會導致崩潰.所以為了保證客戶端在任何異常數據的情況下都能兼容(不崩潰),需要進行異常數據測試.異常數據測試方法在以前手工測試階段,我們一般藉助fidder或者charles工具.對返回結果攔截修改數據,再進行數據的maplocal.
  • 動態生成掩膜預測網絡生成模型CondInst,助力FCN重奪實例檢測顛峰
    這種全卷積網絡消除了對於ROI區域測裁剪操作和特徵配準方法,其次由於動態生成的條件卷積大幅提升了網絡容量使得mask分支變得非常緊湊,推理速度得到了大幅度提升。實驗表明這種方法無需更長時間的訓練,在COCO數據集上取得了比Mask R-CNN更好的結果,同時在精度和速度上都得到了明顯提升。
  • 實例-基於內容推薦
    2、學習用戶偏好:利用一個用戶過去喜歡(及不喜歡)的物品的特徵數據,來學習出此用戶偏好;3、生成推薦列表:根據候選物品表示和用戶偏好,為該用戶生成其最可能感興趣的 n 個物品。基於 TF-IDF 的文本表示法文本相似計算是進行文本聚類的基礎,和傳統結構化數值數據的聚類方法類似,文本聚類是通過計算文本之間"距離"來表示文本之間的相似度並產生聚類。文本相似度的常用計算方法有餘弦定理和 Jaccard 係數。
  • 雲計算必備知識-基於PyTorch機器學習構建生成對抗網絡
    生成對抗網絡被廣泛應用於廣告、遊戲、娛樂、媒體、製藥等行業,可以用來創造虛構的人物、場景,模擬人臉老化,圖像風格變換,以及產生化學分子式等等。下面兩張圖片,分別展示了圖片到圖片轉換的效果,以及基於語義布局合成景物的效果。
  • JUST技術:基於無參生成模型的行人軌跡生成
    作者認為,馬爾科夫模型的有限階依賴關係無法學習長軌跡的先後位置關聯關係;而基於循環神經網絡如LSTM的做法,由於也被發現在長序列生成中會出現偏離[1],也不能很好適用於軌跡生成。軌跡表徵這裡介紹論文的軌跡表徵方式。
  • 基於Transformer增強架構的中文語法糾錯
    論文名稱:基於Transformer增強架構的中文語法糾錯論文作者:王辰成,楊麟兒,王瑩瑩,杜永萍,楊爾弘發表於:第十八屆中國計算語言學大會(CCL 2019)語法糾錯(Grammatical Error Correction, GEC)任務,旨在利用自然語言處理技術,自動識別並糾正非中文母語學習者書寫的文本中所包含的語法錯誤,拼寫錯誤,語序錯誤
  • OCR深度實踐系列:數據生成
    基於深度學習的OCR系統一般分為文字檢測和文字識別兩個階段,數據生成也需要針對這兩個階段分別敘述並輔以實戰進行演示。本項目完整代碼:https://github.com/Vincent131499/Chinese-OCR3/tree/master/data_generation1.文字檢測數據的生成1.1 SynthText方法文字檢測數據生成方法主要基於Synthetic Data for Text Localisation
  • EMNLP 2019 | 基於篇章片段抽取的中文閱讀理解數據集
    該論文提出了一種基於篇章片段抽取的中文閱讀理解數據集,也是由哈工大訊飛聯合實驗室承辦的第二屆「訊飛杯」中文機器閱讀理解評測(CMRC 2018)使用的數據。第二屆CCL「訊飛杯」中文機器閱讀理解評測研討會(CMRC 2018)由中國中文信息學會計算語言學專委會主辦,哈工大訊飛聯合實驗室承辦,科大訊飛股份有限公司冠名,於2018年10月19日在湖南長沙圓滿落幕。
  • Faker被逼著學會一句髒話?李哥被gank,情急之下說了句中文!
    faker作為目前為止最偉大的lol職業選手,一直是其他選手的的偶像和榜樣,而faker自己的言行和品德也確實擔得起「電競標杆」這四個字。不過最近faker好像在直播中學會了一句髒話,而且這句髒話還是中文。也不知道這句話李哥是從哪裡學來的,說的還非常標準。
  • Faker直播狂飆「中文」,原來口吐芬芳的詞語世界通用
    而近日在世界第一中單faker直播時,李哥突然冒出了一句流暢的中文,著實給觀眾嚇了一大跳。按說如果只是一句普通的中文其實大家也不會太過驚訝,畢竟faker在LPL也有很多粉絲,學兩句也沒有什麼的,只是faker說出的這句話並不是「大家好」這類的互動詞語,而是一段非常標準的祖安口語,「槽.」由於不是很文明就不寫的太明顯了,反正是平時很常用的詞語大家都懂。
  • LOL:網友測試faker和恩靜的緣分,結果令人惋惜
    李哥在隊內似乎也有點不受人待見,隊友在接受採訪時都在誇新中單怎麼好怎麼好,這也在變相的說李哥不好,所以這也令faker很難受。而在賽場外,好事的水友也挖出了李哥很中意的恩靜即將結婚,雖然最後被證實是假消息,但是也能看出水友們對faker很關心。
  • 測試數據該如何歸置?
    用於判定根據測試請求數據生成的測試結果數據,是否跟測試期望數據相同。如果相同,則說明業務行為符合預期;不相同,則說明業務行為跟需求不一致,可能存在Bug。3. 測試結果數據即經過測試請求數據的輸入,系統產生的結果數據,這部分數據也分為兩種情況:單純的結果數據指未經分析、聚合的數據。例如:某一個測試用例的結果數據。
  • Sysbench測試神器:一條命令生成百萬級測試數據
    基準測試與壓力測試區別很多時候,基準測試和壓力測試在實際使用的過程中,很容易被弄混淆。基準測試可以理解為針對系統的一種壓力測試。但基準測試不關心業務邏輯,更加簡單、直接、易於測試,數據可以由工具生成,不要求真實;而壓力測試一般考慮業務邏輯(如購物車業務),要求真實的數據。4.