目錄:導讀
- 前言
- 一、Python編程入門到精通
- 二、接口自動化項目實戰
- 三、Web自動化項目實戰
- 四、App自動化項目實戰
- 五、一線大廠簡歷
- 六、測試開發DevOps體系
- 七、常用自動化測試工具
- 八、JMeter性能測試
- 九、總結(尾部小驚喜)
前言
大部分類型的測試都需要去準備測試數據。
手工測試:一些基礎數據,比如配置數據等等是需要去準備的;
自動化測試:基礎需要準備,現有數據,動態運行時產生的數據是需要準備的;
性能測試:跟自動化測試差不多。
1、測試數據的分類
基礎數據,比如一些內容管理系統會配置站點的標題,友情鏈接之類的基礎配置數據;
存量數據,也就是現有數據。比如在測試一些電商站點的時候會提前插入一些商品信息,類目信息物流信息等;
動態數據,也可以叫做session數據。比如在測試電商站點的發布商品功能的時候,往往會去創建一些新的商品。
我們可以想象到,基礎數據其實可以比較容易的跟生產環境保持一致。測試環境的存量數據會比線上環境要少,測試環境的動態數據可能不會像線上環境那樣真實。
這里就需要討論測試數據的量級和真實性的問題了。
2、測試數據的量級
大部分情況下,測試數據的量級是沒有產生環境多的。所以測試數據可以是真實數據的子集。
如果有類生產環境或預發布環境的話,可以盡量保持跟線上數據相當的量級。這樣一些測試環境不好測出來的由于數據量導致的問題可以在預發布環境測出來。
3、測試數據的真實性
我們測試環境的數據往往跟真實用戶產生的數據是有差異的。
比如測試論壇系統時,我們在帖子里的貼圖可能往往就那么幾張,尺寸也是恰到好處,而線上用戶的貼圖可能是五花八門,從而導致意想不到的問題。
4、如何準備基礎和存量數據
基礎和存量數據與線上環境越一致,測試中發現問題的概率可能就越高。一般來說,可以有下面的策略:
全量+脫敏策略。直接定期把線上的數據做脫敏,導入到測試環境。這里脫敏是必選,數據泄漏導致的問題嚴重程度往往比普通的線上bug要嚴重得多。
定量+脫敏策略。只上一些線上數據,比如只在線上拉1000個商品,1000個用戶信息,然后做脫敏。這里技術實現難度會比較高,畢竟要把關聯表理順。
爬蟲策略。如果是新項目/產品的話,線上沒有存量數據可以導,那么可能要去友商那里爬一些數據,導到測環境做測試。
比如做一個旅游站點,開始的時候是沒有用戶的游記的,這時候就要去類似站點爬一點來測試了。
生成動態數據。如果線上沒有數據,友商也沒有的爬,那么就要人肉或者自動化的方式去產生一些數據了。
系統簡單的話可以用sql去跑,復雜點的話可能要調用接口或者用自動化的方式去生成。實在沒轍的時候也可以手動去造一些數據。
5、關于動態數據
大家在做自動化或者接口測試后往往會大量的去產生動態數據。
那么問題就來了。
這些數據存在哪里?什么意思呢?
如果我們需要用自動化的方式去創建一個商品,那么商品的信息,圖片地址該放在哪里呢?其實這是個持久化的問題了。
放文件里。文件格式有很多可以選的,比如xml/csv/json/yaml等。不過不推薦excel,畢竟是私有格式,沒有太強的擴展性。而且excel一升級,你的解析代碼和庫也可能要跟著改一次,嗯,強烈不推薦了。
放數據庫里。爬一些商品的信息存到數據庫里,然后讀數據庫也是很好的辦法,還能熟悉一下sql的用法,面試經常問到,另外可以用數據庫的事務機制來清理測試數據
在代碼里動態生成。比如動態隨機生成用戶的姓名啊性別和年齡之類的
數據生成之后就面臨著一個清理的問題。清理問題實際上數據生命周期的問題,測試數據應該有下面一些生命周期吧
短期數據。用例完了就刪掉的數據,一般線上做性能測試的數據都是這樣的短期數據
長期數據。用例跑出來的數據放在那里也沒事,可以一直存在。這種數據太多有時候會影響測試環境的性能
自動化測試跑出的數據建議做短期數據,跑出來想辦法清掉,因為自動化跑的頻率其實可以很高,每次都產生一堆數據的話數據的量級可能會在短期變得很大,對測試環境的性能造成影響。
下面是我整理的2023年最全的軟件測試工程師學習知識架構體系圖 |
一、Python編程入門到精通
二、接口自動化項目實戰
三、Web自動化項目實戰
四、App自動化項目實戰
五、一線大廠簡歷
六、測試開發DevOps體系
七、常用自動化測試工具
八、JMeter性能測試
九、總結(尾部小驚喜)
不要害怕未知,那是生活的一部分。只有勇敢面對它,你才能找到屬于自己的道路,并在這條道路上綻放出獨特的光彩。
你的夢想并不遙不可及,只要每天堅持一點一滴的努力,你就能離它越來越近。記住,一切皆有可能,只要你肯用心去爭取。
生命的意義在于不斷地追求進步和自我完善。不要滿足于現狀,要勇于挑戰自我,發掘自身的潛力,讓你的人生更加精彩紛呈。