版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件測(cè)試基礎(chǔ)全套PPT課件1軟件測(cè)試基礎(chǔ).ppt2軟件測(cè)試模型與過(guò)程.ppt3軟件測(cè)試管理.ppt4-1邊界值.ppt4-2等價(jià)類.ppt4-3基于判定表的測(cè)試.ppt4-4因果圖.ppt4-5其它黑盒測(cè)試法.ppt5白盒測(cè)試.ppt6單元測(cè)試.ppt7集成測(cè)試.ppt8Web測(cè)試.ppt8系統(tǒng)測(cè)試.ppt9面向?qū)ο鬁y(cè)試new.ppt10自動(dòng)化測(cè)試.ppt11Web系統(tǒng)測(cè)試案例.ppt本章內(nèi)容軟件質(zhì)量軟件測(cè)試軟件缺陷軟件測(cè)試分類問(wèn)題引入軟件缺陷與軟件故障案例第一個(gè)Bug的故事“千年蟲(chóng)”問(wèn)題Intel奔騰處理芯片缺陷火星登陸事故愛(ài)國(guó)者導(dǎo)彈防御系統(tǒng)迪斯尼的圣誕節(jié)禮物北京奧運(yùn)門(mén)票系統(tǒng)1945.9,GraceHopper第一個(gè)Bug的故事格蕾斯.哈珀:計(jì)算機(jī)科學(xué)家、美國(guó)海軍將軍、編譯器的發(fā)明者COBOL語(yǔ)言的開(kāi)發(fā)負(fù)責(zé)人20世紀(jì)70年代,計(jì)算機(jī)存儲(chǔ)空間小,為節(jié)省字節(jié),將四位的年份用兩位表示。只有到數(shù)十年后的2000年1月1日才會(huì)出現(xiàn)問(wèn)題,這期間肯定會(huì)升級(jí)或更改系統(tǒng)。各種系統(tǒng)中這類問(wèn)題的解決費(fèi)用估計(jì)超過(guò)數(shù)億美元。
千年蟲(chóng)問(wèn)題(Y2K)(4195835/3145727)*3145727-4195835算式的結(jié)果應(yīng)為0;如果結(jié)果不為0,則有浮點(diǎn)除法軟件缺陷。由于只有在精度要求很高的計(jì)算中才會(huì)出錯(cuò)(發(fā)生的概率是幾十億分之一),Intel管理層認(rèn)為不嚴(yán)重,未修正。更換芯片的費(fèi)用:4億美元。Intel奔騰處理芯片缺陷(PentiumFDIVbug)1994年弗吉尼亞州數(shù)學(xué)教授尼斯利1999年12月3日,美國(guó)航天局的火星基地登陸飛船在試圖登陸火星表面時(shí)失蹤。原因:控制登陸推進(jìn)器的某個(gè)數(shù)據(jù)位在未著地時(shí)就意外更改,導(dǎo)致推進(jìn)器在未著陸時(shí)就被關(guān)閉,飛船墜毀。火星登陸事故(MarsPolarLander)在海灣戰(zhàn)爭(zhēng)中對(duì)抗伊拉克飛毛腿導(dǎo)彈的防御戰(zhàn),其中一枚在沙特阿拉伯的多哈擊斃了28名美軍士兵。原因:一個(gè)很小的系統(tǒng)時(shí)鐘錯(cuò)誤累積起來(lái)就可能延遲14小時(shí),造成跟蹤系統(tǒng)失去準(zhǔn)確度。在多哈襲擊戰(zhàn)中,系統(tǒng)被延遲100多個(gè)小時(shí)。愛(ài)國(guó)者導(dǎo)彈防御系統(tǒng)1991年94年秋,迪斯尼公司發(fā)布了面向兒童的游戲“LionKingAnimatedStorybook”(獅子王歷險(xiǎn)記),進(jìn)行了大量的宣傳和促銷,銷售額可觀。12月26日,開(kāi)始收到大量投訴:游戲無(wú)法正常運(yùn)行,輿論嘩然。原因:沒(méi)有對(duì)市場(chǎng)上的各種PC機(jī)型進(jìn)行測(cè)試,該軟件只能在少數(shù)系統(tǒng)中正常工作,但在大眾常用的系統(tǒng)中不行。迪斯尼的圣誕禮物:1994-1995事故過(guò)程:訂票系統(tǒng)半小時(shí)即癱瘓北京奧運(yùn)訂票網(wǎng)站癱瘓2007年火車票訂票網(wǎng)站:1230612306網(wǎng)站于2011年6月1日正式上線。2012年春節(jié)期間和2012年中秋國(guó)慶長(zhǎng)假來(lái)臨前因訪問(wèn)量過(guò)大而癱瘓。火車票訂票網(wǎng)站:123062014年春運(yùn)購(gòu)票首日,萬(wàn)眾矚目的鐵總12306還是出了故障:出現(xiàn)串號(hào)問(wèn)題。逢節(jié)必癱為什么需要軟件測(cè)試有缺陷的軟件帶給用戶的問(wèn)題不好的感覺(jué),產(chǎn)生不信任感;無(wú)法正常使用;系統(tǒng)崩潰,損害用戶利益;為什么需要軟件測(cè)試有缺陷的軟件帶給軟件企業(yè)的問(wèn)題企業(yè)形象下降,產(chǎn)生信任危機(jī)高額的維護(hù)費(fèi)用產(chǎn)生隱性的商業(yè)損失1.1軟件質(zhì)量Nokia:科技,以人為本IBM:把產(chǎn)品質(zhì)量作為最重要的因素去考慮”微軟:足夠好的軟件華為:為客戶服務(wù)是華為存在的唯一理由
首先、最后和永遠(yuǎn)讓客戶滿意共同的主線--產(chǎn)品質(zhì)量軟件質(zhì)量軟件質(zhì)量具體表現(xiàn)在軟件產(chǎn)品固有的特性,如產(chǎn)品的功能性、可靠性、易使用性、效率、可維護(hù)性、可移植性和安全性等。高質(zhì)量軟件具備的特性滿足用戶的需求;合理處理進(jìn)度、成本、功能的關(guān)系;具備一定的可擴(kuò)展性和靈活性,適應(yīng)需求變化;具備一定的可靠性,能有效處理例外情況;保持成本和性能的平衡。質(zhì)量成本預(yù)防成本;質(zhì)量評(píng)估成本;缺陷修復(fù)成本;1.2軟件測(cè)試1.軟件測(cè)試的發(fā)展歷程20世紀(jì)50-60年代軟件測(cè)試才開(kāi)始與調(diào)試區(qū)別開(kāi)來(lái),成為一種發(fā)現(xiàn)軟件缺陷的活動(dòng)70年代以后軟件技術(shù)的成熟和完善使得軟件測(cè)試的規(guī)模和復(fù)雜度加大,軟件測(cè)試也逐漸形成了一套完整的體系,逐漸走向規(guī)范化。1.軟件測(cè)試的發(fā)展歷程(續(xù))20世紀(jì)80年代早期“質(zhì)量”的號(hào)角才開(kāi)始吹響20世紀(jì)90年代測(cè)試工具終于盛行起來(lái)?與一些發(fā)達(dá)國(guó)家相比,國(guó)內(nèi)測(cè)試工作還存在一定的差距。國(guó)內(nèi)測(cè)試人員所占比例小,但是,在軟件測(cè)試實(shí)現(xiàn)方面都是相當(dāng)?shù)?,而且向產(chǎn)業(yè)化方向發(fā)展。2.軟件測(cè)試的現(xiàn)狀1.2.1軟件測(cè)試的定義Myers認(rèn)為(1979年)“軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程”,明確提出了“尋找錯(cuò)誤”是測(cè)試目的。1983年IEEE對(duì)軟件測(cè)試的定義“使用人工或自動(dòng)手段運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過(guò)程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別”。明確地提出軟件測(cè)試以檢驗(yàn)是否滿足需求為目標(biāo)。2002年,軟件測(cè)試的定義使用人工或者自動(dòng)手段來(lái)運(yùn)行或測(cè)試被測(cè)試件的過(guò)程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求并弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。它是幫助識(shí)別開(kāi)發(fā)完成的計(jì)算機(jī)軟件的正確度(correctness)、完全度(completeness)和質(zhì)量(quality)的軟件過(guò)程;在代碼完成后,通過(guò)運(yùn)行程序或軟件來(lái)查找程序代碼或者軟件系統(tǒng)中的錯(cuò)誤。局限性:不能及時(shí)發(fā)現(xiàn)軟件在需求、設(shè)計(jì)等上的缺陷,不利于保證軟件質(zhì)量。軟件測(cè)試的狹義觀點(diǎn)為了盡早發(fā)現(xiàn)問(wèn)題,降低軟件質(zhì)量成本,將傳統(tǒng)的軟件測(cè)試范圍延伸到需求評(píng)審、設(shè)計(jì)評(píng)審、代碼評(píng)審等活動(dòng)中去。廣義觀點(diǎn)將軟件測(cè)試分為靜態(tài)測(cè)試動(dòng)態(tài)測(cè)試軟件測(cè)試的廣義觀點(diǎn)(1)測(cè)試是為了證明程序有錯(cuò),而不是證明程序無(wú)錯(cuò);(2)一個(gè)好的測(cè)試用例在于它發(fā)現(xiàn)至今沒(méi)有發(fā)現(xiàn)的錯(cuò)誤;(3)一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試;軟件測(cè)試辯證統(tǒng)一觀點(diǎn)“一個(gè)好的測(cè)試用例在于發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤”,體現(xiàn)了軟件測(cè)試的經(jīng)濟(jì)成本觀點(diǎn)。不充分的測(cè)試是不負(fù)責(zé)任的。過(guò)分的測(cè)試是一種資源的浪費(fèi)。軟件測(cè)試的經(jīng)濟(jì)成本觀點(diǎn)注意測(cè)試和調(diào)試的區(qū)別測(cè)試:找錯(cuò)誤(證明程序有錯(cuò))調(diào)試:改錯(cuò)誤(使程序正確)1.2.2軟件測(cè)試的目的軟件測(cè)試的目標(biāo)是盡快盡早地將被測(cè)件中所存在的缺陷找出來(lái),并盡快解決這些缺陷,并評(píng)估被測(cè)件的質(zhì)量水平。缺陷!一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的缺陷。
測(cè)試的“成敗”就在于:能否發(fā)現(xiàn)缺陷!注意:測(cè)試只能說(shuō)明軟件中存在缺陷,而不能證明軟件中不存在缺陷。主要原因是:測(cè)試覆蓋率幾乎不可能達(dá)到100%;去除現(xiàn)有的缺陷可能會(huì)產(chǎn)生新的缺陷;測(cè)試工程師對(duì)產(chǎn)品的理解不能完全代表用戶的理解;測(cè)試的模擬環(huán)境不能完全代表用戶的實(shí)際使用環(huán)境;1.2.3軟件測(cè)試的原則1.可追溯性所有的測(cè)試都應(yīng)追溯到用戶的需求。系統(tǒng)中最嚴(yán)重的錯(cuò)誤是那些導(dǎo)致程序無(wú)法滿足用戶需求的錯(cuò)誤。
2.盡早開(kāi)展預(yù)防性測(cè)試在軟件生命周期各階段都可能產(chǎn)生錯(cuò)誤;缺陷的修改成本隨著階段的推移將急劇上升;缺陷具有放大的特點(diǎn);問(wèn)題發(fā)現(xiàn)越早,解決問(wèn)題的代價(jià)就越小。缺陷存在放大趨勢(shì)3.不可能完全的測(cè)試輸入量太大執(zhí)行路徑太多軟件測(cè)試最致命的缺陷就是:
不能進(jìn)行徹底的測(cè)試。
若X、Y為所有可能的整數(shù),在字長(zhǎng)32位機(jī)上測(cè)試:
X1、Y1
Z1
. . .
Xn、Yn
Zn
測(cè)試次數(shù):n=232232=2641.841019程序PXYZ輸入輸出例1:例2:循環(huán)次數(shù) 01 2………20獨(dú)立路徑數(shù) 51+52+53+……+521≈1014 每個(gè)測(cè)試用例(考慮、執(zhí)行、驗(yàn)證結(jié)果)5分鐘共需測(cè)試時(shí)間 10億年M1D1D2D3D4M2M3M4M5M6M7D5<=20次應(yīng)該針對(duì)用戶最容易遇到的錯(cuò)誤進(jìn)行測(cè)試,以便改進(jìn)測(cè)試的有效性。軟件中有許多錯(cuò)誤用戶遇到的錯(cuò)誤(只占很小比例)4.投入/產(chǎn)出原則不充分的測(cè)試是不負(fù)責(zé)任的;過(guò)分的測(cè)試是一種資源的浪費(fèi);在滿足軟件預(yù)期的質(zhì)量標(biāo)準(zhǔn)時(shí),確定質(zhì)量的投入/產(chǎn)出比。5.80-20原則測(cè)試發(fā)現(xiàn)的錯(cuò)誤中80%很可能起源于20%的模塊中。應(yīng)孤立這些疑點(diǎn)模塊重點(diǎn)測(cè)試。在所測(cè)程序段中,若發(fā)現(xiàn)錯(cuò)誤數(shù)目多,則殘存錯(cuò)誤數(shù)目也比較多。6.設(shè)立獨(dú)立的測(cè)試機(jī)構(gòu)或委托第三方測(cè)試避免測(cè)試自己的程序1.程序員輕易不會(huì)承認(rèn)自己寫(xiě)的程序有錯(cuò)誤;2.程序員的測(cè)試思路有局限性,做測(cè)試時(shí)很容易受到編程思路的影響;3.程序員測(cè)試不具有典型性。7.回歸測(cè)試程序修改后必須進(jìn)行回歸測(cè)試,避免引入新的錯(cuò)誤。8.設(shè)計(jì)周密的測(cè)試用例軟件測(cè)試的本質(zhì)就是針對(duì)要測(cè)試的內(nèi)容確定一組測(cè)試用例。測(cè)試用例至少應(yīng)包括:執(zhí)行測(cè)試用例前,應(yīng)滿足的前提條件輸入預(yù)期輸出設(shè)計(jì)測(cè)試用例時(shí),應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件。人們對(duì)軟件測(cè)試的誤解誤解一:測(cè)試是開(kāi)發(fā)后期的一個(gè)階段軟件測(cè)試不等于程序測(cè)試,軟件測(cè)試應(yīng)該涵蓋整個(gè)軟件生命周期;誤解二:測(cè)試技術(shù)要求不高,比編程容易多了好的測(cè)試人員不僅要掌握各種測(cè)試技術(shù)和測(cè)試工具,還要具備豐富的編程經(jīng)驗(yàn)和對(duì)BUG的敏感。誤解三:軟件測(cè)試是測(cè)試人員的事,與開(kāi)發(fā)人員無(wú)關(guān)。誤解四:好的測(cè)試一定要使用很多的測(cè)試工具。誤解五:軟件測(cè)試就是運(yùn)行一下軟件,看看結(jié)果對(duì)不對(duì)。誤解六:軟件出了重大問(wèn)題,是測(cè)試人員的事。1.3軟件缺陷缺陷:最終產(chǎn)品同用戶的期望不一致。功能錯(cuò)誤;功能遺漏;超出需求的部分;性能不符合要求;……世上不存在沒(méi)有缺陷的軟件軟件缺陷的范圍很廣:
1.軟件未達(dá)到產(chǎn)品說(shuō)明書(shū)要求的功能;2.軟件出現(xiàn)了產(chǎn)品說(shuō)明書(shū)指明不會(huì)出現(xiàn)的錯(cuò)誤;3.軟件功能超出產(chǎn)品說(shuō)明書(shū)指明范圍;4.軟件未達(dá)到產(chǎn)品說(shuō)明書(shū)雖未指出但應(yīng)達(dá)到的目標(biāo);5.軟件難以理解、不易使用、運(yùn)行速度緩慢、最終用戶認(rèn)為不好等。難以說(shuō)清的軟件缺陷如果軟件中的缺陷沒(méi)有被人發(fā)現(xiàn)它算不算軟件缺陷?
眼見(jiàn)為實(shí)古諺語(yǔ):“一片樹(shù)葉飄落在森林中沒(méi)有人聽(tīng)見(jiàn),誰(shuí)能說(shuō)它發(fā)出了聲音?”1.3軟件測(cè)試分類軟件測(cè)試按階段劃分單元測(cè)試系統(tǒng)測(cè)試驗(yàn)收測(cè)試按測(cè)試技術(shù)灰盒測(cè)試白盒測(cè)試黑盒測(cè)試是否執(zhí)行程序動(dòng)態(tài)測(cè)試靜態(tài)測(cè)試回歸測(cè)試集成測(cè)試
一、按照開(kāi)發(fā)階段劃分:?jiǎn)卧獪y(cè)試(UnitTesting)集成測(cè)試(IntegrationTesting)系統(tǒng)測(cè)試(SystemTesting)驗(yàn)收測(cè)試(VerificationTesting)二、按測(cè)試實(shí)施組織劃分開(kāi)發(fā)方測(cè)試用戶測(cè)試(β測(cè)試)第三方測(cè)試三、按是否執(zhí)行軟件(程序)
靜態(tài)測(cè)試不運(yùn)行被測(cè)程序,而是通過(guò)在對(duì)軟件進(jìn)行分析、檢查和審閱達(dá)到測(cè)試目的的動(dòng)態(tài)測(cè)試通過(guò)運(yùn)行軟件來(lái)檢驗(yàn)軟件的動(dòng)態(tài)行為和運(yùn)行結(jié)果的正確性靜態(tài)測(cè)試①代碼檢查:代碼審查、代碼走查、桌面檢查②靜態(tài)分析;③技術(shù)評(píng)審;靜態(tài)測(cè)試除了進(jìn)行人工測(cè)試外,還可以借助于計(jì)算機(jī)輔助分析。靜態(tài)測(cè)試工具:Logiscope、PcLint例如:
PI=3.14;
a=0;
while(a<100){
b=b+100;
c=b*PI;
}程序存在什么問(wèn)題?動(dòng)態(tài)測(cè)試(按是否了解源代碼)黑盒測(cè)試(Black-BoxTesting)白盒測(cè)試(White-BoxTesting)灰盒測(cè)試(Gray-BoxTesting)黑盒測(cè)試邊界分析;等價(jià)類劃分;因果圖;判定表;正交試驗(yàn)設(shè)計(jì);狀態(tài)測(cè)試;場(chǎng)景測(cè)試;白盒測(cè)試邏輯覆蓋基路徑測(cè)試數(shù)據(jù)流測(cè)試域測(cè)試程序插裝變異測(cè)試四、按是否使用工具劃分手工測(cè)試自動(dòng)化測(cè)試五、按測(cè)試行為劃分有計(jì)劃測(cè)試隨機(jī)測(cè)試測(cè)試類型按照企業(yè)中實(shí)際工作需要,測(cè)試包含下面的類型:功能測(cè)試功能測(cè)試的基本方法是構(gòu)造一些合理輸入(在需求范圍之內(nèi)),檢查輸出是否與期望的相同。性能測(cè)試性能測(cè)試主要測(cè)試軟件的性能,包括負(fù)載測(cè)試,強(qiáng)度測(cè)試,數(shù)據(jù)庫(kù)容量測(cè)試,基準(zhǔn)測(cè)試以及基準(zhǔn)測(cè)試用戶界面測(cè)試測(cè)試用戶界面的風(fēng)格是否滿足客戶要求,文字是否正確,頁(yè)面是否美觀,文字,圖片組合是否完美,操作是否友好等等。數(shù)據(jù)和數(shù)據(jù)庫(kù)完整性測(cè)試測(cè)試關(guān)系型數(shù)據(jù)庫(kù)完整性原則以及數(shù)據(jù)合理性測(cè)試。安全性和訪問(wèn)控制測(cè)試應(yīng)用程序級(jí)別的安全性(對(duì)數(shù)據(jù)或業(yè)務(wù)功能的訪問(wèn))系統(tǒng)級(jí)別的安全性(對(duì)系統(tǒng)的登錄或遠(yuǎn)程訪問(wèn))健壯性測(cè)試健壯性是指在異常情況下,軟件還能正常運(yùn)行的能力。兼容性測(cè)試測(cè)試軟件在一個(gè)特定的硬件/軟件/操作系統(tǒng)/網(wǎng)絡(luò)等環(huán)境下的性能如何。安裝/反安裝測(cè)試安裝測(cè)試包括測(cè)試安裝代碼以及安裝手冊(cè)。故障轉(zhuǎn)移和恢復(fù)測(cè)試
指當(dāng)主機(jī)軟硬件發(fā)生災(zāi)難時(shí)候,備份機(jī)器是否能夠正常啟動(dòng),使系統(tǒng)是否可以正常運(yùn)行。文檔測(cè)試文檔測(cè)試主要包括需求文檔測(cè)試,設(shè)計(jì)文檔測(cè)試等。本地化測(cè)試(語(yǔ)言測(cè)試)
是指為各個(gè)地方開(kāi)發(fā)產(chǎn)品的測(cè)試,如英文版,中文版等等,包括程序是否能夠正常運(yùn)行,界面是否符合當(dāng)?shù)亓?xí)俗等等,特別測(cè)試在A語(yǔ)言環(huán)境下運(yùn)行B語(yǔ)言軟件,是否正常。分辨率測(cè)試測(cè)試在不同分辨率下,界面的美觀程度。α測(cè)試α測(cè)試是指軟件開(kāi)發(fā)公司組織內(nèi)部人員模擬各類用戶行對(duì)即將面市軟件產(chǎn)品(稱為α版本)進(jìn)行測(cè)試。α測(cè)試的關(guān)鍵在于盡可能逼真地模擬實(shí)際運(yùn)行環(huán)境和用戶對(duì)軟件產(chǎn)品的操作。經(jīng)過(guò)α測(cè)試調(diào)整的軟件產(chǎn)品稱為β版本。
β測(cè)試β測(cè)試是指軟件開(kāi)發(fā)公司組織各方面的典型用戶在日常工作中實(shí)際使用β版本,并要求用戶報(bào)告異常情況、提出批評(píng)意見(jiàn)。然后軟件開(kāi)發(fā)公司再對(duì)β版本進(jìn)行改錯(cuò)和完善。練習(xí)請(qǐng)例舉出10各你在生活中遇到的缺陷,并簡(jiǎn)單說(shuō)明給你帶來(lái)的影響或不便。問(wèn)題與討論軟件測(cè)試模型與過(guò)程本章內(nèi)容軟件測(cè)試模型軟件測(cè)試流程軟件的一般實(shí)現(xiàn)過(guò)程測(cè)試與軟件開(kāi)發(fā)各階段的關(guān)系軟件開(kāi)發(fā)是一個(gè)自頂向下,逐步細(xì)化的過(guò)程。需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼單元測(cè)試集成測(cè)試系統(tǒng)測(cè)試需求規(guī)格說(shuō)明概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼瀑布式生命周期測(cè)試過(guò)程是依相反順序安排的,是自底向上,逐步集成的過(guò)程。2.1軟件測(cè)試模型V模型W模型H模型X模型測(cè)試前置模型(測(cè)試驅(qū)動(dòng)模型)思考軟件是什么?軟件測(cè)試需要測(cè)什么?V模型由PaulRook在20世紀(jì)80年代后期提出的。從左到右,描述了基本的開(kāi)發(fā)過(guò)程和測(cè)試行為。非常明確地標(biāo)明了測(cè)試過(guò)程中存在的不同級(jí)別,描述了這些測(cè)試階段和開(kāi)發(fā)過(guò)程期間各階段的對(duì)應(yīng)關(guān)系。需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼單元測(cè)試集成測(cè)試系統(tǒng)測(cè)試驗(yàn)收測(cè)試V模型(測(cè)試與開(kāi)發(fā)階段對(duì)應(yīng)關(guān)系)單元和集成測(cè)試檢測(cè)程序的執(zhí)行是否滿足軟件設(shè)計(jì)的要求;系統(tǒng)測(cè)試檢測(cè)系統(tǒng)功能、性能的質(zhì)量特性是否達(dá)到系統(tǒng)要求的指標(biāo);驗(yàn)收測(cè)試確定軟件的實(shí)現(xiàn)是否滿足用戶需要或合同的要求。V模型的缺陷僅僅把測(cè)試過(guò)程作為在需求分析、系統(tǒng)設(shè)計(jì)及編碼之后的一個(gè)階段。只針對(duì)程序進(jìn)行的尋找錯(cuò)誤的活動(dòng),忽視了測(cè)試活動(dòng)對(duì)需求分析,系統(tǒng)設(shè)計(jì)等活動(dòng)的驗(yàn)證和確認(rèn)的功能,直到后期的驗(yàn)收測(cè)試才被發(fā)現(xiàn)。W模型W模型由Evolutif公司提出。W模型從V模型演化過(guò)來(lái),實(shí)際上開(kāi)發(fā)是V,測(cè)試也是與此并行的V。相對(duì)于V模型,W模型增加了軟件各開(kāi)發(fā)階段中應(yīng)同步進(jìn)行的驗(yàn)證和確認(rèn)活動(dòng)。需求測(cè)試設(shè)計(jì)需求分析集成測(cè)試設(shè)計(jì)概要設(shè)計(jì)單元測(cè)試設(shè)計(jì)詳細(xì)設(shè)計(jì)單元測(cè)試編碼驗(yàn)收測(cè)試交付系統(tǒng)測(cè)試實(shí)施集成測(cè)試集成W模型用戶需求驗(yàn)收測(cè)試設(shè)計(jì)W模型優(yōu)點(diǎn)軟件測(cè)試貫穿于整個(gè)開(kāi)發(fā)周期;測(cè)試與開(kāi)發(fā)可同步進(jìn)行;每個(gè)軟件開(kāi)發(fā)活動(dòng)結(jié)束后就可以執(zhí)行相應(yīng)的測(cè)試,如:在需求分析結(jié)束后,就可以進(jìn)行需求分析測(cè)試。W模型缺點(diǎn)在W模型中,需求、設(shè)計(jì)、編碼等活動(dòng)被視為串行的,同時(shí),測(cè)試和開(kāi)發(fā)活動(dòng)也保持著一種線性的前后關(guān)系,上一階段完全結(jié)束,才可正式開(kāi)始下一個(gè)階段工作。這樣就無(wú)法支持迭代的開(kāi)發(fā)模型。對(duì)于當(dāng)前軟件開(kāi)發(fā)復(fù)雜多變的情況,W模型并不能解除測(cè)試管理面臨的困惑。X模型X模型很好地處理測(cè)試與開(kāi)發(fā)的交接過(guò)程(交接的過(guò)程是一個(gè)時(shí)間段,而不是一個(gè)點(diǎn))左邊描述的是針對(duì)單獨(dú)程序片段所進(jìn)行的相互分離的編碼和測(cè)試,此后將進(jìn)行頻繁的交接,通過(guò)集成最終合成為可執(zhí)行的程序,然后再對(duì)這些可執(zhí)行程序進(jìn)行測(cè)試。己通過(guò)集成測(cè)試的成品可以進(jìn)行封裝并提交給用戶,也可以作為更大規(guī)模和范圍內(nèi)集成的一部分。多根并行的曲線表示變更可以在各個(gè)部分發(fā)生。X模型還定位了探索性測(cè)試,這是不進(jìn)行事先計(jì)劃的特殊類型的測(cè)試,給有經(jīng)驗(yàn)的測(cè)試人員在測(cè)試計(jì)劃之外發(fā)現(xiàn)更多的軟件缺陷。H模型測(cè)試準(zhǔn)備測(cè)試執(zhí)行測(cè)試流程其他流程測(cè)試就緒點(diǎn)H模型示意圖H模型特點(diǎn)H模型充分地體現(xiàn)了測(cè)試過(guò)程。H模型說(shuō)明:1、軟件測(cè)試不僅僅指測(cè)試的執(zhí)行,還包括很多其他的活動(dòng)。2、軟件測(cè)試是一個(gè)獨(dú)立的流程,貫穿產(chǎn)品的整個(gè)開(kāi)發(fā)周期,與其它流程并發(fā)進(jìn)行。3、軟件測(cè)試要盡早準(zhǔn)備,盡早執(zhí)行。2.2軟件測(cè)試流程軟件測(cè)試工作必須要通過(guò)制定測(cè)試計(jì)劃、測(cè)試設(shè)計(jì)、測(cè)試開(kāi)發(fā)、測(cè)試執(zhí)行、測(cè)試評(píng)估幾個(gè)階段來(lái)完成。軟件測(cè)試流程軟件測(cè)試流程
回歸測(cè)試制定測(cè)試計(jì)劃
測(cè)試設(shè)計(jì)
測(cè)試開(kāi)發(fā)
執(zhí)行測(cè)試評(píng)估測(cè)試缺陷測(cè)試計(jì)劃是對(duì)每個(gè)產(chǎn)品,或是對(duì)各個(gè)開(kāi)發(fā)階段的產(chǎn)品開(kāi)展測(cè)試的策略。一個(gè)完整的測(cè)試計(jì)劃應(yīng)該包含以下幾個(gè)方面:對(duì)測(cè)試范圍的界定;風(fēng)險(xiǎn)的確定;資源的規(guī)劃;時(shí)間表的制定;(1)制定測(cè)試計(jì)劃測(cè)試設(shè)計(jì)階段要設(shè)計(jì)測(cè)試用例和測(cè)試過(guò)程,要保證測(cè)試用例完全覆蓋測(cè)試需求。測(cè)試設(shè)計(jì)階段最重要的是如何將測(cè)試需求分解,如何設(shè)計(jì)測(cè)試用例。(2)測(cè)試設(shè)計(jì)a.準(zhǔn)備測(cè)試資源(1)測(cè)試技術(shù)準(zhǔn)備(2)配置軟件、硬件環(huán)境(3)人員b.獲得測(cè)試數(shù)據(jù)
(1)正常事務(wù)的測(cè)試(2)使用無(wú)效數(shù)據(jù)的測(cè)試(3)測(cè)試開(kāi)發(fā)c.測(cè)試腳本所謂腳本,是完整的一系列相關(guān)終端的活動(dòng)。一般測(cè)試腳本有5個(gè)級(jí)別:?jiǎn)卧_本并發(fā)腳本集成腳本回歸腳本強(qiáng)度/性能腳本d.輔助測(cè)試工具優(yōu)秀的辦公處理軟件錯(cuò)誤跟蹤系統(tǒng)自動(dòng)測(cè)試工具軟件分析工具好的操作系統(tǒng)多樣化平臺(tái)(4)測(cè)試執(zhí)行測(cè)試執(zhí)行的過(guò)程由4個(gè)部分組成:輸入:要完成工作所必須的入口標(biāo)準(zhǔn)或可交付的結(jié)果。執(zhí)行過(guò)程:從輸入到輸出的過(guò)程或工作任務(wù)。檢查過(guò)程:確定輸出是否滿足標(biāo)準(zhǔn)的處理過(guò)程。輸出:推出標(biāo)準(zhǔn)或工作流程產(chǎn)生的可交付的結(jié)果。軟件測(cè)試的主要評(píng)測(cè)方法包括:覆蓋評(píng)測(cè)質(zhì)量評(píng)測(cè)性能評(píng)測(cè)(5)評(píng)估測(cè)試a.覆蓋評(píng)測(cè)覆蓋指標(biāo)提供了“測(cè)試的完全程度如何?”這一問(wèn)題的答案。最常用的覆蓋評(píng)測(cè)是基于需求的測(cè)試覆蓋和基于代碼的測(cè)試覆蓋。b.質(zhì)量評(píng)測(cè)在測(cè)試過(guò)程中,已發(fā)現(xiàn)缺陷的評(píng)估提供了最佳的軟件質(zhì)量指標(biāo)。
c.性能評(píng)測(cè)評(píng)估測(cè)試對(duì)象的性能時(shí),側(cè)重于獲取與行為相關(guān)的數(shù)據(jù),如響應(yīng)時(shí)間、事務(wù)處理數(shù)、內(nèi)存占用率、操作可靠性等。
測(cè)試用例測(cè)試用例:是為某個(gè)特定測(cè)試目標(biāo)而設(shè)計(jì)的,是測(cè)試操作過(guò)程序列、條件、期望結(jié)果及相關(guān)數(shù)據(jù)的一個(gè)特定的集合。使用測(cè)試用例的好處避免盲目測(cè)試,提高測(cè)試效率;估算測(cè)試工作量;降低工作強(qiáng)度、縮短項(xiàng)目周期;方便書(shū)寫(xiě)軟件測(cè)試缺陷報(bào)告;測(cè)試用例包括:測(cè)試目標(biāo):為什么測(cè)試測(cè)試對(duì)象:測(cè)什么測(cè)試環(huán)境:執(zhí)行測(cè)試用例運(yùn)行的環(huán)境測(cè)試前提:什么條件下測(cè)試輸入數(shù)據(jù)操作步驟預(yù)期結(jié)果設(shè)計(jì)時(shí)需考慮如下基本因素:測(cè)試用例應(yīng)具有代表性、典型性;考慮正確的輸入,錯(cuò)誤或異常的輸入;不僅檢查程序是否實(shí)現(xiàn)預(yù)期功能,還應(yīng)檢查程序是否作了不該做的事;考慮用戶實(shí)際使用場(chǎng)景;測(cè)試用例要基于用戶實(shí)際的可能場(chǎng)景,從用戶角度模擬系統(tǒng)的輸入測(cè)試用例模板課堂練習(xí):說(shuō)明:用戶pass/pass為有效登錄用戶;用戶past/pass為無(wú)效登錄用戶;用戶pass’jean/password為有效登錄用戶;練習(xí)有一個(gè)“計(jì)算下一天”的程序,請(qǐng)?jiān)O(shè)計(jì)測(cè)試輸入數(shù)據(jù)。軟件測(cè)試管理計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院本章內(nèi)容測(cè)試團(tuán)隊(duì)建設(shè)與管理軟件測(cè)試計(jì)劃缺陷管理測(cè)試系統(tǒng)的組成測(cè)試管理測(cè)試管理的內(nèi)容包括:測(cè)試團(tuán)隊(duì)建設(shè)測(cè)試過(guò)程和方法建設(shè)測(cè)試管理測(cè)試執(zhí)行測(cè)試活動(dòng)測(cè)試活動(dòng)包括:靜態(tài)評(píng)審需求評(píng)審、概要設(shè)計(jì)評(píng)審、詳細(xì)設(shè)計(jì)評(píng)審動(dòng)態(tài)測(cè)試單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試版本發(fā)布維護(hù)測(cè)試活動(dòng)的輸入輸出標(biāo)準(zhǔn):見(jiàn)教材P253.1測(cè)試團(tuán)隊(duì)建設(shè)與管理相傳釋迦牟尼曾問(wèn)他的弟子:“一滴水怎樣才能不干涸?”弟子們面面相覷,無(wú)法回答。釋迦牟尼說(shuō):“把它放到大海里去?!眰€(gè)人再完美,也就是一滴水;一個(gè)優(yōu)秀的團(tuán)隊(duì)就是大海。3.1測(cè)試團(tuán)隊(duì)建設(shè)與管理團(tuán)隊(duì)概念
團(tuán)隊(duì)是指一群互助互利、團(tuán)結(jié)一致為統(tǒng)一目標(biāo)和標(biāo)準(zhǔn)而堅(jiān)毅奮斗到底的一群人。
團(tuán)隊(duì)不僅強(qiáng)調(diào)個(gè)人的業(yè)務(wù)成果,更強(qiáng)調(diào)團(tuán)隊(duì)的整體業(yè)績(jī)。
1+1>2
古人云:人心齊,泰山移。在非洲的草原上如果見(jiàn)到羚羊在奔逃,那一定是獅子來(lái)了;如果見(jiàn)到獅子在躲避,那就是象群發(fā)怒了;如果見(jiàn)到成百上千的獅子和大象集體逃命的壯觀景象,那是什么來(lái)了呢?——是螞蟻軍團(tuán)來(lái)了!
集大家智慧于一體的團(tuán)隊(duì),力量才是最強(qiáng)大的!團(tuán)隊(duì)的力量3.1.1測(cè)試團(tuán)隊(duì)建設(shè)招募測(cè)試人員;測(cè)試團(tuán)隊(duì)制度建設(shè);測(cè)試流程建設(shè);測(cè)試人員職責(zé)分工;團(tuán)隊(duì)成員能力的提高;測(cè)試團(tuán)隊(duì)的建設(shè)有效的軟件測(cè)試團(tuán)隊(duì)的特征:對(duì)軟件項(xiàng)目的測(cè)試目標(biāo)有清晰的理解;對(duì)每位測(cè)試工程師的角色和職責(zé)有明確的期望;以目標(biāo)為導(dǎo)向;高度的互助合作;測(cè)試團(tuán)隊(duì)的基本職責(zé):盡早地發(fā)現(xiàn)盡可能多的缺陷;協(xié)助開(kāi)發(fā)人員盡快解決產(chǎn)品中的缺陷;協(xié)助項(xiàng)目管理人員制定合理的開(kāi)發(fā)計(jì)劃和項(xiàng)目測(cè)試計(jì)劃;對(duì)缺陷進(jìn)行跟蹤、分析和總結(jié);評(píng)估軟件產(chǎn)品的當(dāng)前質(zhì)量狀態(tài);培養(yǎng)測(cè)試工程師的測(cè)試技能;測(cè)試團(tuán)隊(duì)常見(jiàn)問(wèn)題:目標(biāo)不明確;角色和職責(zé)不明確;項(xiàng)目結(jié)構(gòu)不健全;工作缺乏投入;溝通不夠:沒(méi)有溝通就沒(méi)有效率唐僧團(tuán)隊(duì)3.1.2測(cè)試小組分類按測(cè)試小組的獨(dú)立性來(lái)劃分可分為:非獨(dú)立測(cè)試小組;相對(duì)獨(dú)立測(cè)試小組;獨(dú)立測(cè)試小組;各種測(cè)試組織的優(yōu)點(diǎn)和缺點(diǎn)見(jiàn)教材28頁(yè)1.計(jì)算機(jī)專業(yè)技能測(cè)試專業(yè)技能測(cè)試?yán)碚摐y(cè)試技術(shù)測(cè)試工具測(cè)試管理3.1.3測(cè)試團(tuán)隊(duì)成員的合適人選1.計(jì)算機(jī)專業(yè)技能(續(xù))軟件編程技術(shù)程序編寫(xiě)和調(diào)式測(cè)試腳本編寫(xiě)和調(diào)試計(jì)算機(jī)基礎(chǔ)知識(shí)網(wǎng)絡(luò)操作系統(tǒng):Windows,Linux,Unix,DOS等;數(shù)據(jù)庫(kù):SQLserver、Orical、MySQL應(yīng)用服務(wù)器軟件企業(yè)涉及的領(lǐng)域金融行業(yè)證券行業(yè)電子商務(wù)醫(yī)藥行業(yè)教育行業(yè)電信行業(yè)……2.行業(yè)領(lǐng)域知識(shí)3.個(gè)人素養(yǎng)自信心責(zé)任心專注力細(xì)心耐心洞察力懷疑精神、探索精神溝通能力浮躁的人容易問(wèn):我到底該學(xué)什么;----別問(wèn),學(xué)就對(duì)了;
浮躁的人容易問(wèn):XXX有錢(qián)途嗎;----行行出狀元;
浮躁的人容易說(shuō):我要中文版!我英文不行!----不行就學(xué);浮躁的人經(jīng)常說(shuō):今天放松一下,從明天開(kāi)始我一定認(rèn)真學(xué);
浮躁的人分兩種:只觀望而不學(xué)的人;只學(xué)而不堅(jiān)持的人;
浮躁的人永遠(yuǎn)不是一個(gè)高手。請(qǐng)不要做浮躁的IT人4.團(tuán)隊(duì)協(xié)作團(tuán)隊(duì)協(xié)作是一種為達(dá)到既定目標(biāo)所顯現(xiàn)出來(lái)的自愿合作和協(xié)同努力的精神。
測(cè)試是一門(mén)武功,流程是套路、工具是武器,有簡(jiǎn)單的花拳秀腿,也有深?yuàn)W的少林武功!測(cè)試好比戰(zhàn)爭(zhēng),知己知彼,方能百戰(zhàn)不殆!測(cè)試好比破案,精心推斷,方能柳暗花明!有人說(shuō)世界不缺少美,而是缺少發(fā)現(xiàn)。其實(shí)軟件不缺少問(wèn)題,而是缺少發(fā)現(xiàn)!
以精深的少林武功、用藝術(shù)工程的眼光、破案的縝密思維去發(fā)現(xiàn)軟件世界“美”吧!軟件測(cè)試職業(yè)發(fā)展方向可以分為:管理路線技術(shù)路線管理技術(shù)路線
結(jié)合當(dāng)前國(guó)內(nèi)外軟件測(cè)試行業(yè)現(xiàn)狀提出的職業(yè)發(fā)展流程,提出了“雙V模型”軟件測(cè)試職業(yè)發(fā)展白盒測(cè)試工程師性能測(cè)試工程師測(cè)試工程師管理技術(shù)測(cè)試主管配置管理工程師質(zhì)量保證工程師業(yè)務(wù)測(cè)試工程師自動(dòng)化測(cè)試工程師配置管理經(jīng)理質(zhì)量保證經(jīng)理產(chǎn)品經(jīng)理業(yè)務(wù)專家測(cè)試經(jīng)理資深自動(dòng)化測(cè)試工程師資深白盒測(cè)試工程師資深性能測(cè)試工程師安全測(cè)試工程師測(cè)試總監(jiān)咨詢域?qū)<矣蚋呒?jí)中級(jí)初級(jí)軟件測(cè)試工程師就業(yè)形勢(shì)軟件測(cè)試工程師是目前IT行業(yè)短缺的金貴人才,未來(lái)5年IT行業(yè)最炙手可熱的高薪職位。中國(guó)軟件業(yè)每年新增約20萬(wàn)測(cè)試崗位就業(yè)機(jī)會(huì),而企業(yè)、學(xué)校培養(yǎng)出的測(cè)試人才卻不足需求量的1/10,測(cè)試人才需求與供給間的差距仍在拉大。軟件測(cè)試人才緊缺:中國(guó)軟件產(chǎn)業(yè)正在快速增長(zhǎng),需要大量軟件相關(guān)人才;軟件企業(yè)的發(fā)展要求軟件測(cè)試人才達(dá)到一個(gè)合適的比例。軟件企業(yè)開(kāi)始重視軟件測(cè)試,但由于歷史的原因,找不到合適的軟件測(cè)試人員。測(cè)試人員職位工作職責(zé)
1、負(fù)責(zé)軟件系統(tǒng)測(cè)試驗(yàn)證工作,包括測(cè)試需求分析、測(cè)試方案設(shè)計(jì)、測(cè)試用例設(shè)計(jì)、腳本以及測(cè)試代碼開(kāi)發(fā)、測(cè)試執(zhí)行等。
2、編寫(xiě)軟件系統(tǒng)幫助文檔,維護(hù)系統(tǒng)百科網(wǎng)站;
3、對(duì)其他部門(mén)人員進(jìn)行軟件系統(tǒng)使用培訓(xùn)與功能答疑任職要求
1、良好的軟件基礎(chǔ)知識(shí),了解軟件工程。
2、掌握軟件測(cè)試?yán)碚摵头椒ā?/p>
3、具有較強(qiáng)的學(xué)習(xí)能力,能在短時(shí)間內(nèi)理解軟件的設(shè)計(jì)思想并掌握操作流程。
4、工作細(xì)致,嚴(yán)謹(jǐn),具有良好的分析、溝通和表達(dá)能力,以及良好的文檔寫(xiě)作能力。
5、1年以上軟件測(cè)試經(jīng)驗(yàn)。例:3.2軟件測(cè)試計(jì)劃測(cè)試與撈魚(yú)有人把開(kāi)發(fā)比作打靶,目標(biāo)明確,即按照需求說(shuō)明書(shū)去實(shí)現(xiàn)系統(tǒng)的功能。把測(cè)試比作撈魚(yú),目標(biāo)不明確,自己判斷哪些地方魚(yú)多,就去哪些地方撈;如果只撈大魚(yú)(嚴(yán)重缺陷),網(wǎng)眼就可以大些、撒網(wǎng)區(qū)域相對(duì)比較集中(測(cè)試點(diǎn)集中在主要功能)。如果想把大大小小的魚(yú)撈上來(lái),網(wǎng)眼就要小、普遍撒網(wǎng),不放過(guò)任何一塊區(qū)域(測(cè)試點(diǎn)遍及所有功能)。3.2軟件測(cè)試計(jì)劃在測(cè)試計(jì)劃活動(dòng)中,要確認(rèn)測(cè)試目標(biāo)、范圍和需求,然后制定測(cè)試策略、并對(duì)測(cè)試任務(wù)、時(shí)間、資源、成本和風(fēng)險(xiǎn)等進(jìn)行估算或者評(píng)估。在測(cè)試計(jì)劃中,需要解決的問(wèn)題:測(cè)試的目標(biāo)和范圍;測(cè)試工期估算、進(jìn)度安排和資源配置;測(cè)試風(fēng)險(xiǎn)評(píng)估;確定不同測(cè)試階段的過(guò)渡條件;測(cè)試版本的管理;測(cè)試計(jì)劃模版測(cè)試計(jì)劃(GB8567——88).docSOVO網(wǎng)站(第二版)系統(tǒng)測(cè)試計(jì)劃書(shū).doc3.3缺陷管理什么是缺陷缺陷分類缺陷管理流程缺陷數(shù)據(jù)分析測(cè)試有效性度量缺陷管理工具1.什么是缺陷?功能沒(méi)有實(shí)現(xiàn)或與規(guī)格說(shuō)明不一致;不能工作(死機(jī)、沒(méi)反應(yīng));不兼容;邊界條件未做處理;界面、消息、提示、幫助不夠準(zhǔn)確;屏幕顯示、打印結(jié)果不正確;響應(yīng)速度慢;……舉例1文本文件保存錯(cuò)誤:在WindowsXP桌面上新建一個(gè)文本文檔,輸入“聯(lián)通”兩個(gè)字,并保存退出。退出后再次打開(kāi)這個(gè)文本文件時(shí),剛才輸入的內(nèi)容變成了亂碼。舉例2替換字符串長(zhǎng)度未作限定:Word2000中,如果替換字符串長(zhǎng)度過(guò)長(zhǎng),則會(huì)引起程序崩潰。在Word中輸入:=rand(200,99)回車
會(huì)出現(xiàn)一大段文字。舉例3共享文件夾名超長(zhǎng)時(shí)提示錯(cuò)誤:WindowsXP支持的最大共享文件夾名長(zhǎng)度為80個(gè)英文字母或40個(gè)漢字,但設(shè)置共享文件夾名時(shí)可輸入的范圍是80個(gè)英文字符或80個(gè)漢字,如果共享文件夾名在41~80個(gè)漢字之間,系統(tǒng)會(huì)提示“該共享名包含無(wú)效的字符”。其實(shí)真正的原因是共享文件夾名超長(zhǎng)。例舉5個(gè)你在使用軟件過(guò)程中遇到的軟件缺陷。功能方面;性能方面;安全方面;兼容性方面;課堂練習(xí)缺陷的處理方式郎中治病的故事
在中國(guó)古代,有一家三兄弟全是郎中。其中老三是名醫(yī),人們問(wèn)他:“你們兄弟三人誰(shuí)的醫(yī)術(shù)最高?”
他回答說(shuō):“我常用猛藥給病危者醫(yī)治,偶爾有些病危者被我救活,于是我的醫(yī)術(shù)遠(yuǎn)近聞名并成了名醫(yī)。我二哥通常在人們剛剛生病的時(shí)候馬上就治愈他們,臨近村莊的人說(shuō)他是好郎中。我大哥不外出治病,他深知人們生病的原因,所以能夠預(yù)防家里人生病,他的醫(yī)術(shù)只有我們家里才知道?!崩洗笾尾〉姆绞阶罡呙魈岣哕浖|(zhì)量最好的辦法是:在開(kāi)發(fā)過(guò)程中有效地防止工作成果產(chǎn)生缺陷,將高質(zhì)量?jī)?nèi)建于開(kāi)發(fā)過(guò)程之中。提高軟件質(zhì)量措施:提高技術(shù)水平規(guī)范化管理老二治病的方式就是醫(yī)院的模式當(dāng)工作成果剛剛產(chǎn)生時(shí)馬上進(jìn)行質(zhì)量檢查,及時(shí)找出并消除工作成果中的缺陷。最常用的方法技術(shù)評(píng)審軟件測(cè)試過(guò)程檢查老三治病的方式代價(jià)最高可是在現(xiàn)實(shí)之中,大多數(shù)軟件企業(yè)采用老三的方式來(lái)對(duì)付質(zhì)量問(wèn)題。典型現(xiàn)象是:在軟件交付之前,沒(méi)有及時(shí)消除缺陷。2.缺陷分類為了更好地分析缺陷,需要對(duì)缺陷在嚴(yán)重程度、優(yōu)先級(jí)以及狀態(tài)上加以區(qū)分。缺陷優(yōu)先級(jí);缺陷狀態(tài);缺陷起源;缺陷來(lái)源;缺陷嚴(yán)重級(jí)別缺陷優(yōu)先級(jí)級(jí)別描述
立即解決(Immediately)缺陷必須被立即解決。正常排隊(duì)(NormalQueue)缺陷需要正常排隊(duì)等待修復(fù)或列入軟件發(fā)布清單。不緊急(NotUrgent)缺陷可以在方便時(shí)被糾正。缺陷狀態(tài)缺陷狀態(tài)描述已提交(Submitted)已提交的缺陷確認(rèn)(Open)確認(rèn)“提交的缺陷”,等待處理已拒絕(Rejected)拒絕“提交的缺陷”,不需要修復(fù)或不是缺陷已解決(Resolved)缺陷被修復(fù)已關(guān)閉(Closed)確認(rèn)被修復(fù)的缺陷,將其關(guān)閉缺陷起源起源描述需求(Requirement)在需求階段發(fā)現(xiàn)的缺陷架構(gòu)(Architecture)在架構(gòu)階段發(fā)現(xiàn)的缺陷設(shè)計(jì)(Design)在設(shè)計(jì)階段發(fā)現(xiàn)的缺陷代碼(Code)在編碼階段發(fā)現(xiàn)的缺陷測(cè)試(Test)在測(cè)試階段發(fā)現(xiàn)的缺陷缺陷嚴(yán)重級(jí)別缺陷嚴(yán)重等級(jí)描述嚴(yán)重缺陷(Critical)不能執(zhí)行正常工作功能或重要功能?;蛘呶<叭松戆踩?。較嚴(yán)重缺陷(Major)嚴(yán)重地影響系統(tǒng)要求或基本功能的實(shí)現(xiàn),且沒(méi)有辦法更正。一般缺陷(AverageServerity)嚴(yán)重地影響系統(tǒng)要求或基本功能的實(shí)現(xiàn),但存在合理的更正辦法。次要缺陷(Minor)使操作者不方便或遇到麻煩,但它不影響執(zhí)行工作功能或重要功能。改進(jìn)型缺陷(Enhancement)其它錯(cuò)誤在缺陷管理系統(tǒng)中,通常將缺陷的狀態(tài)分為:新缺陷(New):測(cè)試中新發(fā)現(xiàn)的缺陷;打開(kāi)(Open):被確認(rèn)并分配給開(kāi)發(fā)人員處理拉;修正(Fixed):開(kāi)發(fā)人員已經(jīng)完成,等待測(cè)試人員驗(yàn)證;拒絕(Declined):拒絕修改缺陷;延期(Deferred):不在當(dāng)前版本修復(fù),在下一版本修復(fù);關(guān)閉(Closed):缺陷已被修復(fù);重新打開(kāi)(Reopen):缺陷重新出現(xiàn),需開(kāi)發(fā)人員重新處理;3.缺陷管理流程缺陷管理流程(續(xù))缺陷管理的一般流程:測(cè)試人員發(fā)現(xiàn)缺陷,提交新缺陷入庫(kù),缺陷狀態(tài)為New;測(cè)試經(jīng)理審閱。確為缺陷,分配給相應(yīng)的開(kāi)發(fā)人員,并設(shè)置為Open狀態(tài);若不是缺陷,則拒絕,設(shè)置為Declined狀態(tài)。開(kāi)發(fā)人員對(duì)標(biāo)記為Open狀態(tài)的缺陷進(jìn)行確認(rèn),若不是缺陷,狀態(tài)修改為Declined;如果是缺陷則修復(fù),并置狀態(tài)為Fixed。不能解決的缺陷,留下文字說(shuō)明并保持Open狀態(tài)。缺陷修復(fù)后由測(cè)試人員驗(yàn)證后,確認(rèn)已修復(fù),可關(guān)閉,狀態(tài)改為Closed。如果仍有問(wèn)題,狀態(tài)改為Reopen。Bug的生命周期4.缺陷數(shù)據(jù)分析缺陷趨勢(shì)分析缺陷的趨勢(shì)分析是缺陷在時(shí)間軸上對(duì)缺陷進(jìn)行分析,有助于進(jìn)度控制和測(cè)試過(guò)程的管理。在一個(gè)成熟的軟件開(kāi)發(fā)過(guò)程中,缺陷趨勢(shì)一般會(huì)遵循一種和預(yù)測(cè)比較接近的模式向前發(fā)展。缺陷數(shù)據(jù)分析(續(xù))缺陷數(shù)據(jù)分析(續(xù))缺陷分布分析缺陷分布分析是缺陷的橫向分布,即空間上的分布??梢葬槍?duì)一個(gè)或多個(gè)缺陷參數(shù)(如項(xiàng)目、功能點(diǎn)、來(lái)源、嚴(yán)重級(jí)別等)進(jìn)行缺陷分析。5.測(cè)試有效性度量缺陷去除率(DRE)測(cè)試有效性度量(續(xù))缺陷損耗缺陷損耗可定義為:6.測(cè)試管理工具測(cè)試管理工具對(duì)測(cè)試需求、測(cè)試計(jì)劃、測(cè)試用例、測(cè)試實(shí)施進(jìn)行管理,并且測(cè)試管理工具還包括對(duì)缺陷的跟蹤管理。常用的測(cè)試管理工具IBM公司TestManager、ClearQuest,HP公司的QualityCenter,TestDirector,Compureware公司的TrackRecord,Atlassian公司的JIRA,開(kāi)源:Bugzilla,TestLink、Mantis等。演示:TestLink1.安裝與配置2.界面介紹3.使用課后練習(xí)選擇一個(gè)網(wǎng)站和或者應(yīng)用軟件,撰寫(xiě)一份測(cè)試計(jì)劃;(兩周內(nèi)交電子稿)問(wèn)題與討論黑盒測(cè)試(1)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件測(cè)試方法邊界值測(cè)試等價(jià)類測(cè)試基于決策表的測(cè)試因果圖本章內(nèi)容軟件測(cè)試方法軟件測(cè)試方法一般分為兩種:白盒測(cè)試(WhiteBoxTesting)黑盒測(cè)試(Black-boxTesting)黑盒測(cè)試黑盒測(cè)試(Black-boxTesting)軟件輸入輸出又叫功能測(cè)試,數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于規(guī)格說(shuō)明的測(cè)試。黑盒測(cè)試過(guò)程需求說(shuō)明產(chǎn)生被測(cè)程序測(cè)試結(jié)果輸出比較黑盒測(cè)試的目標(biāo)黑盒測(cè)試試圖發(fā)現(xiàn)以下類型的錯(cuò)誤:功能錯(cuò)誤或遺漏;界面錯(cuò)誤,不美觀;外部信息訪問(wèn)錯(cuò)誤;性能錯(cuò)誤;初始化和終止錯(cuò)誤;在接口上,能否正確地接受輸入數(shù)據(jù),能否產(chǎn)生正確地輸出信息;徹底的黑盒測(cè)試?yán)狠斎肴切蔚娜龡l邊長(zhǎng),判斷三角形的形狀。判斷三角形的形狀輸入輸出ABC三角形的形狀黑盒測(cè)試的難點(diǎn)黑盒測(cè)試的難點(diǎn)在于如何構(gòu)造有效的輸入。由于輸入空間通常是無(wú)限的,窮舉測(cè)試顯然行不通。尋找最小最重要的用例集合以精簡(jiǎn)測(cè)試復(fù)雜性。黑盒測(cè)試方法黑盒測(cè)試的測(cè)試用例設(shè)計(jì)方法邊界值分析等價(jià)類劃分基于決策表的測(cè)試因果圖錯(cuò)誤推測(cè)4.1邊界值測(cè)試邊界條件邊界值分析健壯性測(cè)試最壞情況測(cè)試特殊值測(cè)試隨機(jī)測(cè)試1.邊界條件數(shù)值的邊界值字符的邊界值其他邊界條件見(jiàn)教材41頁(yè)任何值得測(cè)試的范圍的臨界點(diǎn),可分為:邊界值:在規(guī)格說(shuō)明書(shū)中明確定義;次邊界:隱含在軟件中必須經(jīng)過(guò)分析才能獲得;
例如:屏幕上光標(biāo)在最左上、最右下位置;報(bào)表的第一行和最后一行;數(shù)組元素的第一個(gè)和最后一個(gè);C++語(yǔ)言中,intA[10]:A[0]…A[9]
循環(huán)的第0次、第1次和倒數(shù)第2次、最后一次;2.邊界值分析邊界值分析的原理邊界值分析的思想邊界值分析測(cè)試用例設(shè)計(jì)方法(1)邊界值分析的基本原理邊界值分析關(guān)注輸入空間的邊界,并從中標(biāo)識(shí)測(cè)試用例?;驹礤e(cuò)誤更可能出現(xiàn)在輸入變量的極值附近。(2)邊界值分析的基本思想在最小值、略高于最小值、正常值、略低于最大值和最大值處取輸入變量值。表示方法min、min+、nom、max-、和max例如:涉及兩個(gè)變量的函數(shù)x1,x2X1的取值x1min,x1min+,x1nom,x1max-,x1maxX2的取值x2min,x2min+,x2nom,x2max-,x2max邊界值分析的取值“單缺陷”假設(shè)“單缺陷”假設(shè)失效極少是由兩個(gè)或多個(gè)缺陷的同時(shí)發(fā)生引起的“單缺陷”假設(shè)是邊界值分析的關(guān)鍵假設(shè)(3)邊界值分析測(cè)試用例邊界值分析獲得測(cè)試用例的方法:使所有變量取正常值,只使一個(gè)變量取極值;對(duì)于一個(gè)n變量函數(shù),邊界值分析會(huì)產(chǎn)生4n+1個(gè)測(cè)試用例。X1取值:x1min,x1min+,x1nom,x1max-,x1maxX2取值:x2min,x2min+,x2nom,x2max-,x2max兩個(gè)變量函數(shù)的邊界值分析測(cè)試用例
{<x1nom,x2min>,<x1nom,x2min+>,<x1nom,x2nom>,<x1nom,x2max->,<x1nom,x2max>,<x1min,x2nom>,<x1min+,x2nom>,<x1max-,x2nom>,<x1max,x2nom>}兩個(gè)變量函數(shù)邊界值分析測(cè)試用例X2兩個(gè)變量函數(shù)邊界值分析測(cè)試用例舉例:三角形問(wèn)題三角形問(wèn)題描述三條邊a,b,c取整數(shù)值,且各邊的取值范圍是:[1,200]邊界值分析設(shè)計(jì)測(cè)試用例每條邊的取值:1,2,100,199,200測(cè)試用例數(shù)目:4n+1三角形問(wèn)題(n=3):用例數(shù)為13(4)邊界值分析優(yōu)缺點(diǎn)邊界值測(cè)試分析采用了可靠性理論的單缺陷假設(shè)。優(yōu)點(diǎn):簡(jiǎn)便易行;生成測(cè)試數(shù)據(jù)的成本很低;局限性:測(cè)試用例不充分;不能發(fā)現(xiàn)測(cè)試變量之間的依賴關(guān)系;不考慮含義和性質(zhì);結(jié)論:只能作為初步測(cè)試用例使用3.健壯性測(cè)試健壯性是指在異常情況下,軟件還能正常運(yùn)行的能力。健壯性有兩層含義:容錯(cuò)能力恢復(fù)能力(1)健壯性測(cè)試的基本思想健壯性測(cè)試是邊界值分析的一種簡(jiǎn)單擴(kuò)展,除了使用五個(gè)邊界值分析取值,還要過(guò)采用:一個(gè)略超過(guò)最大值(max+)的取值一個(gè)略小于最小值(min-)的取值X2兩個(gè)變量函數(shù)的健壯性測(cè)試用例(2)健壯性測(cè)試的討論健壯性測(cè)試最有意思的部分不是輸入而是預(yù)期的輸出健壯性測(cè)試的主要價(jià)值是觀察異常情況的處理軟件質(zhì)量要素的衡量標(biāo)準(zhǔn):軟件的容錯(cuò)性軟件容錯(cuò)性的度量:從非法輸入中恢復(fù)健壯性測(cè)試的測(cè)試用例個(gè)數(shù)
一個(gè)變量個(gè)數(shù)為n的函數(shù)的健壯性測(cè)試會(huì)產(chǎn)生多少個(gè)測(cè)試用例?思考:練習(xí):NextDate函數(shù)程序輸入條件Month:1≤月份≤12Day:1≤日期≤31Year:1812≤年≤2012輸入日期,計(jì)算其下一天。請(qǐng)用健壯性邊界值分析設(shè)計(jì)測(cè)試用例。請(qǐng)有興趣的同學(xué)在課后編寫(xiě)NextDate函數(shù)或其他程序,在后續(xù)課程中進(jìn)行更深入的測(cè)試。4.最壞情況測(cè)試最壞情況測(cè)試的基本思想邊界值測(cè)試分析采用了可靠性理論的單缺陷假設(shè)最壞情況測(cè)試拒絕這種假設(shè),關(guān)心當(dāng)多個(gè)變量取極值時(shí)會(huì)出現(xiàn)什么情況?(1)最壞情況測(cè)試用例設(shè)計(jì)方法對(duì)每一個(gè)變量首先進(jìn)行包含最小值、略高于最小值、正常值、略低于最大值、最大值五個(gè)元素集合的測(cè)試,然后對(duì)這些集合進(jìn)行笛卡爾積計(jì)算,以生成測(cè)試用例。一個(gè)變量個(gè)數(shù)為n的函數(shù)的最壞情況測(cè)試會(huì)產(chǎn)生5n個(gè)測(cè)試用例。兩變量函數(shù)的最壞情況測(cè)試用例X2(2)最壞情況與邊界值分析的比較基本邊界值分析測(cè)試用例是最壞情況測(cè)試用例的真子集。最壞情況測(cè)試顯然更徹底;最壞情況測(cè)試工作量大得多;n變量函數(shù)的最壞情況測(cè)試會(huì)產(chǎn)生5的n次方個(gè)測(cè)試用例,邊界值分析只產(chǎn)生4n+1個(gè)測(cè)試用例最壞情況測(cè)試舉例(1)三角形問(wèn)題三條邊a,b,c取整數(shù)值,且各邊的取值范圍是:[1,200]最壞情況測(cè)試用例每條邊的取值:1,2,100,199,200測(cè)試用例數(shù)目:5n三角形問(wèn)題(n=3):用例數(shù)為125測(cè)試用例:見(jiàn)教材76頁(yè)NextDate的測(cè)試用例輸入條件1≤月份≤121≤日期≤311812≤年≤2012最壞情況測(cè)試用例設(shè)計(jì)月份取值:1,2,6,11,12日期取值:1,2,15,30,31年取值:1812,1813,1912,2011,2012最壞情況測(cè)試舉例(2)NextDate的測(cè)試用例測(cè)試用例數(shù)目
n=3,5n=125錯(cuò)誤的測(cè)試用例1812年2月30日遺漏重要的測(cè)試用例日期取28或29閏年:2000年最壞情況測(cè)試舉例(2)5.健壯最壞情況測(cè)試對(duì)每一個(gè)變量,首先進(jìn)行包含最小值、略高于最小值、正常值、略低于最大值、最大值五個(gè)元素集合的測(cè)試,還要采用一個(gè)略超過(guò)最大值的取值,以及一個(gè)略小于最小值的取值。然后對(duì)這些集合進(jìn)行笛卡爾積計(jì)算以生成測(cè)試用例。兩變量函數(shù)的健壯最壞情況測(cè)試用例邊界值測(cè)試比較適合運(yùn)用在有下列情況:數(shù)值字母位置數(shù)量速度大小……6.特殊值測(cè)試邊界值分析假定n個(gè)變量是相互獨(dú)立的,沒(méi)有考慮這些變量之間的相互依賴關(guān)系;特殊值測(cè)試使用領(lǐng)域知識(shí)、使用類似程序的經(jīng)驗(yàn)設(shè)計(jì)測(cè)試用例的特殊值。特殊值測(cè)試特點(diǎn):最直觀、最不一致、具有高度主觀性。特殊值測(cè)試特別依賴測(cè)試人員的能力。雖然特殊值測(cè)試是高度主觀性的,但是能更有效地發(fā)現(xiàn)缺陷。7.隨機(jī)測(cè)試隨機(jī)測(cè)試的基本思想不是永遠(yuǎn)選取有界變量的最小值、略高于最小值、正常值、略低于最大值和最大值,而是使用隨機(jī)數(shù)生成器選出測(cè)試用例值。隨機(jī)測(cè)試的一種實(shí)現(xiàn)方法有界變量a≤x≤b值的一個(gè)VisualBasic應(yīng)用程序生成的x,滿足下式:
x=Int(b-a+1)*Rnd+a函數(shù)Int返回浮點(diǎn)數(shù)的整數(shù)部分函數(shù)Rnd生成區(qū)間[0,1]內(nèi)的隨機(jī)數(shù)思考:需要考慮哪些邊界問(wèn)題?課堂練習(xí)
有一個(gè)小程序,能夠求出三個(gè)在0到9999間整數(shù)中的最大者,請(qǐng)分別用邊界值分析和健壯性測(cè)試方法設(shè)計(jì)測(cè)試用例。黑盒測(cè)試(2)等價(jià)類等價(jià)類測(cè)試類型用等價(jià)類設(shè)計(jì)測(cè)試用例案例本節(jié)內(nèi)容問(wèn)題引入測(cè)試的矛盾為保證軟件產(chǎn)品的質(zhì)量,需要進(jìn)行完備(徹底)的測(cè)試;但這是不現(xiàn)實(shí)的,因?yàn)椋狠斎肓刻?輸出結(jié)果太多;軟件實(shí)現(xiàn)途徑太多;如果決定不去測(cè)試所有的情況,就選擇了風(fēng)險(xiǎn)。問(wèn)題引入從經(jīng)濟(jì)的角度來(lái)說(shuō),我們希望測(cè)試沒(méi)有冗余;一個(gè)好的測(cè)試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。軟件質(zhì)量和投入的成本如何平衡?等價(jià)類方法可令測(cè)試事半功倍。舉例:設(shè)計(jì)測(cè)試用例,實(shí)現(xiàn)一個(gè)對(duì)所有實(shí)數(shù)進(jìn)行開(kāi)方運(yùn)算(f=sqrt(x))的程序的測(cè)試。4.2等價(jià)類測(cè)試4.2.1等價(jià)類等價(jià)類的劃分劃分等價(jià)類的方法等價(jià)類測(cè)試類型用等價(jià)類設(shè)計(jì)測(cè)試用例1.等價(jià)類劃分劃分劃分是指互不相交的一組子集,這些子集的并是整個(gè)集合。劃分的定義給定集合B,以及B的一組子集A1、A2……、An,這些子集是B的一個(gè)劃分,當(dāng)且僅當(dāng):
A1∪A2∪…∪An=B,且
i≠j有Ai∩Aj=Φ劃分在軟件測(cè)試中的作用劃分對(duì)于測(cè)試的作用:完備性無(wú)冗余性邊界值分析方法的固有弱點(diǎn)是漏洞和冗余性。等價(jià)類測(cè)試的主要任務(wù)之一就是:
找出合適的劃分。等價(jià)類劃分將輸入定義域進(jìn)行一個(gè)劃分,并且劃分的各個(gè)子集是由等價(jià)關(guān)系決定的。此處的等價(jià)關(guān)系是指:在子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的。等價(jià)類的分類有效等價(jià)類對(duì)于程序的規(guī)格說(shuō)明來(lái)說(shuō),是合理的、有意義的輸入數(shù)據(jù)所構(gòu)成的集合;無(wú)效等價(jià)類對(duì)于程序的規(guī)格說(shuō)明來(lái)說(shuō),是不合理的、沒(méi)有意義的輸入數(shù)據(jù)所構(gòu)成的集合;等價(jià)類測(cè)試的思想:把全部的輸入數(shù)據(jù)劃分成若干個(gè)等價(jià)類,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)來(lái)進(jìn)行測(cè)試。在子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤是等效的。等價(jià)類測(cè)試的假設(shè):測(cè)試某等價(jià)類的代表值,就等效于對(duì)這個(gè)等價(jià)類中其他值的測(cè)試。2.等價(jià)類測(cè)試等價(jià)類的特點(diǎn)完備性無(wú)冗余性等價(jià)性注意設(shè)計(jì)測(cè)試用例時(shí),要同時(shí)考慮有效等價(jià)類和無(wú)效等價(jià)類。3.劃分等價(jià)類的方法(1)按區(qū)間劃分如果輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)就可確定一個(gè)有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類。例如:輸入學(xué)生成績(jī),范圍是0到100;實(shí)驗(yàn)課一個(gè)班選課人數(shù)20至40人;(2)按照數(shù)值劃分如果規(guī)定了輸入數(shù)據(jù)的一組值,且程序要對(duì)每一個(gè)輸入值分別進(jìn)行處理,要對(duì)每一個(gè)規(guī)定的輸入值確立一個(gè)有效等價(jià)類,而對(duì)于這組值之外的所有值確立一個(gè)無(wú)效等價(jià)類。例:輸入條件說(shuō)明學(xué)歷可為:???、本科、碩士、博士四種之一。(3)按照數(shù)值集合劃分輸入條件規(guī)定了輸入值的集合或是規(guī)定了“必須如何”的條件,則可確定一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類例如:“文件名稱必須以字母開(kāi)頭,……”(4)如果輸入條件是一個(gè)布爾量,則可以確立一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。例如:用驗(yàn)證碼登錄網(wǎng)站。(5)進(jìn)一步細(xì)分等價(jià)類如已劃分的等價(jià)類各元素在程序中的處理方式不同,則應(yīng)將此等價(jià)類進(jìn)一步劃分成更小的等價(jià)類。例如:輸入三條邊,判斷三角形的形狀。(首先判斷是否能構(gòu)成三角形,如果可以構(gòu)成三角形,
再進(jìn)一步判斷三角形的形狀。)4.2.2等價(jià)類測(cè)試類型單缺陷與多缺陷假設(shè)產(chǎn)生弱等價(jià)類與強(qiáng)等價(jià)類測(cè)試之分;是否進(jìn)行無(wú)效數(shù)據(jù)的處理產(chǎn)生健壯與一般等價(jià)類測(cè)試之分;等價(jià)類測(cè)試的分類:弱一般等價(jià)類測(cè)試強(qiáng)一般等價(jià)類測(cè)試弱健壯等價(jià)類測(cè)試強(qiáng)健壯等價(jià)類測(cè)試討論對(duì)象一個(gè)具有兩個(gè)自變量x1和x2的函數(shù)FF實(shí)現(xiàn)為一個(gè)程序且輸入變量x1和x2的邊界以及邊界內(nèi)的區(qū)間a≤x1≤d,區(qū)間為[a,b),[b,c),[c,d]e≤x2≤g,區(qū)間為[e,f),[f,g]討論對(duì)象(續(xù))1.弱一般等價(jià)類測(cè)試弱一般等價(jià)類測(cè)試的假設(shè):“單缺陷”假設(shè)失效極少是由兩個(gè)或多個(gè)缺陷的同時(shí)發(fā)生引起的測(cè)試用例設(shè)計(jì):選取的測(cè)試用例覆蓋所有的有效等價(jià)類。
弱一般等價(jià)類測(cè)試用例2.強(qiáng)一般等價(jià)類測(cè)試基于多缺陷假設(shè);測(cè)試用例設(shè)計(jì):將每個(gè)變量的有效等價(jià)類做笛卡爾積,設(shè)計(jì)測(cè)試用例覆蓋笛卡爾積的每個(gè)元素。
有n個(gè)變量的函數(shù),強(qiáng)一般等價(jià)類測(cè)試會(huì)產(chǎn)生多少個(gè)測(cè)試用例?思考:強(qiáng)一般等價(jià)類測(cè)試用例3.弱健壯等價(jià)類測(cè)試弱:基于單缺陷假設(shè)健壯:考慮無(wú)效值測(cè)試用例設(shè)計(jì):對(duì)有效輸入,覆蓋每個(gè)有效等價(jià)類的一個(gè)值對(duì)無(wú)效輸入,測(cè)試用例將擁有一個(gè)無(wú)效值,并保持其余的值都是有效的弱健壯等價(jià)類測(cè)試用例4.強(qiáng)健壯等價(jià)類測(cè)試強(qiáng)健壯等價(jià)類測(cè)試:基于多缺陷假設(shè),從所有等價(jià)類的笛卡爾積的每一個(gè)元素中獲得測(cè)試用例強(qiáng):多缺陷假設(shè)健壯:考慮無(wú)效值強(qiáng)健壯等價(jià)類測(cè)試用例5.用等價(jià)類設(shè)計(jì)測(cè)試用例(1)劃分等價(jià)類,形成等價(jià)類表(2)設(shè)計(jì)一新的測(cè)試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價(jià)類,重復(fù)這一步驟,直到所有的有效等價(jià)類都被覆蓋為止;(3)設(shè)計(jì)一新測(cè)試用例,使其只覆蓋一個(gè)無(wú)效等價(jià)類,重復(fù)這一步驟直到所有無(wú)效等價(jià)類均被覆蓋;4.2.3案例三角形問(wèn)題以不同的角度劃分等價(jià)類:輸出值域等價(jià)類輸入條件(數(shù)據(jù)范圍)的等價(jià)類以“整數(shù)相等”關(guān)系劃分的等價(jià)類以兩邊之和與第三邊之間的關(guān)系1.輸出值域等價(jià)類輸出值域等價(jià)類R1={<a,b,c>:有三條邊a、b和c的等邊三角形}R2={<a,b,c>:有三條邊a、b和c的等腰三角形}R3={<a,b,c>:有三條邊a、b和c的一般三角形}R4={<a,b,c>:三條邊a、b和c不能構(gòu)成三角形}2.輸入條件的等價(jià)類有效等價(jià)類:正整數(shù);三個(gè)數(shù);無(wú)效等價(jià)類:零或負(fù)數(shù);少于三個(gè)數(shù);3.“整數(shù)相等”關(guān)系劃分等價(jià)類D1={<a,b,c>:a=b=c}D2={<a,b,c>:a=b,a≠c}D3={<a,b,c>:a=c,a≠b}D4={<a,b,c>:b=c,a≠b}D5={<a,b,c>:a≠b,a≠c,b≠c}4.以兩邊之和與第三邊之間的關(guān)系劃分等價(jià)類D6={<a,b,c>:a≥b+c}D7={<a,b,c>:b≥a+c}D8={<a,b,c>:c≥a+b}等價(jià)類D6的進(jìn)一步劃分D6‘={<abc>:a=b+c}D6"={<abc>:a>b+c}輸入條件有效等價(jià)類編號(hào)無(wú)效等價(jià)類編號(hào)三個(gè)正整數(shù)正整數(shù)1一邊為非正整數(shù)a為非正整數(shù)10b為非正整數(shù)11c為非正整數(shù)12兩邊為非正整數(shù)a,b為非正整數(shù)13a,c為非正整數(shù)14b,c為非正整數(shù)15三邊均為非正整數(shù)16三個(gè)數(shù)2只輸入一個(gè)數(shù)只給a17只給b18只給c19只輸入兩個(gè)數(shù)只給a,b20只給a,c21只給b,c22未輸入數(shù)23三角形的等價(jià)類輸入條件有效等價(jià)類編號(hào)無(wú)效等價(jià)類編號(hào)構(gòu)成一般三角形a+b>c,且a≠b≠c3a+b<c24a+b=c25a+c>b,且a≠b≠c4a+c<b26a+c=b27b+c>a,且a≠b≠c5b+c<a28b+c=a29構(gòu)成等腰三角形a=b,a≠c,且兩邊之和大于第三邊6a=c,a≠b,且兩邊之和大于第三邊7b=c,a≠b,且兩邊之和大于第三邊8構(gòu)成等邊三角形a=b=c9
三角形的等價(jià)類電話號(hào)碼問(wèn)題某城市電話號(hào)碼由三部分組成,分別是:地區(qū)碼——空白或4位數(shù)字;前綴——為三位數(shù)字,但不能為“0”,“1”;后綴——4位數(shù)字。假定被測(cè)程序能接受一切符合上述規(guī)定的電話號(hào)碼,拒絕所有不符合規(guī)定的電話號(hào)碼。請(qǐng)用強(qiáng)一般等價(jià)類方法進(jìn)行測(cè)試,設(shè)計(jì)測(cè)試用例。思考NextDate問(wèn)題NextDate
函數(shù)包含三個(gè)變量month、day和year,函數(shù)的輸出為輸入日期后面一天的日期。(1800≤year≤2050)用弱健壯等價(jià)類測(cè)試方法設(shè)計(jì)測(cè)試用例。練習(xí)課堂練習(xí)請(qǐng)?jiān)O(shè)計(jì)測(cè)試用例,測(cè)試登錄功能。等價(jià)類測(cè)試指導(dǎo)方針和觀察1. 等價(jià)類測(cè)試的弱形式不如對(duì)應(yīng)的強(qiáng)形式的測(cè)試全面。2. 如果實(shí)現(xiàn)語(yǔ)言是強(qiáng)類型,則沒(méi)有必要使用健壯形式的測(cè)試。3. 如果錯(cuò)誤條件非常重要,則進(jìn)行健壯形式的測(cè)試是合適的。4.如果輸入數(shù)據(jù)以離散值區(qū)間和集合定義,則等價(jià)類測(cè)試是合適的。當(dāng)然也適用于如果變量值越界系統(tǒng)就會(huì)出現(xiàn)故障的系統(tǒng)。5. 通過(guò)結(jié)合邊界值測(cè)試,等價(jià)類測(cè)試可得到加強(qiáng)。6. 如果程序函數(shù)很復(fù)雜,則等價(jià)類測(cè)試是被指示的。在這種情況下,函數(shù)的復(fù)雜性可以幫助標(biāo)識(shí)有用的等價(jià)類。7. 強(qiáng)等價(jià)類測(cè)試假設(shè)變量是獨(dú)立的,相應(yīng)的測(cè)試用例相乘會(huì)引起冗余問(wèn)題。如果存在依賴關(guān)系,則常常會(huì)生成錯(cuò)誤測(cè)試用例。8. 在發(fā)現(xiàn)合適的等價(jià)關(guān)系之前,可能需要進(jìn)行多次嘗試。小結(jié)等價(jià)類等價(jià)類分類弱一般等價(jià)類測(cè)試強(qiáng)一般等價(jià)類測(cè)試弱健壯等價(jià)類測(cè)試強(qiáng)健壯等價(jià)類測(cè)試作業(yè):
教材74頁(yè)4題教材74頁(yè)5題教材74頁(yè)6題教材74頁(yè)7題黑盒測(cè)試(3)4.3基于判定表的測(cè)試判定表的組成基于判定表的測(cè)試案例4.3.1判定表判定表的原理判定表的組成判定表建立的步驟1.判定表的原理判定表判定表(DecisionTable),又叫決策表判定表是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的判定表的工具。在程序設(shè)計(jì)發(fā)展的初期,決策表就已被當(dāng)作編寫(xiě)程序的輔助工具了。2.判定表的組成判定表的組成條件樁(ConditionStub)條件項(xiàng)(ConditionEntity)動(dòng)作樁(ActionStub)動(dòng)作項(xiàng)(ActionEntity)判定表的組成規(guī)則任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱為規(guī)則;在判定表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則;判定表中列出多少組條件取值,也就有多少條規(guī)則,即條件項(xiàng)和動(dòng)作項(xiàng)有多少列。規(guī)則示例:三角形問(wèn)題規(guī)則合并規(guī)則合并規(guī)則合并:就是判定表的簡(jiǎn)化。有兩條或多條規(guī)則具有相同的動(dòng)作,并且其條件項(xiàng)之間存在著極為相似的關(guān)系,就可以將規(guī)則合并。兩條規(guī)則合并成一條條件項(xiàng)“—”表示與取值無(wú)關(guān)條件項(xiàng)“—”在邏輯上包含其它的條件兩條規(guī)則的進(jìn)一步合并3.基于判定表的測(cè)試判定表建立步驟①確定規(guī)則的個(gè)數(shù);假如有n個(gè)條件,每個(gè)條件有兩個(gè)取值(0,1),則有2n
種規(guī)則;②列出所有的條件樁和動(dòng)作樁;③填入條件項(xiàng);④填入動(dòng)作項(xiàng),得到初始決策表;⑤簡(jiǎn)化,合并相似規(guī)則(相同動(dòng)作)。基于判定表的測(cè)試基于判定表的測(cè)試根據(jù)輸入輸出繪制判定表設(shè)計(jì)測(cè)試用例覆蓋判定表中各條規(guī)則4.3.3案例1:考生錄取問(wèn)題描述某程序規(guī)定:“對(duì)總成績(jī)大于450分,且各科成績(jī)均高于85分或者是優(yōu)秀畢業(yè)生,應(yīng)優(yōu)先錄取,其余情況作其他處理”。請(qǐng)建立判定表。(1)列出所有的條件樁和動(dòng)作樁總成績(jī)大于450分嗎?各科成績(jī)均高于85分嗎??jī)?yōu)秀畢業(yè)生嗎?(2)動(dòng)作樁有兩項(xiàng):優(yōu)先錄??;作其他處理;(3)規(guī)則的個(gè)數(shù):12345678條件總成績(jī)大于450分嗎YYYYNNNN各科成績(jī)均高于85分嗎?YYNNYYNN優(yōu)秀畢業(yè)生嗎?YNYNYNYN動(dòng)作優(yōu)先錄??;作其他處理(4)繪制判定表(5)簡(jiǎn)化后的判定表12345條件總成績(jī)大于450分嗎?YYYNN各科成績(jī)均高于85分嗎?YNNYN優(yōu)秀畢業(yè)生嗎?—YN——?jiǎng)幼鲀?yōu)先錄??;作其他處理1234條件總成績(jī)大于450分嗎?YYYN各科成績(jī)均高于85分嗎?YNN—優(yōu)秀畢業(yè)生嗎?—YN—?jiǎng)幼鲀?yōu)先錄??;作其他處理(6)進(jìn)一步簡(jiǎn)化4.3.3案例:隔一日問(wèn)題隔一日問(wèn)題程序有三個(gè)輸入變量month、day、year(month、day和year均為整數(shù)值,并且滿足:1≤month≤12和1≤day≤31),分別作為輸入日期的月份、日、年份,通過(guò)程序可以輸出該輸入日期在日歷上隔一天的日期。例如,輸入為2005年11月29日,則該程序的輸出為2005年12月1日。請(qǐng)用判定表測(cè)試法進(jìn)行測(cè)試。(1)分析各種輸入情況,列出為輸入變量month、day、year劃分的有效等價(jià)類。month變量的有效等價(jià)類:day變量的有效等價(jià)類:year變量的有效等價(jià)類:思考:如何劃分等價(jià)類?(2)分析程序規(guī)格說(shuō)明,結(jié)合以上等價(jià)類劃分的情況給出問(wèn)題規(guī)定的可能采取的操作(即列出所有的動(dòng)作樁)。a1:day+2a2:day=1a3:day=2a4:month+1a5:month=1a6:year+1a7:不可能(3)繪制判定表(4)設(shè)計(jì)測(cè)試用例見(jiàn)教材61頁(yè)。主持人對(duì)甲、乙、丙三人說(shuō):“這里有三頂紅帽子,兩頂白帽子?,F(xiàn)在用布蒙上你們的眼睛,給你們每人戴上一頂帽子,然后請(qǐng)你們依次睜開(kāi)眼睛,能正確說(shuō)出自己所戴帽子的顏色者有獎(jiǎng)?!睅昝弊雍螅啄孟虏己罂戳似渌麅扇说拿弊诱f(shuō):“我不知道?!比缓螅医忾_(kāi)布看了其他兩人的帽子后說(shuō):“我不知道。”輪到丙時(shí),他沒(méi)有拿下布就正確地說(shuō)出了自己所戴帽子的顏色。試問(wèn):丙戴的是什么帽子?他是怎樣得出結(jié)論的?
一個(gè)游戲一個(gè)游戲1234567甲R(shí)RRRWWW乙RRWWRRW丙RWRWRWR甲不知乙不知丙知道課堂練習(xí)貨運(yùn)收費(fèi)策略:鐵路運(yùn)費(fèi)時(shí),若收貨地點(diǎn)在本省以內(nèi),快件每公斤1.5元,慢件每公斤1元。若收貨地點(diǎn)在外省,重量小于或等于20公斤,快件每公斤2元,慢件每公斤1元,若重量大于20公斤,超重部分每公斤0.2元。請(qǐng)繪制判定表。指導(dǎo)方針和觀察判定表技術(shù)適用的應(yīng)用程序的特征:if-then-else邏輯很突出輸入變量之間存在邏輯關(guān)系涉及輸入變量子集的計(jì)算輸入與輸出之間存在因果關(guān)系很高的McCabe圈復(fù)雜度判定表的優(yōu)點(diǎn)能把復(fù)雜的問(wèn)題按各種可能的情況一一列舉出來(lái)簡(jiǎn)明而易于理解可避免遺漏判定表的缺點(diǎn)不能表達(dá)重復(fù)執(zhí)行的動(dòng)作,例如循環(huán)結(jié)構(gòu)判定表不能很好地伸縮有n個(gè)條件的決策表有2n
個(gè)規(guī)則。解決方法使用擴(kuò)展條目判定表、代數(shù)簡(jiǎn)化表,將大表“分解”為小表,查找條件項(xiàng)的判定表式作業(yè):
教材75頁(yè):9題、
10題、課后練習(xí)某公司為本科以上學(xué)歷的人重新分配工作,分配原則如下:1.如果年齡不滿20歲,學(xué)歷是本科,男性要求報(bào)考研究生,女性擔(dān)任行政工作;2.如果年齡滿20歲不滿50歲,學(xué)歷本科,不分男女,任中層領(lǐng)導(dǎo)職務(wù),學(xué)歷是碩士不分男女,任課題組組長(zhǎng);3.如果年齡滿50歲,學(xué)歷本科,男性任科研人員,女性則擔(dān)任資料員,學(xué)歷是碩士不分男女,任課題組組長(zhǎng)。黑盒測(cè)試(4)等價(jià)類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系,相互組合等.如果考慮輸入條件之間的相互組合,組合的情況可能會(huì)相當(dāng)多.因此必須考慮采用一種適合于描述對(duì)于多種條件的組合,相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來(lái)考慮設(shè)計(jì)測(cè)試用例.這就需要利用因果圖。問(wèn)題引入因果圖本節(jié)內(nèi)容因果圖分析法因果圖介紹利用因果圖導(dǎo)出測(cè)試用例舉例1.因果圖分析法因果圖(Cause-EffectGraphics)分析法因果圖分析法最終生成的是判定表,適合于檢查程序輸入條件的各種組合情況。因果圖分析依據(jù)需求規(guī)格說(shuō)明中的因果關(guān)系。作用能夠按一定步驟,高效率地選擇測(cè)試用例;指出程序規(guī)約描述中存在著的問(wèn)題;2.因果圖的基本符號(hào)
恒等c1e1e1=1c1=1e1=0c1=0非c1e1e1=0c1=1e1=1c1=02.因果圖的基本符號(hào)
或c1e1c2c3e1=1c1=1或c2=1或c3=1否則e1=0與e1c2e1=1c1=1且c2=1否則e1=0c1輸入條件的約束Ec1c2E(異)E(異):表示c1,c2中至多有一個(gè)可能為1,即c1和c2不能同時(shí)為1。Ic1c2c2I(或)I(或):表示c1,c2,c3中至少有一個(gè)
是1,即c1,c2,c3不能同時(shí)為0。
輸入條件的約束Oc1c2O(唯一)O(唯一):表示c1,c2中必須有一個(gè)
且僅有一個(gè)為1。Rc1c2R(要求)R(要求):表示c1是1時(shí),c2必須是1,即不可能c1是1時(shí)c2是0。輸出條件的約束Me1e2M(強(qiáng)制)M(強(qiáng)制):表示如果結(jié)果e1是1時(shí),
則結(jié)果e2強(qiáng)制為0。3.利用因果圖設(shè)計(jì)測(cè)試用例1.分析程序規(guī)格說(shuō)明的描述中,哪些是原因,哪些是結(jié)果?原因常常是輸入條件或是輸入條件的等價(jià)類;結(jié)果是程序的輸出;2.分析程序規(guī)約的描述中語(yǔ)義的內(nèi)容,并將其表示成連接各個(gè)原因與各個(gè)結(jié)果的“因果圖”;3.在因果圖上使用若干個(gè)特殊的符號(hào)標(biāo)明約束條件;4.把因果圖轉(zhuǎn)換成判定表;5.把判定表中每一列表示的情況寫(xiě)成測(cè)試用例;3.利用因果圖設(shè)計(jì)測(cè)試用例案例1:軟件規(guī)格說(shuō)明書(shū)第一列字符必須是A或B,第二列字符必須是一個(gè)數(shù)字,在此情況下進(jìn)行文件的修改;但如果第一列字符不正確,則給出信息L;如果第二列字符不是數(shù)字,則給出信息M;原因和結(jié)果原因
1------第一列字符是A;2------第一列字符是B;3------第二列字符是一數(shù)字結(jié)果
21------修改文件;22------給出信息L;23------給出信息M;因果圖注:11是中間節(jié)有約束的因果圖考慮到原因1和原因2不可能同時(shí)為1,因此在因果圖上施加E約根據(jù)因果圖所建立的判定表
最左邊兩列,條件1和2同時(shí)為1是不可能的,排除掉,根據(jù)表可設(shè)計(jì)出6個(gè)測(cè)試用例。Test1:輸入數(shù)據(jù)-A3預(yù)期輸出:修改文件;Test2:輸入數(shù)據(jù)-AM預(yù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 紙盒制作工崗前操作評(píng)估考核試卷含答案
- 麻料作物栽培工常識(shí)評(píng)優(yōu)考核試卷含答案
- 泥釉漿料制備輸送工安全防護(hù)測(cè)試考核試卷含答案
- 溫差電電池制造工成果轉(zhuǎn)化能力考核試卷含答案
- 賓客行李員崗前創(chuàng)新意識(shí)考核試卷含答案
- 木地板制造工誠(chéng)信品質(zhì)模擬考核試卷含答案
- 煤間接液化分離操作工操作水平競(jìng)賽考核試卷含答案
- 懷孕不參加培訓(xùn)的請(qǐng)假條
- 2025年坦克玻璃系列合作協(xié)議書(shū)
- 2025年針織、編織制品項(xiàng)目發(fā)展計(jì)劃
- 高速公路交叉口交通組織方案
- 數(shù)學(xué)廣角:搭配問(wèn)題 課件 人教版數(shù)學(xué)三年級(jí)上冊(cè)
- 2025杭州市市級(jí)機(jī)關(guān)事業(yè)單位編外招聘考試備考試題及答案解析
- 車間電纜整改方案模板(3篇)
- 徐州村務(wù)管理辦法
- 政協(xié)機(jī)車輛管理辦法
- 食品加工助劑管理辦法
- 渝22TS02 市政排水管道附屬設(shè)施標(biāo)準(zhǔn)圖集 DJBT50-159
- 非現(xiàn)場(chǎng)執(zhí)法培訓(xùn)課件
- 中國(guó)電氣裝備資產(chǎn)管理有限公司招聘筆試題庫(kù)2025
- 糖尿病足的護(hù)理常規(guī)講課件
評(píng)論
0/150
提交評(píng)論