軟體測試模式
軟體測試按測試模式分類:
1.瀑布模型:
專案計劃 (制定總體的研發計劃,確定主要的里程碑節點-輸出專案計劃書)
需求分析(明確使用者需求定義,並對定義進行清晰描述,充分理解需求,描述產品功能- 輸出產品需求規格說明)
軟體設計-根據需求定義,設計產品的實現方案,包括定義軟體硬體的結構、元件、實現方法、介面、介面、資料-輸出概要設計、詳細設計
程式開發-根據概要和詳細設計具體實現,根據程式設計規範構建各類元件模組,輸出產品版本。
軟體測試-通過獨立的測試小組評估產品是否滿足需求定義-輸出測試報告
整合維護-交付使用者,根據使用者使用情況進行維護及升級
優:
強調需求、設計的作用,保證使用者需求有一個充分的瞭解
階段分工明確
按階段劃分檢查點,里程碑清晰
文件規範
缺:
難以適應需求變化
專案週期後段才能看到成果
強制里程碑、完成時間點,對變化不容易適應
產生大量文件,工作量大
從測試角度不能體現測試的價值和地位
V模型
是瀑布模型的變種
明確表明測試過程的不同級別,階段 單元測試-整合測試-系統測試-驗收測試
並且描述了各個階段與開發過程各個階段的對應關係
優點:
v模型 強調軟體開發的協作和速度,反應測試活動和分析設計的關係,軟體的實現和驗證有機結合
缺點:
僅把關係明確對應,忽略了對需求分析的驗證,對需求和功能的測試到驗收測試才能發現;沒有很好的體現測試的及時性
w模型
v模型的改進
增加了開發各個階段的驗證,測試的物件不再是物件,對需求和分析都有測試過程
有利於及於發現專案的風險,線性的相互關係,序列
不能很好的支援像迭代這樣的模式
x模型
針對v模型的改進,主要解決交接和頻繁週期的問題,左邊是針對單獨的程式片段所進行的相互分離的編碼和測試,然後進行頻繁的交接,再通過整合,最終合成可執行的程式,x模型還可以探索性測試,不進行事先計劃,可以發現過多的錯誤
H模型
把測試當成一個完全獨立的流程 便於儘早的完成測試,與其他流程併發進行,可以是任何流程,可交叉
2.敏捷測試
敏捷測試:Agile Testing----遵循敏捷宣言的一種測試實踐
敏捷宣言:個體與互動 重於 過程和工具
可用的軟體 重於 完備的文件
客戶協作 重於 合同談判
響應變化 重於 遵循計劃
敏捷測試:強調從客戶角度測試
重點關注迭代測試新功能,不在強調測試階段
儘早測試,不間斷測試,具備條件即測試
強調持續反饋
預防缺陷重於發現缺陷
敏捷測試VS傳統測試:
傳統測試 敏捷測試
測試是質量的最後保護者 開發和測試人員緊密合作,大家都有責任對軟體負責
嚴格的變更管理 變更可以接受
預先的計劃和細節準備 計劃隨著進展時常調整
重量級文件 只需要必要的文件
各階段測試嚴格的入口和出口標準 各迭代之間沒有明顯入口和出口標準,更多在迴歸測試 時進行重量級自動化測試 所有階段都要自動測試,每個 人都需要做,是專案整合一部分
測試 開發 相對獨立 合作
3.基於指令碼的測試
基於指令碼的測試 SBT script-based testing 和ET【探索性測試】 互補
ST ET
系統性強 自由靈活
容易管理控制 和ST互補
設計在先,執行在後 執行和設計並行
主要是驗證自己的思路 不斷和系統互動,帶著問題測試
可預見 學習的過程
4.基於風險的測試
基於風險的測試:RBT risk based testing一種基於對軟體失效的風險評估並以此指導測試計劃,設計,執行,結果評價的軟體測試型別
風險包括 質量風險 管理風險
風險級別=風險可能性*風險嚴重度
5.探索式測試
探索式測試更適用於敏捷專案。測試管理上有侷限性。只有在SUT完全可用下更有作用。生產率難定義。
輸入 狀態 程式碼路徑 使用者資料 執行環境
區域性探索式測試
輸入:接受輸入,產生輸出,儲存資料,進行運算;
測試時:輸入順序,輸入內容,輸出異常
狀態:臨時狀態(執行時有效,截斷時有效)和永久狀態(資料庫儲存,檔案儲存)
程式碼路徑:對程式碼的覆蓋,白盒測試
使用者資料:最好真實;
執行壞境:軟體執行的系統,網路拓撲,系統的配置資料,跟系統互動的第三方系統,執行系統的硬體裝置
全域性探索測試: 漫遊測試法
基於模型的測試:MBT model based testing 對需求功能點建模 自動化
主要MBT工具:Spec Explorer GraphWalker Tcases modeljunit
結語:
最後跟大家推薦一個學習資料分享群:175317069,裡面大牛已經為我們整理好了許多的學習資料,有自動化,介面,效能等等的學習資料!
人生是一個逆水行舟的過程,不進則退,我們們一起加油吧!
相關文章
- 軟體驗收測試 第三方軟體測試 軟體功能測試 軟體資訊保安測試
- 【軟體測試】——介面測試
- 軟體測試——三、軟體測試的分類
- 軟體測試
- 軟體測試教程之手機軟體測試方法
- 軟體測試學習教程—軟體測試質量
- 軟體測試學習 ——五種軟體測試模型模型
- 軟體測試-測試計劃
- 軟體測試:軟體缺陷管理
- 軟體測試學習教程—軟體測試基本知識
- 軟體測試入門【1】什麼是軟體測試
- 軟體測試真的很重要!——軟體測試的作用
- 軟體測試書籍-學軟體測試最好的書
- 軟體測試概要
- 軟體測試模型模型
- 【軟體測試】缺陷
- 軟體測試流程
- 軟體測試技術-黑盒測試
- 軟體測試:自動化測試
- 軟體測試培訓教程:軟體測試面試之怎麼測試刷抖音?面試
- 軟體測試--軟體生命週期
- 軟體測試--中介軟體介紹
- 軟體效能測試有哪些測試方法?靠譜的軟體測試公司推薦
- 軟體安全測試有哪些測試手段?軟體測試報告收費貴嗎?測試報告
- 軟體功能測試的測試流程有哪些?軟體測試公司排名分享
- 軟體測試培訓分享:軟體測試和軟體開發學哪個好呢
- 軟體測試培訓分享:軟體測試崗位面試技巧有哪些?面試
- 軟體測試要學什麼(3)軟體測試流程詳解
- 軟體測試學習教程—軟體測試基礎理論五
- 軟體測試學習教程—軟體測試基礎理論六
- 軟體測試學習教程—軟體測試基礎理論四
- 軟體測試學習教程—軟體測試基礎理論三
- 剛入行的軟體測試工程師如何自學軟體測試?工程師
- 軟體測試基礎 第五篇 軟體測試文件管理
- 軟體測試經典測試題(4)
- 軟體測試員如何提取測試需求?
- 軟體測試之測試分類_1.4
- 軟體測試之易用性測試