軟件測試的方法根據(jù)軟件工程的組織和實(shí)現(xiàn)方式,有很大差別,有些是比較技術(shù)化的方法,有些則是工程方法,主要分為: 黑盒測試方法群:等價類劃分、邊界值、因果圖、基路徑法、專家測試法、smoking、場景測試等 白盒測試方法群:同行評審、需求審查、代碼審查、接口測試(調(diào)用測試和返回測試,需要結(jié)合等價類和因果圖方法)等。
當(dāng)在單元層面黑盒而在集成層面白盒時,基本上兩類方法就會有結(jié)合了,就會出現(xiàn)習(xí)慣上說的灰盒測試(說實(shí)話,不做到純產(chǎn)品級開發(fā),基本上都是用的灰盒測試)。
(1)黑盒測試(black-box testing):只關(guān)心輸入和輸出的結(jié)果 (2)白盒測試(white-box testing):去研究里面的源代碼和程序結(jié)構(gòu)2、按是否運(yùn)行程序分為:(1)靜態(tài)測試(static testing):是指不實(shí)際運(yùn)行被測軟件,而只是靜態(tài)地檢查程序代碼、界面或文檔可能存在的錯誤的過程。
靜態(tài)測試包括:對于代碼測試,主要是測試代碼是否符合相應(yīng)的標(biāo)準(zhǔn)和規(guī)范。對于界面測試,主要測試軟件的實(shí)際界面與需求中的說明是否相符。
對于文檔測試,主要測試用戶手冊和需求說明是否真正符合用戶的實(shí)際需求。(5)動態(tài)測試(dynamic testing),是指實(shí)際運(yùn)行被測程序,輸入相應(yīng)的測試數(shù)據(jù),檢查輸出結(jié)果和預(yù)期結(jié)果是否相符的過程3、按階段劃分:(1)單元測試(unit testing),是指對軟件中的最小可測試單元進(jìn)行檢查和驗(yàn)證。
樁模塊(stud)是指模擬被測模塊所調(diào)用的模塊,驅(qū)動模塊(driver)是指模擬被測模塊的上級模塊,驅(qū)動模塊用來接收測試數(shù)據(jù),啟動被測模塊并輸出結(jié)果。(2)集成測試(integration testing),是單元測試的下一階段,是指將通過測試的單元模塊組裝成系統(tǒng)或子系統(tǒng),再進(jìn)行測試,重點(diǎn)測試不同模塊的接口部門。
集成測試就是用來檢查各個單元模塊結(jié)合到一起能否協(xié)同配合,正常運(yùn)行。(3)系統(tǒng)測試(system testing),指的是將整個軟件系統(tǒng)看做一個整體進(jìn)行測試,包括對功能、性能,以及軟件所運(yùn)行的軟硬件環(huán)境進(jìn)行測試。
系統(tǒng)測試的主要依據(jù)是《系統(tǒng)需求規(guī)格說明書》文檔。(4)驗(yàn)收測試(acceptance testing),指的是在系統(tǒng)測試的后期,以用戶測試為主,或有測試人員等質(zhì)量保障人員共同參與的測試,它也是軟件正式交給用戶使用的最后一道工序。
驗(yàn)收測試又分為a測試和beta測試,其中a測試指的是由用戶、測試人員、開發(fā)人員等共同參與的內(nèi)部測試,而beta測試指的是內(nèi)測后的公測,即完全交給最終用戶測試。4、黑盒測試分為功能測試和性能測試:1)功能測試(function testing),是黑盒測試的一方面,它檢查實(shí)際軟件的功能是否符合用戶的需求。
包括邏輯功能測試(logic function testing) 界面測試(UI testing)UI=User Interface 易用性測試(usability testing):是指從軟件使用的合理性和方便性等角度對軟件系統(tǒng)進(jìn)行檢查,來發(fā)現(xiàn)軟件中不方便用戶使用的地方。兼容性測試(compatibility testing):包括硬件兼容性測試和軟件兼容性測試2)性能測試(performance testing) 軟件的性能主要有時間性能和空間性能兩種 時間性能:主要指軟件的一個具體事務(wù)的響應(yīng)時間(respond time)。
空間性能:主要指軟件運(yùn)行時所消耗的系統(tǒng)資源。軟件性能測試分為:一般性能測試:指的是讓被測系統(tǒng)在正常的軟硬件環(huán)境下運(yùn)行,不向其施加任何壓力的性能測試。
穩(wěn)定性測試也叫可靠性測試(reliability testing):是指連續(xù)運(yùn)行被測系統(tǒng)檢查系統(tǒng)運(yùn)行時的穩(wěn)定程度。負(fù)載測試(load testing):是指讓被測系統(tǒng)在其能忍受的壓力的極限范圍之內(nèi)連續(xù)運(yùn)行,來測試系統(tǒng)的穩(wěn)定性。
壓力測試(stress testing):是指持續(xù)不斷的給被測系統(tǒng)增加壓力,直到將被測系統(tǒng)壓垮為止,用來測試系統(tǒng)所能承受的最大壓力。(Validate the system or software can allowed the biggest stress.)5、其他測試類型:回歸測試(regression testing)是指對軟件的新的版本測試時,重復(fù)執(zhí)行上一個版本測試時的用例。
(When a new build or release is deployed, repeat all the test cases which has executed in the last build or release.) 冒煙測試(smoke testing),是指在對一個新版本進(jìn)行大規(guī)模的測試之前,先驗(yàn)證一下軟件的基本功能是否實(shí)現(xiàn),是否具備可測性。(validate the major function is deployed or not in software of system when a new build or release is implement.) 隨機(jī)測試(random testing),是指測試中所有的輸入數(shù)據(jù)都是隨機(jī)生成的,其目的是模擬用戶的真實(shí)操作,并發(fā)現(xiàn)一些邊緣性的錯誤。
(means or all the test data is random, to validate the some edge bugs.)。
第一類測試方法是試圖驗(yàn)證軟件是“工作的”,所謂“工作的”就是指軟件的功能是按照預(yù)先的設(shè)計(jì)執(zhí)行的;而第二類測試方法則是設(shè)法證明軟件是“不工作的”。
還有兩大類:白盒法和黑盒法。
白盒法:你清楚程序的流程時,用不同的數(shù)據(jù)測試你程序的代碼,驗(yàn)證程序的正確性,有:條件測試,路徑測試,條件組合。。。。
白盒法用在程序開發(fā)階段的前期。
黑盒法:主要用于程序開發(fā)階段的后期,即程序的流程測試正確后,測試程序的結(jié)果。有什么因果法,邊緣值法等。
具體你可以買本軟件工程方面的書看看。
還有一下方法:
功能測試:可接受性測試:用戶界面測試:探索或開放'型的測試:性能測試:回歸測試:強(qiáng)力測試:集成與兼容性測試:裝配/安裝/配置測試:國際化支持測試:本地化語言測試:
這些都是測試的方法.
1、恢復(fù)測試 恢復(fù)測試主要檢查系統(tǒng)的容錯能力。
當(dāng)系統(tǒng)出錯時,能否在指定時間間隔內(nèi)修正錯誤并重新啟動系統(tǒng)?;謴?fù)測試首先要采用各種辦法強(qiáng)迫系統(tǒng)失敗,然后驗(yàn)證系統(tǒng)是否能盡快恢復(fù)。
對于自動恢復(fù)需驗(yàn)證重新初始化(reinitialization)、檢查點(diǎn)(checkpointing mechanisms)、數(shù)據(jù)恢復(fù)(data recovery)和重新啟動 (restart)等機(jī)制的正確性;對于人工干預(yù)的恢復(fù)系統(tǒng),還需估測平均修復(fù)時間,確定其是否在可接受的范圍內(nèi)。 2、安全測試 安全測試檢查系統(tǒng)對非法侵入的防范能力。
安全測試期間,測試人員假扮非法入侵者,采用各種辦法試圖突破防線。例如,①想方設(shè)法截取或破譯口令;②專門定做軟件破壞系統(tǒng)的保護(hù)機(jī)制;③故意導(dǎo)致系統(tǒng)失敗,企圖趁恢復(fù)之機(jī)非法進(jìn)入;④試圖通過瀏覽非保密數(shù)據(jù),推導(dǎo)所需信息,等等。
理論上講,只要有足夠的時間和資源,沒有不可進(jìn)入的系統(tǒng)。因此系統(tǒng)安全設(shè)計(jì)的準(zhǔn)則是,使非法侵入的代價超過被保護(hù)信息的價值。
此時非法侵入者已無利可圖。 3、強(qiáng)度測試 強(qiáng)度測試檢查程序?qū)Ξ惓G闆r的抵抗能力。
強(qiáng)度測試總是迫使系統(tǒng)在異常的資源配置下運(yùn)行。例如,①當(dāng)中斷的正常頻率為每秒一至兩個時,運(yùn)行每秒產(chǎn)生十個中斷的測試用例;②定量地增長數(shù)據(jù)輸入率,檢查輸入子功能的反映能力;③運(yùn)行需要最大存儲空間(或其他資源)的測試用例;④運(yùn)行可能導(dǎo)致虛存操作系統(tǒng)崩潰或磁盤數(shù)據(jù)劇烈抖動的測試用例,等等。
4、性能測試 對于那些實(shí)時和嵌入式系統(tǒng),軟件部分即使?jié)M足功能要求,也未必能夠滿足性能要求,雖然從單元測試起,每一測試步驟都包含性能測試,但只有當(dāng)系統(tǒng)真正集成之后,在真實(shí)環(huán)境中才能全面、可靠地測試運(yùn)行性能系統(tǒng)性能測試是為了完成這一任務(wù)。性能測試有時與強(qiáng)度測試相結(jié)合,經(jīng)常需要其他軟硬件的配套支持。
這個應(yīng)該先分析下常見的軟件測試安全都包括哪些,比如針對手游類應(yīng)用,測試維度覆蓋:游戲通信協(xié)議、服務(wù)器健壯性、客戶端函數(shù)安全、腳本邏輯安全、內(nèi)存安全、靜態(tài)資源安全、變速測試等維度。
主要方法有黑盒模型:將程序看作黑盒子、白盒模型:將程序看作路徑的組合、模式匹配方法:將程序看作字符串、狀態(tài)機(jī)模型:將程序看作狀態(tài)機(jī)等。
我了解到騰訊有一個平臺騰訊WeTest是專門做移動應(yīng)用測試服務(wù)的,建議你去了解下wetest.qq.com
1、從是否關(guān)心內(nèi)部結(jié)構(gòu)來看 (1)白盒測試:又稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試,是一種按照程序內(nèi)部邏輯結(jié)構(gòu)和編碼結(jié)構(gòu),設(shè)計(jì)測試數(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ā)進(jìn)行的測試。(3)灰盒測試:是一種綜合測試法,它將“黑盒”測試與“白盒”測試結(jié)合在一起,是基于程序運(yùn)行時的外部表現(xiàn)又結(jié)合內(nèi)部邏輯結(jié)構(gòu)來設(shè)計(jì)用例,執(zhí)行程序并采集路徑執(zhí)行信息和外部用戶接口結(jié)果的測試技術(shù)。
2、從是否執(zhí)行代碼看 (1)靜態(tài)測試:指不運(yùn)行被測程序本身,僅通過分析或檢查源程序的語法、結(jié)構(gòu)、過程、接口等來檢查程序的正確性。(2)動態(tài)測試:是指通過運(yùn)行被測程序,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,并分析運(yùn)行效率、正確性和健壯性等性能指標(biāo)。
3、從開發(fā)過程級別看 (1)單元測試:又稱模塊測試,是針對軟件設(shè)計(jì)的最小單位----程序模塊或功能模塊,進(jìn)行正確性檢驗(yàn)的測試工作。其目的在于檢驗(yàn)程序各模塊是否存在各種差錯,是否能正確地實(shí)現(xiàn)了其功能,滿足其性能和接口要求。
(2)集成測試:又叫組裝測試或聯(lián)合,是單元測試的多級擴(kuò)展,是在單元測試的基礎(chǔ)上進(jìn)行的一種有序測試。旨在檢驗(yàn)軟件單元之間的接口關(guān)系,以期望通過測試發(fā)現(xiàn)各軟件單元接口之間存在的問題,最終把經(jīng)過測試的單元組成符合設(shè)計(jì)要求的軟件。
(3)系統(tǒng)測試:是為判斷系統(tǒng)是否符合要求而對集成的軟、硬件系統(tǒng)進(jìn)行的測試活動、它是將已經(jīng)集成好的軟件系統(tǒng),作為基于整個計(jì)算機(jī)系統(tǒng)的一個元素,與計(jì)算機(jī)硬件、外設(shè)、某些支持軟件、人員、數(shù)據(jù)等其他系統(tǒng)元素結(jié)合在一起,在實(shí)際運(yùn)行環(huán)境下,對計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的組裝測試和確認(rèn)測試。在系統(tǒng)測試中,對于具體的測試類型有:(1)功能測試:對軟件需求規(guī)格說明書中的功能需求逐項(xiàng)進(jìn)行的測試,以驗(yàn)證功能是否滿足要求。
(2)性能測試:對軟件需求規(guī)格說明書的功能需求逐項(xiàng)進(jìn)行的測試,以驗(yàn)證功能是否滿足要求。(3)接口測試:對軟件需求規(guī)格說明中的接口需求逐項(xiàng)進(jìn)行的測試。
(4)人機(jī)交互界面測試:對所有人機(jī)交互界面提供的操作和顯示界面進(jìn)行的測試,以檢驗(yàn)是否滿足用戶的需求。(5)強(qiáng)度測試:強(qiáng)制軟件運(yùn)行在異常乃至發(fā)生故障的情況下(設(shè)計(jì)的極限狀態(tài)到超出極限),驗(yàn)證軟件可以運(yùn)行到何種程序的測試。
(6)余量測試:對軟件是否達(dá)到規(guī)格說明中要求的余量的測試。(7)安全性測試:檢驗(yàn)軟件中已存在的安全性、安全保密性措施是否有效的測試,(8)可靠性測試:在真實(shí)的或仿真的環(huán)境中,為做出軟件可靠性估計(jì)而對軟件進(jìn)行的功能(其輸入覆蓋和環(huán)境覆蓋一般大于普通的功能測試) (9)恢復(fù)性測試:對有恢復(fù)或重置功能的軟件的每一類導(dǎo)致恢復(fù)或重置的情況,逐一進(jìn)行的測試。
(10)邊界測試:對軟件處在邊界或端點(diǎn)情況下運(yùn)行狀態(tài)的測試。(11)數(shù)據(jù)處理測試:對完成專門數(shù)據(jù)處理功能所進(jìn)行的測試。
(12)安裝性測試:對安裝過程是否符合安裝規(guī)程的測試,以發(fā)現(xiàn)安裝過程中的錯誤。(13)容量測試:檢驗(yàn)軟件的能力最高能達(dá)到什么程度的測試。
(14)互操作性測試:為驗(yàn)證不同軟件之間的互操作能力而進(jìn)行的測試。(15)敏感性測試:為發(fā)現(xiàn)在有效輸入類中可能引起某種不穩(wěn)定性或不正常處理的某些數(shù)據(jù)的組合而進(jìn)行的測試。
(16)標(biāo)準(zhǔn)符合性測試:驗(yà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)兼容性測試:驗(yàn)證軟件在規(guī)定條件下與若干個實(shí)體共同使用或?qū)崿F(xiàn)數(shù)據(jù)格式轉(zhuǎn)換時能滿足有關(guān)要求能力的測試。
(18)中文本地化測試:驗(yàn)證軟件在不降低原有能力的條件下,處理中文能力的測試。4、從執(zhí)行過程是否需要人工干預(yù)來看 (1)手工測試:就是測試人員按照事先為覆蓋被測軟件需求而編寫的測試用例,根據(jù)測試大綱中所描述的測試步驟和方法,手工地一個一個地輸 入執(zhí)行,包括與被測軟件進(jìn)行交互(如輸入測試數(shù)據(jù)、記錄測試結(jié)果等),然后觀察測試結(jié)果,看被測程序是否存在問題,或在執(zhí)行過程中是否會有一場發(fā)生,屬于比較原始但是必須執(zhí)行的一個步驟。
(2)自動化測試:實(shí)際上是將大量的重復(fù)性的測試工作交給計(jì)算機(jī)去完成,通常是使用自動化測試工具來模擬手動測試步驟,執(zhí)行用某種程序設(shè)計(jì)語言編寫的過程(全自動測試就是指在自動測試過程中,不需要人工干預(yù),由程序自動完成測試的全過程;半自動測試就是指在自動測試過程中,需要手動輸入測試用例或選擇測試路徑,再由自動測試程序按照人工指定的要求完成自動測試)5、從測試實(shí)施組織看 (1)開發(fā)測試:開發(fā)人員進(jìn)行的測試 (2)用戶測試:用戶方進(jìn)行的測試 (3)第三方測試:有別于開發(fā)人員或用戶進(jìn)行的測試,由專業(yè)的第三方承擔(dān)的測試,目的是為了保證測試工作的客觀性6、從測試所處的環(huán)境看 (1)阿爾法測試:是由一個用戶在開發(fā)環(huán)境下進(jìn)行的測試,也可以是公司內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的測試 (2)。
《全國計(jì)算機(jī)等級考試三級教程軟件測試》目錄 第1章 軟件測試的基本概念1.1 軟件質(zhì)量的概念1.1.1 軟件質(zhì)量的定義1.1.2 軟件質(zhì)量的屬性1.1.3 軟件質(zhì)量模型1.1.4 軟件質(zhì)量的度量1.1.5 影響軟件質(zhì)量的主要因素1.2 軟件測試的概念1.2.1 軟件測試的定義與目的1.2.2 軟件測試的原則1.3 軟件的缺陷與錯誤1.3.1 軟件缺陷的定義和類型1.3.2 軟件缺陷的級別1.3.3 軟件缺陷產(chǎn)生的原因1.3.4 軟件缺陷的構(gòu)成第1章 軟件測試的基本概念1.1 軟件質(zhì)量的概念1.1.1 軟件質(zhì)量的定義1.1.2 軟件質(zhì)量的屬性1.1.3 軟件質(zhì)量模型1.1.4 軟件質(zhì)量的度量1.1.5 影響軟件質(zhì)量的主要因素1.2 軟件測試的概念1.2.1 軟件測試的定義與目的1.2.2 軟件測試的原則1.3 軟件的缺陷與錯誤1.3.1 軟件缺陷的定義和類型1.3.2 軟件缺陷的級別1.3.3 軟件缺陷產(chǎn)生的原因1.3.4 軟件缺陷的構(gòu)成1.3.5 修復(fù)軟件缺陷的代價1.4 軟件測試的經(jīng)濟(jì)學(xué)與心理學(xué)1.4.1 軟件測試的心理學(xué)1.4.2 軟件測試的經(jīng)濟(jì)學(xué)1.5 軟件質(zhì)量保證1.5.1 軟件質(zhì)量保證概要1.5.2 軟件質(zhì)量保證活動的實(shí)施1.5.3 軟件的驗(yàn)證與確認(rèn)1.5.4 驗(yàn)證和確認(rèn)任務(wù)分析 本章小結(jié) 第2章 軟件生存周期中測試的實(shí)施2.1 軟件開發(fā)階段2.1.1 軟件生存周期2.1.2 軟件測試的生存周期模型2.1.3 軟件測試過程模型2.1.4 測試信息流2.2 需求獲取與分析階段的測試2.2.1 需求評審的實(shí)施2.2.2 需求規(guī)格說明的評審2.2.3 Wiegers 用例與需求評審表2.2.4 基于原型的測試2.2.5 基于需求的測試覆蓋率評估2.3 設(shè)計(jì)階段的測試2.3.1 設(shè)計(jì)的測試因素2.3.2 設(shè)計(jì)評審的實(shí)施2.3.3 設(shè)計(jì)規(guī)格說明的評審2.3.4 設(shè)計(jì)元素的覆蓋原則2.4 編程階段的測試2.4.1 白盒測試與黑盒測試2.4.2 源代碼的控制流覆蓋原則2.4.3 源代碼的數(shù)據(jù)流覆蓋原則2.4.4 源代碼的靜態(tài)分析與動態(tài)測試2.5 運(yùn)行和維護(hù)階段的測試2.6 回歸測試2.6.1 回歸測試的概念2.6.2 回歸測試的類型2.6.3 回歸測試的時機(jī)2.6.4 回歸測試的實(shí)施 本章小結(jié) 第3章 代碼檢查、走查與評審3.1 桌上檢查3.1.1 桌上檢查的實(shí)施3.1.2 桌上檢查的檢查表3.2 代碼檢查3.2.1 特定的角色和職責(zé)3.2.2 代碼檢查的實(shí)施3.2.3 用于代碼檢查的檢查表3.3 走查3.3.1 特定的角色和職責(zé)3.3.2 走查的實(shí)施3.3.3 走查中的靜態(tài)分析技術(shù)3.4 同行評審3.4.1 同行評審的角色和職責(zé)3.4.2 同行評審的內(nèi)容3.4.3 評審的方法和技術(shù)3.4.4 評審工作 本章小結(jié) 第4章 白盒測試4.1 覆蓋率的概念4.2 邏輯覆蓋4.2.1 語句覆蓋與塊覆蓋4.2.2 判定覆蓋(分支覆蓋)4.2.3 條件覆蓋4.2.4 條件/判定覆蓋4.2.5 條件組合覆蓋4.2.6 路徑覆蓋4.2.7 ESTCA覆蓋4.2.8 LCSAJ覆蓋4.3 路徑測試4.3.1 分支結(jié)構(gòu)的路徑測試4.3.2 循環(huán)結(jié)構(gòu)的路徑測試4.3.3 圈復(fù)雜度與基本路徑測試4.4 數(shù)據(jù)流測試4.4.1 定義∕使用測試的幾個定義4.4.2 定義∕使用測試舉例4.4.3 定義∕使用路徑測試覆蓋指標(biāo)4.5 基于覆蓋的測試用例選擇4.5.1 覆蓋率的使用4.5.2 使用最少的測試用例來達(dá)到覆蓋4.6 程序插樁技術(shù)4.6.1 程序插樁4.6.2 用于測試覆蓋率的程序插樁4.6.3 用于斷言檢測的程序插樁4.6.4 用于數(shù)據(jù)流異常檢測的程序插樁 本章小結(jié) 第5章 黑盒測試5.1 等價類測試5.1.1 等價類的概念5.1.2 等價類測試的原則5.1.3 等價類方法測試用例設(shè)計(jì)舉例5.2 邊界值分析5.2.1 邊界值分析的概念5.2.2 選擇測試用例的原則5.2.3 邊界值方法測試用例設(shè)計(jì)舉例5.3 基于判定表的測試5.3.1 判定表的概念5.3.2 基于判定表的測試用例設(shè)計(jì)舉例5.4 基于因果圖的測試5.4.1 因果圖的適用范圍5.4.2 用因果圖生成測試用例5.4.3 因果圖法測試用例設(shè)計(jì)舉例5.5 基于狀態(tài)圖的測試5.5.1 狀態(tài)圖5.5.2 利用狀態(tài)轉(zhuǎn)換樹生成測試用例5.5.3 利用狀態(tài)轉(zhuǎn)換表生成測試用例5.6 基于功能圖的測試5.6.1 功能圖5.6.2 功能圖法設(shè)計(jì)測試用例舉例5.7 基于用例和場景的測試5.7.1 基本流和備選流5.7.2 利用用例和場景設(shè)計(jì)測試用例的實(shí)例5.8 基于有向圖的測試用例設(shè)計(jì)5.8.1 使用基于有向圖的測試的場合5.8.2 基于事務(wù)流建模設(shè)計(jì)測試用例5.8.3 基于控制流建模設(shè)計(jì)測試用例5.8.4 基于有向圖設(shè)計(jì)測試用例的過程5.9 基于正交實(shí)驗(yàn)設(shè)計(jì)法的測試5.9.1 提取功能說明,構(gòu)造因子/ 狀態(tài)表5.9.2 加權(quán)篩選,生成因素分析表5.9.3 利用正交表構(gòu)造測試數(shù)據(jù)集5.10 其他黑盒測試用例設(shè)計(jì)技術(shù) 本章小結(jié) 第6章 單元測試和集成測試6.1 單元測試的基本概念6.1.1 單元測試的定義6.1.2 單元測試與集成測試、系統(tǒng)測試的區(qū)別6.1.3 單元測試環(huán)境6.2 單元測試策略6.2.1 自頂向下的單元測試策略6.2.2 自底向上的單元測試策略6.2.3 孤立測試6.2.4 綜合測試6.3 單元測試分析6.3.1 模塊接口6.3.2 局部數(shù)據(jù)結(jié)構(gòu)6.3.3 獨(dú)立路徑6.3.4 出錯處理6.3.5 邊界條件6.4 單元測試的測試用例設(shè)計(jì)原則6.4.1 單元測試的測試用例設(shè)計(jì)步驟6.4.2 單元測試中的白盒測試與黑盒測試6.5 集成測試的基本概念6.6 集成測試策略6.6.1 基于分解的集成策略6.6.2 基于功能的集成6.6.3 基于路徑的集成6.6.4 基于調(diào)用圖的集成6.7 集成測試分析6.7.1 體系結(jié)構(gòu)分析6.7.2 模塊單元分析6.7.3 接口分析6.7.4 風(fēng)險分析6.7.5 可測試性分析6.7.6 集成測試策略分析6.7.7 常見的集成測試故障6.8 集成測試的測試用例設(shè)計(jì)原則6.8.1 集成測試的測試用例設(shè)計(jì)步驟6.8.2 場景測試 本章小結(jié) 第7章 系統(tǒng)測試7.1 系統(tǒng)測試概念7.2 系。
V模型 v模型在軟件測試方面,V模型是最廣為人知的模型,盡管很多富有實(shí)際經(jīng)驗(yàn)的測試人員還是不太熟悉V模型,或者其它的模型。
V模型已存在了很長時間,和瀑布開發(fā)模型有著一些共同的特性,由此也和瀑布模型一樣地受到了批評和質(zhì)疑。V模型中的過程從左到右,描述了基本的開發(fā)過程和測試行為。
V模型的價值在于它非常明確地標(biāo)明了測試過程中存在的不同級別,并且清楚地描述了這些測試階段和開發(fā)過程期間各階段的對應(yīng)關(guān)系。局限性:把測試作為編碼之后的最后一個活動,需求分析等前期產(chǎn)生的錯誤直到后期的驗(yàn)收測試才能發(fā)現(xiàn)。
W模型 W模型W模型由Evolutif公司提出,相對于V模型,W模型更科學(xué)。W模型是V模型的發(fā)展,強(qiáng)調(diào)的是測試伴隨著整個軟件開發(fā)周期,而且測試的對象不僅僅是程序,需求、功能和設(shè)計(jì)同樣要測試。
測試與開發(fā)是同步進(jìn)行的,從而有利于盡早地發(fā)現(xiàn)問題。W模型也有局限性。
W模型和V模型都把軟件的開發(fā)視為需求、設(shè)計(jì)、編碼等一系列串行的活動,無法支持迭代、自發(fā)性以及變更調(diào)整。 X模型 X模型X模型的左邊描述的是針對單獨(dú)程序片段所進(jìn)行的相互分離的編碼和測試,此后將進(jìn)行頻繁的交接,通過集成最終成為可執(zhí)行的程序,然后再對這些可執(zhí)行程序進(jìn)行測試。
己通過集成測試的成品可以進(jìn)行封裝并提交給用戶,也可以作為更大規(guī)模和范圍內(nèi)集成的一部分。多根并行的曲線表示變更可以在各個部分發(fā)生。
由圖中可見,X模型還定位了探索性測試,這是不進(jìn)行事先計(jì)劃的特殊類型的測試,這一方式往往能幫助有經(jīng)驗(yàn)的測試人員在測試計(jì)劃之外發(fā)現(xiàn)更多的軟件錯誤。但這樣可能對測試造成人力、物力和財力的浪費(fèi),對測試員的熟練程度要求比較高。
H模型 H模型H模型中, 軟件測試過程活動完全獨(dú)立,貫穿于整個產(chǎn)品的周期,與其他流程并發(fā)地進(jìn)行,某個測試點(diǎn)準(zhǔn)備就緒時,就可以從測試準(zhǔn)備階段進(jìn)行到測試執(zhí)行階段。軟件測試可以盡早的進(jìn)行,并且可以根據(jù)被測物的不同而分層次進(jìn)行。
這個示意圖演示了在整個生產(chǎn)周期中某個層次上的一次測試“微循環(huán)”。圖中標(biāo)注的其它流程可以是任意的開發(fā)流程,例如設(shè)計(jì)流程或者編碼流程。
也就是說, 只要測試條件成熟了,測試準(zhǔn)備活動完成了,測試執(zhí)行活動就可以進(jìn)行了。 H模型揭示了一個原理:軟件測試是一個獨(dú)立的流程,貫穿產(chǎn)品整個生命周期,與其他流程并發(fā)地進(jìn)行。
H模型指出軟件測試要盡早準(zhǔn)備, 盡早執(zhí)行。不同的測試活動可以是按照某個次序先后進(jìn)行的,但也可能是反復(fù)的,只要某個測試達(dá)到準(zhǔn)備就緒點(diǎn),測試執(zhí)行活動就可以開展。
更多相關(guān)的測試知識,可以關(guān)注下 搜狗測試 微信公眾號,那上面會發(fā)各種測試相關(guān)的文章。
黑盒測試和白盒測試。
黑盒測試:又叫功能測試或數(shù)據(jù)驅(qū)動測試。黑盒測試是在程序接口上進(jìn)行測試,主要是為了發(fā)現(xiàn)以下錯誤:是否有不正確或者是遺漏了的功能,在接口上,輸入能否正確的接受,能否輸出正確的結(jié)果;是否有數(shù)據(jù)結(jié)構(gòu)錯誤或者外部信息訪問錯誤;性能上是否滿足要求;是否有初始化或終止性錯誤;用黑盒測試發(fā)現(xiàn)程序中的錯誤,必須在所有可能的輸入條件和輸出條件中確定測試數(shù)據(jù),來檢查程序是否都能產(chǎn)生正確的結(jié)果。
白盒測試:測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測試用例,對程序所有邏輯路徑進(jìn)行測試;通過在不同點(diǎn)檢查程序的狀態(tài),確定實(shí)際的狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測試又稱為結(jié)構(gòu)測試或數(shù)據(jù)驅(qū)動測試。白盒測試主要對程序模塊進(jìn)行如下檢查:所有獨(dú)立的執(zhí)行路徑至少測試一次。對所有的邏輯判定,取真和取假的兩種情況都至少測試一次。在循環(huán)的邊界和運(yùn)行界限內(nèi)執(zhí)行循環(huán)體。測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性等。
聲明:本網(wǎng)站尊重并保護(hù)知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請?jiān)谝粋€月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時間:2.758秒