国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

測試金字塔,你在哪一層?

Jacendfeng / 2860人閱讀

摘要:本文分享自華為云社區測試金字塔,你在哪一層,作者敏捷的小智。測試金字塔中間層接口測試隨著微服務架構的廣泛普及,也成為大勢所趨。相對比單元測試,服務接口測試的覆蓋范圍要大一些。

摘要:軟件質量是衡量一個軟件是否成功的重要標準,在軟件的生命周期中,自動化測試金字塔給大家提供了一種測試策略,根據項目具體的情況,優化測試活動,最終讓軟件質量得到提升。

本文分享自華為云社區《測試金字塔,你在哪一層?》,作者:敏捷的小智 。

前言

軟件質量是衡量一個軟件是否成功的重要標準,在軟件的生命周期中,如果沒有良好的質量管控,很容易造成產品質量不滿足客戶預期,最終導致項目交付困難。軟件質量可以通過規范化的研發流程、系統的軟件測試等方式進行保障,本文我們就聊點測試相關的內容。

測試金字塔

軟件測試是伴隨著軟件開發一同誕生的,隨著軟件規模大型化,結構復雜化,軟件測試也從最初的簡單“調試”,發展到當今的自動化測試。原始的“調試”,在這里就不細聊了,那自動化測試是什么呢?自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程,自動化測試通常會借助某些工具或者框架。雖然不能完全取代手工測試,但相比手工測試來講,自動化測試可以減少人力成本,降低重復工作,從而更快速、高效的進行測試活動。

測試金字塔是一種自動化測試過程的金字塔形策略結構,用來指導軟件開發過程中,各層自動化測試的投入比例,其最早由Mike Cohn在2009年的著作《Scrum敏捷軟件開發》中提出。Mike Cohn在書中指出:測試金字塔從上到下分為三層,分別是UI測試、服務/接口測試、單元測試,越接近金字塔底部的測試活動,投入的工作量應該越多,即單元測試投入工作量最多,接口測試次之,UI測試投入最少。

測試金字塔最底層——單元測試

單元測試屬于代碼級別的測試,編寫成本低,執行速度快,能夠快速定位問題,極限編程中的TDD測試驅動開發很多時候都是圍繞單元測試開展。單元測試可以說是最低級別的測試活動,關于單元測試的內容也很多,在這不做過多介紹。

測試金字塔中間層——接口測試

隨著微服務架構的廣泛普及,API也成為大勢所趨。因而,對API進行持續測試成為DevOps的關注點之一,如果沒有API接口測試,微服務架構的實施對于企業將會成為一場災難。

接口測試是測試系統組件間接口的一種測試,主要用于測試系統與外部其他系統之間的接口,以及系統內部各個子模塊之間的接口。接口測試既可關注單個接口的參數取值和參數取值組合的合理性,也可以驗證產品功能的完整性和正確性。相對比單元測試,服務/接口測試的覆蓋范圍要大一些。

接口測試的重點如下:

  • 檢查接口參數傳遞的正確性;
  • 接口功能實現的正確性;
  • 輸出結果的正確性;
  • 對各種異常情況的容錯處理的完整性和合理性。

如何進行接口測試

Swagger是一種可生成、描述并調用RESTFUL風格API的框架。Swagger官網的樣例Demo——petstore(寵物商店)對外提供一系列可以對寵物信息進行增刪改查的接口,本文使用這些接口進行接口測試。

1.準備工作

首先,通過華為云DevCloud的云測功能中的“測試用例”,創建接口測試的測試用例。

將petstore項目的網址設為默認環境變量,這里給他命名為“pethost”,測試用例可通過“$$petstore”的形式,直接調用該變量。

環境變量也可以不設置,但每次測試都需要輸入petstore的域名,很麻煩,設置成環境變量可以減少工作量,云測中輸入“$$”可以直接關聯預設的環境變量。

2.創建“添加寵物信息”的接口測試用例

petstore項目中,“添加寵物信息”是通過post請求完成的,該請求的請求體如下所示

創建“URL請求”,將請求類型設置為“POST”,請求地址為“$${pethost}/v2/pet”,在請求體中輸入上圖Json字符串,請求部分設置完成。

接下來,我們設計我們預期的檢查結果,期望返回值是200,即成功,如果返回其他響應碼則測試失敗。

同時,還要對響應體中的某些參數做提取,便于后續業務的測試使用。在這里我們提取相應體中category.id的值,并將他賦給局部變量“id”。

3.執行用例并查看返回值

請求設置完成后,我們執行用例,可以看到響應碼是200,結果是成功的。如果想看到測試不成功的場景,可以試試不按照參數列表規定,使用其他參數。

通過“近一次的結果”中“響應”,可以看到這次請求的返回值,返回值中提供的各類參數都可以通過上文提到的“響應提取”功能進行提取,供其他測試使用。

4.創建“查詢寵物信息”的接口測試用例

寵物信息創建完成后,我們通過Get請求查詢寵物是否真的添加完成。

創建“URL請求”,將請求類型設置為“GET”,請求地址中,通過“$id”直接調用之前接口返回的id(同“$$”,“$”可以直接關聯預設的局部變量)。

響應碼設置為200,預計測試通過。

5.執行用例查看是否可以查詢到寵物信息

執行用例后可以看到響應碼是200,和預期相符,測試成功。

通過“id”查詢到的寵物信息也和之前創建的寵物信息一致,表示這兩個功能是OK的。

6.創建“刪除寵物信息”的接口測試用例

測試完成后,需要刪除測試數據。

創建“URL請求”,將請求類型設置為“DELETE”,同樣通過“$id”刪除對應的寵物信息。

響應碼設置為200,預計測試通過。

7.刪除測試用例

執行用例后可以看到響應碼是200,和預期相符,測試成功。

通過響應體也可以看出,寵物信息刪除完成。

以上就是一個簡單的接口測試的例子,體現了接口測試既可以測試單個接口的功能,也可以測試產品多個模塊聯動的功能。

測試金字塔最高層——UI測試

在測試金字塔中,UI測試的覆蓋范圍廣,接近業務側,但是編寫成本高、執行速度和穩定性都會下降,問題定位也很難。所以在測試設計中,要減少界面層的測試。如果是下層測試可以覆蓋的場景和邏輯,為了提高測試的速度和節省資源,盡量放到下層去進行。

總結

軟件想要有一個好的質量,嚴謹的測試活動必不可少,自動化測試金字塔給大家提供了一種測試策略,我們要根據項目具體的情況,優化測試活動,最終讓軟件質量得到提升。

最近華為云與高校聯合發起的開學季活動,邀請了華為專家、斬獲21offer的優秀學長,采用線上直播+賽道闖關+豐厚獎品的形式進行,旨在讓同學們了解華為前沿研發理念和先進技術,體驗用華為云不同產品進行場景應用的開發,加深高校學生對企業技術應用的了解,讓校園學習與企業技術應用接軌,為高校學生的擇業就業進行助力賦能。

獎品多多,了解一下:華為云DevCloud&AI&IoT新學期挑戰賽

點擊關注,第一時間了解華為云新鮮技術~

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/119613.html

相關文章

  • 奮戰金九銀十?刷完這一套面試題就夠了!自動化軟件測試工程師跳槽漲薪秘籍!

    摘要:九安卓中如何取出日志信息把安卓系統日志信息實時導入到本地運行使用某個,實時獲取該的日志信息里面的返回信息接口自動化面試題一按你的理解,軟件接口是什么答就是指程序中具體負責在不同模塊之間傳輸或接受數據的并做處理的類或者函數。 ...

    Freelander 評論0 收藏0
  • 關于DOM2級事件的事件捕獲和事件冒泡

    摘要:事件冒泡階段,從目標元素出發,向外層元素冒泡,最后到達頂層或,依次執行綁定再其上的事件。在中,利用第三個參數控制其是從哪個階段開始,是從捕獲階段開始,而則是跳過捕獲階段,從冒泡階段開始。 花一天時間研究完了DOM2級事件中addEventListener的執行機制,作為開山第一帖,和大家講講多個addEventListener同時添加時的執行先后規律:showImg(https://s...

    goji 評論0 收藏0
  • 計算機科學中抽象的好處與問題—偽共享等實例分析

    摘要:有一句名言計算機科學中的任何問題都可以通過加上一層間接層來解決,一層不夠就再加一層。計算機科學的確是靠著一層又一層的抽象與封裝解決了巨量的問題。 David John Wheeler有一句名言計算機科學中的任何問題都可以通過加上一層間接層來解決,一層不夠就再加一層。后半句是我加的 (* ̄︶ ̄) ,雖然有點玩笑的意思,但是也的確能說明一些問題。計算機科學的確是靠著一層又一層的抽象與封裝解...

    sshe 評論0 收藏0
  • DOM事件流中的冒泡和捕獲

    摘要:那么哪個先彈呢由于此時事件處于第二階段,即處于目標階段,彈出順序取決的也不再是捕獲或冒泡,而是誰在代碼中先注冊,因此,在這段代碼中,彈出的是捕獲冒泡。 這是本人的第一篇文章,歡迎大家多多批評指正! DOM2級事件中addEventListener的執行機制,多個addEventListener同時添加時的執行先后規律: W3C的DOM事件觸發分為三個階段:1.事件捕獲階段:即由最頂層元...

    marser 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<