1629. 按鍵持續時間最長的鍵
972
2025-04-04
軟件測試
軟件測試定義:通過人工或者自動化的檢測方式,檢測被測對象是否滿足用戶需求,不僅是執行文件,還包括對于文檔的測試。
軟件測試的目的:
1、發現缺陷(BUG),即被測對象與用戶需求之間的差異。
2、增加大家對軟件質量的信心,通過測試活動發現并解決缺陷。
3、為決策提供數據依據,通過測試活動了解被測對象的質量狀況 。
4、降低產品失敗的風險,通過測試活動積累經驗,預防缺陷出現。
軟件測試的階段:
1、需求分析階段:通過需求測試評審活動,檢查需求文檔是否與用戶期望一致,主要檢查文檔錯誤(表述錯誤、業務邏輯錯誤等),屬于靜態測試。
2、軟件設計階段:主要檢查系統設計是否滿足用戶環境需求、軟件組織是否合理有效等。一般開發人員完成。
3、編碼開發階段:發現軟件失效行為,修復缺陷
4、驗收階段:檢驗系統是否滿足用戶需求,達到可交付標準。
5、運營維護階段:驗證軟件變更、補丁修復是否成功和是否引入了新的缺陷。
軟件測試原則:
1、測試證明軟件存在缺陷。
即使通過測試未能發現任何缺陷,也不能證明被測對象不存在缺陷。測試人員應該持懷疑一切的態度
2、不可能執行窮盡測試
人力、時間資源有限,數據無法窮盡。通過風險分析、被測對象測試點優先級分析、軟件質量模型及不同測試方法的運用來確定測試點,從而替代窮盡測試,提高測試覆蓋率。
3、測試應該盡早啟動、盡早介入
下層建筑決定上層高度,缺陷發現越早,修復成本越低,測試評審活動應該盡早介入。
4、缺陷存在群集現象
二八定律:一個軟件系統的核心功能往往占整個系統功能的20%左右,但這20%的核心功能往往產生80%的缺陷。測試過程中的人力、時間、資源分配比例應根據系統業務的優先級匹配。
5、殺蟲劑悖論
測試用例經過多次迭代后,將不能再發現缺陷(開發人員熟悉了測試套路)。測試用例需要定期評審、及時調整。
6、不同測試活動依賴于不同的測試背景
例如電子商務業務系統和銀行證券產品的測試方法可能不一樣
軟件測試級別(階段) 針對不同研發階段的測試
1、需求測試
對需求本身進行測試,重點在于檢查需求規格說明書中是否存在描述不準確、定義模糊、需求用例不正確、語言存在二義性等。考慮其
完整性(功能描述清楚完整)、正確性(準確陳述需開發功能)、一致性(與其他軟件需求不相矛盾)、可行性(在已知系統和環境內可以實施)、無二義性(只能有一個統一的解釋)、健壯性(異常的分析和處理)、必要性(每項需求都能回溯到某項客戶的輸入)、可測試性(每項需求都可通過設計測試用例或其他方法來測試)、可修改性(唯一性,每項需求只出現一次)
測試人員負責
2、單元/組件測試
是針對軟件基本組成單元來進行正確性檢驗的測試工作,檢測被測組件/單元與《詳細設計說明書》的復合程度。被測對象為組件、函數、類等。
一般由開發人員負責。
3、集成測試
是對組件/單元之間和組件/單元與第三方接口之間進行測試,驗證接口是否與設計相符,是否與需求相符。組件/單元間集成、模塊間集成、子系統間集成。
檢驗軟件模塊對《概要設計說明書》、《接口說明書》的復合程度,關注模塊間接口和接口數據傳遞關系,以及模塊組合后的整體表現。
一般由開發人員負責。
4、系統測試
將通過集成測試的軟件部署到模擬的用戶真實計算機環境中去,通過與系統的需求定義作比較,發現軟件與系統的需求定義不符合或矛盾之處。
由測試團隊完成,測試依據一般包括《需求規格說明書》、需求用例、功能規格說明、功能需求列表、風險分析報告等,以《需求規格說明書》為主。測試的對象包括軟件系統、用戶手冊、操作使用說明書、系統配置和配置數據等。
一般由測試人員負責。
5、驗收測試
系統測試完成后,在交付用戶部署前,需進行驗收測試。是以用戶為主的測試。驗收測試依據:合同、《需求規格說明書》、《驗收測試計劃》,對成品進行驗收。目的是檢查產品是否符合用戶的預期。
驗收測試形式分為三種:
(1)Alpha測試
用戶在開發環境下測試,開發人員在用戶旁,可以及時處理發現的問題。
(2)Beta測試
在實際使用環境中測試,開發人員通常不在場,解決問題相對較慢。
(3)UAT測試(user acceptance test)
用戶接受度測試
軟件測試類型(針對軟件對象,進行思考的各個角度)
1、功能測試(檢測軟件是否滿足用戶要求的功能和隱藏功能)
特點:
是否有不正確、遺漏、多余的功能
是否滿足用戶需求和系統設計的隱藏需求
是否對輸入做出了正確的響應,輸出結果能否正確顯示。
所有測試中,應該首先保證功能測試。
2、性能測試
模擬系統運行業務壓力和使用場景組合,驗證系統性能是否滿足預先定義的性能要求
特點:
系統是否具有宣稱具有的能力
需了解測試系統典型場景,并具有確定的性能目標
要求在真實的運行環境下執行
3、負載測試
在超過被測對象標準性能負荷指標下,驗證系統的負載承受能力,并要求在超負荷時,被測對象依然能夠正常實現業務功能。
特點:
找到系統處理能力的極限和性能臨界點
在超過被測對象性能負荷情況下實施
用來了解系統性能容量,配合性能調優使用
4、壓力測試
測試被測對象在超過性能指標的飽和狀態下,系統處理業務的能力情況,以及系統是否會出現錯誤。在負載測試之上,持續增加壓力,軟件可能會出現失效或者崩潰的情況??赡艹霈F錯誤是被允許的,但不能允許出現大面積的錯誤發生。
特點:
主要檢查被測對象在峰值情況下應用的表現
一般使用負載測試的思想實施壓力測試,持續關注被測對象持續服務的能力
一般用于系統的穩定性測試
5、容量測試
驗證被測對象承受超額數據容量時,正確處理業務請求的能力。是面向數據的。
(負載、壓力、容量測試都可作為性能測試的測試策略)
6、安全測試
驗證被測對象的安全保護機制能否在實際應用中保護系統不受非法入侵,是用來保護系統本身數據的完整性和保密性。
7、兼容性測試
檢查軟件能否在不同的用戶環境下正常運行使用。
8、可靠性測試
驗證被測對象在規定時間、規定環境下,實現規定功能或性能的能力。(穩定性)
9、可用性測試
易用性測試。軟件是否能夠容易被用戶理解、學習、使用。
10、移植測試
軟件產品是否能順利移植到新的硬件或軟件平臺上,移植之后,軟件依然能滿足用戶需求。
11、維護測試
軟件部署運行交付后,在實際使用過程中,因改正錯誤或需求變更而引發的確認驗證測試活動。
維護測試可分為四種類型:改正性維護測試、移植性維護測試、完善性維護測試、預防性維護測試
12、確認測試
測試人員發現缺陷后,開發人員修復后生成新的版本。測試人員需要確認是否已經成功修復缺陷。
13、回歸測試
對被測試過的程序在修復缺陷后進行的重復測試,目的在于驗證修復缺陷沒有引發新的缺陷或問題。
回歸測試方法:(1)完全回歸:需執行被測試對象的所有測試用例。時間充裕時。
(2)選擇性回歸:主要執行缺陷多的模塊、使用頻率高的模塊、修復缺陷對應的
模塊的測試用例。時間緊迫時。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。