關於大資料測試,你一定要試試python的fake庫

博為峰網校 發表於 2022-11-16
Python

一.背景

對於大資料相關專案的測試,往往需要大量的測試資料,而場內測試時很難獲取那麼大批次的真實資料,這個時候需要測試人員能夠快速模擬出符合要求的測試資料。這個時候要是有一個自動化工具或測試指令碼簡直不要太爽~ 加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群~~

關於大資料測試,你一定要試試python的fake庫

二.問題引入

對於網際網路大資料測試,當需要快速模擬以萬為單位的使用者資料(包括使用者名稱、ip地址、主機名、訪問url等)時,有什麼方法可以推薦嗎?

這個時候你一定要試試python的fake庫,簡單方便,用了的都說好!

三.功能介紹

fake庫可以模擬哪些資訊?模擬資訊主要包括:人物、地址、公司資訊、檔案資訊、網際網路資訊等,官方地址詳見:。

關於大資料測試,你一定要試試python的fake庫

四.案例介紹

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庫,該如何模擬呢?

資料簡單程式碼示例如下圖所示:

關於大資料測試,你一定要試試python的fake庫

執行結果,模擬使用者如下圖所示:

關於大資料測試,你一定要試試python的fake庫

3.安全測試——網際網路訪問資訊模擬

對於某些網際網路訪問安全類專案,往往需要模擬使用者網際網路訪問資訊,從資訊中判定使用者是否有危險行為。比如:某公司的安全檢測系統,需要從員工的網際網路訪問資訊(包括:員工機器host_name,訪問機器的源ip,訪問網站url,訪問網站ip等)監測員工是否訪問危險網站或危險IP。那麼,測試該系統,無法獲取真實使用者訪問資訊時,如何使用fake庫模擬測試資料進行被測系統的業務測試呢?

資料模擬簡單程式碼示例如下圖所示:

關於大資料測試,你一定要試試python的fake庫

執行結果,模擬使用者網際網路資訊如下圖所示:

關於大資料測試,你一定要試試python的fake庫

五.Q&A

為何上述樣例中生成的使用者名稱、地址等資訊是中文,如何產生英文資訊?

模擬中文資訊,在初始化fake庫時,使用Faker(locale='zh_CN')即可,預設Faker()初始化時,產生的使用者資訊時英文。當然,我們還可以使用其他語言(比如日文)產生相應資訊,初始化時使用Faker(local=’ja_JP’);

如何自定義產生一些自己定製化的資訊,比如使用自定義的單詞生成文字?

可以使用ext_word_list引數。例如:

關於大資料測試,你一定要試試python的fake庫

最後:

可以到我的個人V:atstudy-js,可以免費領取一份10G軟體測試工程師面試寶典文件資料。以及相對應的影片學習教程免費分享!其中包括了有基礎知識、Linux必備、Mysql資料庫、抓包工具、介面測試工具、測試進階-Python程式設計、Web自動化測試、APP自動化測試、介面自動化測試、測試高階持續整合、測試架構開發測試框架、效能測試等。

這些測試資料,對於做【軟體測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2923707/,如需轉載,請註明出處,否則將追究法律責任。