主頁 >  其他 > 【介面自動化測驗】月薪12k必會技術,從0到1學習介面自動化測驗,6個操作安排的明明白白

【介面自動化測驗】月薪12k必會技術,從0到1學習介面自動化測驗,6個操作安排的明明白白

2023-05-07 08:22:44 其他


     

 

?導讀:在所有的開發測驗中,介面測驗是必不可少的一項,有效且覆寫完整的介面測驗,不僅能保障新功能的開發質量,還能讓開發在修改功能邏輯的時候有回歸的能力,同時也是能優雅地進行重構的前提,撰寫介面測驗要遵守哪些原則?測驗代碼的結構應該是什么樣的?介面測驗有哪些實踐技巧?本文分享作者在介面測驗上的實踐總結,

測驗工程師是一個高技術含量的崗位,但現在不少人誤以為測驗工程師就是“點工”,拿到軟體“點點點”,就可以完成測驗了,沒啥技術含量,而一些測驗工程師錯誤的作業方法也滋長了這種誤解,


1、什么是介面測驗

介面測驗是測驗系統組件間介面的一種測驗,介面測驗主要用于檢測外部系統與系統之間以及內部各個子系統之間的互動點,測驗的重點是要檢查資料的交換,傳遞和控制管理程序,以及系統間的相互邏輯依賴關系等,

2、為什么要做介面測驗

a)互聯網的快速發展,公司內部系統或與外部系統的關聯越來越多,一個業務流程關聯多個后端系統,它們的關聯都是基于介面來實作,介面測驗可以將復雜的系統關聯進行簡化,只要做好每個介面的測驗就能夠較好的保證系統質量,

b)單個系統的變更,是否會影響到關聯業務系統,比較難用常規的測驗方面來覆寫相關的應用系統(例如使用此介面的外部 系統有N個,不可能每個做功能兼容性測驗),但可以通過對介面功能的覆寫來驗證是否影響它人對介面的呼叫,

c)介面功能比較單一,能夠比較好的進行測驗覆寫,也相對容易實作自動化持續集成,,可以減少人工回歸成本與時間,縮短測驗周期,

d)介面相對于界面功能,會更底層一些,測驗覆寫會更容易(如業務在呼叫介面時做了判斷,當不滿足條件時鏈接就不顯示,此時從界面無法測驗相關功能是否做好判斷,通過介面就比較容易)

3、介面測驗的范圍

a)業務功能(包括正常、例外場景是否實作)
b)業務規則(覆寫度是否全面)
c)引數驗證(邊界、業務規則是否達到要求)
d)例外場景(重復提交、并發提交、事務中斷、多機環境、大資料量測驗)
e)性能測驗(回應時間、吞吐量、并發數、資源要求)
f)安全測驗(權限驗證、SQL注入等)

現在我也找了很多測驗的朋友,做了一個技術分享的交流群,共享了很多我們收集的視頻教程和技術檔案,如果你不想再體驗自學時找不到資源,沒人解答問題,堅持幾天便放棄的感受,可以加入我們一起交流,而且還有很多在自動化,性能方面有一定建樹的技術大牛,分享他們的經驗,還會分享很多直播講座和技術沙龍,可以免費學習!劃重點!開源的!!!?qq群號:110685036

4、介面測驗的重點

a)檢查介面回傳的資料是否與預期結果一致,
b)檢查介面的容錯性,假如傳遞資料的型別錯誤時是否可以處理,
c)介面引數的邊界值,例如,傳遞的引數足夠大或為負數時,介面是否可以正常處理,
d)介面的性能,http請求介面大多與后端執行的SQL陳述句性能、演算法等比較相關,
e)介面的安全性,外部呼叫的介面尤為重要,

5、測驗原則

基礎原則:

?自動化:介面測驗是非互動式的自動化執行,不需要人參與,

?獨立性:介面測驗之間不應該相互依賴,

?可重復:介面測驗可重復執行,不受環境影響,

?介面測驗遵守BCDE原則,保障介面交付質量,

  • Border:邊界測驗,
  • Correct:正確的輸入,正確的預期輸出,
  • Design:按照需求和設計檔案撰寫測驗邏輯,
  • Error:錯誤輸入,預期輸出,

?資料準備:資料準備通過系統服務進行,不能通過直接插入db方式,

?可測性:對于不可測的代碼需要進行重構成合理的結構,

?覆寫性:介面測驗需要覆寫所有UC,同時代碼覆寫率和分支覆寫率應達到一定標準,新增代碼必須被覆寫,

?持續性:如果代碼修改導致已有介面測驗執行失敗,必須修復代碼問題或者測驗代碼邏輯,

?時間要求:介面測驗應該在專案發布之前完成,不應放到專案發布之后補充,

以上的基本原則應適用于所有層的自動化測驗用例,在撰寫介面測驗時,除了上面這些原則,還有其他原則需要遵守,先看一張圖:

從系統角度來分析入口呼叫,以HSF服務為例:

?外圍系統呼叫由我們系統提供的服務,

?系統執行了一堆代碼邏輯,其中包含有分支邏輯,

?系統執行程序中依賴外部HSF服務,進行了呼叫,并得到了回傳值,

?系統執行程序中依賴DB查詢或者落地了資料,依賴快取查詢或者落地了資料,

?系統執行程序中對外發送了訊息,

?給上游系統回傳HSF執行結果,

有效介面測驗的關鍵原則是要覆寫所有入口,mock所有依賴,校驗執行程序中所留下的痕跡,總結如下:

?入口覆寫:介面測驗用例必須覆寫HSF服務入口、訊息入口、定時任務入口,

?依賴mock:在基本原則中,有可重復這個原則,即介面測驗不能受環境依賴,需要mock掉對外依賴,但對于db依賴,不建議完全mock掉,一方面mock成本高,另外可能覆寫不到sql和表約束邏輯,

?校驗完整:有效的介面測驗,應該具備完整的校驗,沒有校驗的介面測驗是沒有意義的,只要執行程序中,留下的痕跡對業務有影響,都要進行完整校驗,方能保障介面測驗的有效性、

  • HSF介面回傳值校驗:按照場景和介面約定進行HSF回傳引數校驗,
  • DB校驗:校驗落地資料的正確性,
  • 快取校驗:校驗存入快取中資料的正確性,
  • HSF依賴入參校驗:通過mock工具獲得依賴HSF呼叫的入參,進行入參校驗,
  • 訊息校驗:通過mock工具獲得發送的訊息物件,進行訊息體校驗,

6、介面測驗常用工具

1、JMeter
JMeter是Apache組織開發的基于Java的壓力測驗工具,能夠將請求轉換為腳本來實作,并允許使用正則運算式創建斷言來對請求回傳結果進行判斷,具備介面測驗功能和性能的能力,

2、Robot Framework

Robot Framework是一款Python撰寫的功能自動化測驗框架,具備良好的可擴展性,支持關鍵字驅動,可以同時測驗多種型別的客戶端或者介面,可以進行分布式測驗執行,常用于輪次很多的驗收測驗和驗收測驗驅動開發(ATDD),

3、SOAPUI
SoapUI是一個完整的自動化測驗解決方案,支持SOAP和REST的Web服務,JMS企業訊息層,資料庫,豐富的互聯網應用,等等,而在SoapUI,你從它的直觀和強大的用戶界面這一切,對于自動化程度較高,SoapUI還提供了命令列工具,讓您運行的功能/負載測驗和幾乎所有的任務調度程式,或作為您的構建程序中的一個組成部分MockServices集,

4、PostMan
Postman是一款功能強大的網頁除錯與發送網頁HTTP請求的Chrome插件,具備Fiddler、httpwatch之類的工具除錯請求的功能,同時具備介面管理功能,官網提升腳本保存同步功能,支持介面匯入匯出,

另特意為各位同學準備了一份13G的超實用干貨自學資源,涉及的內容非常全面,涵蓋功能測驗、Linux資料庫、Python編程語言,介面測驗、UI自動化測驗、性能測驗......包括軟體學習路線圖,50多天的上課視頻、16個突擊實戰專案(滿足你對測驗經驗的需求),80余個軟體測驗用軟體,37份測驗檔案,70個軟體測驗相關問題,40篇測驗經驗級文章,上千份測驗真題分享,還有2023軟體測驗面試寶典,還有軟體測驗求職的各類精選簡歷,希望對大家有所幫助…這些都在我的軟體測驗學習交流群里:110685036

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/551825.html

標籤:其他

上一篇:用Radare2模擬shellcode運行

下一篇:返回列表

標籤雲
其他(158575) Python(38118) JavaScript(25404) Java(18023) C(15222) 區塊鏈(8262) C#(7972) AI(7469) 爪哇(7425) MySQL(7165) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5871) 数组(5741) R(5409) Linux(5335) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4565) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2432) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1965) Web開發(1951) HtmlCss(1932) python-3.x(1918) 弹簧靴(1913) C++(1912) xml(1889) PostgreSQL(1874) .NETCore(1857) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 【介面自動化測驗】月薪12k必會技術,從0到1學習介面自動化測驗,6個

    ?導讀:在所有的開發測驗中,介面測驗是必不可少的一項。有效且覆寫完整的介面測驗,不僅能保障新功能的開發質量,還能讓開發在修改功能邏輯的時候有回歸的能力,同時也是能優雅地進行重構的前提。撰寫介面測驗要遵守哪些原則?測驗代碼的結構應該是什么樣的?介面測驗有哪些實踐技巧?本文分享作者在介面測驗上的實踐總結 ......

    uj5u.com 2023-05-07 08:22:44 more
  • 用Radare2模擬shellcode運行

    本文將探討如何在x86_64的Ubuntu系統上模擬32位ARM shellcode。由于大多數筆記本電腦和作業站還沒有運行ARM,我們這里需要一種其他方法在系統上執行非原生的指令。 ......

    uj5u.com 2023-05-07 08:22:31 more
  • 使用Aidlux,輕松落地電力巡檢AI應用

    本專案參考AidLux AI 實戰訓練營內容,3-4個課時落地AI應用 電力線路是電力系統的重要組成部分, 它的安全可靠運行直接關系到一個國家經濟的穩定發展。 電力線路一旦出現故障,則有可能影響到成片區域的供電安全, 嚴重的甚至造成不可估量的損失。 因此, 預防電力線路故障預防歷來是電力系統的一項重 ......

    uj5u.com 2023-05-07 08:22:15 more
  • 8年測驗開發,寫給1-3年功能測驗的幾點建議,滿滿硬貨指導

    從15年畢業到現在也從業八年了,普通本科畢業,現在一家互聯網公司擔任測驗部門總監,摸爬打滾,坑坑洼洼也經歷了不少。思緒很久決定還是寫下這篇,希望對后進的小伙子少走一點彎路。 很多人把職場想得太美好,其實不然。如果你沒有規劃好,你就會難免遇到各種各樣的問題:作業不開心;沒有前進的動力;作業不是自己想像 ......

    uj5u.com 2023-05-07 08:21:57 more
  • 分布式場景下,如何對外提供易變的服務,打造可靠的注冊中心?

    摘要:本文講了關于服務發現的很多干貨內容,核心內容為服務發現組件的選擇、網關的介紹、 客戶端側如何發給已發現的服務。 本文分享自華為云社區《分布式場景下,如何對外提供易變的服務,打造可靠的注冊中心?》,作者:breakDawn。 隨著云原生的概念越來越火,服務的架構應該如何發展和演進,成為很多程式員 ......

    uj5u.com 2023-05-07 08:21:27 more
  • 當前區塊鏈研究領域的前沿技術和研究方向

    本文分享自天翼云開發者社區《當前區塊鏈研究領域的前沿技術和研究方向》 作者:施****慶 區塊鏈在過去幾年中引起了巨大的關注,這得益于它們的分散性、透明性、匿名性和不可篡改性,這些特點使得區塊鏈技術可以應用于許多領域。目前,區塊鏈技術已被應用于金融、醫療、供應鏈等多個領域,而且也有很多研究人員正在致 ......

    uj5u.com 2023-05-07 08:21:20 more
  • Istio資料面新模式:Ambient Mesh技術決議

    摘要:Ambient Mesh以一種更符合大規模落地要求的形態出現,克服了大多數Sidecar模式的固有缺陷,讓用戶無需再感知網格相關組件,真正將網格下沉為基礎設施。 本文分享自華為云社區《華為云云原生團隊:Istio資料面新模式 Ambient Mesh技術決議》,作者: 云容器大未來。 如果說在 ......

    uj5u.com 2023-05-07 08:21:11 more
  • Grafana 系列-統一展示-1-開篇

    本文為系列文章-Grafana 統一展示,包括 Metrics、Tracing、Logging,并盡量實作在它們之間相互跳轉。通過 Grafana
    LTM(Loki、Tempo、Mimir)可以實作比較完美的效果,但是即使沒有 Grafana LTM, 通過其他 Grafana +
    其他工具... ......

    uj5u.com 2023-05-07 08:15:47 more
  • 倆小伙一晚上寫了個 AI 應用,月入兩萬??(文末附開發教程)

    開發出一款能夠與 AI 對話生成和編輯思維導圖的工具,聽起來似乎只能是一群專業的 AI 背景團隊花費大量的時間和精力訓練模型,打磨應用才能完成的事情。 但是,兩名大學生卻在一夜之間完成了,就像煉金術士將庸俗的材料轉化成黃金一樣,他們將代碼轉化為了神奇的工具,下面我們來一起揭開這個神奇工具背后的秘密。 ......

    uj5u.com 2023-05-07 08:12:52 more
  • 一起單測引起的專案加載失敗慘案

    最近在開發一個功能模塊時,在功能自測階段,通過使用單測測驗功能的完整性,在測驗單測聯通性使用到靜態方法測驗時,發現單測報錯,通過查閱解決方案發現需要對Javaassist包進行排包或者升版本處理。通過排包解決掉單測報錯,在部署專案時發現頻繁報bean注入失敗問題,最終定位發現是因為對Javaassi... ......

    uj5u.com 2023-05-07 08:12:40 more