1.軟件測試就是一種用來促進檢測軟件的正確性、完整性、安全性和質量的過程。程序員
2.換句話說也就是程序員將一個程序寫好以後交給軟件測試的人員,軟件測試的人員就是去測試程序員所寫程序的bug(漏洞),而後再跟程序員交流修復好那個bug。安全
1.任何軟件都不是完美的,都須要進行測試,都會存在bug。架構
2.測試都應該儘早介入。函數
3.殺蟲劑現象,測試用例不能使用屢次,不然程序會自動出現免疫狀況。性能
1.功能測試(主體功能是否可用)單元測試
2.兼容性測試(不一樣環境下是否可用)例:安卓和蘋果測試
3.安全測試(是否只能是受權用戶提供功能使用)編碼
4.性能測試(當前軟件消耗的資源 它的產出能力)spa
1.按測試對象進行分類設計
1.1 白盒測試(看源碼)
1.2 黑盒測試(不看源碼)
1.3 灰盒測試()
2.按測試對象是否執行分類
2.1 靜態測試
2.2 動態測試
3.按測試手段進行分類
3.1 手工測試
3.2 自動化測試
1.瀑布型模型
1.1 是線性模型的一種,是全部其餘模型的基礎
1.2測試切入點
測試階段處於軟件後期實現後,必須在代碼完成後留有足夠的時間給測試,
致使測試時間不夠充分,不少問題到項目後期才暴露出來。
優勢:
1.開發的各個階段比較清晰
2.適合發展需求穩定的產品
3.適用於小型公司
缺點:
1.過於依賴於早期的需求計劃
2.單一流程不可逆
3.問題每每在項目後期纔會顯露
2.快速原型模型
2.1 建立一個快速原型,實現用戶與系統的交互,抓準系統的核心,逐步調整原型使其知足用戶需求。
2.2 在第一步的基礎上開發出使人滿意的軟件
優勢:
1.克服瀑布模型的缺點,更好的知足用戶的需求
缺點:
1.不適合大型系統的開發(適合 開發小型的、靈活性高的系統)
3.螺旋模型
3.1 螺旋模型分爲幾個週期,每個週期都是一個小型的瀑布模型
螺旋模型沿着螺旋線旋轉,分爲了四個方面的活動,分別是
制定計劃
風險分析
實施開發
客戶評估
優勢:
1.螺旋模型很大程度上是一種風險驅動的方法體系。都必須進行風險評估。
缺點:
1.採用螺旋模型須要具備至關豐富的風險評估經驗和專門知識,在風險較大的項目開發中
若是未能標識風險,勢必形成重大損失,過多迭代會增長開發的成本。
1.V模型
需求分析:用戶的需求、業務需求。
概要設計:系統架構、模塊劃分、模塊與模塊之間的接口。
詳細設計:模塊內部實現的邏輯和方法。
編碼:實現上面的設計。
單元測試:(類、函數、組件)
集成測試:多模塊鏈接測試
系統測試:系統主體進行測試
驗收測試:檢測產品是否符合最終用戶的需求
優勢;
1.V模型清楚的標識出軟件開發的階段
2.測試V模型即包含了底層測試又包含了高層測試
2.1 底層測試 :檢驗源代碼質量的測試,如:單元測試
2.2 高層測試:檢驗整個系統的須要,如:系統測試
缺點:
1.1 V模型一大缺點正是它自身的順序性所致使的。到了測試階段,程 序已經完成,錯誤已經產生,
不少前期的錯誤一直到測試階段才 發現,甚至沒法發現,每每無從修改了。
1.2 靈活性比較低。
2.W模型
優勢:
測試伴隨着整個開發過程,更早的介入測試,能夠發現開發初期的不少缺陷,能夠下降開發的成本,便於控制項目的過程。
缺點:使用起來技術複雜度很高,對需求和設計的測試難度較高,實踐起來很難。
3.H模型
優勢:
比較靈活
缺點:
對於整個項目組的人員要求很是,也就意味着成本比較高, 適用於比較有錢的大公司。