模塊測試:目的在于檢查每個程序單元能否正確實現(xiàn)詳細設(shè)計說明中的模塊功能、性能、接口和設(shè)計約束等要求,發(fā)現(xiàn)模塊內(nèi)部可能存在的各種錯誤。
需要從程序內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計測試用例,多個模塊可平行進性。
集成測試:在單元測試的基礎(chǔ)上,將所有的程序模塊進性有序的、遞增的測試。
組裝測試,集成測試是驗證程序單元或組建的接口關(guān)系,逐步即成為符合概要設(shè)計要求的程序部件或整個系統(tǒng)。
冒煙測試:也稱版本測試、提交測試。
確認(rèn)測試:通過檢驗和提供客觀證據(jù),證實軟件是否滿足特定預(yù)期用途的需求。
? ? ? ? ? ? ? ? 檢測與證實軟件是否滿足軟件需求說明書中規(guī)定的要求。
系統(tǒng)測試:驗證和確認(rèn)系統(tǒng)是否達到其原始目標(biāo),而對集成的硬件和軟件系統(tǒng)進性的測試。是在真實或模擬系統(tǒng)運行環(huán)境下,檢查完整的程序系統(tǒng)能否和系統(tǒng)(包括硬件、外設(shè)、網(wǎng)絡(luò)和系統(tǒng)軟件、支持平臺)正確配置、連接,并滿足用戶需求。
驗收測試:按照項目任務(wù)書和合同、供需雙方約定的驗收依據(jù)文檔進性的對整個系統(tǒng)的測試和評審,決定是否接受或拒收系統(tǒng)。
開發(fā)方測試 驗收測試 α測試
開發(fā)方通過檢驗和提供客觀證據(jù),證實軟件的實現(xiàn)是滿足了規(guī)定的需求。是在開發(fā)環(huán)境下,由開發(fā)者檢測與證實軟件的實現(xiàn)是否滿足設(shè)計說明或軟件需求說明的要求。
主要是在軟件開發(fā)完成之后,開發(fā)方進性全面的自我檢查和驗證。
可以和系統(tǒng)測試一起進行。
用戶測試:在用戶環(huán)境下,用戶通過運行和使用軟件,檢查與合適軟件實現(xiàn)是否符合自己的預(yù)期的要求。
通常情況下不是指用戶的“驗收測試”,而是指用戶的使用性測試。
由用戶找出軟件的應(yīng)用過程中發(fā)現(xiàn)軟件的缺陷與問題,并對使用質(zhì)量進性評價。
β測試:主要是把軟件產(chǎn)品有計劃地免費分到目標(biāo)市場,讓用戶大量使用并評價、檢查軟件。
通過用戶各種方式大量使用,來發(fā)現(xiàn)軟件存在的問題和錯誤,把信息反饋給開發(fā)者修改。有助于廠商軟件產(chǎn)品的成功發(fā)布。
第三方測試:由技術(shù)、管理和財務(wù)上與開發(fā)方和用戶相對獨立的組織的進行的測試。
一般情況是在模擬用戶真實環(huán)境下,進行軟件測試。
價值:公正訴求決定、發(fā)現(xiàn)錯誤,提高軟件品質(zhì)、給出評價,有助于開發(fā)商認(rèn)清自己產(chǎn)品的定位、幫助用戶選擇軟件產(chǎn)品,避免豆腐渣工程。
靜態(tài)測試:指不允許程序,通過人工對程序和文檔進行分析與檢查。
靜態(tài)分析技術(shù)是對需求說明書、設(shè)計說明書、程序源代碼等進行非運行的檢查。
靜態(tài)測試包括:走查、符合執(zhí)行、需求確認(rèn)。
動態(tài)測試:通過對人工或使用工具運行程序進行檢查、分析程序的執(zhí)行狀態(tài)和程序的外部表現(xiàn)。
白盒測試:結(jié)構(gòu)測試? 對程序內(nèi)部結(jié)構(gòu)的分析、檢測來尋找問題。
黑盒測試:功能測試 通過軟件外部表現(xiàn)來發(fā)現(xiàn)其缺陷和錯誤。
灰盒測試:介于白盒測試與黑盒測試之間的測試。
V模型
特點:底層測試 源代碼的正確性;? 高層測試 整個系統(tǒng)滿足用戶的需求。
單元測試和集成測試是驗證的程序設(shè)計。
系統(tǒng)測試是驗證系統(tǒng)設(shè)計,檢測系統(tǒng)功能,性能的質(zhì)量特性是否達到系統(tǒng)設(shè)計的標(biāo)準(zhǔn)。
確認(rèn)和驗證測試:追溯軟件需求說明書進行測試,已確定軟件的實現(xiàn)是否滿足用戶需求或合同的要求。
局限性:僅把測試過程作為需求分析、概要分析、詳細設(shè)計及編碼之后的一個階段;容易理解為,測試是軟件開發(fā)的最后一個階段,主要針對程序進行測試尋找錯誤;需求分析階段隱藏的問題一致到后期的驗收才被發(fā)現(xiàn)。
W模型
有利于盡早地發(fā)現(xiàn)問題
相應(yīng)的開發(fā)活動完成即可開始執(zhí)行測試
減少總體測試世紀(jì),加快項目進度。
可以盡早可能的找出軟件缺陷所在,幫助改進項目內(nèi)部質(zhì)量。
局限性:無法支持迭代、自發(fā)性以及變更調(diào)整;如果當(dāng)前沒有文檔就會出現(xiàn)問題;無法測試流程的完整性。
H模型
特點:軟件測試模型是一個獨立的模型,貫穿于整個產(chǎn)品周期,與其他流程并發(fā)的進行,當(dāng)某個測試時間點就緒時,軟件測試即從測試準(zhǔn)備階段進入測試執(zhí)行階段。
X模型
定位了探索性測試
左邊描述的時針對單獨程序片段所進行的相互分離的編碼和測試,以后,將進行頻繁的交接,通過集成最終合成為執(zhí)行的程序。
可執(zhí)行程序還需要進行測試,可通過集成測試的成品進行封裝并提交給用戶,也可以更大模型和規(guī)范內(nèi)集成的一部分。
前置測試模型:
開發(fā)和測試相結(jié)合:對沒有給交付內(nèi)容進行測試;在設(shè)計階段測試和測試設(shè)計;測試和開發(fā)在一起;讓驗收測試和技術(shù)測試保持相對獨立。
軟件是生命周期的軟件測試策略
軟件計劃階段:作用域
單元測試——集成測試《設(shè)計信息》——確認(rèn)測試《軟件需求》——系統(tǒng)測試《系統(tǒng)其他元素》
測試信息流
三類輸入
軟件配置:需求規(guī)格說明;設(shè)計規(guī)格說明;源代碼
測試配置:測試計劃;測試用例;測試驅(qū)動程序【測試配置在整個軟件配置的一個子集】
測試工具:為測試某種實施提供服務(wù),以減輕測試任務(wù)中的手工勞作。提高軟件測試效率。
測試——測試結(jié)果【預(yù)期結(jié)果與實際結(jié)果對比】——排錯【最不可預(yù)知的,花費時間解決問題】——回歸測試——測試
測試——測試結(jié)果分析——測試報告【出錯覆蓋率】可靠性分析,預(yù)測可靠性。
