【軟件工程】軟件測試及軟件質(zhì)量控制_第1頁
【軟件工程】軟件測試及軟件質(zhì)量控制_第2頁
【軟件工程】軟件測試及軟件質(zhì)量控制_第3頁
【軟件工程】軟件測試及軟件質(zhì)量控制_第4頁
【軟件工程】軟件測試及軟件質(zhì)量控制_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、軟件測試及軟件質(zhì)量控制 第六章軟件系統(tǒng)統(tǒng)的開發(fā)發(fā)過程中中,軟件件測試占占據(jù)著重重要地位位。盡管管人們采采取了多多種保證證軟件質(zhì)質(zhì)量的措措施,由由于軟件件系統(tǒng)的的客觀復(fù)復(fù)雜性,人們的的主觀認(rèn)認(rèn)識不可可能完全全符合客客觀實(shí)際際,完美美無缺,每個(gè)階階段的技技術(shù)審查查也不可可能毫無無遺漏地地查出和和糾正所所有的設(shè)設(shè)計(jì)和分分析上的的錯(cuò)誤,在軟件件生命周周期的各各個(gè)階段段,都不不可避免免地會(huì)產(chǎn)產(chǎn)生差錯(cuò)錯(cuò),這些些差錯(cuò)遲遲早會(huì)在在軟件的的生產(chǎn)和和使用過過程中暴暴露出來來。軟件工程程實(shí)踐的的經(jīng)驗(yàn)表表明,發(fā)發(fā)現(xiàn)軟件件的時(shí)刻刻越晚,改正這這些錯(cuò)誤誤所花費(fèi)費(fèi)的代價(jià)價(jià)也越高高,如果果在軟件件投入使使用之前前沒有發(fā)發(fā)現(xiàn)和

2、糾糾正軟件件的大部部分錯(cuò)誤誤,人們們付出的的代價(jià)會(huì)會(huì)更高,往往會(huì)會(huì)造成惡惡劣的后后果。從廣義上上來說,軟件測測試工作作散布在在軟件生生命周期期的各個(gè)個(gè)開發(fā)階階段,人人們認(rèn)識識到,軟軟件測試試是保證證軟件質(zhì)質(zhì)量的主主要手段段,各階階段的評評審工作作和驗(yàn)證證工作,均是廣廣義概念念上的測測試工作作。而主主要的測測試是在在編碼和和測試這這兩個(gè)階階段進(jìn)行行的。因因此,狹狹義的軟軟件測試試就是程程序測試試。6.1軟軟件測測試基本本概念G.J.Myers給出了關(guān)關(guān)于測試試的一些些規(guī)則,被軟件件工程領(lǐng)領(lǐng)域認(rèn)可可:(1)測測試是為為了發(fā)現(xiàn)現(xiàn)程序中中的錯(cuò)誤誤而執(zhí)行行程序的的過程;(2)好好的測試試方案極極有可能能

3、發(fā)現(xiàn)迄迄今為止止尚未發(fā)發(fā)現(xiàn)的錯(cuò)錯(cuò)誤;(3)成成功的測測試是發(fā)發(fā)現(xiàn)了至至今為止止尚未發(fā)發(fā)現(xiàn)的錯(cuò)錯(cuò)誤。6.1軟軟件測測試基本本概念這些規(guī)則則,實(shí)際際上是軟軟件測試試的狹義義概念程序序測試。狹義的軟軟件測試試:測試試是為了了發(fā)現(xiàn)錯(cuò)錯(cuò)誤而執(zhí)執(zhí)行程序序的過程程。是根根據(jù)軟件件開發(fā)的的各個(gè)階階段的說說明和程程序的內(nèi)內(nèi)部結(jié)構(gòu)構(gòu)而精心心設(shè)計(jì)的的一批測測試用例例(有輸輸入數(shù)據(jù)據(jù)及預(yù)期期的結(jié)果果),并并利用這這些測試試用例執(zhí)執(zhí)行程序序及發(fā)現(xiàn)現(xiàn)錯(cuò)誤的的過程。6.1軟軟件測測試基本本概念廣義的軟軟件測試試是對軟軟件計(jì)劃劃、軟件件系統(tǒng)分分析、軟軟件設(shè)計(jì)計(jì)、軟件件編碼進(jìn)進(jìn)行的查查錯(cuò)活動(dòng)動(dòng),包括括代碼執(zhí)執(zhí)行和人人工審查查活

4、動(dòng),測試的的目的是是找出軟軟件生命命周期的的各個(gè)階階段的錯(cuò)錯(cuò)誤,有有利于以以后進(jìn)行行修改和和糾正。但測試試本身不不修正錯(cuò)錯(cuò)誤,調(diào)調(diào)試才會(huì)會(huì)修正錯(cuò)錯(cuò)誤。即即找錯(cuò)的的活動(dòng)是是測試;分析錯(cuò)錯(cuò)誤的性性質(zhì)與位位置,進(jìn)進(jìn)行糾錯(cuò)錯(cuò)的活動(dòng)動(dòng)是調(diào)試試,保證證算法的的正確實(shí)實(shí)現(xiàn)。軟軟件測試試與程序序測試都都是查找找錯(cuò)誤的的活動(dòng),差別在在于查找找錯(cuò)誤的的范圍不不同。6.1軟軟件測測試基本本概念由于測試試的目標(biāo)標(biāo)是暴露露程序的的錯(cuò)誤,從心理理學(xué)角度度看,由由設(shè)計(jì)者者自己進(jìn)進(jìn)行測試試是不恰恰當(dāng)?shù)模O(shè)計(jì)小小組和測測試小組組應(yīng)該分分別設(shè)立立,有利利于進(jìn)行行客觀和和公正的的軟件測測試。測測試是有有限的,由于通通常的測測試過程

5、程不可能能窮盡一一切情況況,即使使經(jīng)過了了嚴(yán)格的的測試之之后,仍仍然可能能存在沒沒有被發(fā)發(fā)現(xiàn)的錯(cuò)錯(cuò)誤隱藏藏在程序序中,不不能證明明程序中中沒有錯(cuò)錯(cuò)誤。6.1軟軟件測測試基本本概念因此,測測試僅僅僅有可能能找出程程序的錯(cuò)錯(cuò)誤,測測試不能能證明程程序是正正確的。軟件工工程中所所有其它它階段都都是“建建設(shè)性”的,軟軟件工程程師力圖圖從抽象象概念出出發(fā),逐逐步設(shè)計(jì)計(jì)出具體體的軟件件系統(tǒng),而測試試人員的的工作表表面上看看卻是“破壞性性”的,竭力證證明軟件件中含有有錯(cuò)誤,不能按按預(yù)定要要求正確確工作。凡是進(jìn)進(jìn)行對比比的方式式均可理理解為測測試驗(yàn)證證。6.1.2軟軟件測試試的對象象軟件測試試應(yīng)該貫貫穿于軟軟

6、件生命命期的各各個(gè)階段段,各階階段的工工作是相相互銜接接、相互互影響的的,前一一階段發(fā)發(fā)生的問問題自然然要影響響到下一一階段的的工作。為了把把握各個(gè)個(gè)環(huán)節(jié)的的正確性性,人們們需要進(jìn)進(jìn)行各種種確認(rèn)和和驗(yàn)證工工作。軟件確認(rèn)認(rèn)是廣義義上的軟軟件測試試,它是是企圖證證明軟件件在一個(gè)個(gè)給定的的外部環(huán)環(huán)境中軟軟件的邏邏輯正確確性的一一系列活活動(dòng)和過過程,如如需求說說明書的的確認(rèn)、程序的的確認(rèn)等等。6.1.2軟軟件測試試的對象象程序的確確認(rèn)又分分為靜態(tài)態(tài)確認(rèn)與與動(dòng)態(tài)確確認(rèn)。靜態(tài)確認(rèn)認(rèn)一般不不在計(jì)算算機(jī)上執(zhí)執(zhí)行程序序,而是是通過程程序正確確性證明明、靜態(tài)態(tài)分析或或人工分分析來確確認(rèn)程序序的正確確性;動(dòng)態(tài)確認(rèn)認(rèn)

7、主要通通過動(dòng)態(tài)態(tài)分析和和動(dòng)態(tài)測測試,用用執(zhí)行程程序的過過程來檢檢查執(zhí)行行的狀態(tài)態(tài),確認(rèn)認(rèn)程序是是否有問問題;6.1.2軟軟件測試試的對象象正確性證證明主要要是企圖圖繞過復(fù)復(fù)雜的測測試,直直接證明明程序的的正確性性。如程序的的輸入輸輸出斷言言法。設(shè)程序段段為S,其前斷言言為P,后斷言為為R。如果執(zhí)行行S以前P為真,則則執(zhí)行S后R也為真,則證明明S是正確的的,記為為PSR。6.1.2軟軟件測試試的對象象任何程序序總可以以分成S1、S2、Sn個(gè)結(jié)點(diǎn),對應(yīng)的的斷言為為R1、R2、Rn,起初R1為輸入斷斷言,R2為輸出斷斷言,也也是下一一個(gè)輸入入斷言,Rn為最后的的輸出斷斷言,我我們總可可以,將將S1、

8、S2、Sn逐個(gè)證明明,自頂頂向下或或自底向向上都可可證明程程序的正正確性,該分支支已發(fā)展展為計(jì)算算機(jī)代數(shù)數(shù)學(xué);6.1.2軟軟件測試試的對象象軟件驗(yàn)證證也屬于于廣義上上的軟件件測試,它試圖圖證明在在軟件生生命期的的各個(gè)階階段、各各階段的的邏輯協(xié)協(xié)調(diào)性、完備性性和正確確性。包括系統(tǒng)統(tǒng)分析員員理解用用戶要求求的正確確性、表表達(dá)的正正確性、設(shè)計(jì)人人員對需需求規(guī)格格說明理理解的正正確性、設(shè)計(jì)與與設(shè)計(jì)表表達(dá)的正正確性、程序編編碼的正正確性和和運(yùn)行軟軟件程序序時(shí)輸入入的正確確性、運(yùn)運(yùn)行結(jié)果果的正確確性等,運(yùn)行結(jié)結(jié)果與用用戶預(yù)期期的結(jié)果果是否一一致等,這說明明任何一一個(gè)環(huán)節(jié)節(jié)上發(fā)生生了問題題都可能能在軟件件測

9、試中中表現(xiàn)出出來。6.1.3測測試信息息流將測試的的過程用用數(shù)據(jù)流流圖表示示,可得得測試信信息流如如圖6-1所示示。 (至軟件配置)軟件配置 1 測試結(jié)果 2 錯(cuò)誤 3 修正的軟件測試配置 測試結(jié)果測試工具 測試 評價(jià) 調(diào)試 正確 預(yù)測結(jié)果 出錯(cuò)率 4 數(shù)據(jù) 可靠性 分析圖6-1 測試信息流 6.1.3測測試信息息流1.測試試過程需需要三類類輸入:(1)軟軟件配置置:包括括軟件開開發(fā)文檔檔(用戶戶文檔、需求規(guī)規(guī)格說明明、軟件件設(shè)計(jì)說說明、源源程序代代碼)、目標(biāo)執(zhí)執(zhí)行程序序、數(shù)據(jù)據(jù)結(jié)構(gòu);(2)測測試配置置:包括括測試計(jì)計(jì)劃、測測試用例例、測試試驅(qū)動(dòng)程程序等;實(shí)際上上在整個(gè)個(gè)軟件開開發(fā)過程程中,測

10、測試配置置只是軟軟件配置置的一個(gè)個(gè)子集;(3)測測試工具具:為提提高軟件件測試效效率,使使用測試試工具為為測試工工作服務(wù)務(wù);如:測試數(shù)數(shù)據(jù)自動(dòng)動(dòng)生成程程序,靜靜態(tài)分析析程序、動(dòng)態(tài)分分析程序序、測試試結(jié)果分分析程序序及標(biāo)準(zhǔn)準(zhǔn)例程測測試數(shù)據(jù)據(jù)庫等。6.1.3測測試信息息流測試之后后,對所所有測試試結(jié)果進(jìn)進(jìn)行分析析,將實(shí)實(shí)際測試試的結(jié)果果與預(yù)期期的結(jié)果果進(jìn)行比比較。如如果發(fā)現(xiàn)現(xiàn)出錯(cuò)的的數(shù)據(jù),則意味味著軟件件有錯(cuò)誤誤,需要要糾錯(cuò),應(yīng)進(jìn)行行調(diào)試,確定錯(cuò)錯(cuò)誤的位位置和出出錯(cuò)的性性質(zhì),改改正這些些錯(cuò)誤,同時(shí)修修正相關(guān)關(guān)文檔。修正過過的文檔檔一般需需經(jīng)過再再次測試試,直到到通過測測試為止止。6.1.3測測試信

11、息息流通過收集集和分析析測試結(jié)結(jié)果的有有關(guān)數(shù)據(jù)據(jù),可以以建立軟軟件評估估的可靠靠性模型型。如果經(jīng)常常出現(xiàn)需需要修改改設(shè)計(jì)的的嚴(yán)重錯(cuò)錯(cuò)誤,那那么軟件件的質(zhì)量量和可靠靠性就值值得懷疑疑,同時(shí)時(shí)也表明明需要進(jìn)進(jìn)一步測測試。相反,如如果軟件件功能能能夠正確確完成,出現(xiàn)的的錯(cuò)誤易易于修改改,那么么就可能能有兩種種評價(jià):6.1.3測測試信息息流一種是軟軟件的質(zhì)質(zhì)量和可可靠性達(dá)達(dá)到可以以接受的的程度。另一種是是所做的的測試還還不足以以發(fā)現(xiàn)軟軟件的嚴(yán)嚴(yán)重錯(cuò)誤誤。如果得到到的評價(jià)價(jià)是沒有有發(fā)現(xiàn)錯(cuò)錯(cuò)誤,很很有可能能測試的的配置考考慮得不不夠充分分和細(xì)致致,軟件件仍有潛潛伏的錯(cuò)錯(cuò)誤,以以后改正正錯(cuò)誤需需要付出出高昂

12、的的代價(jià)。6.1.3測測試信息息流2.軟件件錯(cuò)誤可可以從不不同角度度進(jìn)行分分類:(1)從從錯(cuò)誤對對程序的的影響程程度來分分:嚴(yán)嚴(yán)重性錯(cuò)錯(cuò)誤:嚴(yán)嚴(yán)重影響響程序的的運(yùn)行,甚至不不能運(yùn)行行;一一般性錯(cuò)錯(cuò)誤:經(jīng)經(jīng)常影響響程序的的運(yùn)行,特殊情情況下表表現(xiàn)正常常;6.1.3測測試信息息流微小錯(cuò)誤誤:一般般情況下下程序能能運(yùn)行,特殊情情況下表表現(xiàn)異常常;無影響性性錯(cuò)誤:不影響響程序的的運(yùn)行。6.1.3測測試信息息流(2)從從開發(fā)過過程的轉(zhuǎn)轉(zhuǎn)換環(huán)節(jié)節(jié)上分:構(gòu)構(gòu)造錯(cuò)錯(cuò)誤:編編碼實(shí)現(xiàn)現(xiàn)與設(shè)計(jì)計(jì)不一致致;設(shè)計(jì)錯(cuò)誤誤:設(shè)計(jì)計(jì)邏輯與與說明不不一致;說明書錯(cuò)錯(cuò)誤:說說明書與與用戶要要求不一一致;需需求錯(cuò)錯(cuò)誤:不不滿足用用

13、戶的實(shí)實(shí)際要求求;配配置錯(cuò)誤誤:軟件件配置不不滿足實(shí)實(shí)際環(huán)境境。6.1.3測測試信息息流(3)從從測試結(jié)結(jié)果的表表現(xiàn)上分分類:1)功能能錯(cuò)誤:由系統(tǒng)統(tǒng)需求分分析不完完整引起起的;2)結(jié)構(gòu)構(gòu)錯(cuò)誤:由總體體設(shè)計(jì)的的錯(cuò)誤引引起的;3)過程程錯(cuò)誤:由詳細(xì)細(xì)設(shè)計(jì)的的錯(cuò)誤引引起的;4)數(shù)據(jù)據(jù)錯(cuò)誤:由軟件件編碼或或詳細(xì)設(shè)設(shè)計(jì)的錯(cuò)錯(cuò)誤引起起的;5)編碼碼錯(cuò)誤:由軟件件編碼引引起的錯(cuò)錯(cuò)誤;6)其它它錯(cuò)誤:由文檔檔和其它它系統(tǒng)元元素引起起的錯(cuò)誤誤;6.1.3測測試信息息流6.1.4軟軟件測試試步驟與與軟件開開發(fā)各階階段的關(guān)關(guān)系軟件測試試一般分分為四個(gè)個(gè)步驟:(1)單單元測試試(也稱稱模塊測測試):針對軟軟件設(shè)計(jì)計(jì)

14、的基本本單元程序序模塊,進(jìn)行正正確性檢檢驗(yàn)的測測試工作作。目的的在于發(fā)發(fā)現(xiàn)各個(gè)個(gè)模塊內(nèi)內(nèi)部可能能存在的的各種差差錯(cuò)。單單元測試試需要從從程序內(nèi)內(nèi)部結(jié)構(gòu)構(gòu)出發(fā)設(shè)設(shè)計(jì)測試試用例,多個(gè)模模塊可以以平行、獨(dú)立地地進(jìn)行測測試;6.1.4軟軟件測試試步驟與與軟件開開發(fā)各階階段的關(guān)關(guān)系(2)集集成測試試(也稱稱組裝測測試,聯(lián)聯(lián)合測試試):在在單元測測試的基基礎(chǔ)上,將所有有模塊按按設(shè)計(jì)要要求集成成在一起起進(jìn)行測測試,以以檢驗(yàn)總總體設(shè)計(jì)計(jì)中各模模塊間的的接口設(shè)設(shè)計(jì)問題題、模塊塊之間的的相互影影響、上上層模塊塊存在的的各種差差錯(cuò)及全全局?jǐn)?shù)據(jù)據(jù)結(jié)構(gòu)對對系統(tǒng)的的影響等等方面。6.1.4軟軟件測試試步驟與與軟件開開發(fā)各

15、階階段的關(guān)關(guān)系(3)確確認(rèn)測試試(也稱稱驗(yàn)收測測試,有有效性測測試):主要檢檢驗(yàn)軟件件的功能能和性能能是否與與需求說說明書中中的規(guī)定定一致。(4)系系統(tǒng)測試試:將軟軟件系統(tǒng)統(tǒng)作為一一個(gè)元素素,放入入整個(gè)實(shí)實(shí)際的計(jì)計(jì)算機(jī)系系統(tǒng)中,與計(jì)算算機(jī)硬件件、其他他軟件、使用人人員等系系統(tǒng)元素素結(jié)合在在一起,在實(shí)際際使用環(huán)環(huán)境下進(jìn)進(jìn)行綜合合全面的的測試。6.1.4軟軟件測試試步驟與與軟件開開發(fā)各階階段的關(guān)關(guān)系前面多次次強(qiáng)調(diào),使用軟軟件生命命期(瀑瀑布模型型)模型型,軟件件開發(fā)過過程是一一個(gè)自頂頂向下,逐步細(xì)細(xì)化的過過程,而而軟件測測試過程程則是與與開發(fā)過過程相反反的次序序進(jìn)行的的,是一一個(gè)自底底向上,逐步集

16、集成的過過程,低低一層測測試為上上一層測測試準(zhǔn)備備測試條條件和數(shù)數(shù)據(jù)驅(qū)動(dòng)動(dòng)環(huán)境,也包含含兩者平平行進(jìn)行行測試。6.1.4軟軟件測試試步驟與與軟件開開發(fā)各階階段的關(guān)關(guān)系因此,發(fā)發(fā)現(xiàn)引起起錯(cuò)誤的的原因順順序也與與開發(fā)過過程的相相次序反反,首先先對每一一個(gè)模塊塊進(jìn)行單單元測試試,消除除程序模模塊內(nèi)部部邏輯上上和功能能上的錯(cuò)錯(cuò)誤和缺缺陷,再再對照軟軟件設(shè)計(jì)計(jì)進(jìn)行集集成測試試(有時(shí)時(shí)也叫整整體測試試),檢檢測和排排除子系系統(tǒng)或系系統(tǒng)結(jié)構(gòu)構(gòu)上的錯(cuò)錯(cuò)誤,再再對照需需求進(jìn)行行確認(rèn)測測試(也也稱為有有效性測測試),最后進(jìn)進(jìn)行系統(tǒng)統(tǒng)測試,運(yùn)行系系統(tǒng),看看軟件系系統(tǒng)是否否滿足功功能和性性能及其其它要求求。6.1.4

17、軟軟件測試試步驟與與軟件開開發(fā)各階階段的關(guān)關(guān)系需求分析軟件設(shè)計(jì)軟件編碼確認(rèn)測試集成測試單元測試系統(tǒng)測試圖6-2 軟件件測試與與軟件開開發(fā)過程程間的關(guān)關(guān)系6.1.4軟軟件測試試步驟與與軟件開開發(fā)各階階段的關(guān)關(guān)系需求分析 說明書概要設(shè)計(jì) 說明書詳細(xì)設(shè)計(jì) 說明書源程序 代碼確認(rèn)測試集成測試單元測試系統(tǒng)測試圖6-3 軟件件測試與與開發(fā)文文檔之間間的關(guān)系系6.1.5軟軟件測試試原則(1)將將軟件測測試貫穿穿于軟件件開發(fā)的的各個(gè)階階段中,在開發(fā)發(fā)過程中中盡早地地發(fā)現(xiàn)和和預(yù)防錯(cuò)錯(cuò)誤,杜杜絕隱患患,提高高軟件質(zhì)質(zhì)量;(2)測測試用例例必須包包含輸入入數(shù)據(jù)和和與之對對應(yīng)的預(yù)預(yù)期輸出出結(jié)果,精心設(shè)設(shè)計(jì)測試試用例;

18、(3)測測試時(shí)應(yīng)應(yīng)避免設(shè)設(shè)計(jì)者檢檢查自己己設(shè)計(jì)的的程序;(4)設(shè)設(shè)計(jì)測試試用例時(shí)時(shí),應(yīng)包包括合理理的與不不合理的的輸入條條件;6.1.5軟軟件測試試原則(5)充充分注意意測試中中出現(xiàn)的的錯(cuò)誤群群集現(xiàn)象象,若發(fā)發(fā)現(xiàn)錯(cuò)誤誤數(shù)目較較多,則則可能殘殘存的錯(cuò)錯(cuò)誤數(shù)目目也較多多,這種種錯(cuò)誤出出現(xiàn)的群群集現(xiàn)象象,已為為許多程程序測試試實(shí)踐所所證實(shí);(6)嚴(yán)嚴(yán)格執(zhí)行行測試計(jì)計(jì)劃,以以軟件需需求說明明書為基基準(zhǔn)設(shè)計(jì)計(jì)測試用用例,排排除測試試的隨意意性;6.1.5軟軟件測試試原則(7)對對每一個(gè)個(gè)測試結(jié)結(jié)果做全全面檢查查,不能能遺漏錯(cuò)錯(cuò)誤出現(xiàn)現(xiàn)的征兆兆,軟件件修改后后要進(jìn)行行回歸測測試,即即用修改改前測試試過的測

19、測試用例例進(jìn)行測測試,再再用新的的測試用用例測試試;(8)妥妥善保存存測試計(jì)計(jì)劃、測測試用例例、出錯(cuò)錯(cuò)統(tǒng)計(jì)數(shù)數(shù)據(jù)和最最終分析析報(bào)告,為維護(hù)護(hù)提供方方便。在一個(gè)程程序段中中,還存存在著尚尚未發(fā)現(xiàn)現(xiàn)的錯(cuò)誤誤概率與與已發(fā)現(xiàn)現(xiàn)的錯(cuò)誤誤數(shù)正相相關(guān)。6.1.5軟軟件測試試原則殘存錯(cuò)誤的可能性已發(fā)現(xiàn)的錯(cuò)誤數(shù)圖6-4 軟件件錯(cuò)誤的的群集現(xiàn)現(xiàn)象示意意圖6.2軟軟件測測試的方方法軟件的測測試方法法很多,不同的的出發(fā)點(diǎn)點(diǎn)得到不不同的測測試方法法。有:從測試過過程來分分:靜態(tài)態(tài)分析法法、動(dòng)態(tài)態(tài)測試法法;從觀察結(jié)結(jié)構(gòu)的透透明性方方式來分分:白盒盒法、黑黑盒法、灰盒法法;從獲得測測試數(shù)據(jù)據(jù)形式上上分:窮窮盡法;等價(jià)類類劃

20、分法法;邊界界值分析析法;6.2軟軟件測測試的方方法從邏輯分分析上分分:因果果圖法;錯(cuò)誤推推測法;從測試步步驟上分分:單元元測試、集成測測試、確確認(rèn)測試試、系統(tǒng)統(tǒng)測試等等;從考察形形式上分分:功能能測試,邏輯測測試;6.2軟軟件測測試的方方法如何測試試得更完完全、怎怎樣進(jìn)行行測試用用例的設(shè)設(shè)計(jì),是是軟件測測試中的的關(guān)鍵技技術(shù)。無無論用哪哪種方法法進(jìn)行測測試,都都是設(shè)法法用較少少的測試試用例集集合測試試出程序序中較多多的潛在在錯(cuò)誤。靜態(tài)分析析時(shí),不不執(zhí)行程程序,可可對需求求分析說說明書、軟件設(shè)設(shè)計(jì)說明明書、源源程序做做結(jié)構(gòu)檢檢查、流流圖分析析、符號號執(zhí)行來來分析軟軟件可能能導(dǎo)致的的異常情情況,找

21、找出軟件件錯(cuò)誤。從測試試過程來來分:靜靜態(tài)分析析法、動(dòng)動(dòng)態(tài)測試試法;6.2軟軟件測測試的方方法結(jié)構(gòu)檢查查是手工工分析技技術(shù),對對需求說說明、程程序設(shè)計(jì)計(jì)、編碼碼、測試試工作進(jìn)進(jìn)行評議議,虛擬擬地(模模擬)執(zhí)執(zhí)行程序序,在評評議中發(fā)發(fā)現(xiàn)和檢檢查錯(cuò)誤誤;流圖分析析是通過過分析流流程圖、代碼結(jié)結(jié)構(gòu)來檢檢查程序序錯(cuò)誤,便于進(jìn)進(jìn)行編碼碼分析和和測試結(jié)結(jié)果分析析;6.2軟軟件測測試的方方法符號執(zhí)行行是定義義符號化化數(shù)據(jù),為程序序的每條條路徑給給出符號號表達(dá)式式,對特特定路徑徑輸入符符號,經(jīng)經(jīng)處理輸輸出符號號,判斷斷程序的的行為是是否錯(cuò)誤誤,這種種方法復(fù)復(fù)雜,易易出錯(cuò),較少使使用?;液蟹ㄊ鞘前缀蟹ǚê秃诤泻?/p>

22、法相結(jié)結(jié)合使用用的方法法,僅對對重點(diǎn)路路徑和程程序段用用白盒法法測試,大部分分用黑盒盒法進(jìn)行行測試。6.2軟軟件測測試的方方法動(dòng)態(tài)測試試是直接接執(zhí)行程程序進(jìn)行行測試,包括功功能測試試、接口口測試和和結(jié)構(gòu)測測試,觀觀察程序序的行為為,記錄錄執(zhí)行的的結(jié)果,從執(zhí)行行結(jié)果來來分析程程序可能能出現(xiàn)的的錯(cuò)誤;有些人設(shè)設(shè)想,不不管使用用那種測測試方法法,只要要對每一一種可能能發(fā)生的的情況都都進(jìn)行測測試,能能正確通通過,就就可以得得到完全全正確的的程序。6.2軟軟件測測試的方方法包含所有有可能情情況的測測試稱為為窮盡測測試,實(shí)實(shí)際上,通常不不可能做做到窮盡盡測試。因?yàn)楦鞲鞣N輸入入數(shù)據(jù)的的排列組組合情況況往往多

23、多到無法法實(shí)際測測試完成成的程度度。如用用黑盒法法測試三三個(gè)整數(shù)數(shù)型的輸輸入數(shù)據(jù)據(jù),如果果每個(gè)整整數(shù)是16位二二進(jìn)制數(shù)數(shù),則輸輸入數(shù)據(jù)據(jù)有216216216=2482.81014種排列組組合。6.2軟軟件測測試的方方法如果每測測試一次次需要1毫秒,測試完完畢這些些排列組組合的各各種情況況需要一一萬年,另外還還需測試試不合法法的輸入入情況,實(shí)際上上不可能能窮盡所所有組合合情況。因此,一般的的軟件測測試是有有限測試試。Alpha()測試:通通用軟件件產(chǎn)品為為了征集集用戶的的意見,在開發(fā)發(fā)者的場場所,由由用戶進(jìn)進(jìn)行的測測試,記記錄用戶戶發(fā)現(xiàn)的的錯(cuò)誤和和問題。6.2軟軟件測測試的方方法Beta()測試

24、:在在一個(gè)或或多個(gè)用用戶自己己的場所所,由最最終用戶戶進(jìn)行,并記錄錄在測試試中遇到到的所有有問題和和想法。重要的通通用軟件件產(chǎn)品,大多經(jīng)經(jīng)過和測試。6.3測測試方方案與測測試用例例設(shè)計(jì)測試試方案是是軟件測測試中的的關(guān)鍵問問題。測測試方案案包括預(yù)預(yù)定要測測試的功功能、結(jié)結(jié)構(gòu),應(yīng)應(yīng)該要輸輸入的測測試數(shù)據(jù)據(jù)和輸入入這些數(shù)數(shù)據(jù)后預(yù)預(yù)期的結(jié)結(jié)果測試用用例。測測試用例例的設(shè)計(jì)計(jì)是其中中較困難難的問題題,不同同的測試試數(shù)據(jù)發(fā)發(fā)現(xiàn)程序序錯(cuò)誤的的能力差差別很大大,為了了提高測測試效率率,降低低測試成成本,應(yīng)應(yīng)該選用用高效的的測試數(shù)數(shù)據(jù)。因因?yàn)椴豢煽赡苓M(jìn)行行窮盡測測試,選選用少量量高效的的測試數(shù)數(shù)據(jù),進(jìn)進(jìn)行盡可可

25、能完備備的測試試就顯得得更重要要了。6.3測測試方方案與測測試用例例設(shè)計(jì)測試試方案的的基本目目標(biāo)是,確定一一組最有有可能發(fā)發(fā)現(xiàn)某個(gè)個(gè)或某類類錯(cuò)誤的的測試用用例。有有多種測測試技術(shù)術(shù),同一一種測試試技術(shù)在在不同的的應(yīng)用場場合效果果可能相相差很大大,因此此,通常常需要聯(lián)聯(lián)合使用用多種測測試技術(shù)術(shù)來設(shè)計(jì)計(jì)測試用用例。通常的做做法是用用黑盒法法設(shè)計(jì)基基本測試試方案,再用白白盒法補(bǔ)補(bǔ)充一些些方案。6.4白白盒法法(邏輯輯覆蓋)白盒法也也稱邏輯輯驅(qū)動(dòng)法法(邏輯輯覆蓋法法),從從軟件的的具體邏邏輯結(jié)構(gòu)構(gòu)和執(zhí)行行路徑出出發(fā),設(shè)設(shè)計(jì)測試試用例。具有語語句覆蓋蓋、判定定覆蓋(分支覆覆蓋)、條件覆覆蓋、判判定/條條

26、件覆蓋蓋、路徑徑覆蓋、條件組組合覆蓋蓋、點(diǎn)覆覆蓋、邊邊覆蓋,下面以以一個(gè)經(jīng)經(jīng)典例子子分別介介紹:設(shè)有某個(gè)個(gè)算法片片段的程程序流程程圖如下下:6.4白白盒法法(邏輯輯覆蓋)圖6-5程序段程序框圖 (A1)AND(B=0) (A=2)OR(X1) X=X/AX=X+1abcdeTT6.4白白盒法法(邏輯輯覆蓋)該程序片片段有四四條路徑徑:abd,acd,ace,aed。(1)語句覆蓋蓋:選擇擇足夠的的測試用用例使程程序中每每條語句句至少執(zhí)執(zhí)行一次次。為了使每每個(gè)語句句都執(zhí)行行一次,程序的的執(zhí)行路路徑只需需經(jīng)過a、b、c、d、e各點(diǎn)即可可。如果果選擇路路徑ace,則能保證證程序中中的語句句都執(zhí)行行一

27、次。6.4白白盒法法(邏輯輯覆蓋)例如,選選擇測試試用例:A=2,B=0,X=3,預(yù)期的結(jié)結(jié)果為:A=2,B=0,X=2.5;但是,許許多路徑徑得不到到測試,這種測測試很不不充分。圖6-5程序段程序框圖 (A1)AND(B=0) (A=2)OR(X1) X=X/AX=X+1abcdeTT6.4白白盒法法(邏輯輯覆蓋)(2)判判定覆覆蓋(也也稱分支支覆蓋):判定定是一個(gè)個(gè)邏輯表表達(dá)式的的結(jié)果。選擇足足夠的測測試用例例,使程程序中每每個(gè)判定定至少都都能獲得得一次“真”值值和一次次“假”值,從從而使程程序的每每個(gè)判定定的每個(gè)個(gè)分支至至少都執(zhí)執(zhí)行一次次。例如,選選擇測試試用例:A=3,B=0,X=3,

28、預(yù)期結(jié)果果為:A=3,B=0,X=1;選擇測試試用例:A=2,B=1,X=0,預(yù)期結(jié)果果為:A=2,B=1,X=1;6.4白白盒法法(邏輯輯覆蓋)這組測試試用例覆覆蓋了路路徑acd和aed,滿足了判判定覆蓋蓋要求。判定覆覆蓋比語語句覆蓋蓋強(qiáng),但但是判定定覆蓋只只關(guān)心整整個(gè)判定定表達(dá)式式的值,對程序序邏輯的的覆蓋程程度仍然然不高,如上面面的測試試,只覆覆蓋了全全部路徑徑的一半半路徑。6.4白白盒法法(邏輯輯覆蓋)(3)條條件覆覆蓋:條條件為邏邏輯表達(dá)達(dá)式中的的各個(gè)邏邏輯分量量。選擇擇足夠的的測試用用例,使使得程序序判定中中的每個(gè)個(gè)條件都都能獲得得各種可可能的結(jié)結(jié)果。如圖6-5中,有四個(gè)個(gè)條件:A

29、1,B=0,A=2,X1,每個(gè)條件件可能出出現(xiàn)的各各種結(jié)果果為:a點(diǎn)出現(xiàn):A1,A1;B=0,B0;b點(diǎn)出現(xiàn):A=2,A2;X1,X1;6.4白白盒法法(邏輯輯覆蓋)例如,選選擇測試試用例:A=2,B=0,X=4,預(yù)期結(jié)果果為:A=2,B=0,X=3;選擇測試試用例:A=1,B=1,X=1,預(yù)期結(jié)果果為:A=1,B=1,X=1;這組測試試用例覆覆蓋了路路徑acd,aed和abd,滿足了條條件覆蓋蓋要求。條件覆覆蓋比判判定覆蓋蓋強(qiáng),它它使判定定表達(dá)式式中的每每個(gè)條件件都取得得了兩個(gè)個(gè)不同的的結(jié)果。6.4白白盒法法(邏輯輯覆蓋)但也有相相反的情情況,每每個(gè)條件件雖然取取得兩個(gè)個(gè)不同的的結(jié)果,判定表

30、表達(dá)式卻卻始終只只取一個(gè)個(gè)值,例例如:取取數(shù)據(jù):A=2,B=0,X=1;滿足A1,B=0,A=2,X1的條件,執(zhí)行路路徑ace;A=1,B=1,X=2;滿足A1,B0,A2,X1的條件,執(zhí)行路路徑abd;滿足了條條件覆蓋蓋,卻不不滿足判判定覆蓋蓋,第二二個(gè)判定定表達(dá)式式的值總總為真。6.4白白盒法法(邏輯輯覆蓋)(4)判判定/條件覆覆蓋:選選擇足夠夠的測試試用例,使得程程序判定定中的每每個(gè)條件件都能獲獲得各種種可能的的結(jié)果,并且使使得每個(gè)個(gè)判定都都取得各各種可能能的結(jié)果果。例如,選選擇測試試用例:A=2,B=0,X=4,預(yù)期結(jié)果果為:A=2,B=0,X=3;選擇測試試用例:A=1,B=1,X=

31、1,預(yù)期結(jié)果果為:A=1,B=1,X=1;6.4白白盒法法(邏輯輯覆蓋)這組測試試用例覆覆蓋了路路徑acd,aed和abd,滿足了判判定/條條件覆蓋蓋要求。但它也也并不比比條件覆覆蓋更強(qiáng)強(qiáng)。6.4白白盒法法(邏輯輯覆蓋)(5)條條件組合合覆蓋:選擇足足夠的測測試用例例,使得得程序判判定中的的條件的的各種可可能組合合都至少少出現(xiàn)一一次。如圖6-5中,需要測測試覆蓋蓋條件組組合的下下述八種種情況:1)A1,B=0 ;2) A1,B0;3)A1,B=0;4)A1,B0;5) A=2,X16)A=2,X18) A2,X16.4白白盒法法(邏輯輯覆蓋)用A=2,B=0,X=4,預(yù)期結(jié)果果:A=2,B=0

32、,X=3,覆蓋情況況1)、5);用A=2,B=1,X=1,預(yù)期結(jié)果果:A=2,B=1,X=2,覆蓋情況況2)、6)用A=1,B=0,X=2,預(yù)期結(jié)果果:A=1,B=0,X=3,覆蓋情況況 3)、7)用A=1,B=1,C=1,預(yù)期結(jié)果果:A=1,B=1,X=1,覆蓋情況況 4)、8)6.4白白盒法法(邏輯輯覆蓋)條件組合合覆蓋是是最強(qiáng)的覆蓋,雖然這這四個(gè)測測試實(shí)現(xiàn)現(xiàn)了條件件組合覆覆蓋,但但并沒有有覆蓋每每一條路路徑,如如:路徑徑acd遺漏了。以上各種種技術(shù)基基本上是是依次增增強(qiáng)的順順序,但但測試用用例的數(shù)數(shù)量也急急劇增加加。開銷銷大,應(yīng)應(yīng)注意權(quán)權(quán)衡。6.4白白盒法法(邏輯輯覆蓋)(6)點(diǎn)點(diǎn)覆蓋:

33、圖論中中的點(diǎn)覆覆蓋定義義為:如如果連通通圖G的子圖G是連通的的,而且且包含G的所有節(jié)節(jié)點(diǎn),則則稱G是G的點(diǎn)覆蓋蓋。如果果把程序序流程圖圖的每個(gè)個(gè)處理框框(含一一個(gè)或多多個(gè)語句句)作為為一個(gè)節(jié)節(jié)點(diǎn),就就畫出了了程序圖圖。滿足足點(diǎn)覆蓋蓋的要求求是選取取足夠多多的測試試用例,測試執(zhí)執(zhí)行程序序時(shí)的路路徑,至至少經(jīng)過過程序圖圖的每個(gè)個(gè)節(jié)點(diǎn)一一次。顯顯然,點(diǎn)點(diǎn)覆蓋的的要求和和語句覆覆蓋的要要求是相相同的。6.4白白盒法法(邏輯輯覆蓋)(7)邊邊覆蓋:圖論中中的邊覆覆蓋定義義為:如如果連通通圖G的子圖G是連通的的,而且且包含G的所有邊邊,則稱稱G是G的邊覆蓋蓋。為了了滿足邊邊覆蓋的的測試要要求,使使得程序序

34、的執(zhí)行行路徑經(jīng)經(jīng)過程序序圖中的的每一條條邊。通通常邊覆覆蓋和判判定覆蓋蓋是一致致的。6.4白白盒法法(邏輯輯覆蓋)(8)路路徑覆蓋蓋:選擇擇足夠的的測試用用例,使使得程序序中的每每條可能能組合路路徑都至至少執(zhí)行行一次。(如果果程序圖圖中有環(huán)環(huán),則每每個(gè)環(huán)至至少經(jīng)過過一次。)它是是相當(dāng)強(qiáng)強(qiáng)的邏輯輯覆蓋標(biāo)標(biāo)準(zhǔn),選選擇的測測試用例例更具有有代表性性,暴露露錯(cuò)誤的的能力也也更強(qiáng)。6.4黑黑盒法法(邏輯輯覆蓋)黑盒測試試法把程程序看成成是一個(gè)個(gè)黑盒子子,不考考慮程序序內(nèi)部的的執(zhí)行過過程,著著眼于外外部特性性,在接接口上進(jìn)進(jìn)行測試試,僅考考慮輸入入與輸出出能否與與需求規(guī)規(guī)格說明明書對應(yīng)應(yīng)起來,輸入能能否正

35、確確的接收收,輸出出能否得得到正確確的結(jié)果果。也稱稱為數(shù)據(jù)據(jù)驅(qū)動(dòng)或或輸入/輸出驅(qū)驅(qū)動(dòng)測試試,或功功能測試試。黑盒法包包括等價(jià)價(jià)類劃分分、邊界界值分析析、因果果圖法。6.5.1等等價(jià)類劃劃分一個(gè)理想想的測試試用例能能夠獨(dú)自自發(fā)現(xiàn)某某一類錯(cuò)錯(cuò)誤。一一般的測測試是以以輸入數(shù)數(shù)據(jù)為基基礎(chǔ)進(jìn)行行的,我我們著眼眼于劃分分輸入數(shù)數(shù)據(jù)值的的情況,以便找找出有代代表性的的測試數(shù)數(shù)據(jù),減減少測試試工作量量。6.5.1等等價(jià)類劃劃分假設(shè)我們們可以把把輸入的的數(shù)據(jù)域域劃分成成有限的的等價(jià)類類,用每每個(gè)等價(jià)價(jià)類的代代表值作作為測試試用例的的輸入數(shù)數(shù)據(jù)進(jìn)行行測試,等價(jià)于于該類的的任何其其它值作作為設(shè)計(jì)計(jì)用例的的輸入數(shù)數(shù)據(jù)

36、進(jìn)行行的測試試。即:如果等等價(jià)類中中的一個(gè)個(gè)測試用用例檢測測出程序序的一個(gè)個(gè)錯(cuò)誤,那么這這一等價(jià)價(jià)類的其其余測試試用例也也能發(fā)現(xiàn)現(xiàn)同樣的的錯(cuò)誤。相反,若測不不出錯(cuò)誤誤,則該該等價(jià)類類的其他他測試用用例,也也測不出出錯(cuò)誤。6.5.1等等價(jià)類劃劃分等價(jià)類劃劃分的原原則:(1)如如果規(guī)定定了輸入入值的取取值范圍圍,則可可劃分出出一個(gè)有有效的等等價(jià)類(輸入值值在此范范圍內(nèi)),兩個(gè)個(gè)無效的的等價(jià)類類(輸入入值小于于最小值值、或大大于最大大值);(2)如如果規(guī)定定了輸入入數(shù)據(jù)的的個(gè)數(shù),則類似似地也可可以劃分分出一個(gè)個(gè)有效等等價(jià)類和和兩個(gè)無無效等價(jià)價(jià)類。6.5.1等等價(jià)類劃劃分(3)如如果規(guī)定定了輸入入數(shù)據(jù)

37、的的一組值值,而且且程序?qū)Σ煌斴斎胫底鲎霾煌氐靥幚?,則每個(gè)個(gè)允許的的值是一一個(gè)有效效的等價(jià)價(jià)類,還還有一個(gè)個(gè)無效的的等價(jià)類類(任何何一個(gè)不不允許的的輸入值值);(4)如如果規(guī)定定了輸入入數(shù)據(jù)必必須遵循循的規(guī)則則,則可可以劃分分出一個(gè)個(gè)有效的的等價(jià)類類(符合合規(guī)則的的輸入數(shù)數(shù)據(jù))和和若干個(gè)個(gè)無效的的等價(jià)類類(從各各種不同同角度違違反規(guī)則則);6.5.1等等價(jià)類劃劃分(5)如如果輸入入數(shù)據(jù)為為整型,則可以以劃分出出正整數(shù)數(shù)、零和和負(fù)整數(shù)數(shù)三個(gè)有有效類;(6)如如果程序序處理的的對象是是表格,則應(yīng)該該使用空空表、以以及含有有一項(xiàng)或或多項(xiàng)的的表進(jìn)行行測試。以上列舉舉了可能能情況的的一部分分,還可

38、可以根據(jù)據(jù)經(jīng)驗(yàn)進(jìn)進(jìn)行劃分分。上面面是針對對輸入數(shù)數(shù)據(jù)而言言,對輸輸出數(shù)據(jù)據(jù)也可類類似劃分分。6.5.1等等價(jià)類劃劃分根據(jù)等價(jià)價(jià)類劃分分來設(shè)計(jì)計(jì)測試方方案時(shí)主主要使用用下面的的兩個(gè)步步驟(先先劃分好好等價(jià)類類):1)設(shè)計(jì)計(jì)一個(gè)新新的測試試方案,盡可能能多的覆覆蓋尚未未被覆蓋蓋的有效效等價(jià)類類;重復(fù)復(fù)這一步步驟直到到所有有有效等價(jià)價(jià)類都被被覆蓋為為止;2)設(shè)計(jì)計(jì)一個(gè)新新的測試試方案,使它覆覆蓋一個(gè)個(gè),而且且只覆蓋蓋一個(gè)尚尚未被覆覆蓋的無無效等價(jià)價(jià)類,重重復(fù)這一一步驟直直到所有有無效等等價(jià)類都都被覆蓋蓋為止;6.5.2邊邊界值分分析經(jīng)驗(yàn)表明明,程序序在處理理邊界情情況時(shí)最最容易發(fā)發(fā)生錯(cuò)誤誤忽忽略邊界

39、界數(shù)據(jù)域域問題。所以選選取稍微微高于或或低于邊邊界值的的數(shù)據(jù)進(jìn)進(jìn)行測試試。啟發(fā)發(fā)規(guī)則如如下:(1)輸輸入條件件規(guī)定取取值范圍圍或輸入入個(gè)數(shù)時(shí)時(shí),取邊邊界值的的上下值值或個(gè)數(shù)數(shù)的上下下界設(shè)計(jì)計(jì)測試用用例;(2)如如果輸出出條件規(guī)規(guī)定取值值范圍,取邊界界上下浮浮動(dòng)值作作為測試試數(shù)據(jù);6.5.2邊邊界值分分析(3)規(guī)規(guī)格說明明中提出出輸入輸輸出有序序集,取取有序集集的第一一個(gè)和最最后一個(gè)個(gè)元素作作為測試試數(shù)據(jù);(4)分分析規(guī)格格說明,找出其其他可能能存在的的邊界條條件,取取其上下下浮動(dòng)值值作為測測試數(shù)據(jù)據(jù)。6.5.3因因果圖法法因果圖可可以提供供邏輯條條件和相相應(yīng)動(dòng)作作之間的的簡潔邏邏輯關(guān)系系表示。

40、因果圖的的使用可可以分為為如下步步驟:(1)列列出模塊塊的原因因和和效果(動(dòng)作),給每每個(gè)原因因和效果果一個(gè)標(biāo)標(biāo)示符;(2)把把原因、效果用用邏輯符符號連接接起來,畫出原原因效果果圖,標(biāo)標(biāo)出約束束條件;6.5.3因因果圖法法(3)原原因相對對于判定定表中的的條件,效果相相對于判判定表中中的動(dòng)作作,把原原因效果果圖轉(zhuǎn)換換為判定定表;(4)把把判定表表中右邊邊部分的的每一列列表示的的情況轉(zhuǎn)轉(zhuǎn)換為測測試用例例。6.5.3錯(cuò)錯(cuò)誤推測測法錯(cuò)誤推測測法在很大程程度上依依靠人的的直覺和和經(jīng)驗(yàn)進(jìn)進(jìn)行。有有時(shí)利用用其他測測試方法法測試后后的程序序表現(xiàn),推測應(yīng)應(yīng)該如何何進(jìn)行下下一步的的測試。也可利利用程序序錯(cuò)誤清

41、清單作為為推測測測試的依依據(jù)。6.5.3綜綜合測試試策略對軟件系系統(tǒng)的實(shí)實(shí)際測試試,往往往利用多多種測試試方法進(jìn)進(jìn)行,形形成綜合合測試策策略。通通常是用用黑盒法法設(shè)計(jì)一一些基本本的測試試用例,再用白白盒法補(bǔ)補(bǔ)充設(shè)計(jì)計(jì)一些必必要的測測試用例例,黑盒盒、白盒盒法相結(jié)結(jié)合灰盒法法進(jìn)行測測試。具具體策略略為:(1)在在任何情情況下都都應(yīng)該該使用邊邊界值分分析法進(jìn)進(jìn)行測試試。經(jīng)驗(yàn)驗(yàn)表明這這種方法法設(shè)計(jì)出出的測試試用例,暴露程程序錯(cuò)誤誤的能力力最強(qiáng),應(yīng)該包包括輸入入和輸出出數(shù)據(jù)的的邊界情情況;6.5.3綜綜合測試試策略(2)必必要時(shí)用用等價(jià)類類劃分法法補(bǔ)充測測試用例例;(3)必必要時(shí)用用錯(cuò)誤推推測法補(bǔ)補(bǔ)充

42、測試試用例;(4)對對照程序序邏輯,檢查設(shè)設(shè)計(jì)測試試用例,可根據(jù)據(jù)對程序序的可靠靠性要求求采用不不同的邏邏輯覆蓋蓋標(biāo)準(zhǔn),補(bǔ)充測測試用例例,達(dá)到到邏輯覆覆蓋標(biāo)準(zhǔn)準(zhǔn);(5)如如果有輸輸入條件件的組合合,就應(yīng)應(yīng)從輸入入條件及及其組合合開始測測試。6.5.3綜綜合測試試策略對于集成成測試可可以使用用模塊的的自頂向向下的結(jié)結(jié)合方式式,也可可以使用用自底向向上的結(jié)結(jié)合方式式進(jìn)行測測試,還還可用輔輔助測試試工具協(xié)協(xié)助測試試。軟件系統(tǒng)統(tǒng)測試完完后,應(yīng)應(yīng)對軟件件配置進(jìn)進(jìn)行復(fù)查查,確保保軟件的的有關(guān)文文檔資料料的完整整齊全,分類編編目,便便于軟件件的維護(hù)護(hù)和修改改。審查查的資料料包括:用戶所所需的文文檔(用用戶手

43、冊冊、操作作手冊);設(shè)計(jì)計(jì)文檔;源程序序;測試試文檔(測試說說明書,測試報(bào)報(bào)告)及及其它說說明等。6.6軟軟件調(diào)調(diào)試程序測試試只是發(fā)發(fā)現(xiàn)錯(cuò)誤誤的跡象象,并不不清楚具具體錯(cuò)誤誤的位置置和產(chǎn)生生的原因因,應(yīng)該該立即進(jìn)進(jìn)行調(diào)試試,即糾糾正錯(cuò)誤誤的工作作,它包包含兩方方面工作作:(1)確確定程序序中錯(cuò)誤誤的具體體位置和和性質(zhì);(2)修修改錯(cuò)誤誤。調(diào)試必須須由程序序員自己己來進(jìn)行行。6.6軟軟件調(diào)調(diào)試調(diào)試技術(shù)術(shù)有以下下類別:輸出存儲儲器內(nèi)容容:發(fā)現(xiàn)現(xiàn)問題時(shí)時(shí),設(shè)法法保留現(xiàn)現(xiàn)場信息息,把所所有寄存存器和主主存中相相關(guān)部分分的內(nèi)容容打印出出來進(jìn)行行分析研研究。打印關(guān)鍵鍵變量的的動(dòng)態(tài)內(nèi)內(nèi)容:為為取得關(guān)關(guān)鍵變量

44、量的動(dòng)態(tài)態(tài)值,在在程序中中插入標(biāo)標(biāo)準(zhǔn)的打打印語句句,檢驗(yàn)驗(yàn)在某個(gè)個(gè)事件發(fā)發(fā)生后變變量是否否按預(yù)期期的要求求進(jìn)行變變化。6.6軟軟件調(diào)調(diào)試?yán)谜{(diào)試試工具跟跟蹤程序序的動(dòng)態(tài)態(tài)變化,單步跟跟蹤,檢檢查主存存和寄存存器內(nèi)容容,檢查查重要變變量內(nèi)容容,檢查查是否進(jìn)進(jìn)入預(yù)定定的程序序分支,設(shè)置斷斷點(diǎn),當(dāng)當(dāng)程序運(yùn)運(yùn)行到檢檢查的重重點(diǎn)位置置,暫停停程序運(yùn)運(yùn)行,觀觀察主要要的變化化信息,分析程程序狀態(tài)態(tài),決定定繼續(xù)跟跟蹤還是是停止執(zhí)執(zhí)行,為為程序的的調(diào)試提提供了有有力的手手段。調(diào)試的策策略有:試探法法,回溯溯法,對對分查找找法、歸歸納法、演繹法法。可根根據(jù)個(gè)人人經(jīng)驗(yàn)和和具體情情況靈活活應(yīng)用。6.7軟軟件質(zhì)質(zhì)量控

45、制制高質(zhì)量是是產(chǎn)品得得以存在在和生長長的前提提,軟件件工程的的主要目目標(biāo)之一一就是要要獲得高高質(zhì)量的的軟件。在軟件件工程誕誕生之前前,由于于計(jì)算機(jī)機(jī)設(shè)備條條件的限限制,計(jì)計(jì)算機(jī)發(fā)發(fā)展的早早期,內(nèi)內(nèi)存容量量有限,執(zhí)行速速度不高高,當(dāng)時(shí)時(shí)的軟件件設(shè)計(jì)特特別強(qiáng)調(diào)調(diào)效率。隨著技技術(shù)的發(fā)發(fā)展,軟軟件規(guī)模模的擴(kuò)大大,軟件件復(fù)雜性性的增加加,人們們對軟件件質(zhì)量的的觀點(diǎn)早早已發(fā)生生了很大大變化,更強(qiáng)調(diào)調(diào)軟件的的全面質(zhì)質(zhì)量評價(jià)價(jià)。6.7.1軟軟件質(zhì)量量評價(jià)不同的人人員對軟軟件質(zhì)量量關(guān)心的的著重點(diǎn)點(diǎn)不同,反映了了對軟件件質(zhì)量的的不同要要求。用戶關(guān)心心軟件產(chǎn)產(chǎn)品是否否滿足規(guī)規(guī)定的功功能和性性能要求求,軟件件運(yùn)行是是

46、否可靠靠,是否否易于學(xué)學(xué)習(xí)掌握握,易于于使用,是否有有較高的的運(yùn)行效效率,是是否可以以從一個(gè)個(gè)環(huán)境移移植到另另一個(gè)環(huán)環(huán)境等問問題。軟件開發(fā)發(fā)人員既既要開發(fā)發(fā)滿足質(zhì)質(zhì)量要求求的最終終產(chǎn)品,又要注注意軟件件開發(fā)過過程中的的每個(gè)階階段的質(zhì)質(zhì)量。6.7.1軟軟件質(zhì)量量評價(jià)開發(fā)人員員常把產(chǎn)產(chǎn)品外部部特性用用軟件內(nèi)內(nèi)部質(zhì)量量結(jié)構(gòu)來來對應(yīng)。維護(hù)人員員要求軟軟件系統(tǒng)統(tǒng)、軟件件文檔清清晰、軟軟件文檔檔與源代代碼一致致,軟件件易于修修改、易易于維護(hù)護(hù)。管理人員員關(guān)心的的是軟件件的總體體質(zhì)量特特性,在在軟件質(zhì)質(zhì)量與開開發(fā)工期期之間進(jìn)進(jìn)行折中中選擇;6.7.1軟軟件質(zhì)量量評價(jià)但影響軟軟件質(zhì)量量的各因因素之間間是相互互

47、聯(lián)系、甚至是是相互矛矛盾的,如追求求可靠性性要犧牲牲一定的的時(shí)間和和空間效效率為代代價(jià),要要求軟件件不但能能在合法法的輸入入情況下下正確地地運(yùn)行,而且還還應(yīng)該能能夠安全全地排除除非法的的入侵和和處理意意外的事事件。一般要求求軟件具具有良好好的結(jié)構(gòu)構(gòu),齊全全的文檔檔資料,易于閱閱讀和理理解,便便于修改改和維護(hù)護(hù),內(nèi)部部層次結(jié)結(jié)構(gòu)清晰晰、人機(jī)機(jī)界面友友好,用用戶樂于于使用。6.7.1軟軟件質(zhì)量量評價(jià)國際標(biāo)準(zhǔn)準(zhǔn)化機(jī)構(gòu)構(gòu)建議,軟件質(zhì)質(zhì)量模型型由三層層組成:高層:軟軟件質(zhì)量量需求評評價(jià)準(zhǔn)則則(SQRC);中層:軟軟件質(zhì)量量設(shè)計(jì)評評價(jià)準(zhǔn)則則(SQDC);低層:軟軟件質(zhì)量量度量評評價(jià)準(zhǔn)則則(SQMC);6.

48、7.1軟軟件質(zhì)量量評價(jià)多數(shù)軟件件同行公公認(rèn)的一一般質(zhì)量量按如下下特性進(jìn)進(jìn)行評價(jià)價(jià):正確性:(功能能度)在在預(yù)定的的環(huán)境下下,軟件件實(shí)現(xiàn)的的功能達(dá)達(dá)到設(shè)計(jì)計(jì)規(guī)范和和滿足用用戶要求求的程度度;可靠性:軟件在在給定的的條件下下和規(guī)定定的時(shí)間間內(nèi)完成成預(yù)定職職能的概概率;即即保持其其性能的的能力相相關(guān)的屬屬性;易用性:用戶學(xué)學(xué)習(xí)軟件件、運(yùn)行行操作軟軟件、準(zhǔn)準(zhǔn)備輸入入、理解解輸出所所做的努努力程度度,根據(jù)據(jù)用戶評評估使用用軟件所所需進(jìn)行行努力的的程度相相關(guān)的屬屬性;6.7.1軟軟件質(zhì)量量評價(jià)效率:在在規(guī)定的的條件下下,軟件件表現(xiàn)的的性能級級別與所所使用資資源總量量(包括括人員、時(shí)間、財(cái)力)關(guān)系的的屬性;

49、可維護(hù)性性:軟件件修改難難易程度度的一組組屬性;可移植性性;(可可轉(zhuǎn)換性性)指一一個(gè)軟件件從一個(gè)個(gè)環(huán)境轉(zhuǎn)轉(zhuǎn)換到另另一個(gè)環(huán)環(huán)境運(yùn)行行的能力力的相關(guān)關(guān)屬性。以上六條條是常見見的評價(jià)價(jià)方面。6.7.1軟軟件質(zhì)量量評價(jià)還有其它它方面的的特性來來評價(jià)軟軟件質(zhì)量量,衡量量總體質(zhì)質(zhì)量的優(yōu)優(yōu)劣程度度。如:健壯性:在硬件件發(fā)生故故障、輸輸入數(shù)據(jù)據(jù)無效或或操作失失誤等意意外情況況下,系系統(tǒng)不至至于崩潰潰,能作作出適當(dāng)當(dāng)響應(yīng)的的程度;完整性:(安全全性)對對未經(jīng)授授權(quán)的人人使用軟軟件或數(shù)數(shù)據(jù)的企企圖,系系統(tǒng)能夠夠控制(禁止)的程度度;6.7.1軟軟件質(zhì)量量評價(jià)可測試性性:系統(tǒng)統(tǒng)容易測測試的程程度;可再用性性:在其其

50、他應(yīng)用用中該軟軟件可以以被再次次使用的的程度(或范圍圍);可互連性性:把軟軟件系統(tǒng)統(tǒng)與其他他系統(tǒng)連連接起來來的能力力。除了定性性評價(jià)外外,人們們逐漸重重視軟件件的質(zhì)量量度量,它是在在系統(tǒng)運(yùn)運(yùn)行過程程中進(jìn)行行動(dòng)態(tài)檢檢測,不不斷收集集軟件性性能方面面的數(shù)據(jù)據(jù),利用用軟件質(zhì)質(zhì)量模型型(如軟軟件可靠靠性模型型、軟件件復(fù)雜度度模型等等)進(jìn)行行分析和和評價(jià)。6.7.2軟軟件質(zhì)量量控制做好軟件件質(zhì)量的的控制,就要加加強(qiáng)軟件件生命期期各個(gè)階階段的軟軟件質(zhì)量量保證,需要做做好如下下幾方面面的軟件件管理工工作:(1)采采用技術(shù)術(shù)手段保保證軟件件質(zhì)量:在軟件件開發(fā)過過程中,注意采采用科學(xué)學(xué)的軟件件工程方方法和工工具來保保證所開開發(fā)軟件件的質(zhì)量量;6.7.2軟軟件質(zhì)量量控制(2)組組織技術(shù)術(shù)評審:在軟件件開發(fā)的的每個(gè)階階段結(jié)束束后,都都要組織織評審,對質(zhì)量量進(jìn)行評評價(jià),可可以及早早地發(fā)現(xiàn)現(xiàn)軟件開開發(fā)過程程中的可可能引起起軟件質(zhì)質(zhì)量問題題的潛在在錯(cuò)誤;(3)加加強(qiáng)軟件件測試:軟件測測試是軟軟件質(zhì)量量保證的的重要手手段。測測試可以以發(fā)現(xiàn)軟軟件中大大多數(shù)隱隱藏的錯(cuò)錯(cuò)誤,測測試愈充充分,軟軟件中的的隱患就就有可能能暴露得得愈徹底底;6.7.2軟軟件質(zhì)量量

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論