軟件測試方法一般分為兩大類(軟件測試主要分為)
發布時間:2022-07-08 07:43:01 已幫助:人 來源:西安樂搏軟件測試培訓學校
有些軟件企業在軟件制作上,也只是采用了一些軟件工程的思想,距離大規模的工業化大生產比較還是有一定的差距;原因有管理體制的問題,市場問題,政策問題,也有軟件工程理論不全面和不完善的問題。
(2)黑盒測試:又稱為數據驅動測試,把測試對象當做看不見的黑盒,在完全不考慮程序內部結構和處理過程的情況下,測試者僅依據程序功能的需求規范考慮,確定測試用例和推斷測試結果的正確性,它是站在使用軟件或程序的角度,從輸入數據與輸出數據的對應關系出發進行的測試。
(3)灰盒測試:是一種綜合測試法,它將“黑盒”測試與“白盒”測試結合在一起,是基于程序運行時的外部表現又結合內部邏輯結構來設計用例,執行程序并采集路徑執行信息和外部用戶接口結果的測試技術。
從是否執行代碼看;
(1)靜態測試:指不運行被測程序本身,僅通過分析或檢查源程序的語法、結構、過程、接口等來檢查程序的正確性。
(2)動態測試:是指通過運行被測程序,檢查運行結果與預期結果的差異,并分析運行效率、正確性和健壯性等性能指標。
從開發過程級別看;
(1)單元測試:又稱模塊測試,是針對軟件設計的最小單位----程序模塊或功能模塊,進行正確性檢驗的測試工作。其目的在于檢驗程序各模塊是否存在各種差錯,是否能正確地實現了其功能,滿足其性能和接口要求。
(2)集成測試:又叫組裝測試或聯合,是單元測試的多級擴展,是在單元測試的基礎上進行的一種有序測試。旨在檢驗軟件單元之間的接口關系,以期望通過測試發現各軟件單元接口之間存在的問題,最終把經過測試的單元組成符合設計要求的軟件。
(3)系統測試:是為判斷系統是否符合要求而對集成的軟、硬件系統進行的測試活動、它是將已經集成好的軟件系統,作為基于整個計算機系統的一個元素,與計算機硬件、外設、某些支持軟件、人員、數據等其他系統元素結合在一起,在實際運行環境下,對計算機系統進行一系列的組裝測試和確認測試。
軟件測試類別;
(1)功能測試:對軟件需求規格說明書中的功能需求逐項進行的測試,以驗證功能是否滿足要求。
(2)性能測試:對軟件需求規格說明書的功能需求逐項進行的測試,以驗證功能是否滿足要求。
(3)接口測試:對軟件需求規格說明中的接口需求逐項進行的測試。
(4)人機交互界面測試:對所有人機交互界面提供的操作和顯示界面進行的測試,以檢驗是否滿足用戶的需求。
(5)強度測試:強制軟件運行在異常乃至發生故障的情況下(設計的極限狀態到超出極限),驗證軟件可以運行到何種程序的測試。
(6)余量測試:對軟件是否達到規格說明中要求的余量的測試
(7)安全性測試:檢驗軟件中已存在的安全性、安全保密性措施是否有效的測試,
(8)可靠性測試:在真實的或仿真的環境中,為做出軟件可靠性估計而對軟件進行的功能(其輸入覆蓋和環境覆蓋一般大于普通的功能測試)
(9)恢復性測試:對有恢復或重置功能的軟件的每一類導致恢復或重置的情況,逐一進行的測試。
(10)邊界測試:對軟件處在邊界或端點情況下運行狀態的測試。
(11)數據處理測試:對完成專門數據處理功能所進行的測試。
(12)安裝性測試:對安裝過程是否符合安裝規程的測試,以發現安裝過程中的錯誤。
(13)容量測試:檢驗軟件的能力最高能達到什么程度的測試。
(14)互操作性測試:為驗證不同軟件之間的互操作能力而進行的測試。
(15)敏感性測試:為發現在有效輸入類中可能引起某種不穩定性或不正常處理的某些數據的組合而進行的測試。
(16)標準符合性測試:驗證軟件與相關國家標準或規范(如軍用標準、國家標準、行業標準及國際標準)一致性的測試。
(17)兼容性測試:驗證軟件在規定條件下與若干個實體共同使用或實現數據格式轉換時能滿足有關要求能力的測試。
(18)中文本地化測試:驗證軟件在不降低原有能力的條件下,處理中文能力的測試。
從執行過程是否需要人工干預來看;
(1)手工測試:就是測試人員按照事先為覆蓋被測軟件需求而編寫的測試用例,根據測試大綱中所描述的測試步驟和方法,手工地一個一個地輸入執行,包括與被測軟件進行交互(如輸入測試數據、記錄測試結果等),然后觀察測試結果,看被測程序是否存在問題,或在執行過程中是否會有一場發生,屬于比較原始但是必須執行的一個步驟。
(2)自動化測試:實際上是將大量的重復性的測試工作交給計算機去完成,通常是使用自動化測試工具來模擬手動測試步驟,執行用某種程序設計語言編寫的過程(全自動測試就是指在自動測試過程中,不需要人工干預,由程序自動完成測試的全過程;半自動測試就是指在自動測試過程中,需要手動輸入測試用例或選擇測試路徑,再由自動測試程序按照人工指定的要求完成自動測試)
從測試實施組織看;
(1)開發測試:開發人員進行的測試
(2)用戶測試:用戶方進行的測試
(3)第三方測試:有別于開發人員或用戶進行的測試,由專業的第三方承擔的測試,目的是為了測試工作的客觀性
從測試所處的環境看;
(1)阿爾法測試:是由一個用戶在開發環境下進行的測試,也可以是公司內部的用戶在模擬實際操作環境下進行的測試
(2)貝塔測試:是用戶公司組織各方面的典型終端用戶在日常工作中實際使用貝塔版本,并要求用戶報告
軟件測試基本;
1得到需求、功能設計、內部設計說書和其他必要的文檔
2得到預算和進度要求
3確定與項目有關的人員和他們的責任、對報告的要求、所需的標準和過程(例如發行過程、變更過程、等等)
4確定應用軟件的高風險范圍,建立優先級、確定測試所涉及的范圍和限制
5確定測試的步驟和方法──部件、集成、功能、系統、負載、可用性等各種測試
6確定對測試環境的要求(硬件、軟件、通信等)
7確定所需的測試用具(testware),包括記錄/回放工具、覆蓋分析、測試跟蹤、問題/錯誤跟蹤、等等
8確定對測試的輸入數據的要求
9分配任務和任務負責人,以及所需的勞動力
10設立大致的時間表、期限、和里程碑
11確定輸入環境的類別、邊界值分析、錯誤類別
12準備測試計劃文件和對計劃進行必要的回顧
13準備白盒測試案例
14對測試案例進行必要的回顧/調查/計劃
15準備測試環境和測試用具,得到必需的用戶手冊/參考文件/結構指南/安裝指南,建立測試跟蹤過程,建立日志和檔案、建立或得到測試輸入數據
16得到并安裝軟件版本
17進行測試
18評估和報告結果
19跟蹤問題/錯誤,并解決它
20如果有必要,重新進行測試
21在整個生命周期里維護和修改測試計劃、測試案例、測試環境、和測試用具