軟件測試有哪幾類?
軟件測試有以下4類:
1、靜態測試
靜態測試指軟件代碼的靜態分析測驗,此類過程中應用數據較少,主要過程為通過軟件的靜態性測試(即人工推斷或計算機輔助測試)。
測試程序中運算方式、算法的正確性,進而完成測試過程,此類測試的優點在于能夠消耗較短時間、較少資源完成對軟件、軟件代碼的測試,能夠較為明顯地發現此類代碼中出現的錯誤。
2、動態測試
計算機動態測試的主要目的為檢測軟件運行中出現的問題,較靜態測試方式相比,其被稱為動態的原因即為其測試方式主要依賴程序的運用。
主要為檢測軟件中動態行為是否缺失、軟件運行效果是否良好。其最為明顯的特征即為進行動態測試時軟件為運轉狀態,只有如此才能于使用過程中發現軟件缺陷,進而對此類缺陷進行修復。
3、黑盒測試
黑盒測試,顧名思義即為將軟件測試環境模擬為不可見的“黑盒”。
通過數據輸入觀察數據輸出,檢查軟件內部功能是否正常。測試展開時,數據輸入軟件中,等待數據輸出。數據輸出時若與預計數據一致,則證明該軟件通過測試,若數據與預計數據有出入,即便出入較小亦證明軟件程序內部出現問題,需盡快解決。
4、白盒測試
白盒測試相對于黑盒測試而言具有一定透明性,原理為根據軟件內部應用、源代碼等對產品內部工作過程進行調試。
測試過程中常將其與軟件內部結構協同展開分析,*優點即為其能夠有效解決軟件內部應用程序出現的問題,測試過程中常將其與黑盒測試方式結合,當測試軟件功能較多時,白盒測試法亦可對此類情況展開有效調試。
擴展資料
軟件測試發展趨勢
從整體行業背景看,一方面,在*的很多軟件企業存在著重開發、輕測試的現象,造成日后的軟件產品的質量問題頻出,亟待解決;另一方面市場上的軟件測試人員偏少,崗位缺口較大,不少企業以開發暫代測試,以作急用。軟件測試人才的缺口在30萬人以上。
從個人職業發展看,軟件測試人才更強調崗位的經驗積累。從業者在擁有幾年的測試經驗背景后,可以逐步轉向管理或者資深測試工程師,擔當測試經理或者*主管,所以職業壽命更長。另外,由于國內軟件測試工程師人才奇缺,并且一般只有大中型企業才會單獨設立軟件測試*,所以很有保障,待遇普遍較高。
軟件測試六大類型
軟件測試六大類型如下:
1 、功能測試
功能測試主要關注的是功能能否正確的運行。
關注點:
(1)是否有不正確 或者遺漏的功能。
(2)是否滿足用戶需求和系統設計的隱藏需求。
(3)輸入能否正確接受?能否正確的輸出結果。
2、可用性測試
可用性測試大多基于界面的測試體現在易用、易懂、簡捷、美觀等方面。
關注點:
(1)功能指令是否過分復雜。
(2)安裝過程是否困難。
(3)錯誤信息是否過于簡單。
(4)用戶是否被迫的記住了過多的信息。
3、兼容性測試主要是為了檢測軟件在不同的軟、硬條件下是否可以正常的運行。
關注點:
(1)兼容不同的操作系統。
(2)兼容不同的分辨率。
(3)兼容不同的數據庫。
(4)兼容不同的廠家硬件設備、耳機、音響等。
(5)WEB項目兼容不同的瀏覽器。
4、 可靠性測試
可靠性測試主要是測試軟件的健壯、穩定、容錯、自恢復型等方面。
關注點:
(1)輸入異常的數據。
(2)操作異常的文件。
(3) 長時間工作。
(4)多次打開應用。
5 、安全性測試
為了驗證應用程序安全等級和識別潛在安全性缺陷的過程。
關注點:
(1)SQL注入。
(2)口令認證。
(3)加解密技術。
(4)權限管理。
(5) 安全日志
6、性能測試
性能測試主要是測試軟件在系統中運行的性能表現。
關注點:
(1)系統資源、CPU、內存、IO讀寫。
(2)并發用戶數。
(3)*數據量。
(4)相應時間。
(5)處理成功率。
軟件測試的類型主要分為什么?各種測試之間有什么區別?
主要分為:單元測試,集成測試和系統測試。
單元測試:純代碼的測試(白盒測試)。主要測試代碼語句的正確性,如所有的代碼是否都可以跑到,是否有冗余的代碼等等。
集成測試:接口測試(灰盒測試,結合白盒和黑盒測試)。主要測試代碼塊之間的接口。看看數據的傳輸是否有問題。
系統測試:黑盒測試。不接觸代碼,只對整個系統做功能的測試和性能的測試。
以上的三中測試是在項目組中測試的。
確認測試:是客戶做的測試。也可以叫做驗收測試。客戶對他提出的需求,對應要交付的軟件看看是否達到其要求。
擴展資料
不是所有的軟件都要進行任何類型的軟件測試的,可以根據產品的具體情況進行組裝測試不同的類型。軟件測試是指使用人工或者自動的手段來運行或測定某個軟件產品系統的過程,其目的是在于檢驗是否滿足規定的需求或者弄清預期的結果與實際結果的區別。
參考資料:百度百科-軟件測試類型
軟件測試類型都有哪些?這些不同的測試類型的區別與聯系是什么?
Testing(兼容性測試),也稱“ testing(配置測試)”,測試軟件是否和系統的其它與之交互的元素之間兼容,如:瀏覽器、操作系統、硬件等。驗證測試對象在不同的軟件和硬件配置中的運行情況。testing (功能測試),也稱為 testing(行為測試),根據產品特征、操作描述和用戶方案,測試一個產品的特性和可操作行為以確定它們滿足設計需求。本地化軟件的功能測試,用于驗證應用程序或網站對目標用戶能正確工作。使用適當的平臺、瀏覽器和測試腳本,以保證目標用戶的體驗將足夠好,就像應用程序是專門為該市場開發的一樣。
testing(性能測試),評價一個產品或組件與性能需求是否符合的測試。包括負載測試、強度測試、數據庫容量測試、基準測試等類型。
軟件測試的方法一共有幾種
1、從是否關心內部結構來看
(1)白盒測試:又稱為結構測試或邏輯驅動測試,是一種按照程序內部邏輯結構和編碼結構,設計測試數據并完成測試的一種測試方法。
(2)黑盒測試:又稱為數據驅動測試,把測試對象當做看不見的黑盒,在完全不考慮程序內部結構和處理過程的情況下,測試者僅依據程序功能的需求規范考慮,確定測試用例和推斷測試結果的正確性,它是站在使用軟件或程序的角度,從輸入數據與輸出數據的對應關系出發進行的測試。
(3)灰盒測試:是一種綜合測試法,它將“黑盒”測試與“白盒”測試結合在一起,是基于程序運行時的外部表現又結合內部邏輯結構來設計用例,執行程序并采集路徑執行信息和外部用戶接口結果的測試技術。
2、從是否執行代碼看
(1)靜態測試:指不運行被測程序本身,僅通過分析或檢查源程序的語法、結構、過程、接口等來檢查程序的正確性。
(2)動態測試:是指通過運行被測程序,檢查運行結果與預期結果的差異,并分析運行效率、正確性和健壯性等性能指標。
3、從開發過程級別看
(1)單元測試:又稱模塊測試,是針對軟件設計的最小單位----程序模塊或功能模塊,進行正確性檢驗的測試工作。其目的在于檢驗程序各模塊是否存在各種差錯,是否能正確地實現了其功能,滿足其性能和接口要求。
(2)集成測試:又叫組裝測試或聯合,是單元測試的多級擴展,是在單元測試的基礎上進行的一種有序測試。旨在檢驗軟件單元之間的接口關系,以期望通過測試發現各軟件單元接口之間存在的問題,最終把經過測試的單元組成符合設計要求的軟件。
(3)系統測試:是為判斷系統是否符合要求而對集成的軟、硬件系統進行的測試活動、它是將已經集成好的軟件系統,作為基于整個計算機系統的一個元素,與計算機硬件、外設、某些支持軟件、人員、數據等其他系統元素結合在一起,在實際運行環境下,對計算機系統進行一系列的組裝測試和確認測試。
在系統測試中,對于具體的測試類型有:
(1)功能測試:對軟件需求規格說明書中的功能需求逐項進行的測試,以驗證功能是否滿足要求。
(2)性能測試:對軟件需求規格說明書的功能需求逐項進行的測試,以驗證功能是否滿足要求。
(3)接口測試:對軟件需求規格說明中的接口需求逐項進行的測試。
(4)人機交互界面測試:對所有人機交互界面提供的操作和顯示界面進行的測試,以檢驗是否滿足用戶的需求。
(5)強度測試:強制軟件運行在異常乃至發生故障的情況下(設計的極限狀態到超出極限),驗證軟件可以運行到何種程序的測試。
(6)余量測試:對軟件是否達到規格說明中要求的余量的測試。
(7)安全性測試:檢驗軟件中已存在的安全性、安全保密性措施是否有效的測試,
(8)可靠性測試:在真實的或仿真的環境中,為做出軟件可靠性估計而對軟件進行的功能(其輸入覆蓋和環境覆蓋一般大于普通的功能測試)
(9)恢復性測試:對有恢復或重置功能的軟件的每一類導致恢復或重置的情況,逐一進行的測試。
(10)邊界測試:對軟件處在邊界或端點情況下運行狀態的測試。
(11)數據處理測試:對完成專門數據處理功能所進行的測試。
(12)安裝性測試:對安裝過程是否符合安裝規程的測試,以發現安裝過程中的錯誤。
(13)容量測試:檢驗軟件的能力*能達到什么程度的測試。
(14)互操作性測試:為驗證不同軟件之間的互操作能力而進行的測試。
(15)敏感性測試:為發現在有效輸入類中可能引起某種不穩定性或不正常處理的某些數據的組合而進行的測試。
(16)標準符合性測試:驗證軟件與相關*標準或規范(如軍用標準、*標準、行業標準及國際標準)一致性的測試。
(17)兼容性測試:驗證軟件在規定條件下與若干個實體共同使用或實現數據格式轉換時能滿足有關要求能力的測試。
(18)中文本地化測試:驗證軟件在不降低原有能力的條件下,處理中文能力的測試。
4、從執行過程是否需要人工干預來看
(1)手工測試:就是測試人員按照事先為覆蓋被測軟件需求而編寫的測試用例,根據測試大綱中所描述的測試步驟和方法,手工地一個一個地輸入執行,包括與被測軟件進行交互(如輸入測試數據、記錄測試結果等),然后觀察測試結果,看被測程序是否存在問題,或在執行過程中是否會有一場發生,屬于比較原始但是必須執行的一個步驟。
(2)自動化測試:實際上是將大量的重復性的測試工作交給計算機去完成,通常是使用自動化測試工具來模擬手動測試步驟,執行用某種程序設計語言編寫的過程(全自動測試就是指在自動測試過程中,不需要人工干預,由程序自動完成測試的全過程;半自動測試就是指在自動測試過程中,需要手動輸入測試用例或選擇測試路徑,再由自動測試程序按照人工指定的要求完成自動測試)
5、從測試實施組織看
(1)開發測試:開發人員進行的測試
(2)用戶測試:用戶方進行的測試
(3)第三方測試:有別于開發人員或用戶進行的測試,由專業的第三方承擔的測試,目的是為了保證測試工作的客觀性
6、從測試所處的環境看
(1)阿爾法測試:是由一個用戶在開發環境下進行的測試,也可以是公司內部的用戶在模擬實際操作環境下進行的測試
(2)貝塔測試:是用戶公司組織各方面的典型終端用戶在日常工作中實際使用貝塔版本,并要求用戶報告
擴展資料軟件測試的內容:
1得到需求、功能設計、內部設計說書和其他必要的文檔
2得到預算和進度要求
3確定與項目有關的人員和他們的責任、對報告的要求、所需的標準和過程(例如發行過程、變更過程、等等)
4確定應用軟件的高風險范圍,建立優先級、確定測試所涉及的范圍和限制
5確定測試的步驟和方法──部件、集成、功能、系統、負載、可用性等各種測試
6確定對測試環境的要求(硬件、軟件、通信等)
7確定所需的測試用具(testware),包括記錄/回放工具、覆蓋分析、測試跟蹤、問題/錯誤跟蹤、等等
8確定對測試的輸入數據的要求
9分配任務和任務負責人,以及所需的勞動力
10設立大致的時間表、期限、和里程碑
11確定輸入環境的類別、邊界值分析、錯誤類別
12準備測試計劃文件和對計劃進行必要的回顧
13準備白盒測試案例
14對測試案例進行必要的回顧/調查/計劃
15準備測試環境和測試用具,得到必需的用戶手冊/參考文件/結構指南/安裝指南,建立測試跟蹤過程,建立日志和檔案、建立或得到測試輸入數據
16得到并安裝軟件版本
17進行測試
18評估和報告結果
19跟蹤問題/錯誤,并解決它
20如果有必要,重新進行測試
21在整個生命周期里維護和修改測試計劃、測試案例、測試環境、和測試用具
參考資料:百度百科-軟件測試
軟件測試包括哪些?
軟件測試包含什么內容啊?1、軟件檢測時的基本概念
2、軟件測試類型及在軟件開發過程中的地位
3、代碼檢查、走查與評審
4、覆蓋率(白盒)測試
5、功能(黑盒)測試
6、單元測試與集成測試
7、系統測試
8、軟件性能測試和可靠性測試
9、面向對象軟件的測試
10、Web應用軟件測試
11、其他測試(如兼容性測試、易用性測試、文檔測試等等)
12、軟件測試過程和管理
13、軟件自動化測試
14、軟件測試的標準和文檔
1頂、軟件測試實踐
老兄這可是我純手工的勞動啊,希望對你有幫助!
軟件測試包括哪些類型的測試
黑盒(功能測試),白盒(性能測試),單元測試,系統測試,壓力測試……多去了,自動化測試是最近的流行趨勢
軟件測試項目名稱有哪些?
*是你自己做過的項目,簡單的比如學生管理系統,把你怎么設計測試,怎么完成測試寫上去就行,面試的時候,會問你具體問題的。
軟件測試的方法一共有幾種
1、按是否查看程序內部結構分為:
(1)黑盒測試(black-box testing):只關心輸入和輸出的結果
(2)白盒測試(white-box testing):去研究里面的源代碼和程序結構
2、按是否運行程序分為:
(1)靜態測試(static testing):是指不實際運行被測軟件,而只是靜態地檢查程序代碼、界面或文檔可能存在的錯誤的過程。
靜態測試包括:
對于代碼測試,主要是測試代碼是否符合相應的標準和規范。
對于界面測試,主要測試軟件的實際界面與需求中的說明是否相符。
對于文檔測試,主要測試用戶手冊和需求說明是否真正符合用戶的實際需求。
(5)動態測試(dynamic testing),是指實際運行被測程序,輸入相應的測試數據,檢查輸出結果和預期結果是否相符的過程
3、按階段劃分:
(1)單元測試(unit testing),是指對軟件中的最小可測試單元進行檢查和驗證。
樁模塊(stud)是指模擬被測模塊所調用的模塊,驅動模塊(driver)是指模擬被測模塊的上級模塊,驅動模塊用來接收測試數據,啟動被測模塊并輸出結果。
(2)集成測試( testing),是單元測試的下一階段,是指將通過測試的單元模塊組裝成系統或子系統,再進行測試,重點測試不同模塊的接口*。
集成測試就是用來檢查各個單元模塊結合到一起能否協同配合,正常運行。
(3)系統測試(system testing),指的是將整個軟件系統看做一個整體進行測試,包括對功能、性能,以及軟件所運行的軟硬件環境進行測試。
系統測試的主要依據是《系統需求規格說明書》文檔。
(4)驗收測試( testing),指的是在系統測試的后期,以用戶測試為主,或有測試人員等質量保障人員共同參與的測試,它也是軟件正式交給用戶使用的*一道工序。
驗收測試又分為a測試和beta測試,其中a測試指的是由用戶、 測試人員、開發人員等共同參與的內部測試,而beta測試指的是內測后的公測,即完全交給最終用戶測試。
4、黑盒測試分為功能測試和性能測試:
1)功能測試(function testing),是黑盒測試的一方面,它檢查實際軟件的功能是否符合用戶的需求。
包括邏輯功能測試(logic function testing)
界面測試(UI testing)UI=User Interface
易用性測試(usability testing):是指從軟件使用的合理性和方便性等角度對軟件系統進行檢查,來發現軟件中不方便用戶使用的地方。
兼容性測試( testing):包括硬件兼容性測試和軟件兼容性測試
2)性能測試( testing)
軟件的性能主要有時間性能和空間性能兩種
時間性能:主要指軟件的一個具體事務的響應時間(respond time)。
空間性能:主要指軟件運行時所消耗的系統資源。
軟件性能測試分為:
一般性能測試:指的是讓被測系統在正常的軟硬件環境下運行,不向其施加任何壓力的性能測試。
穩定性測試也叫可靠性測試( testing):是指連續運行被測系統檢查系統運行時的穩定程度。
負載測試(load testing):是指讓被測系統在其能忍受的壓力的極限范圍之內連續運行,來測試系統的穩定性。
壓力測試(stress testing):是指持續不斷的給被測系統增加壓力,直到將被測系統壓垮為止,用來測試系統所能承受的*壓力。(Validate the system or software ca......
軟件測試一般都用到哪些工具
測試工具分為很多種,主要如下:
測試管理工具:MQC,,QACenter,其中缺陷跟蹤還可以使用:變更管理工具
功能測試自動化:QTP,RFP,QARun,Silk
性能測試工具:,Robot,QAload,WAS,Silk
單元、白盒測試工具:Junit,Jmeter,,骸probe,Purify Plus
安全測試: Appscan,Fortify
軟件測試基礎知識有哪些?
1)熟悉計算機基礎知識;
(2)熟悉操作系統、數據庫、中間件、程序設計語言基礎知識;
(3)熟悉計算機網絡基礎知識;
(4)熟悉軟件工程知識,理解軟件開發方法及過程;
(5)熟悉軟件質量及軟件質量管理基礎知識;
(6)熟悉軟件測試標準;
(7)掌握軟件測試技術及方法;
(8)掌握軟件測試項目管理知識;
(9)掌握C語言以及C++或Java語言程序設計技術;
(10)了解信息化及信息安全基礎知識;
(11)熟悉知識產權相關法律、法規;
(12)正確閱讀并理解相關領域的英文資料。
通過本考試的合格人員能在掌握軟件工程與軟件測試知識的基礎上,運用軟件測試管理方法、軟件測試策略、軟件測試技術,獨立承擔軟件測試項目;具有工程師的實際工作能力和業務水平。
軟件測試技術有哪些?
軟件測試方法分類: 白盒、黑盒、灰盒; 單元測試、集成測試、系統測試、驗收測試、回歸測試、Alpha 測試、Beta 測試; 靜態測試和動態測試。 設計測試用例的主要方法有: 等價類劃分; 邊界值分析法; 因果圖法; 場景法。 希望能幫到你, 您的滿意就是我的動力。
軟件測試過程包含哪些活動
軟件測試計劃是指導測試過程的綱領性文件,包含了產品概述,測試策略,測試方法,測試區域,測試配置,測試周期,測試資源,風險分析等內容;借助軟件測試計劃,參與測試的項目成員,可以明確測試任務和測試方法,保持測試實施過程的順暢溝通,跟蹤和控制測試進度,應對測試過程中的各種變更。 測試計劃和測試用例間是戰略和戰術的關系,測試計劃主要從宏觀上規劃測試活動的范圍,方法和資源配置;而測試用例是完成測試任務的具體戰術。 測試計劃中,最重要的是測試策略和測試方法。 測試計劃工作的關鍵是 1. 明確測試的目標,增強測試計劃的實用性---測試計劃中的測試范圍必須高度覆蓋功能需求,測試方法必須切實可行,測試工具具有較高的實用性,便于使用,生成的測試結果直觀準確。 2. 堅持“5W”規則,明確內容與過程 “5W”規則指:what,why,when,where,how;用例5w規則創建軟件測試計劃,可幫助測試團隊理解測試目的(why),明確測試范圍和內容(what),確定測試開始和結束日期(when),指出測試的方法和工具(what),給出測試文檔和軟件存放位置(where) 3. 采用評審和更新機制,保證測試計劃滿足實際需求
軟件測試的工作內容包括哪些?
1.確定軟件生存周期中的一個給定階段的產品是否達到前階段確立的需求的過程
2.程序正確性的形式證明,即采用形式理論證明程序符合設計規約規定的過程
3.評市、審查、測試、檢查、審計等各類活動,或對某些項處理、服務或文件等是否和規定的需求相一致進行判斷和提出報告。
確認是一系列的活動和過程,目的是想證實在一個給定的外部環境中軟件的邏輯正確性。即保證軟件做了你所期望的事情。
1.靜態確認,不在計算機上實際執行程序,通過人工或程序分析來證明軟件的正確性
2.動態確認,通過執行程序做分析,測試程序的動態行為,以證實軟件是否存在問題。
軟件測試的對象不僅僅是程序測試,軟件測試應該包括整個軟件開發期間各個階段所產生的文檔,如需求規格說明、概要設計文檔、詳細設計文檔,當然軟件測試的主要對象還是源程序。
軟件測試的種類?
-按照軟件特性來劃分測試類型有功能測試和性能測試
其中功能測試包括:
邏輯功能測試
界面測試
易用性測試
安裝測試
兼容性測試等
性能實際上是功能的另一個指標,主要關注軟件中的某一功能在特定的時間、空間條件下,功能是否使用正常;比如負載測試和壓力測試都屬于性能測試,兩者可以結合進行。
--按照測試技術劃分測試類型有黑盒測試、白盒測試和灰盒測試
黑盒測試只關注輸入輸出,也就是程序的外在表現;
白盒測試是既關注程序的外在表現,又關注程序內部結構是如何實現的;
灰盒測試就是介于2者之間的;
--按照開發階段來劃分測試類型有單元測試、集成測試、系統測試和驗收測試
單元測試又稱模塊測試,是針對軟件設計的最小單位,單元測試需要從程序的內部結構出發設計測試用例;
集成測試也叫做組裝測試,是檢驗程序單元或部件的接口關系,逐步集成為符合概要設計要求的程序部件或整個系統;
系統測試是在真實的系統運行的環境下,檢查完整的程序系統能否和系統(包括硬件、外設、網絡和系統軟件、支持平臺等)正確配置、連接,并最終滿足用戶的所有需求;
驗收測試是軟件產品檢驗的*一個環節。按照項目任務書或合同、供需雙方約定的驗收依據文檔進行的對整個系統的測試與評審,決定是否接收或拒收系統。
*:
黑盒測試和白盒測試的主要區別在于是否了解系統或程序的內部結構和代碼;
單元測試主要運用白盒測試;
集成測試主要是白盒為主,黑盒為輔;
系統測試主要是黑盒為主,白盒為輔;
驗收測試主要是運用黑盒測試。
軟件測試是怎么分類的,有哪些種?
軟件測試分類軟件測試是一項復雜的系統工程,從不同的角度考慮可以有不同的劃分方法,對測試進行分類是為了更好的明確測試的過程,了解測試究竟要完成哪些工作,盡量做到全面測試。
1,按是否需要執行被測軟件的角度
按是否需要執行被測軟件的角度,可分為靜態測試和動態測試,前者不利用計算機運行待測程序而應用其他手段實現測試目的,如代碼審核。(我認為主要是讓測試人員對編譯器發現不了的潛在錯誤進行分析,如無效的死循環,多余的變量等),而動態測試則通過運行被測試軟件來達到目的。
2、按階段劃分:
1 單元測試
單元測試是對軟件中的基本組成單位進行的測試,如一個模塊、一個過程等等。它是軟件動態測試的最基本的部分,也是最重要的部分之一,其目的是檢驗軟件基本組成單位的正確性。因為單元測試需要知道內部程序設計和編碼的細節知識,一般應由程序員而非測試員來完成,往往需要開發測試驅動模塊和樁模塊來輔助完成單元測試。因此應用系統有一個設計很好的體系結構就顯得尤為重要。
一個軟件單元的正確性是相對于該單元的規約而言的。因此,單元測試以被測試單位的規約為基準。單元測試的主要方法有控制流測試、數據流測試、排錯測試、分域測試等等。
2 集成測試
集成測試是在軟件系統集成過程中所進行的測試,其主要目的是檢查軟件單位之間的接口是否正確。它根據集成測試計劃,一邊將模塊或其他軟件單位組合成越來越大的系統,一邊運行該系統,以分析所組成的系統是否正確,各組成部分是否合拍。集成測試的策略主要有自頂向下和自底向上兩種。
3 系統測試
系統測試是對已經集成好的軟件系統進行徹底的測試,以驗證軟件系統的正確性和性能等滿足其規約所指定的要求,檢查軟件的行為和輸出是否正確并非一項簡單的任務,它被稱為測試的“先知者問題”。因此,系統測試應該按照測試計劃進行,其輸入、輸出和其他動態運行行為應該與軟件規約進行對比。軟件系統測試方法很多,主要有功能測試、性能測試、隨機測試等等。
4 驗收測試
驗收測試旨在向軟件的購買者展示該軟件系統滿足其用戶的需求。它的測試數據通常是系統測試的測試數據的子集。所不同的是,驗收測試常常有軟件系統的購買者代表在現場,甚至是在軟件安裝使用的現場。這是軟件在投入使用之前的*測試。
5 回歸測試
回歸測試是在軟件維護階段,對軟件進行修改之后進行的測試。其目的是檢驗對軟件進行的修改是否正確。這里,修改的正確性有兩重含義:一是所作的修改達到了預定目的,如錯誤得到改正,能夠適應新的運行環境等等;二是不影響軟件的其他功能的正確性。
6 Alpha 測試:在系統開發接近完成時對應用系統的測試;測試后,仍然會有少量的設計變更。這種測試一般由最終用戶或其他人員員完成,不能由程序員或測試員完成。
7 Beta 測試:當開發和測試根本完成時所做的測試,而最終的錯誤和問題需要在最終發行前找到。這種測試一般由最終用戶或其他人員員完成,不能由程序員或測試員完成。
3、按測試方法劃分:
1 白盒測試
白盒測試也稱結構測試或邏輯驅動測試,是指基于一個應用代碼的內部邏輯知識,即基于覆蓋全部代碼、分支、路徑、條件的測試,它是知道產品內部工作過程,可通過測試來檢測產品內部動作是否按照規格說明書的規定正常進行,按照程序內部的結構測試程序,檢驗程序中的每條通路是否都有能按預定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用于軟件驗證。
“白盒”法全面了解程序內部邏輯結構、對所有邏輯路徑進行測試。“白盒”法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程序的內部結構,從檢查程序的邏輯著手,得出測試數據。貫穿程序的獨立路徑數是天文數字。但即使每條路徑都測試了仍然可能有錯誤。*,窮舉路徑測試決不能查出程序違反了設計規范,即程序本身是個錯誤的程序。第二,窮舉路徑測試不可能查出程序中因遺漏路徑而出錯。第三,窮舉路徑測試可能發現不了一些與數據相關的錯誤。
白盒測試可以借助一些工具來完成如Junit Framework,Jtest等。
2 黑盒測試
黑盒測試是指不基于內部設計和代碼的任何知識,而基于需求和功能性的測試,黑盒測試也稱功能測試或數據驅動測試,它是在已知產品所應具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內部結構和內部特性的情況下,測試者在程序接口進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數鋸而產生正確的輸出信息,并且保持外部信息(如數據庫或文件)的完整性。黑盒測試方法主要有等價類劃分、邊值分析、因—果圖、錯誤推測等,主要用于軟件確認測試。
“黑盒”法著眼于程序外部結構、不考慮內部邏輯結構、針對軟件界面和軟件功能進行測試。“黑盒”法是窮舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進行測試。
黑盒測試也可以借助一些工具,如WinRunner,,Rational Robot等。
3 ALAC(Act-like-a-customer)測試
ALAC測試是一種基于客戶使用產品的知識開發出來的測試方法。ALAC測試是基于復雜的軟件產品有許多錯誤的原則。*的受益者是用戶,缺陷查找和改正將針對哪些客戶最容易遇到的錯誤。