《軟件測(cè)試基礎(chǔ)》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件測(cè)試基礎(chǔ)(43頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),2013,All Rights,Reserved.,Dilato Infotech Limited,.,軟件測(cè)試技術(shù),Aug.2015,Agenda,軟件測(cè)試的概念,和分類,黑盒測(cè),試技術(shù),測(cè)試用例的設(shè)計(jì)和實(shí)施,缺陷,(Bug),管理,軟,件測(cè)試的生命周期,軟件測(cè)試常識(shí),什么是軟件測(cè)試,使用人工或自動(dòng)手段,來(lái)運(yùn)行或測(cè)試某個(gè)系統(tǒng)的過程。其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。,軟件測(cè)試需要嚴(yán)謹(jǐn)和一絲不茍的精神。,什么是測(cè)試用例,評(píng)價(jià)測(cè)試人員的標(biāo)準(zhǔn)主要有兩個(gè),即發(fā)現(xiàn)的有效,Bug,數(shù)和編寫的有
2、效測(cè)試用例數(shù)。,測(cè)試用例:英文為,Test,Case,,縮寫為,TC,。指的是在測(cè)試執(zhí)行之前設(shè)計(jì)的一套詳細(xì)的測(cè)試方案,包括測(cè)試環(huán)境,測(cè)試步驟,測(cè)試數(shù)據(jù)和預(yù)期結(jié)果。,測(cè)試用例,=,輸入,+,輸出,+,測(cè)試環(huán)境,Tips,測(cè)試用例模板,Bug,模板,公司里測(cè)試部門的組織結(jié),構(gòu),用什么工具管理,Test,Case,和,Bug,測(cè)試分為幾個(gè)組,分別是什么 等等,以上這些根據(jù)公司不同而不同,面試的時(shí)候可以問面試官相關(guān)的問題,例如,軟件測(cè)試分類,黑盒和白盒測(cè)試,靜態(tài)和動(dòng)態(tài)測(cè)試,單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試,功,能測(cè)試,性能測(cè),試,回歸測(cè),試、,Smoke,測(cè)試、隨機(jī)測(cè)試(探索性測(cè)試),黑盒和白盒
3、測(cè)試的概念,黑盒測(cè)試,(Black-Box Testing),指的是把被測(cè)的軟件看作是一個(gè)黑盒子,我們不去關(guān)心盒子里面的結(jié)構(gòu)是什么樣子的,只關(guān)心軟件的輸入數(shù)據(jù)和輸出結(jié)果。,白盒測(cè)試,(White-Box Testing),指的是把盒子蓋打開,去研究里面的源代碼和程序結(jié)構(gòu)。,在軟件公司里,往往采用黑盒和白盒技術(shù)相結(jié)合的方法,對(duì)軟件的整體功能和性能進(jìn)行黑盒測(cè)試,對(duì)軟件的源代碼采用白盒測(cè)試,。,靜態(tài)和動(dòng)態(tài)測(cè)試,所謂的靜態(tài)測(cè)試,(Static Testing),是指不實(shí)際運(yùn)行被測(cè)軟件,而只是靜態(tài)的檢查程序代碼、界面或文檔中可能存在的錯(cuò)誤的過程。,動(dòng)態(tài)測(cè)試,(Dynamic Testing),是指實(shí)際運(yùn)
4、行被測(cè)程序,輸入相應(yīng)的測(cè)試數(shù)據(jù),檢查實(shí)際輸出結(jié)果和預(yù)期結(jié)果是否相符的過程。,所以我們判斷一個(gè)測(cè)試屬于動(dòng)態(tài)還是靜態(tài)測(cè)試,唯一的標(biāo)準(zhǔn)就是看是否運(yùn)行程序。,黑盒白盒,靜態(tài)動(dòng)態(tài)的關(guān)系,它們只是一個(gè)測(cè)試的不同分類角度而已,而且它們之間還有包含交叉的關(guān)系,總結(jié)一下,4,句話:,黑盒測(cè)試有可能也是動(dòng)態(tài)測(cè),試,(,運(yùn)行程序,只看輸入和輸出,),也有可能是靜態(tài)測(cè)試,(,不運(yùn),行程序,,只查看界面,),白盒,測(cè)試有可能也是動(dòng)態(tài)測(cè)試,(,運(yùn)行程序,,并分析代碼結(jié)構(gòu),),也有可能是靜態(tài)測(cè)試,(,不運(yùn)行程序,,只是靜態(tài)查看代碼,),動(dòng)態(tài),測(cè),試有可能也,是,黑盒,測(cè),試,(,運(yùn)行程序,,,只看輸入和輸出,),也有可能,
5、是白盒測(cè),試,(,運(yùn),行程序,,并分析代碼結(jié)構(gòu),),靜態(tài),測(cè)試有可能也是黑盒測(cè)試,(,不運(yùn),行程序,,只是查,看界面,),也有可能是白盒測(cè)試,(,不運(yùn),行程序,,,只是靜態(tài)查看代碼,),單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè),試,軟件測(cè)試中基本且重要的概念,它們都是按照軟件測(cè)試的階段來(lái)劃分的。,單元測(cè)試:對(duì)軟件中的最小可可測(cè)試單元(最小的功能模塊)進(jìn)行檢查和驗(yàn)證。,集成測(cè),試:是單元測(cè)試的下一個(gè)階段,是指將通過測(cè)試的單元模塊組裝成系統(tǒng)或者子系統(tǒng),再進(jìn)行測(cè)試,重點(diǎn)測(cè)試不同模塊的接口部分。(接口測(cè)試),系統(tǒng)測(cè)試:是指將整個(gè)軟件系統(tǒng)看做,1,個(gè)整體進(jìn)行測(cè)試,包括對(duì)功能、性能、安全、兼容性進(jìn)行測(cè)試。,驗(yàn)
6、收測(cè)試(,Acceptance Testing,),:,是指在系統(tǒng)測(cè)試的后期,以用戶測(cè)試為主,或有測(cè)試人員共同參與的測(cè)試,它也是軟件正式交給用戶使用的最后一道工序。,比較,功能測(cè)試和性能測(cè)試,功能測(cè)試(,Function,Testing):,檢查實(shí)際軟件的功能是否符合用戶的需求??杉?xì)分為:,邏輯功能測(cè),試、界面測(cè)試、易用性測(cè)試、安裝卸載測(cè)試、兼容性測(cè)試、安全測(cè)試。,性能測(cè)試,(Performance Testing,):,一般要用到自動(dòng)化工具。軟件的性能分為時(shí)間和空間的性能:,時(shí)間性,能:主要指軟件的一個(gè)具體事務(wù)的響應(yīng)時(shí)間,(Respond Time),空,間性能:主要指軟件運(yùn)行時(shí)所消耗的系統(tǒng)
7、資源(,e.g.CPU,內(nèi)存,硬盤等)。,軟件性能測(cè)試的分類:一般性能測(cè)試、穩(wěn)定性測(cè)試、負(fù)載測(cè)試、壓力測(cè)試。,性能測(cè)試分類,一般性能測(cè)試:指被測(cè)系統(tǒng)在正常的軟硬件環(huán)境下運(yùn)行,不向其施加任何壓力的性能測(cè)試。,例如只讓,1,個(gè)用戶多次登錄,記錄系統(tǒng)資源的消耗情況,(CPU,內(nèi)存等),并記錄單個(gè)用戶的平均登錄時(shí)間。,穩(wěn)定性測(cè)試(,Reliability Testing,),:,是指連續(xù)運(yùn)行被測(cè)系統(tǒng),檢查系統(tǒng)運(yùn)行時(shí)的穩(wěn)定程度。,用錯(cuò)誤發(fā)生的平均時(shí)間間隔,(MTBF),來(lái)衡量系統(tǒng)的穩(wěn)定性,,MFBF,越大,系統(tǒng)的穩(wěn)定性越強(qiáng)。,負(fù)載測(cè),試,(Load Testing):,通常是指讓被測(cè)系統(tǒng)在其能忍受的壓力
8、的極限范圍之內(nèi)連續(xù)運(yùn)行,來(lái)測(cè)試系統(tǒng)的穩(wěn)定性。,例如讓,1,個(gè),,2,個(gè),,5,個(gè),,10-100,個(gè)用戶,并發(fā)登錄,在這個(gè)過程中每次都觀察資源消耗情況,當(dāng)發(fā)現(xiàn)資源消耗快要達(dá)到臨界值時(shí),(CPU 80%),停止增加用戶,例如現(xiàn)在的并發(fā)用戶數(shù)為,50,,我們就用這,50,個(gè)用戶同時(shí)多次重復(fù)登錄,直到,系,統(tǒng)出現(xiàn)故障為止。,負(fù)載測(cè)試為我們測(cè)試系統(tǒng)在臨界狀態(tài)下運(yùn)行是否穩(wěn)定提供了一種辦法。,壓,力測(cè)試,(Stress Testing):,通常是指持續(xù)不斷的給被測(cè)系統(tǒng)增加壓力,直到將被測(cè)系統(tǒng)壓垮為止,用來(lái)測(cè)試系統(tǒng)所能承受的最大壓力。,比如我們不斷地增加并發(fā)登錄的用戶數(shù),,120,,,150,,,170,,
9、,200,、當(dāng)增加到,200,個(gè)用戶并發(fā)登錄時(shí),系統(tǒng)崩潰了,這是我們就知道此軟件所能承載的最大登錄并發(fā)數(shù)為,200,個(gè)左右。,案例,紙杯測(cè)試,微軟公司的一道面試題,面試官隨意選一個(gè)物品,讓應(yīng)聘者在規(guī)定的時(shí)間內(nèi)說(shuō)出測(cè)試策略或是設(shè)計(jì)測(cè)試用例。,要求應(yīng)聘者有一定的生活常識(shí),了解常用的測(cè)試方法,,并且思維要敏,捷,有發(fā)散性。我們可以從 基本功能測(cè)試、易用性測(cè)試、界面測(cè)試、壓力測(cè)試、性能測(cè)試等角度去思考。比如安全性問題,杯子所用的材料是否符合食品衛(wèi)生標(biāo)準(zhǔn),在內(nèi)外溫度等環(huán)境因素下是否會(huì)與所盛各種飲料所應(yīng),而產(chǎn)生對(duì)人體有害的物質(zhì)。,以下是相關(guān)的答案,僅供參考:,(1),基本功能測(cè)試(邏輯功能測(cè)試):,硬,度
10、:是否達(dá)到設(shè)計(jì)標(biāo)準(zhǔn)。,裝載能,力:在杯子內(nèi)分別裝入少量的、半杯的、滿杯的,看其裝載量是否達(dá)到設(shè)計(jì)標(biāo)準(zhǔn)。,裝載種,類:開水(是否產(chǎn)生異味)、溫水、冷水、冰水、咖啡,有顏色的飲料,(2),界面測(cè)試(,UI,測(cè)試):,看其形,狀、大小設(shè)計(jì)是否適合人方便拿起。,外觀是否吸引,人(廣告嘛),常新悅目,帶廣告的圖案沾水后是否掉色、模糊,(3),易,用性測(cè)試:,看其形狀、大小設(shè)計(jì)是否適合人方便拿,起。,殘疾人,士用此杯去喝水的容易程度。,杯子設(shè)計(jì)是否上大下,小,在運(yùn)輸過程中可以套在一起有效利用空間,在使用完也可以方便拿走。,穩(wěn)定性測(cè)試,裝入液體后記錄其多久以后漏水,安,全性測(cè),試,材料問題,符合食品衛(wèi)生標(biāo)準(zhǔn)
11、,溫度,異味,本地化測(cè),試,,為國(guó)際,化和本地化的需要,廣告圖案和文字是否在政治,宗教和文化方面具有廣泛的適用性,。,回歸測(cè)試、,Smoke,測(cè)試、隨機(jī)測(cè)試,這,3,個(gè)概念也很重要,他們既不屬于測(cè)試階段,也不算是具體的測(cè)試方法。,回歸測(cè)試,(Regression Testing),是指對(duì)軟件的新的版本測(cè)試時(shí),重復(fù)執(zhí)行上一個(gè)版本測(cè)試時(shí)的用例。,冒煙測(cè),試,(Smoke Testing),是指在對(duì)一個(gè)新版本進(jìn)行系統(tǒng)大規(guī)模的測(cè)試之前,先驗(yàn)證一下軟件的基本功能是否實(shí)現(xiàn),是否具備可測(cè)性。,隨機(jī)測(cè)試(,Random,Testing,),是指測(cè)試中所有的輸入數(shù)據(jù)都是隨機(jī)生成的,其目的是模擬用戶的真實(shí)操作,并
12、發(fā)現(xiàn)一些邊緣性的錯(cuò)誤。缺點(diǎn),不如測(cè)試不系統(tǒng),無(wú)法統(tǒng)計(jì)覆蓋率,/,需求覆蓋率,很難回歸測(cè)試等,所以一般都是先作大規(guī)模的正規(guī)測(cè)試,如果時(shí)間允許的話,就輔助一些隨機(jī)測(cè)試。,總結(jié),黑盒測(cè)試技術(shù),等價(jià)類方法,邊界,值方法,因果圖,法,流程圖,法,黑盒測(cè)試技術(shù),-,等,價(jià),類方法,等價(jià)類技,術(shù),(Equivalence Class Testing),案,例:加法器,有這樣一個(gè)語(yǔ)言程序,功能是計(jì)算兩個(gè)之間整數(shù)的和。其源代碼如下所示:,#include,Void main(void),int a,b,c;,w,hile(1),p,rintf(“,請(qǐng)輸入兩個(gè),1,到,100,之間的整數(shù),:”,);,fflush
13、(stdin);/,清空輸入緩沖區(qū),s,canf(“%d%d”,i,f(a1&a1&b100)/,判斷兩個(gè)加數(shù)是否在,100,之間,c=a+b;,p,rintf(“,兩個(gè)數(shù)的和為,%dn,”,c),我們知,道,在黑盒測(cè)試的時(shí)候一般是不看源代碼的。我們現(xiàn)在只根據(jù)需求,(,計(jì)算,1100,之間整數(shù)的和,),來(lái)設(shè)計(jì)測(cè)試用例,使用窮舉測(cè)試的思想給加法器設(shè)計(jì)測(cè)試用例:,一共要設(shè)計(jì)多少條用例,呢?,加數(shù)有共計(jì)個(gè)取值,加數(shù)也是,所以一共有,100*100=10000,種組合的可能,但這只是測(cè)試了正常范圍內(nèi)的取值,如果輸入的數(shù)據(jù)不在,1100,之間呢?,我們引入等價(jià)類的思想。,用例編號(hào),加數(shù),加數(shù),和,1,2
14、,2,3,3,4,黑盒測(cè)試技術(shù),-,等價(jià),類方法,等價(jià)類劃分法是一種黑盒測(cè)試技術(shù),它不考慮程序的內(nèi)部結(jié)構(gòu),只是根據(jù)軟件的需求說(shuō)明來(lái)對(duì)輸入的范圍進(jìn)行細(xì)分,然后再?gòu)姆殖龅拿恳粋€(gè)區(qū)域內(nèi)選取一個(gè)有代表性的測(cè)試數(shù)據(jù)。如果等價(jià)類分的好,這個(gè)代表性的測(cè)試數(shù)據(jù)的作用就等價(jià)于其區(qū)域內(nèi)的其他取值。,等價(jià)類又可分,為有效等價(jià)類和無(wú)效等價(jià)類。,有效等價(jià),類:是指符合,需求規(guī)格說(shuō)明書,,合理地輸入數(shù)據(jù)集合。,無(wú)效等價(jià)類:是指不符合,需求規(guī)格說(shuō)明書,,無(wú)意義的輸,入數(shù)據(jù)集,合。,那么這個(gè)程序,里面,我們?cè)趺磩澐值葍r(jià)類呢?,根據(jù)輸入要求將輸入?yún)^(qū)域劃分為個(gè)等價(jià)類:,):,100:,無(wú)效等價(jià)類,然后我們從每一個(gè)等價(jià)類中選取一個(gè)
15、代表性的數(shù)據(jù)來(lái)測(cè)試,測(cè)試用例是:,用例編號(hào),所屬等價(jià)類,加數(shù),加數(shù),和,),3,40,43,),0,-1,提示,),110,101,提示,等,價(jià),類,方法總結(jié),等價(jià)類的定義,等價(jià),類是指某個(gè)輸入域的子集合。在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的。,等價(jià),類,劃分的步,驟,(1),先考慮輸入數(shù)據(jù)的數(shù)據(jù)類型(合法和非法的類型),(2),再考慮數(shù)據(jù)范圍(合法類型中的合法區(qū)間和非法區(qū)間),(3),畫出示意圖,區(qū)分等價(jià)類,(4),為每一個(gè)等價(jià)類編號(hào),(5),從一個(gè)等價(jià)類中選舉一個(gè)測(cè)試數(shù)據(jù)構(gòu)造測(cè)試用例,理論上來(lái),說(shuō),如果,等價(jià),類里面的一個(gè)數(shù)值能夠發(fā)現(xiàn)缺陷,那么該等價(jià)類里面的其他數(shù)值也能
16、夠發(fā)現(xiàn)缺陷。實(shí)際過程中,首先要確保等價(jià)類的劃分是爭(zhēng)取的,否則也得不到正確的結(jié)果。多看一些案例,將這種思想應(yīng)用到實(shí)際工作中。,邊界值方法,(Boundary Value Testing),錯(cuò),誤隱含在角落,(Errors Hide in the Corner),大量的測(cè)試實(shí)踐經(jīng)驗(yàn)表明,邊界值是最容易出現(xiàn)問題的地方,也是我們的測(cè)試重點(diǎn)。,需要說(shuō)明的,是,在白盒測(cè)試中也應(yīng)用到了邊界值得測(cè)試思想,邊界值技術(shù)不是黑盒測(cè)試的專利。,我們還是,以上一節(jié)的加法器為例來(lái)講解邊界值的思想:,輸入要求,是,1100,之間的整數(shù),因此自然產(chǎn)生了,1,和,100,兩個(gè)邊界,我們?cè)跇?gòu)造測(cè)試用例的時(shí)候要重點(diǎn)考慮這兩個(gè)邊界。,我們?cè)跍y(cè),試,1,和,100,這兩個(gè)邊界的時(shí)候,構(gòu)造了,(1,1),、,(100,100),、,(0,0),、,(101,101),這組測(cè)試用例,即正好是邊界的值和正好超出邊界的值。結(jié)果發(fā)現(xiàn),(1,1),、,(,100,100),這兩條測(cè)試用例未通過:本應(yīng)正確求和,卻提示信息要求輸入正確整數(shù),這是什么?,正確的代,碼應(yīng)該是:,if(,a,=,1,&a,=,1,&b,=,100,),包括,1,和,