什么是軟件測試?
正向思維:驗證程序是否正常運行,以及是否達到了用戶預期的需求
逆向思維:通過執行測試用例發現程序的錯誤和缺陷
關鍵字:正常運行,用戶需求,發現錯誤
軟件測試的目的是什么?
找出軟件中潛在的錯誤和缺陷,通過修復錯誤和缺陷提高軟件的質量,回避軟件發布后因缺陷或錯誤帶來的商業分風險
關鍵字:發現錯誤,提高質量,避免風險
黑盒、白盒的區別
黑盒測試(數據驅動測試,功能測試):不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規格說明書,檢查程序的功能是否符合它的功能說明
白盒測試(邏輯驅動測試,結構測試):已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是否已經過檢查
什么是灰度測試?
概念:灰度發布的過程是一個漸近的過程,其實這才是一種正確、規范、安全的發布過程
影響:灰度發布可以在原有的Alpha版本之后增加了更大范圍的外部測試,是一個不斷的放量過程,通過這樣的發布過程可以使產品的問題暴露出來,而不會影響到全部的用戶,最終可以讓產品最大程度穩定適合用戶
負載測試、壓力測試、性能測試、容量測試的區別
性能測試:獲得系統在某種特定條件下的性能指標數據
負載測試:通過加壓,觀察系統的響應時間、吞吐量等,知道系統的極限性能指標
壓力測試:通過增加負載,查看系統在峰值使用情況下的操作行為,容錯、可恢復能力,發現隱患
容量測試:系統承受大量數據,測試系統是否能夠正常處理,通常和數據庫有關
什么是回歸測試?
抽象說法:在程序有修改的情況下,保證原有功能正常
具體說法:測試時發現bug -》開發修改 -》打了新包 -》重新測試,保證程序在修正了bug之后正常運行,且不會帶來新的錯誤
什么是冒煙測試?
新版本驗證測試,主要確認新的版本是否存在致命性bug。新功能正常運行,不影響下一輪測試
系統測試的16個測試策略
功能測試,安全測試,容量測試,性能測試,壓力測試,穩定性測試,可用性測試,健壯性測試,GUI測試,安裝測試,配置測試,異常測試,備份測試,文檔測試,在線幫助測試,網絡測試