軟體測試模型總結

2020-12-25 IT168

【IT168 技術文章】

  從各種資料上找到以下幾種測試模型,拷貝粘貼,內容並非本人原創,只是為了方便學習和記憶。總結如下:

  1、V模型

  在軟體測試方面,V模型是最廣為人知的模型,儘管很多富有實際經驗的測試人員還是不太熟悉V模型,或者其它的模型。V模型已存在了很長時間,和瀑布開發模型有著一些共同的特性,由此也和瀑布模型一樣地受到了批評和質疑。V模型中的過程從左到右,描述了基本的開發過程和測試行為。V模型的價值在於它非常明確地標明了測試過程中存在的不同級別,並且清楚地描述了這些測試階段和開發過程期間各階段的對應關係。

          

  2、W模型

  V模型的局限性在於沒有明確地說明早期的測試,無法體現「儘早地和不斷地進行軟體測試」的原則。在V模型中增加軟體各開發階段應同步進行的測試,演化為W 模型(如下圖)。在模型中不難看出,開發是「V」,測試是與此並行的「V」。基於「儘早地和不斷地進行軟體測試」的原則,在軟體的需求和設計階段的測試活動應遵循IEEE1012-1998《軟體驗證與確認(V&V)》的原則。

  W模型由Evolutif公司提出,相對於V模型,W模型更科學。W模型是V模型的發展,強調的是測試伴隨著整個軟體開發周期,而且測試的對象不僅僅是程序,需求、功能和設計同樣要測試。測試與開發是同步進行的,從而有利於儘早地發現問題。

  W模型也有局限性。W模型和V模型都把軟體的開發視為需求、設計、編碼等一系列串行的活動,無法支持迭代、自發性以及變更調整。

       
   3、X模型

  X模型也是對V模型的改進,X模型提出針對單獨的程序片段進行相互分離的編碼和測試,此後通過頻繁的交接,通過集成最終合成為可執行的程序。

        

  X模型的左邊描述的是針對單獨程序片段所進行的相互分離的編碼和測試,此後將進行頻繁的交接,通過集成最終成為可執行的程序,然後再對這些可執行程序進行測試。己通過集成測試的成品可以進行封裝並提交給用戶,也可以作為更大規模和範圍內集成的一部分。多根並行的曲線表示變更可以在各個部分發生。由圖中可見,X模型還定位了探索性測試,這是不進行事先計劃的特殊類型的測試,這一方式往往能幫助有經驗的測試人員在測試計劃之外發現更多的軟體錯誤。但這樣可能對測試造成人力、物力和財力的浪費,對測試員的熟練程度要求比較高。

  4、H模型

  H模型中, 軟體測試過程活動完全獨立,貫穿於整個產品的周期,與其他流程並發地進行,某個測試點準備就緒時,就可以從測試準備階段進行到測試執行階段。軟體測試可以儘早的進行,並且可以根據被測物的不同而分層次進行。

          

  這個示意圖演示了在整個生產周期中某個層次上的一次測試「微循環」。圖中標註的其它流程可以是任意的開發流程,例如設計流程或者編碼流程。也就是說, 只要測試條件成熟了,測試準備活動完成了,測試執行活動就可以進行了。

  H模型揭示了一個原理:軟體測試是一個獨立的流程,貫穿產品整個生命周期,與其他流程並發地進行。H模型指出軟體測試要儘早準備, 儘早執行。不同的測試活動可以是按照某個次序先後進行的,但也可能是反覆的,只要某個測試達到準備就緒點,測試執行活動就可以開展。

相關焦點

  • 軟體測試快速入門4-V模型
    它由Testers在方法上進行的一系列活動組成,用於測試您的軟體產品。儘管STLC使用術語「測試」,但它不僅僅涉及測試人員,在某些情況下,他們也必須涉及開發人員。在STLC中,執行測試用例。什麼是瀑布模型?
  • 最基礎的軟體測試總結
    黑盒測試著眼於程序的外部結構不考慮內部的邏輯。一般來說針對軟體外面的界面或者可見的功能來進行測試。黑盒測試更多的從用戶的視角通過不同的數據和事件驅動我們的系統,並通過輸出結果進行判斷。通過內部的結構設計測試用例靜態質量度量法:根據標準的質量模型,構造質量的度量模型用以評估軟體的各個方面的要素邏輯覆蓋法:語句覆蓋,條件覆蓋,條件組合覆蓋,分支覆蓋(判定覆蓋),路徑覆蓋,條件和判定的組合覆蓋基本路徑測試法:白盒測試中非常主要的測試方法,在程序控制流圖的基礎上通過分析控制構造的圈複雜度
  • 汽車軟體開發模型——瀑布模型/V模型
    學過計算機軟體的同學,應該都知道軟體開發的模型有很多:瀑布模型,V模型,螺旋模型,快速原型模型,增量模型,噴泉模型等。而汽車軟體的開發模型是怎樣的呢?汽車軟體傳統的開發模型——瀑布模型/V模型汽車軟體,就目前而言,是嵌入式軟體。
  • 軟體測試培訓怎麼學?軟體測試基礎技術總結!值得一看
    軟體測試無年齡限制,要求的是經驗和耐心,隨著軟體測試經驗的豐富積累,就會練就「火眼金睛」的本領,而且隨著項目經驗的不斷增長和對行業背景和深入了解,經驗和資歷會帶來更高薪資和更高地位,會越老越「值錢」。那軟體測試培訓怎麼學?軟體測試基礎技術總結!值得一看!
  • 凡貓軟體測試——軟體測試理論
    介紹軟體測試相關理論,軟體測試的定義、目的,軟體測試的原則,軟體質量模型,軟體測試的基本流程等。
  • 如何寫軟體測試報告總結?一份優秀測試報告模板流程
    如何寫軟體測試報告總結?軟體測試報告涉及測試周期內被測試系統的工作情況,測試人員對軟體系統進行的軟體性能測試、軟體壓力測試、軟體可靠性測試等都需要通過軟體測試報告進行匯總。相信很多做軟體測試的小夥伴在軟體測試後期,都為軟體測試報告總結花費了很多的精力,那麼如何做好軟體測試報告呢?一份優秀的測試報告又包含哪些內容呢?卓碼軟體小編就此進行簡單的解答。
  • 軟體的生命&測試的流程
    軟體測試非常容易入門,下面我介紹下軟體的生命&測試的流程,歡迎關注我的公眾號:測試知識1 、軟體的生命周期
  • 軟體測試職業需要具備的最全知識體系(總結)
    一、軟體的生命周期軟體計劃與可行性研究(問題定義、可行性研究);需求分析;軟體設計(概要設計、詳細設計);編碼;軟體測試;運行與維護生存周期劃分軟體測試在軟體設計完成後要經過嚴密的測試,以發現軟體在整個設計過程中存在的問題並加以糾正。整個測試過程分單元測試、組裝測試以及系統測試三個階段進行。測試的方法主要有白盒測試和黑盒測試兩種。在測試過程中需要建立詳細的測試計劃並嚴格按照測試計劃進行測試,以減少測試的隨意性。
  • Cypress和基於模型的測試實戰
    基於模型的測試基於模型的測試(Model-based Testing)屬於軟體測試領域的一種測試方法。按照此方法,測試用例可以完全或部分的利用模型自動產生。MBT 則允許軟體開發人員和測試人員,只關注建立系統的正確性以及模型的規範性,再通過專門的 MBT 工具根據不同的測試用例設計策略從系統模型生成可靠的測試用例。測試Case是由模型生成,而不是由原始碼生成。因此,基於模型的測試又常常被當作黑盒測試的一種形式。對於複雜的軟體系統中,如何應用基於模型的測試還在探索中,在測試學術界已經有一些關於自動生成測試模型的論文發表。
  • 軟體測試(開發)的V模型都包括哪些階段,具體都做了些什麼?(面試題)
    軟體測試(開發)的V模型都包括哪些階段,具體都做了些什麼?
  • 軟體測試各階段學習書籍推薦
    每本書都是作者深度思考和總結的成果,書本的內容一般都要經過縝密的調研,都是作者辛辛苦苦實踐的結晶。技術書籍寫作耗時都比較久,基本上能廣泛流傳的書籍,都是經過了時間和實踐的檢驗。並且,書本都有完整的知識架構,不管是系統學習還是作為工作問題的查閱手冊都非常方便。
  • 上海軟體測試培訓班讓精通軟體
    軟體測試(英語: Software Testing),描述一種用來促進鑑定軟體的完整性、安全性和質量的過程,換句話說,軟體測試是一種實際輸出與預期輸出之間的審核或者比較過程,軟體測試的經典定義是在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟體質量,並對其是否能滿足設計要求進行評估的過程
  • 模型學習全面概述:利用機器學習查找軟體漏洞
    本文的要點是:模型學習的目標是通過提供輸入和觀察輸出來構建軟體和硬體系統的黑箱狀態圖模型(black box state diagram model)。模型學習的算法的設計師一個基本的研究問題。模型學習正在成為一種高效的漏洞尋找技術,有銀行卡、網絡協議和遺產軟體等領域的應用。
  • 【何昆推薦】軟體測試總結——常見的面試問題(一)
    測試內容:功能、界面、可靠性、易用性、性能、兼容性、安全性等驗收測試:驗收測試是部署軟體之前的最後一個測試操作。它是技術測試的最後一個階段,也稱為交付測試。總結驗收測試的目的是確保軟體準備就緒,按照項目合同、任務書、雙方約定的驗收依據文檔,向軟體購買都展示該軟體系統滿足原始需求。
  • 汽車軟體過程能力模型ASPICE解讀3--軟體質量保證核心一致性
    回顧之前給大家看的這個圖,V模型以V模型為導向的ASPICE工程過程,從客戶需求/系統需求/系統架構/軟體需求/軟體架構/軟體設計/軟體架構到所有測試之間都存在著雙向追溯關係。但這個關係,如果按照瀑布模式展開,左邊的工作都做完才能展開右邊的測試項。但我知道,問題越早發現,解決代價越小。
  • 一位軟體測試工程師兩個月的面試總結
    過去先做一套題,英文題目,有軟體測試相關知識,wimax原理圖,java編程,C語言編程等等,C語言題目是寫strcpy/strcmp/strlen中的一個,由於沒準備,所以我只做了測試相關題目。面試上來要我做個英文自我介紹,當時悶了,沒準備,答得很鬱悶。後面主要問以前的測試流程、測試相關知識等,最後看我簡單的C題目沒寫出來,被狠狠BS了,當場告訴我不適合此崗位。
  • 軟體工程——認識方法、模型、工具和技術
    最好的方法是細化招標書、合同、項目基本需求等文檔提出的軟體功能和資源需求,並通過模型、工具和技術將文檔中實現的問題域,映射為可以被程式語言識別的軟體結構,這個映射過程就是項目的開發方法,也稱為系統開發方法。系統開發方法提供完成系統開發生命周期每一步的詳細指導,包括具體的模型、工具、技術。
  • 軟體測試工程師書籍列表(必讀)
    James Bach的網站提供了培訓幻燈片和學習資料,以啟發式測試策略模型(Heuristic Test Strategy Model)為核心,詳細介紹了探索式測試的方方面面,值得深入學習。、溝通、測試計劃/用例評審、測試總結、員工管理、測試思想等。
  • 軟體工程經典問題大總結,每一個問題都是軟體工程的重要內容
    Beta測試由軟體的最終用戶們在一個或多個客戶場所進行,與Alpha測試不同,開發者通常不在Beta的測試的現場,因此,Beta測試是軟體在開發者不能控制的環境中的真實應用,用戶記錄在Beta測試過程中遇到的一切問題,定期的把這些報告給開發者9.
  • 主流SSD測試軟體介紹
    該軟體使用了不同大小的數據測試包,數據包按0.5K、1.0K、 2.0K直到到8192.0KB進行分別讀寫測試,測試完成後數據用柱狀圖的形式表達出來,說明了文件大小比例不同對磁碟速度的影響。ATTO測試是極限情況下的磁碟持續讀寫性能,採用的測試模型具有很高的可壓縮性, ATTO默認測試全0數據。3.