8年老鳥整理,自動化測試-準備測試數據詳細...

目錄:導讀

    • 前言
    • 一、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性能測試

請添加圖片描述

九、總結(尾部小驚喜)

不要害怕未知,那是生活的一部分。只有勇敢面對它,你才能找到屬于自己的道路,并在這條道路上綻放出獨特的光彩。

你的夢想并不遙不可及,只要每天堅持一點一滴的努力,你就能離它越來越近。記住,一切皆有可能,只要你肯用心去爭取。

生命的意義在于不斷地追求進步和自我完善。不要滿足于現狀,要勇于挑戰自我,發掘自身的潛力,讓你的人生更加精彩紛呈。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/160113.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/160113.shtml
英文地址,請注明出處:http://en.pswp.cn/news/160113.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于C#實現Bitmap算法

在所有具有性能優化的數據結構中,我想大家使用最多的就是 hash 表,是的,在具有定位查找上具有 O(1)的常量時間,多么的簡潔優美,但是在特定的場合下: ①:對 10 億個不重復的整數進行排序。 ②&am…

python獲取透明圖

import cv2 import os import numpy as nproot "./test" for file in os.listdir(root):# 讀取圖片image cv2.imread(os.path.join(root, file), cv2.IMREAD_UNCHANGED)new np.zeros((image.shape[0], image.shape[1], image.shape[2]), np.uint8)# 檢查圖片是否為…

AI原生應用為百度帶來新增量

我是盧松松,點點上面的頭像,歡迎關注我哦! AI將徹底改變每一個行業!得益于AI和基礎模型的驅動,百度在AI原生應用領域厚積薄發。 11月21日,百度Q3財報發布,數據顯示:三季度營收達344.47億元&…

Redis篇---第九篇

系列文章目錄 文章目錄 系列文章目錄前言一、如果有大量的 key 需要設置同一時間過期,一般需要注意什么?二、什么情況下可能會導致 Redis 阻塞?三、緩存和數據庫誰先更新呢?前言 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊…

Axios簡單使用與配置安裝-Vue

安裝Axios npm i axios main.js 導入 import Axios from axios Vue.prototype.$axios Axios簡單發送請求 get getTest() {this.$axios({method: GET,url: https://apis.jxcxin.cn/api/title?urlhttps://apis.jxcxin.cn/}).then(res > {//請求成功回調console.log(res)}…

uiautomator2快速入門app自動化測試教程

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、環境準備1.安裝軟件2.安裝庫 二、adb 連接手機1. 準備工作2. 第一種連接方式:USB連接3. 第二種連接方式:WLAN連接4. 第三種連接方式…

②⑩ 【MySQL Log】詳解MySQL日志:錯誤日志、二進制日志、查詢日志、慢查詢日志

個人簡介:Java領域新星創作者;阿里云技術博主、星級博主、專家博主;正在Java學習的路上摸爬滾打,記錄學習的過程~ 個人主頁:.29.的博客 學習社區:進去逛一逛~ MySQL日志 ②⑩ MySQL日志:錯誤日志…

SpringBoot3.x最簡集成SpringDoc-OpenApi

為什么使用SpringDoc 在SpringBoot低版本時一般使用Swagger掃描接口生成Json格式的在線文檔,然后通過swagger-ui將Json格式的文檔以頁面形式展示文檔。可惜遺憾的是swagger更新到3.0.0版本(springfox)后不更新了。 SpringBoot3.x以后需要的JDK版本最低為Java17&…

MQ和redis的內部原理一些總結

首先,先知道內部原理;其次,就是查官方文檔實戰了。 但是如果不熟悉內部原理,那么僅僅只是安裝官方文檔,并不能排除跟蹤問題和故障、預防風險等策略; 以下總結圖解:(mysql 8.0新增的…

YOLO目標檢測——衛星遙感艦船檢測數據集下載分享【含對應voc、coco和yolo三種格式標簽】

實際項目應用:衛星遙感艦船檢測數據集說明:衛星遙感艦船檢測數據集,真實場景的高質量圖片數據,數據場景豐富,含船一個類別標簽說明:使用lableimg標注軟件標注,標注框質量高,含voc(xm…

Redis的持久化

redis是一個內存數據庫,是把數據存儲在內存中的,而我們知道內存中的數據是不持久的,一旦服務器重啟或者進程重啟,內存的數據就丟失了.為了讓數據達到持久化的效果,就必須把數據寫到硬盤上. redis相對于mysql這樣的關系型數據庫最明顯的優勢就是快.所以為了保證速度快,數據還得…

動態跳過測試用例

動態跳過測試用例 說明 我們可以通過指定環境變量來動態判斷是否執行指定的測試用例設置環境變量有很多種方法,例如命令行方式,格式:--env keyval1,key2val2 ,若需要指定多個環境變量則需要逗號來隔開,而不是空格 t…

Live800:企業提升客戶互動體驗,有哪些關鍵因素?

如今,隨著信息時代的不斷發展,企業已經不再是單向的商業機構,他們需要與客戶進行及時的溝通與反饋,從而更好地提升客戶互動體驗,達到營銷和用戶體驗的雙贏局面。那么,企業如何提升客戶互動體驗呢&#xff1…

設計模式——RBAC 模型詳解

1.什么是 RBAC 呢? RBAC 即基于角色的權限訪問控制(Role-Based Access Control)。這是一種通過角色關聯權限,角色同時又關聯用戶的授權方式。 簡單地說:一個用戶可以擁有若干角色,每一個角色又可以被分配…

Mysql 中如何導出數據?

文章目錄 前言MySQL 導出數據使用 SELECT ... INTO OUTFILE 語句導出數據SELECT ... INTO OUTFILE 語句有以下屬性:導出表作為原始數據導出SQL格式的數據將數據表及數據庫拷貝至其他主機 后言 前言 hello world歡迎來到前端的新世界 😜當前文章系列專欄:…

Linux程序之可變參數選項那些事!

一、linux應用程序如何接收參數? 1. argc、argv Linux應用程序執行時,我們往往通過命令行帶入參數給程序,比如 ls /dev/ -l 其中參數 /dev/ 、-l都是作為參數傳遞給命令 ls 應用程序又是如何接收這些參數的? 通常應用程序都…

Raspberry Pi 5 新一代單板計算機:樹莓派5代 (介紹、入門、解疑)

樹莓派5代正式發布后,硬件和性能的全面升級讓眾多開發者們都想入手感受一波,外觀上Raspberry Pi 5 與前代產品非常相似,不過,在保留信用卡大小的整體尺寸的同時,也更新了一些設計元素,以適應新芯片組的功能…

python實現調和反距離空間插值法AIDW

1 簡介 AIDW 主要是針對 IDW 的缺點進行了改進,考慮了樣本點與預測點的位置,即方向和距離,具體見下圖: 2 改進 IDW 公式: 從IDW算法可看出,插值點的估算值僅與插值樣本距插值點的遠近相關,并未…

貝葉斯AB測試

AB測試是用來評估變更效果的有效方法,但很多時候會運行大量AB測試,如果能夠在測試中復用之前測試的結果,將有效提升AB測試的效率和有效性。原文: Bayesian AB Testing[1] 隨機實驗,又稱AB測試,是行業中評估因果效應的既…

自定義類型:結構體

1.結構體類型的聲明 1.1結構體的概念 結構是?些值的集合,這些值稱為成員變量。結構的每個成員可以是不同類型的變量。 1.2 結構的聲明 struct tag {member-list; }variable-list; 例如描述?個學?: struct Stu {char name[20];//名字int age;//年…