🔥 python 介面自動化 (二)--什麼是介面測試、為什麼要做介面測試 (詳解)
🔥 python 介面自動化(二)-- 什麼是介面測試、為什麼要做介面測試(詳解)
1.簡介
上一篇和大家一起科普掃盲介面後,知道什麼是介面,介面型別等,對其有了大致瞭解之後,我們就回到主題 - 介面測試。
2.什麼是介面測試
介面測試是測試系統元件間介面的一種測試。介面測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的互動點。測試的重點是要檢查資料的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。
一般來說,測試介面,就是指測試介面的功能,效能和穩定性測試,當然可能還有安全性測試。這個入門系列會讓你掌握介面的功能測試。一般,來說我們聽說到的介面基本上都是指 HTTP 或者 HTTPS 協議的介面測試,也就是一些 web 服務請求。一個軟體專案中,
有很多介面,少的有幾十個,多的有幾百上千個介面。這個時候,我們沒有軟體介面,沒有具體的測試場景,只有一個介面描述文件。我們需要把介面這樣抽象的東西,透過軟體測試的理論和方法去測試介面,找出介面的功能和安全性的缺陷。介面有內部介面和外部
介面。內部介面就是開發人員自己開發的介面。外部介面,好比網站呼叫微信支付和支付寶支付介面。還有一些模組與模組之間的介面。學習過 Java 或者用過 selenium 的人,應該對介面有了解。你的自動化指令碼呼叫了很多 selenium 的介面。
3.為什麼要做介面測試
1、現在很多系統前後端架構是分離的,因為不同端(前段,後端)的工作進度不一樣,所以我們要針對最開始出來的介面,以及需要呼叫其他公司的(銀行,支付寶,微信,qq 等)一些介面進行介面測試及驗證資料,從安全層面來說,只依賴前端進行限制已經完全不能滿足系統的安全要求(繞過前端太容易了), 需要後端同樣進行控制,在這種情況下就需要從介面層面進行驗證。在這種情況下就需要從介面層面進行驗證。前後端傳輸、日誌列印等資訊是否加密傳輸也是需要驗證的,特別是涉及到使用者的隱私資訊,如身份證,銀行卡等。
2、如今系統越來越複雜,傳統的靠前端測試已經大大降低了效率,而且現在我們都推崇測試前移也叫測試左移,希望測試能更早的介入測試,那介面測試就是一種及早介入的方式。例如傳統測試,你是不是得等前後端都完成你才能進行測試,才能進行自動化程式碼編寫。 而如果是介面測試,只需要前後端定義好介面,那這時自動化就可以介入編寫介面自動化測試程式碼,手工測試只需要後端程式碼完成就可以介入測試後端邏輯而不用等待前端工作完成。
測試左移這個是一次偶然的機會在群裡看到的,孤陋寡聞的我,第一次看到,也是一知半解,後來查了一些資料供大家參考。
測試左移的原則支援測試團隊在軟體開發週期早期和所有干係人合作。因此他們能清晰地理解需求以及設計測試用例去幫助軟體 “快速失敗”,促使團隊更早的修改所有的 bug。
測試左移並沒有什麼獨特的,只是讓測試人員在軟體開發生命週期內更早的參與進來,同時讓他們去理解需求、軟體設計、軟體架構以及軟體功能,也讓他們去向客戶、商業分析師和開發人員問問題,尋找答案,提供反饋結果已達到支援團隊的工作得可能性。參與和理解會使測試人員獲取產品完整的知識,徹底想清楚各種場景,根據軟體行為設計實時的場景,這些都會幫助團隊在編碼完成之前識別出一些缺陷。這樣也可以更好的的體現我們作為一個 QA 的價值體
金字塔模型
透過之前對金字塔結構的學習,大概瞭解到了金字塔模型想告訴我們的幾個道理:
1.越底層,越穩定。
金字塔主要觀點認為單元測試的穩定性高,需要多投入。
2.越底層,越高效。
程式的問題,最終還得落在具體的程式碼上,所以底層的測試更容易發現問題。
3.越底層,越低成本。
越底層測試能越早發現問題,越早發現問題,修復的成本自然越低。
4.越底層,越難實施。
越底層的實現對技術專業性要求越高,這點跟第三點有點矛盾,往往越專業的人才也意味著人力成本越高。
綜合下金字塔模型,隨著前後端分離越來越清晰,我個人愚見提出了燈籠模型,拿介面測試和 UI 層測試以及單元測試做了比較,從圖中各部分所佔有的比重,可以一目瞭然的看出並最終認定介面(API)測試可以獲得較高的投資回報。
燈籠模型
個人愚見,如有過錯,請批評指正:
介面將前端和後端進行很好的分離,幫前後端實現資料互動,這樣在專案初期就可以和前端工程師討論需要的後端資料,然後後端根據需求開發後介面,將資料返回給前端,測試人員提前進入測試介面,前後端然後在各自開發自己模組。
專案遷移,以及後期維護,介面帶來的便利性,試想一下,如果沒有專案交付以後,後端人員將資料庫的某個欄位的長度、型別修改後發版,而由於某些原因沒有及時通知前端工程師,而此時前端的獲取的這個欄位的型別、長度是以前的,那麼就可能引發線上事故。如
果前端技術牛叉,儲存獲取欄位是一個變數,工作量還小點。只需要改變變數型別、長度即可,如果是一個差一點的沒有用變數,而前端又是好幾百個頁面都用到這個欄位,這樣就造成後果無法想象的,但是用到介面就有不一樣了,如果出現類似的情況,後端人員只需
要將這個欄位透過介面做處理是返回的欄位保持一致即可,也就是分分鐘的事,可能使用者都沒有察覺就修復了。而且前端、後端、測試也很好排查問題,跑一下介面,檢視介面文件返回資料有差異,修給介面就可以,這樣處理問題效率也會大大提高。
簡單概括:
①.越底層發現 bug,它的修復成本是越低的。
②.前端隨便變,介面測好了,後端不用變,前後端是兩撥人開發的。
③.檢查系統的安全性、穩定性,前端傳參不可信,比如京東購物,前端價格不可能傳入-1 元,但是透過介面可以傳入-1 元。
④.如今的系統複雜度不斷上升,傳統的測試方法成本急劇增加且測試效率大幅下降,介面測試可以提供這種情況下的解決方案。
⑤. 介面測試相對容易實現自動化持續整合,且相對 UI 自動化也比較穩定,可以減少人工迴歸測試人力成本與時間,縮短測試周期,支援後端快速發版需求。介面持續整合是為什麼能低成本高收益的根源。
⑥. 現在很多系統前後端架構是分離的,從安全層面來說:
(1)、只依賴前端進行限制已經完全不能滿足系統的安全要求(繞過前面實在太容易), 需要後端同樣進行控制,在這種情況下就需要從介面層面進行驗證。
(2)、前後端傳輸、日誌列印等資訊是否加密傳輸也是需要驗證的,特別是涉及到使用者的隱私資訊,如身份證,銀行卡等。
為了方便大家在移動端也能看到我分享的博文,現已註冊個人微信公眾號,掃描左下方二維碼即可,歡迎大家關注,有時間會及時分享相關技術博文。
為了方便大家互動討論相關技術問題,現已組建專門的微信群,由於微信群滿 100,請您掃描右下方宏哥個人微信二維碼拉你進群(請務必備註:已關注公眾號進群),歡迎大家加入這個大家庭,我們一起暢遊知識的海洋。
感謝您花時間閱讀此篇文章,如果您覺得這篇文章你學到了東西也是為了犒勞下博主的碼字不易不妨打賞一下吧,讓博主能喝上一杯咖啡,在此謝過了!
如果您覺得閱讀本文對您有幫助,請點一下左下角 “推薦” 按鈕,您的 “推薦” 將是我最大的寫作動力!另外您也可以選擇【關注我】,可以很方便找到我!
本文版權歸作者和部落格園共有,來源網址:https://www.cnblogs.com/du-hong 歡迎各位轉載,但是未經作者本人同意,轉載文章之後必須在文章頁面明顯位置給出作者和原文連線,否則保留追究法律責任的權利!
個人微信公眾號 個人微信
相關文章
- 介面測試的價值(為什麼要做介面測試)
- 為什麼要做介面測試?怎麼做?
- 為什麼要做介面測試?可做介面測試的軟體測試公司分享
- 介面測試是什麼?如何做好介面測試?
- ? python 介面自動化 (一)-- 什麼是介面、介面優勢、型別 (詳解)Python型別
- 介面測試要測試什麼?
- Python 介面自動化測試Python
- 介面測試關注點是什麼?
- python執行麟遊介面自動化--什麼是介面、介面優勢、型別(詳解)Python型別
- 二、介面自動化測試(2)
- 介面自動化測試
- 網購 “砍價” 引發的思考:為什麼要做介面測試?
- 什麼是滲透測試?為什麼要做滲透測試?
- 什麼是自動化測試?
- 自動化測試是什麼?
- python+pytest介面自動化(1)-介面測試基礎Python
- python介面自動化測試之介面資料依賴Python
- 介面自動化測試解決方案
- 軟體測試(功能、介面、效能、自動化)詳解
- 華為測試大牛Python+Django介面自動化怎麼寫的?PythonDjango
- Jmeter+Ant+Python 介面自動化測試JMeterPython
- 如何做自動化測試?什麼是自動化測試?
- 自動化測試是什麼?什麼軟體專案適合自動化測試?
- protobuf 介面自動化測試摸索
- 介面自動化測試框架 HttpFPT框架HTTP
- 介面自動化測試 - RobotFramework RESTinstanceFrameworkREST
- 你們測試介面做自動化的主要用於什麼目的呢?
- 介面測試--apipost介面斷言詳解API
- 軟體介面測試有什麼作用?可做介面測試的外包公司安利
- [python] request 介面測試自動化指令碼轉化為 [locust] 效能測試指令碼Python指令碼
- python介面自動化測試 —— unittest框架suite、runner詳細使用Python框架UI
- 介面測試怎麼進行,如何做好介面測試
- 測試開發之介面篇-使用K6完成介面自動化測試
- 使用 testng 做介面自動化測試
- Django 介面自動化測試平臺Django
- API 測試 | 瞭解 API 介面測試 | API 介面測試指南API
- 自動化測試落地為什麼那麼難
- 求大神指點思路-python 自動化介面測試Python