国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

敏捷實踐 | 淺談測試金字塔

這篇具有很好參考價值的文章主要介紹了敏捷實踐 | 淺談測試金字塔。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Why 為什么要學習測試金字塔

之前做測試培訓的時候經(jīng)常會被問到幾個問題——我們項目沒有自動化測試,老板想讓我做,我搞了幾個星期 selenium 怎么不行呢?我應該先做 API 測試還是 UI 測試,他們之前關(guān)系如何?很多初學者甚至認為自動化測試=UI 自動化=selenium。在學習具體自動化測試技術(shù)之前,我們應該先了解一個概念——自動化測試金字塔。

自動化測試金字塔,或者簡稱為測試金字塔,他不是一個標準或者規(guī)范,但是這個概念為我們提供了從 0 開始構(gòu)建自動化測試體系的一個最佳實踐的參考。尤其是對初學者來說,這個金字塔模型可以說是開展自動化測試之前的一個最高指導綱領(lǐng),因此我們有必要了解測試金字塔的相關(guān)概念和落地方法。

當然,并不是任何項目在任何階段都適合開展自動化測試,什么時候應該開展自動化測試不再本文展開討論,我們先假設一個項目需要做自動化測試,那么這個時候應該如何開始。

What 到底什么是測試金字塔

測試金字塔是 2009 年 Mike Cohn 在他的著作《Succeeding with Agile》一書正式提出的。他是一個類比的概念,形容每一層,或者說不同集成階段測試覆蓋率和執(zhí)行效率之間的一個相對關(guān)系。話不多說,我們直接上圖。
敏捷實踐 | 淺談測試金字塔

接下來我們來看圖說話,這個圖看似很簡單,有些內(nèi)容可以很容有些內(nèi)容我們可以深挖一下。首先需要明白的是,這個三層分類是根據(jù)項目集成復雜度抽象出來的三個層級,實際有幾層看項目復雜情況,主要是中間層的集成測試展開可能有幾層。之前我做過一個電信核心網(wǎng)項目,代碼至少百萬級別那種,中間哪一層集成測試就會有多層。

▎覆蓋率

覆蓋率是金字塔的核心,底層是最寬的,象征著 UT 覆蓋率應該是最高的,越往上越低,這一點大家都能達成共識。但是有一點需要注意的是,每網(wǎng)上一層應該是對下面一層覆蓋率的一個補充。簡單說集成測試應該聚焦于 UT 不好覆蓋的場景或者 UT 采用 mock 方式測試的場景,而頂層的 UI 自動化應該聚焦于整個流程的集成測試,覆蓋集成測試和 UT 難以覆蓋到的場景。

▎執(zhí)行速度

越接近代碼層的測試,也就是單元測試,執(zhí)行速度越快,離代碼越遠的測試,也就是 UI 測試,或者說端到端的測試,執(zhí)行速度越慢。執(zhí)行速度越快,意味著我們發(fā)現(xiàn)問題的時間越快,從而進一步減少了測試失敗->定位問題->解決問題->再次觸發(fā)自動化測試這個閉環(huán)的時間。
用例開發(fā)和維護成本
我們構(gòu)建自動化測試通常是一個中間產(chǎn)品,是為了提高回歸測試效率而產(chǎn)生的一個工具,并不是最終向客戶交付的產(chǎn)品,因此我們更要考慮投入投入成本,也就是用例開發(fā)和維護的成本,成本對應圖上標記的 dollar。從圖上可以看出,UI 自動化顯然是最不劃算的,因為界面變化相對比較頻繁,UI 自動化自然很容易受影響,UI 自動化用例的創(chuàng)建和維護也相對比較麻煩。

▎顆粒度

越往底層,顆粒度越細,問題越好隔離,發(fā)現(xiàn)問題越快,解決問題越快,越往上顆粒度越粗,問題越不好隔離,解決問題越慢。

How 如何落地

測試金字塔看起來很簡單明了,真正落地沒有想象那么容易,我們從一下幾點展開討論。

▎對研發(fā)和測試團隊的整體要求

因為測試處于開發(fā)流水線的下游,項目團隊從一開始其實要有構(gòu)建自動化測試的概念,不僅僅是軟件架構(gòu)師,研發(fā)和測試也要有相應的意識,除此之外還需要有 CICD(持續(xù)化集成部署)的概念,不然項目一旦開始,很多自動化測試根本無法開展和落地。比如一個項目沒有任何自動化測試,全靠測試手動檢查,過了一段時間,老板突然心血來潮找到測試小張說,你看 XX 公司都在搞自動化測試了,我們也搞起來吧。天天黑盒測試的 tester 們首先想到了 UI 測試,研究了幾個星期之后發(fā)現(xiàn)不僅 UI 變來變?nèi)?,好多元素沒有唯一 ID 或者 name,于是花了大量經(jīng)歷去搞元素定位,最后 case 也沒寫幾個。老板過來一看,搞啥呢?看來你們技術(shù)不行啊,別搞了,還是繼續(xù)手動測試吧。
參考我們的測試金字塔概念,其實從一開始就錯了,自動化一定是從 UT 開始的,如果開發(fā)不配合,只靠測試通過后面的 API 自動化或者 UI 自動化發(fā)現(xiàn)問題,只能是事倍功半的效果。

▎資源不夠時候怎么辦?

有時候測試資源非常有限,沒法用自動化覆蓋每一層級的自動化測試,這個時候建議從 API 自動化或者集成測試的自動化開始,構(gòu)建除了 UT 測試的第一層防火墻,有了一定效果之后再考慮從下往上開始增加更多的自動化測試用例。

▎對 CICD 流水線依賴

在現(xiàn)代化的持續(xù)集成中,CICD 對于自動化測試就像基礎設施一樣。如果沒有構(gòu)建高效的 CICD 流水線,自動化測試的效果就會大打折扣,自動化測試其實只是整個 CICD 流水線的一個環(huán)節(jié),只有構(gòu)建了高效的 CICD,我們才能快速的觸發(fā)自動化測試,發(fā)現(xiàn)問題,修復問題,然后再次觸發(fā)讓測試通過。

▎金字塔模型是萬能鑰匙么?

金字塔模型是自動化最佳實踐的一個參考,并不是銀彈,更不是萬能鑰匙。比如針對最近幾年流行起來的微服務的概念,有人提出了針對傳統(tǒng)測試金字塔的改進——蜂窩測試模型。
敏捷實踐 | 淺談測試金字塔

因為在微服務系統(tǒng)里面,每個微服務本身的功能相對單一,但是集成起來之后可能是一個蜘蛛網(wǎng)的模型,如果只是根據(jù)傳統(tǒng)金字塔模型去做大量的 UT 覆蓋,效果并不好,因為 UT 大量的 mock 外部接口測試無法快速發(fā)現(xiàn)上下游由于接口改動造成的一些問題,因此采用更多的集成測試可以更好地覆蓋微服務的模型,更多細節(jié)可以參考文末的參考文獻。

簡言之,金字塔模型只是一個框架級別的參考,具體怎么實施一定要考慮項目的具體情況,不能生搬硬套。

現(xiàn)在我邀請你進入我們的軟件測試學習交流群:746506216】,備注“入群”, 大家可以一起探討交流軟件測試,共同學習軟件測試技術(shù)、面試等軟件測試方方面面,還會有免費直播課,收獲更多測試技巧,我們一起進階Python自動化測試/測試開發(fā),走向高薪之路。

喜歡軟件測試的小伙伴們,如果我的博客對你有幫助、如果你喜歡我的博客內(nèi)容,請 “點贊” “評論” “收藏” 一 鍵三連哦!文章來源地址http://www.zghlxwxcb.cn/news/detail-458910.html

到了這里,關(guān)于敏捷實踐 | 淺談測試金字塔的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • opencv基礎45-圖像金字塔01-高斯金字塔cv2.pyrDown()

    opencv基礎45-圖像金字塔01-高斯金字塔cv2.pyrDown()

    圖像金字塔(Image Pyramid)是一種用于多尺度圖像處理和分析的技術(shù),它通過構(gòu)建一系列不同分辨率的圖像,從而使得圖像可以在不同尺度下進行處理和分析。圖像金字塔在計算機視覺、圖像處理和計算機圖形學等領(lǐng)域中廣泛應用,可以用于目標檢測、特征提取、圖像匹配、尺

    2024年02月13日
    瀏覽(98)
  • 什么是特征金字塔

    什么是特征金字塔 特征金字塔(Feature Pyramid)是一種用于計算機視覺中物體檢測、圖像分割、目標跟蹤等任務的常用技術(shù)。它的主要思想是通過在不同的圖像尺度上提取特征,來捕捉不同大小和分辨率的物體信息。 具體來說,特征金字塔通常由以下幾個步驟構(gòu)成: 圖像金字

    2024年02月12日
    瀏覽(24)
  • 圖像金字塔

    圖像金字塔

    圖像金字塔 簡單來說就是 自下而上圖像一步一步縮小 1 高斯金字塔(涉及高斯分布) 向下采樣(縮小,對金字塔來說是自下向上) 第一步: 高斯濾波去噪 第二部:將偶數(shù)行和列去掉 向上采樣(放大,對金字塔來說是自上向下) 第一步:在每個方向上擴大兩倍,新增的行和

    2023年04月22日
    瀏覽(35)
  • 【學習】FPN特征金字塔

    【學習】FPN特征金字塔

    論文:Feature Pyramid Networks for Object Detection (CVPR 2016) 參考blog:https://blog.csdn.net/weixin_55073640/article/details/122627966 參考視頻講解:添加鏈接描述 卷積網(wǎng)絡中,深層網(wǎng)絡容易響應語義特征,淺層網(wǎng)絡容易響應圖像特征。然而,在目標檢測中往往因為卷積網(wǎng)絡的這個特征帶來了不少

    2024年01月24日
    瀏覽(22)
  • OpenCv之圖像金字塔

    OpenCv之圖像金字塔

    目錄 一、圖像金字塔介紹 ?二、高斯金字塔 三、拉普拉斯金字塔 圖像金字塔是圖像中多尺度表達的一種,最主要用于圖像的分割,是一種以多分辨率來解釋圖像的有效但概念簡單的結(jié)構(gòu)。簡單來說,圖像金字塔是同一圖像不同分辨率的子圖集合。 圖像金字塔的作用: 圖像金

    2024年02月12日
    瀏覽(23)
  • 【Python實現(xiàn)數(shù)字金字塔】

    提示:python 數(shù)字金字塔是一種常見的數(shù)學問題,它由一個數(shù)字序列組成的三角形構(gòu)成,其中每個數(shù)字都位于其下面兩個數(shù)字的正上方。 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 代碼如下(示例): ##對結(jié)構(gòu)進行分析 ① 共有前邊空格和金字塔部分數(shù)字需要輸出 ②

    2024年02月05日
    瀏覽(18)
  • 金字塔原理(思考的邏輯)

    前言:前面學習了表達的邏輯,那在表達之前,如何組織內(nèi)容?如何進行思考?接下來看第二篇—— 思考的邏輯 。 目錄 應用邏輯順序 時間順序 結(jié)構(gòu)順序 程度順序 概括各組思想? 什么是概括? 思想表達方式 如何概括? 所有的思想必須具有某種邏輯順序。 組織在一起的思

    2024年02月11日
    瀏覽(30)
  • OpenCV 11(圖像金字塔)

    OpenCV 11(圖像金字塔)

    **圖像金字塔**是圖像中 多尺度表達 的一種 ,最主要用于圖像的分割,是一種以多分辨率來解釋圖像的有效但概念簡單的結(jié)構(gòu)。簡單來說, 圖像金字塔是同一圖像不同分辨率的子圖集合. 圖像金字塔最初用于機器視覺和圖像壓縮。其通過梯次向下采樣獲得,直到達到某個終止

    2024年02月09日
    瀏覽(23)
  • 輸出數(shù)字金字塔(Python為例)

    生成如下格式的數(shù)字金字塔 對結(jié)構(gòu)進行分析,可知 共有前邊空格和金字塔部分數(shù)字需要輸出 數(shù)字部分為對稱結(jié)構(gòu) 每行數(shù)字最大值與當前行數(shù)一致 對稱的一半占位數(shù)目與當前行數(shù)一致 使用循環(huán)控制當前行數(shù),在其中輸出每行相應內(nèi)容 由于空格在前,首先輸出空格,每行空格

    2023年04月13日
    瀏覽(26)
  • OpenCV(十六):高斯圖像金字塔

    OpenCV(十六):高斯圖像金字塔

    目錄 1.高斯圖像金字塔原理 2.高斯圖像金字塔實現(xiàn) 1.高斯圖像金字塔原理 高斯圖像金字塔是一種用于多尺度圖像表示和處理的重要技術(shù)。它通過對圖像進行多次高斯模糊和下采樣操作來生成不同分辨率的圖像層級,每個層級都是原始圖像的模糊和降采樣版本。 以下是高斯圖

    2024年02月09日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包