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