自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

自動化測試和數(shù)據(jù)驅動之間的關系,十分鐘帶你弄清楚

開發(fā) 測試
本文致力于提升大家對自動化測試的認識,引導大家向更高層次的自動化測試發(fā)展,提升測試人員整體價值。

?軟件測試是對項目研發(fā)過程的產物(文檔,代碼等)進行審查,保障產品質量的過程。我們可以通過手工測試,自動化測試,工具掃描等方法完成這個任務。其中,自動化測試是當前重要的一種測試方法,具有響應速度快、穩(wěn)定性高、人工干預少的特點,很好的契合了高響應、海量數(shù)據(jù)驗證等需求的測試任務。數(shù)據(jù)驅動是自動化測試的靈魂,數(shù)據(jù)驅動的應用程度直接決定了自動化測試的水平和質量。

一、自動化測試和數(shù)據(jù)驅動

如果你有100畝麥子需要收割,你會怎么做?

  • 方法一:拎起鐮刀或者雇幾個人拎起鐮刀割麥子。
  • 方法二:制造或者購買一臺收割機,然后開著收割機割麥子。

顯然,這兩種方法都能完成任務,但是,方法二具有重資產、高效率的特點。

測試就如同這割麥子,完成麥子收割是測試任務,手工收割和收割機收割對應手工測試和自動化測試兩種方法。這兩種方法各有利弊,手工測試具有上手易(一把鐮刀就行),適應性強(不論平地、梯田,還是丘陵都ok)的特點,自動化測試具有效率高(收割速度快)、質量穩(wěn)定(機器不容易犯錯)、不疲勞(機器不用休息)的特點。對于那種對測試質量要求穩(wěn)定,測試反饋要求快,需要反復驗證和海量數(shù)據(jù)驗證的測試任務,自動化測試技術可以很好滿足這類測試任務的要求。

測試數(shù)據(jù)如同機油,是收割機運行的燃料。數(shù)據(jù)驅動是自動化測試的核心,如同機器的發(fā)動機,是機器運行的動力源。沒有測試數(shù)據(jù)這個燃料和數(shù)據(jù)驅動這個動力源,收割機就是一臺沒有靈魂的廢鐵無法運轉,自動化測試也就無從談起。

二、測試數(shù)據(jù)

測試數(shù)據(jù)作為測試的輸入,測試數(shù)據(jù)準備的質量直接決定到測試范圍是否全面,測試程度是否充分,最終影響測試過程的質量。

測試數(shù)據(jù)從來源可以概括為源自存量數(shù)據(jù)和源自新增數(shù)據(jù)兩類。源自存量數(shù)據(jù)是指利用原有系統(tǒng)運行積累的生產數(shù)據(jù),經過脫敏、加工后生成的測試數(shù)據(jù)。這個原有系統(tǒng)可以是系統(tǒng)自身(升級優(yōu)化前的系統(tǒng)、重構前的系統(tǒng)、手工記錄的業(yè)務數(shù)據(jù)等),也可以是業(yè)務關聯(lián)系統(tǒng)(業(yè)務上游系統(tǒng)、交互系統(tǒng)等)。這類測試數(shù)據(jù)的特點是數(shù)據(jù)已經存在,可以直接使用,缺點是這類數(shù)據(jù)是通過正常的業(yè)務邏輯積累產生的,通常是還是高頻交易產生的數(shù)據(jù)。這類數(shù)據(jù)天然具有局限性,無法覆蓋系統(tǒng)的所有業(yè)務場景,如:異常操作、低頻交易等。

源自新增數(shù)據(jù)是指根據(jù)業(yè)務需求、系統(tǒng)設計,創(chuàng)造出來的符合業(yè)務需求的數(shù)據(jù)。該類數(shù)據(jù)是測試人員通過分析業(yè)務需求、系統(tǒng)設計,針對項目業(yè)務需求(含高頻交易和低頻交易)、異常處理、邊界值檢驗等人為創(chuàng)造的數(shù)據(jù)。這類測試數(shù)據(jù)的特點是測試數(shù)據(jù)經過系統(tǒng)性分析,覆蓋面較廣,代表性較強。不足之處在于數(shù)據(jù)都需要人工創(chuàng)造,當系統(tǒng)較為復雜或者規(guī)模較大時需要的測試數(shù)量較多,人工制造成本較大。

基于這兩個數(shù)據(jù)來源,我們結合業(yè)務需求,就可以完成項目測試數(shù)據(jù)的準備工作,通過分析、篩選、提煉,最終沉淀為本次測試所需的測試數(shù)據(jù)。

三、數(shù)據(jù)驅動測試

數(shù)據(jù)驅動測試是自動化測試的靈魂,在數(shù)據(jù)驅動測試的思想中,自動化案例就是流水線,測試數(shù)據(jù)像水一樣通過流水線,觸發(fā)系統(tǒng)做出響應。然后,通過配置在流水線上的斷言,檢查點,比對系統(tǒng)響應是否符合預期響應。符合,則表示該功能場景正常,不符合,則預示該功能處理存在異常。顯而易見,測試數(shù)據(jù)是至關重要的。

那么自動化測試中的測試數(shù)據(jù)都從哪里獲取的呢?自動化測試數(shù)據(jù)本質上和手工測試數(shù)據(jù)類似。但是,由于自動化測試是程序自動運行,相較于手工測試數(shù)據(jù)天然具有需求量大、需求范圍廣、數(shù)據(jù)來源多等特點。傳統(tǒng)的手工準備數(shù)據(jù)從數(shù)量上和來源上無法滿足自動化測試運行所需的龐大數(shù)量要求,這時,我們需要在手工準備數(shù)據(jù)的基礎上引入自動化的數(shù)據(jù)生成方法。大體上自動化測試數(shù)據(jù)可以歸為四大類,八小類,詳見下表。

自動化測試和數(shù)據(jù)驅動之間的關系,十分鐘帶你弄清楚

表-1 自動化測試數(shù)據(jù)來源

自動化測試所需要的測試數(shù)據(jù)部分仍可通過手工制作,主要為固定標簽類值和數(shù)據(jù)資源池兩類。固定標簽類值即該字段有明確的取值列表,如銀行卡賬戶類型(0-I 類、1-II類、3-III 類)、是否屬地(0-本地、1-異地)、客戶類型(G-政府、B-商戶、C-個人)等。數(shù)據(jù)資源池即將某些可以重復使用且數(shù)量少的數(shù)據(jù),存儲在數(shù)據(jù)庫、CSV 文件、text 文件、ini 文件等介質中供程序反復抽取使用,這個數(shù)據(jù)池子我們稱為數(shù)據(jù)資源池。如身份證號、手機號、卡號、商戶號等這類離散數(shù)據(jù)。

通過自動化方式準備測試數(shù)據(jù),主要可以分為查詢、修改、新增這三類。查詢類測試數(shù)據(jù)可以通過聯(lián)機查詢和sql查詢兩種方式獲得,查詢類測試數(shù)據(jù)說明測試數(shù)據(jù)本身是存在的,需要通過篩選條件甄別出本次需要的數(shù)據(jù),作為測試數(shù)據(jù)。聯(lián)機查詢和 sql 查詢的區(qū)別就在于我們所需的數(shù)據(jù)是否有現(xiàn)成的查詢接口可用,若無,則需手動編寫 sql 語句完成數(shù)據(jù)篩選修改類數(shù)據(jù)也是一種已存在的數(shù)據(jù),修改類數(shù)據(jù)和查詢類數(shù)據(jù)的區(qū)別在于查詢類測試數(shù)據(jù)的源數(shù)據(jù)滿足測試需要可以直接使用,而修改類測試數(shù)據(jù)的源數(shù)據(jù)無法滿足測試需要不能直接使用,需通過修改某些屬性才能滿足測試要求。因此需要通過修改操作對源數(shù)據(jù)進行二次修改,聯(lián)機修改和sql修改的區(qū)別在于是否有聯(lián)機修改接口可供使用。

新增類測試數(shù)據(jù)說明當前環(huán)境中無滿足測試需求的源數(shù)據(jù)或者修改源數(shù)據(jù)無法滿足測試要求時,需要新增測試數(shù)據(jù)。比如銀行賬戶類數(shù)據(jù),由于涉及客戶信息校驗、記賬校驗等,單純的插入一條數(shù)據(jù)很難通過系統(tǒng)校驗,我們通常直接通過系統(tǒng)開戶交易直接新增數(shù)據(jù)。比如新建系統(tǒng)無存量數(shù)據(jù),或者環(huán)境中缺乏某些稀有類型的數(shù)據(jù)時,我們需要新增交易添加鋪底數(shù)據(jù)。

四、結語

市面上有各種形形色色的自動化測試工具,諸如 jmeter、postman、metersphere 等等。測試人員在接觸自動化測試之處,容易沉迷于了解,掌握更多的測試工具,忽略提升自動化測試認知水平,而陷于初級自動化測試的陷阱,疲于學習而無法提升自我。本文致力于提升大家對自動化測試的認識,引導大家向更高層次的自動化測試發(fā)展,提升測試人員整體價值。?

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2022-05-30 08:05:11

架構

2022-06-16 07:31:41

Web組件封裝HTML 標簽

2018-04-13 08:36:17

2024-11-07 16:09:53

2024-10-25 15:56:20

2024-12-13 15:29:57

SpringSpringBeanJava

2020-09-27 14:41:37

C語言編程語言計算機

2020-12-09 16:41:22

LinuxIT開發(fā)

2020-12-17 06:48:21

SQLkafkaMySQL

2019-04-01 14:59:56

負載均衡服務器網(wǎng)絡

2021-06-02 09:12:04

App自動化測試測試自動化

2023-08-15 15:50:42

2015-11-06 11:03:36

2021-09-07 09:40:20

Spark大數(shù)據(jù)引擎

2024-06-19 09:58:29

2023-04-12 11:18:51

甘特圖前端

2015-09-06 09:22:24

框架搭建快速高效app

2012-07-10 01:22:32

PythonPython教程

2024-05-13 09:28:43

Flink SQL大數(shù)據(jù)

2023-11-30 10:21:48

虛擬列表虛擬列表工具庫
點贊
收藏

51CTO技術棧公眾號