軟件測試有哪幾類?
軟件測試有以下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、功能測試
在測試工作中占的比例最大,功能測試也叫黑盒測試。是把測試對象看作一個黑盒子。利用黑盒測試法進行動態(tài)測試時,需要測試軟件產(chǎn)品的功能,不需測試軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過程。
采用黑盒技術(shù)設(shè)計測試用例的方法有:等價類劃分、邊界值分析、錯誤推測、因果圖和綜合策略。
2、性能測試
是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統(tǒng)的各項性能指標(biāo)進行測試。負載測試和壓力測試都屬于性能測試,兩者可以結(jié)合進行。
通過負載測試,確定在各種工作負載下系統(tǒng)的性能,目標(biāo)是測試當(dāng)負載逐漸增加時,系統(tǒng)各項性能指標(biāo)的變化情況。壓力測試是通過確定一個系統(tǒng)的瓶頸或者不能接收的性能點,來獲得系統(tǒng)能提供的最大服務(wù)級別的測試。
3、界面測試
界面是軟件與用戶交互的最直接的層,界面的好壞決定用戶對軟件的第一印象。而且設(shè)計良好的界面能夠引導(dǎo)用戶自己完成相應(yīng)的操作,起到向?qū)У淖饔谩?/p>
同時界面如同人的面孔,具有吸引用戶的直接優(yōu)勢。設(shè)計合理的界面能給用戶帶來輕松愉悅的感受和成功的感覺,相反由于界面設(shè)計的失敗,讓用戶有挫敗感,再實用強大的功能都可能在用戶的畏懼與放棄中付諸東流。
擴展資料:
測試原則
1、測試應(yīng)該盡早進行,最好在需求階段就開始介入,因為最嚴(yán)重的錯誤不外乎是系統(tǒng)不能滿足用戶的需求。
2、程序員應(yīng)該避免檢查自己的程序,軟件測試應(yīng)該由第三方來負責(zé)。
3、設(shè)計測試用例時應(yīng)考慮到合法的輸入和不合法的輸入以及各種邊界條件,特殊情況下還要制造極端狀態(tài)和意外狀態(tài),如網(wǎng)絡(luò)異常中斷、電源斷電等。
4、應(yīng)該充分注意測試中的群集現(xiàn)象。
5、對錯誤結(jié)果要進行一個確認過程。一般由A測試出來的錯誤,一定要由B來確認。嚴(yán)重的錯誤可以召開評審會議進行討論和分析,對測試結(jié)果要進行嚴(yán)格地確認,是否真的存在這個問題以及嚴(yán)重程度等。
6、制定嚴(yán)格的測試計劃。一定要制定測試計劃,并且要有指導(dǎo)性。測試時間安排盡量寬松,不要希望在極短的時間內(nèi)完成一個高水平的測試。
7、妥善保存測試計劃、測試用例、出錯統(tǒng)計和最終分析報告,為維護提供方便。
參考資料來源:百度百科--軟件測試
測試類型方法有哪些
問題一:軟件測試方法有哪些分類? 軟件測試方法分類:
白盒、黑盒、灰盒;
單元測試、集成測試、系統(tǒng)測試、驗收測試、回歸測試、Alpha 測試、Beta 測試;
靜態(tài)測試和動態(tài)測試。
設(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)的標(biāo)準(zhǔn)和規(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......>>
問題三:系統(tǒng)測試主要包括哪些類型? 主要進行功能測試(含可使用性測試)、性能測試、安全測試和回歸測試。
功能測試:
檢查被測系統(tǒng)的修改和增加功能是否正常實現(xiàn);
檢查控制流程圖和模塊關(guān)系圖、模塊內(nèi)部關(guān)系圖;
識別特殊情況,如出錯處理流程,錯誤提示是否合理;
檢查用戶界面是否符合窗口程序的標(biāo)準(zhǔn),界面操作是否簡便直觀。
性能測試:
系統(tǒng)運行占用的資源,完成某一步驟需要的時間;
系統(tǒng)能承受的壓力;
壓力完成后數(shù)據(jù)庫連接數(shù)立即恢復(fù)正常值
安全性測試:
根據(jù)需求說明檢查系統(tǒng)是否達到安全性要求,如同一用戶登陸不同機器,同時操作對數(shù)據(jù)的破壞;
寫到配置文件或數(shù)據(jù)庫的密碼是否經(jīng)過加密;回歸測試:
驗證Bug是否修正;
Bug修正后是否影響其埂功能的正常運行。
問題四:軟件測試的分析方法有哪些? 你好:
軟件測試方法分類:
白盒、黑盒、灰盒;
單元測試、集成測試、系統(tǒng)測試、驗收測試、回歸測試、Alpha 測試、Beta 測試;
靜態(tài)測試和動態(tài)測試。
設(shè)計測試用例的主要方法有:
等價類劃分;
邊界值分析法;
因果圖法;
場景法。
希望能幫到你,
您的滿意就是我的動力。
問題五:測量參數(shù)的種類和測量方法分類有哪些 從不同觀點出發(fā),可以將測量方法進行不同的分類,常見的方法有:
1、直接測量、間接測量和組合測量
直接測量是將被測量與與標(biāo)準(zhǔn)量進行比較,得到測量結(jié)果。
間接測量是測得與被測量有一定函數(shù)關(guān)系的量,然后運用函數(shù)求得被測量。
組合測量是對若干同名被測量的不同組合形式分別測量,然后用最小二乘法解方程組,求得被測量。
2、絕對測量、相對測量
絕對測量是所用量器上的示值直接表示被測量大小的測量。
相對測量是將被測量同與它只有微小差別的同類標(biāo)準(zhǔn)量進行比較,測出兩個量值之差的測量法。
3、接觸測量、非接觸測量
這是從對被測物體的瞄準(zhǔn)方式不同加以區(qū)分的。接觸測量的敏感元件在一定測量力的作用下,與被測物體直接接觸,而非接觸測量敏感元件與被測對象不發(fā)生機械接觸。
4、單項測量與綜合測量
單項測量是對多參數(shù)的被測物體的各項參數(shù)分別測量,綜合測量是對被測物體的綜合參數(shù)進行測量。
5、自動測量和非自動測量
自動測量是指測量過程按測量者所規(guī)定的程序自動或半自動地完成。非自動測量又叫手工測量,是在測量者直接操作下完成的。
6、靜態(tài)測量和動態(tài)測量
靜態(tài)測量是對在一段時間間隔內(nèi)其量值可認為不變的被測量的測量。動態(tài)測量是為確定隨時間變化的被測量瞬時值而進行的測量。
7、主動測量與被動測量
在產(chǎn)品制造過程中的測量是主動測量,它可以根據(jù)測量結(jié)果控制加工過程,以保證產(chǎn)品質(zhì)量,預(yù)防廢品產(chǎn)生。
被動測量是在產(chǎn)品制造完成后的測量,它不能預(yù)防廢品產(chǎn)生,只能發(fā)現(xiàn)邊挑出廢品。
問題六:軟件測試種類、軟件測試方法、軟件測試類型、軟件測試階段的區(qū)別是什么??? 軟件測試種類:
手工測試、自動化測試、靜態(tài)測試
軟件測試方法
黑盒測試、白盒測試、灰盒測試
軟件測試類型
功能測試、性能測試、可靠性測試、安全測試、配置測試、GUI測試、備份測試、文檔測試、在線幫助測試、易用性測試等等
軟件測試階段
單元測試、集成測試、系統(tǒng)測試、Alpha測試、Beta測試、驗收測試 還有回歸測試
問題七:您所熟悉的軟件測試類型都有哪些?請試著分別比較這些不同 測試類型有:功能測試,性能測試,界面測試。功能測試在測試工作中占的比例最大,功能測試也叫黑盒測試。是把測試對象看作一個黑盒子。利用黑盒測試法進行動態(tài)測試時,需要測試軟件產(chǎn)品的功能,不需測試軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過程。采用黑盒技術(shù)設(shè)計測試用例的方法有:等價類劃分、邊界值分析、錯誤推測、因果圖和綜合策略。性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統(tǒng)的各項性能指標(biāo)進行測試。負載測試和壓力測試都屬于性能測試,兩者可以結(jié)合進行。通過負載測試,確定在各種工作負載下系統(tǒng)的性能,目標(biāo)是測試當(dāng)負載逐漸增加時,系統(tǒng)各項性能指標(biāo)的變化情況。壓力測試是通過確定一個系統(tǒng)的瓶頸或者不能接收的性能點,來獲得系統(tǒng)能提供的最大服務(wù)級別的測試。界面測試,界面是軟件與用戶交互的最直接的層,界面的好壞決定用戶對軟件的第一印象。而且設(shè)計良好的界面能夠引導(dǎo)用戶自己完成相應(yīng)的操作,起到向?qū)У淖饔?。同時界面如同人的面孔,具有吸引用戶的直接優(yōu)勢。設(shè)計合理的界面能給用戶帶來輕松愉悅的感受和成功的感覺,相反由于界面設(shè)計的失敗,讓用戶有挫敗感,再實用強大的功能都可能在用戶的畏懼與放棄中付諸東流。區(qū)別在于,功能測試關(guān)注產(chǎn)品的所有功能上,要考慮到每個細節(jié)功能,每個可能存在的功能問題。性能測試主要關(guān)注于產(chǎn)品整體的多用戶并發(fā)下的穩(wěn)定性和健壯性。界面測試更關(guān)注于用戶體驗上,用戶使用該產(chǎn)品的時候是否易用,是否易懂,是否規(guī)范(快捷鍵之類的),是否美觀(能否吸引用戶的注意力),是否安全(盡量在前臺避免用戶無意輸入無效的數(shù)據(jù),當(dāng)然考慮到體驗性,不能太粗魯?shù)膹棾鼍妫??做某個性能測試的時候,首先它可能是個功能點,首先要保證它的功能是沒問題的,然后再考慮該功能點的性能測試
問題八:心理測試的方法種類 心理測試的種類很多,據(jù)美國心理學(xué)家1961年的調(diào)查,那時的心理測試量表就差不多已經(jīng)有3000種了。為了大家了解方便,我們主觀地把它們分成下面這么幾種類型。1.根據(jù)測試內(nèi)容,可以把心理測試劃分為心理健康測試、個性傾向測試、人格測試等。心理健康測試就是測試被測試者心理健康情況。一般而言使用MMPI明尼蘇達多項人格測試。個性傾向測試又叫做性向測試。目的在于發(fā)現(xiàn)被測試者的潛在才能,深入了解其長處和發(fā)展傾向。能力傾向測試一般又可以分為一般能力傾向測試和特殊能力傾向測試。一般能力傾向測試是測試一個人的多方面的特殊潛能。特殊能力傾向測試是測試一個人的單項潛在能力,比如音樂能力或機械操作能力。人格測試也叫個性測試:測試情緒、需要、動機、興趣、態(tài)度、性格、氣質(zhì)等方面的心理指標(biāo)。2.根據(jù)測試媒介可以把測試劃分為語言文字類測試和非語言文字類測試。語言或文字測試,就是通過問答或筆答進行的測試。這是心理測試的主要方式,編制和實施都相對容易。有些人類的高級心智能力,只能用語言文字進行測試。這種測試方式的后期分析比較規(guī)范化,較少變量,所以團體測試多采用這種方式。但是這種方式不能應(yīng)用于語言或文字識別有困難的人,而且難于比較語言文化背景不同的被測試者。非語言文字類測試或操作性測試,包括各種通過畫圖、儀器、模型、工具、實物為測試媒介的測試,被測試者通過使用、辨認、解釋或?qū)崟r操作測試媒介,向測試者反映出心理顯像,測試者根據(jù)一定的解釋規(guī)律或模式對這些顯像所反應(yīng)的心理特征、心理狀態(tài)做出評估。非語言文字類測試適用于有語文表達障礙的人,也適合比較語言文化背景不同的被測試者。有些特殊能力測試,比如視覺感知能力、聯(lián)想能力和圖形判斷能力的心理測試必須借助非語文類測試媒介。3.按照被測試的人數(shù)劃分,心理測試可以分為個別測試和團體測試。個別測試只能由同一個主試在同一時間內(nèi)測試一個被測試者。個別測試的優(yōu)點是測試者對被測試者的言語、情緒狀態(tài)可以進行具體的仔細觀察,并且有充分機會喚起被測試者予以合作,以保證測試結(jié)果充分、可靠。個別測試的缺點在于測試手續(xù)復(fù)雜,耗費時間比較長,對測試者與被測試者的合作程度要求較高。團體測試,可由一位測試者同時測試若干人。許多教育測試都屬于團體測試,有些智力測試也可以采用團體測試的方式。團體測試的優(yōu)點是省時,單位時間可以收到相對較多的資料,測試者不必接受嚴(yán)格的專業(yè)訓(xùn)練也能擔(dān)任。缺點在于對被測試者的行為不能作翔實的控制,所得結(jié)果不及個別測試準(zhǔn)確可靠。4.從測試的方法來分,可分為問卷式測試、作業(yè)式測試、投射性測試。根據(jù)不同的測試目的,還可以把心理測試劃分為難度測試、速度測試。難度測試的功用在于測試被測試者對某一方面知識掌握程度的高低。這種測試一般是限制時間的,給出的時間標(biāo)準(zhǔn)通常是能使95%的被測試者做完測試的時間。測試一般由易到難排列,以測試被測試者解決難題的最高能力。速度測試是測試被測試者完成作業(yè)的快慢,這種測試的測題難度相等,但嚴(yán)格限制時間,關(guān)鍵是看規(guī)定時間內(nèi)所完成的題量??茖W(xué)心理測試科學(xué)心理測試的產(chǎn)生(1) 法國的醫(yī)生艾斯奎羅第一個把智力落后與精神病分開。他認為,精神病以情緒障礙為標(biāo)志,不一定伴隨智力落后,而智力落后則是以出生時或嬰兒期表現(xiàn)出來的智力缺陷為主要標(biāo)志。(2) 50多年后,法國的心理學(xué)家比內(nèi)提出應(yīng)該從正常學(xué)校學(xué)習(xí)的兒童中篩選出不適應(yīng)的兒童,安排在特殊的班級里學(xué)習(xí)和教育。此舉動導(dǎo)致了心理測驗史上重大事件的發(fā)生--第一個智力測驗的誕生。(3)實驗心理學(xué)的誕生是心理測驗產(chǎn)生的另一個重要原因。實驗心理學(xué)的誕生和發(fā)展,還給心理測量帶來了另一個副產(chǎn)品:嚴(yán)格的......>>
問題九:軟件測試方法有幾類?? 10分 太多了,看你學(xué)到哪個階段,剛剛開始可以手工測試,做功能測試。
靜態(tài)測試和動態(tài)測試的方法有哪些
靜態(tài)測試和動態(tài)測試的區(qū)別如下:
1、測試部分的不同
靜態(tài)測試是指測試不運行的部分:只是檢查和審閱,如規(guī)范測試、軟件模型測試、文檔測試等。動態(tài)測試是通常意義上的測試,也就是運行和使用軟件。
2、測試方式不同
靜態(tài)測試,通過評審文檔、閱讀代碼等方式測試軟件稱為靜態(tài)測試,通過運行程序測試軟件稱為動態(tài)測試。
3、測試方法不同
靜態(tài)測試是指不用執(zhí)行程序的測試,它主要采取方案—代碼走查、技術(shù)評審、代碼審查的方法對軟件產(chǎn)品進行測試。動態(tài)測試主要通過構(gòu)造測試實例、執(zhí)行程序、分析程序的輸出結(jié)果這三種方法來對軟件進行測試。
擴展資料:
靜態(tài)方法是指不運行被測程序本身,僅通過分析或檢查源程序的語法、結(jié)構(gòu)、過程、接口等來檢查程序的正確性。對需求規(guī)格說明書、軟件設(shè)計說明書、源程序做結(jié)構(gòu)分析、流程圖分析、符號執(zhí)行來找錯。
靜態(tài)方法通過程序靜態(tài)特性的分析,找出欠缺和可疑之處,例如不匹配的參數(shù)、不適當(dāng)?shù)难h(huán)嵌套和分支嵌套、不允許的遞歸、未使用過的變量、空指針的引用和可疑的計算等。靜態(tài)測試結(jié)果可用于進一步的查錯,并為測試用例選取提供指導(dǎo)。
動態(tài)測試方法是指通過運行被測程序,檢查運行結(jié)果與預(yù)期結(jié)果的差異,并分析運行效率和健壯性等性能,這種方法由三部分組成:構(gòu)造測試實例、執(zhí)行程序、分析程序的輸出結(jié)果。
參考資料來源:百度百科-靜態(tài)測試
參考資料來源:百度百科-動態(tài)測試
軟件測試是怎么分類的,有哪些種?
軟件測試分類
軟件測試是一項復(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ī)約為基準(zhǔn)。單元測試的主要方法有控制流測試、數(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)品有許多錯誤的原則。最大的受益者是用戶,缺陷查找和改正將針對哪些客戶最容易遇到的錯誤。
軟件測試的任務(wù)、目的與類型分別是什么?
軟件測試的目的是在規(guī)定的條件下對程序進行操作,以發(fā)現(xiàn)程序錯誤,衡量軟件質(zhì)量,并對其是否能滿足設(shè)計要求進行評估的過程。
軟件測試已有了行業(yè)標(biāo)準(zhǔn)(IEEE/ANSI ),1983年IEEE提出的軟件工程術(shù)語中給軟件測試下的定義是:“使用人工或自動的手段來運行或測定某個軟件系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實際結(jié)果之間的差別”。擴展資料
測試方法
1、靜態(tài)測試方法
靜態(tài)測試方式指軟件代碼的靜態(tài)分析測驗,此類過程中應(yīng)用數(shù)據(jù)較少,主要過程為通過軟件的靜態(tài)性測試(即人工推斷或計算機輔助測試)測試程序中運算方式、算法的正確性,進而完成測試過程,
此類測試的優(yōu)點在于能夠消耗較短時間、較少資源完成對軟件、軟件代碼的測試,能夠較為明顯地發(fā)現(xiàn)此類代碼中出現(xiàn)的錯誤。靜態(tài)測試方法適用范圍較大,尤其適用于較大型的軟件測試。
2、動態(tài)測試
計算機動態(tài)測試的主要目的為檢測軟件運行中出現(xiàn)的問題,較靜態(tài)測試方式相比,其被稱為動態(tài)的原因即為其測試方式主要依賴程序的運用,主要為檢測軟件中動態(tài)行為是否缺失、軟件運行效果是否良好。
其最為明顯的特征即為進行動態(tài)測試時軟件為運轉(zhuǎn)狀態(tài),只有如此才能于使用過程中發(fā)現(xiàn)軟件缺陷,進而對此類缺陷進行修復(fù)。目前動態(tài)測試過程中可包括兩類因素,即被測試軟件與測試中所需數(shù)據(jù),兩類因素決定動態(tài)測試正確展開、有效展開。
一般公司常用的軟件測試工具有哪些?
1、靜態(tài)測試工具:直接對代碼進行分析,生成可執(zhí)行文件。靜態(tài)測試工具一般是對代碼進行語法掃描,根據(jù)某種質(zhì)量模型評價代碼的質(zhì)量,生成系統(tǒng)的調(diào)用關(guān)系圖等。靜態(tài)測試工具的代表有:Telelogic公司的Logiscope軟件;PR公司的PRQA軟件。
2、動態(tài)測試工具:動態(tài)測試工具的一般采用"插樁"的方式,向代碼生成的可執(zhí)行文件中插入一些監(jiān)測代碼,用來統(tǒng)計程序運行時的數(shù)據(jù)。動態(tài)測試工具的代表有:Compuware公司的軟件;Rational公司的Purify系列等。
3、黑盒測試工具
黑盒測試工具的一般原理是利用腳本的錄制(Record)/回放(Playback),模擬用戶的操作。黑盒測試工具的代表有:Rational公司的TeamTest、Robot;Compuware公司的QACenter。
4、性能測試工具
的是一種適用于各種體系架構(gòu)的自動負載測試工具,它能預(yù)測系統(tǒng)行為并優(yōu)化系統(tǒng)性能。的測試對象是整個企業(yè)的系統(tǒng),它通過模擬實際用戶的操作行為和實行實時性能監(jiān)測,來幫助您更快的查找和發(fā)現(xiàn)問題。
5、測試管理工具
測試管理工具對測試計劃、測試用例、測試實施進行管理,并且,測試管理工具還包括對缺陷的跟蹤管理。測試管理工具的代表有:Rational公司的;公司的;公司的等軟件。
參考資料:百度百科-軟件測試(第二版)
軟件測試方法的分類有哪些
1)按照測試技術(shù)劃分
黑盒測試:功能測試,必須
白盒測試:邏輯結(jié)構(gòu)測試,代碼的邏輯、算法、結(jié)構(gòu)是否正確,要求必須懂得代碼,需要編寫測試用例,可選
灰盒測試:介于中間
注意:在單元測試時,白盒應(yīng)用相對較多,在集成測試時,灰盒測試應(yīng)用相對較多,在系統(tǒng)、驗收測試時一般就不會使用白盒測試和灰盒測試了。
2)按是否需要運行代碼劃分
靜態(tài)測試:界面測試,文檔測試,代碼測試【重點關(guān)注代碼的規(guī)范性,一般檢查變量的命名,注釋的頻率,編程的規(guī)范性,不需要寫測試用例,一般只需要有代碼審查單】
注意:一般經(jīng)常把白盒測試和靜態(tài)測試的要素結(jié)合在一起,形成靜態(tài)白盒測試
動態(tài)測試:運行程序進行檢查,檢查實際輸出結(jié)果和預(yù)期結(jié)果是否相符
3)按軟件特性分類
功能測試
性能測試
軟件測試的方法一共有幾種
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é)果的差異,并分析運行效率、正確性和健壯性等性能指標(biāo)。
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)標(biāo)準(zhǔn)符合性測試:驗證軟件與相關(guān)標(biāo)準(zhǔn)或規(guī)范(如軍用標(biāo)準(zhǔn)、標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)及國際標(biāo)準(zhǔn))一致性的測試。
(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é)任、對報告的要求、所需的標(biāo)準(zhǔn)和過程 ( 例如發(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 準(zhǔn)備測試計劃文件和對計劃進行必要的回顧
13 準(zhǔn)備白盒測試案例
14 對測試案例進行必要的回顧 / 調(diào)查 / 計劃
15 準(zhǔn)備測試環(huán)境和測試用具,得到必需的用戶手冊 / 參考文件 / 結(jié)構(gòu)指南 / 安裝指南,建立測試跟蹤過程,建立日志和檔案、建立或得到測試輸入數(shù)據(jù)
16 得到并安裝軟件版本
17 進行測試
18 評估和報告結(jié)果
19 跟蹤問題 / 錯誤,并解決它
20 如果有必要,重新進行測試
21 在整個生命周期里維護和修改測試計劃、測試案例、測試環(huán)境、和測試用具
參考資料:百度百科-軟件測試
測試有哪些類別?
按測試階段劃分
單元測試 : 又稱模塊測試,對程序模塊進行檢驗。
冒煙測試 : 冒煙測試就是在每日build(構(gòu)建版本)建立后,對系統(tǒng)的基本功能進行簡單的測試。這種測試強調(diào)程序的主要功能進行的驗證,而不會對具體功能進行更深入的測試。
集成測試 : 又稱組裝測試或聯(lián)調(diào)測試。檢驗程序單元的接口關(guān)系;模塊集成后功能正確性驗證。
系統(tǒng)測試 : 在盡可能真實的系統(tǒng)環(huán)境下,確認系統(tǒng)是否達到目標(biāo)要求,對集成的硬件,軟件系統(tǒng)進行測試。
驗收測試 : 按照項目任務(wù)書或合同,供需雙方約定的驗收依據(jù)文檔進行的整個系統(tǒng)的測試與評審,決定是否接受或拒絕系統(tǒng)。
回歸測試 : 指修改了舊代碼后,重新進行測試以確認修改沒有引入新的錯誤或?qū)е缕渌a產(chǎn)生錯誤。
按測試內(nèi)容劃分
功能測試 : 功能測試是一個試圖發(fā)現(xiàn)程序與其外部規(guī)格說明之間存在不一致的過程。
性能測試 : 通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統(tǒng)的各項性能指標(biāo)進行測試。
易用性測試 : 考察評定軟件的易學(xué)易用性,各個功能是否易于完成,軟件界面是否友好等方面進行測試。
兼容性測試 : 測試軟件在特定的硬件平臺上、不同的應(yīng)用軟件之間、不同的操縱系統(tǒng)平臺上、不同的網(wǎng)絡(luò)等環(huán)境中是否能夠很友好的運行的測試。
安全測試 : 對產(chǎn)品進行檢驗以驗證產(chǎn)品符合安全需求定義和產(chǎn)品質(zhì)量標(biāo)準(zhǔn)的過程 。
安裝測試 : 確保該軟件在正常情況和異常情況的不同條件下,例如,進行首次安裝、升級、完整的或自定義的安裝都能進行安裝。異常情況包括磁盤空間不足、缺少目錄創(chuàng)建權(quán)限等。
國際化測試 : 測試軟件的國際化支持能力,發(fā)現(xiàn)軟件的國際化的潛在問題,保證軟件在世界不同區(qū)域中都能正常運行。
注意:實際按測試內(nèi)容劃分有更多的測試類別(如安裝測試對應(yīng)的卸載測試),小酋這里就不一一列出了。
測試所屬方劃分
α測試 : 公司內(nèi)部的測試人員在模擬實際操作環(huán)境下進行的測試。α測試的目的是評價軟件產(chǎn)品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持)。
beta測試(也可以叫:灰度測試、β測試或UAT) : 用戶在實際使用環(huán)境下進行的測試。確保符合用戶方的預(yù)期。
CMMI過程域劃分
驗證()測試 : 驗證軟件(系統(tǒng))的正確性、完整性、安全性等。驗證確?!败浖咽伦鰧α恕?。
確認()測試 : 確認滿足用戶的需求或期望。而確認確?!败浖隽藢Φ氖隆?。
是否執(zhí)行程序劃分
靜態(tài)測試 : 靜態(tài)地檢查程序代碼、界面或文檔中可能存在的錯誤,借以發(fā)現(xiàn)編寫的程序的不足之處,減少錯誤出現(xiàn)的概率。
動態(tài)測試 : 實際運行被測程序,輸入相應(yīng)的測試數(shù)據(jù),檢查實際輸出結(jié)果和預(yù)期結(jié)果是否相符的過程;并分析運行效率、正確性和健壯性等性能