【教學(xué)課件】第五章軟件測(cè)試工程

上傳人:wan****21 文檔編號(hào):252940021 上傳時(shí)間:2024-11-26 格式:PPT 頁數(shù):192 大?。?64KB
收藏 版權(quán)申訴 舉報(bào) 下載
【教學(xué)課件】第五章軟件測(cè)試工程_第1頁
第1頁 / 共192頁
【教學(xué)課件】第五章軟件測(cè)試工程_第2頁
第2頁 / 共192頁
【教學(xué)課件】第五章軟件測(cè)試工程_第3頁
第3頁 / 共192頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《【教學(xué)課件】第五章軟件測(cè)試工程》由會(huì)員分享,可在線閱讀,更多相關(guān)《【教學(xué)課件】第五章軟件測(cè)試工程(192頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、Click to edit Master title style,,Click to edit Master text styles,,Second Level,,Third Level,,Fourth Level,,Fifth Level,,第五章 軟件測(cè)試工程,概述,,軟件開發(fā)過程必須伴有質(zhì)量保證活動(dòng)。,,軟件測(cè)試是軟件質(zhì)量保證的關(guān)鍵元素,代表了規(guī)約、設(shè)計(jì)和編碼的最終檢查。,,軟件產(chǎn)品最大的成本是檢測(cè)軟,,件錯(cuò)誤、修正軟件錯(cuò)誤的成本。,,,,在整個(gè)軟件開發(fā)中,測(cè)試工作量,,一般占,30%~40%,甚至≥50%。,,,在人命關(guān)天的軟件(如飛機(jī)控制、核反應(yīng)堆等)測(cè)試所花費(fèi)的時(shí)間往往是其它軟

2、件工程活動(dòng)時(shí)間之和的三到五倍,,軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程,或者說,軟件測(cè)試是根據(jù)軟件的規(guī)格說明(例如軟件的功能、性能、運(yùn)行環(huán)境等要求)以及程序內(nèi)部結(jié)構(gòu)而設(shè)計(jì)一批測(cè)試用例,并利用這些測(cè)試用例去運(yùn)行程序,以發(fā)現(xiàn)軟件錯(cuò)誤的過程。,,,測(cè)試用例是為了測(cè)試軟件而設(shè)計(jì)的一組數(shù)據(jù),它應(yīng)該包括輸入的數(shù)據(jù)和預(yù)期輸出的結(jié)果兩部分。,,,測(cè)試用例={輸入數(shù)據(jù)+預(yù)期結(jié)果},軟件測(cè)試背景,軟件是人編的—所以不完美,,實(shí)例:,,Intel,的,pentium,處理器,,1994,年,浮點(diǎn)除法缺陷,,2000,年,8,月,28,日,,1.13MHZ,處理器一個(gè)可能導(dǎo)致運(yùn)行程序被掛起的執(zhí)行指令問題,,1999,

3、年,12,月,3,日,,,美國(guó)航天局火星極地登陸飛船失蹤,,1991,年愛國(guó)者導(dǎo)彈防御系統(tǒng)系統(tǒng)時(shí)鐘錯(cuò)誤積累造成跟蹤系統(tǒng)失去精確度,,千年蟲:世界各地解決,2000,年錯(cuò)誤超過數(shù)億美元,,質(zhì)量管理領(lǐng)域權(quán)威人物,將質(zhì)量定義為“決定產(chǎn)品性能和‘滿意程度’的特征”,,,測(cè)試注重于產(chǎn)品的滿意度。,,測(cè)試應(yīng)針對(duì)這樣一種情況:軟件產(chǎn)品在一些特定的范圍內(nèi)不能滿足客戶的合理要求。,,通過,測(cè)試,過程可以評(píng)定,質(zhì)量風(fēng)險(xiǎn)(可能的錯(cuò)誤),,了解被測(cè)試系統(tǒng)中存在的,錯(cuò)誤模式(觀察到的錯(cuò)誤癥狀),。,,軟件測(cè)試是一個(gè)查找錯(cuò)誤的過程,所以軟件測(cè)試只能證明錯(cuò)誤的存在,而不是證明程序無錯(cuò),不能保證經(jīng)過測(cè)試的程序一定沒有錯(cuò)誤。,

4、,軟件測(cè)試僅僅是一個(gè)手段,根本的目的是為了糾錯(cuò),即糾正軟件中的錯(cuò)誤,從而提高軟件的質(zhì)量。,,測(cè)試不可能發(fā)現(xiàn)所有錯(cuò)誤,只能在有限的時(shí)間和經(jīng)濟(jì)條件下,盡可能地發(fā)現(xiàn)錯(cuò)誤。,質(zhì)量控制技術(shù),質(zhì)量控制活動(dòng)分類,開發(fā)方法學(xué),配置管理,驗(yàn)證技術(shù),評(píng) 審,正確性驗(yàn)證,性能調(diào)試,組件測(cè)試,集成測(cè)試,系統(tǒng)測(cè)試,原子事務(wù),模塊冗余性,檢 錯(cuò),質(zhì)量控制,避免錯(cuò)誤,容 錯(cuò),調(diào) 試,測(cè) 試,測(cè)試的目的與地位,,,在《軟件測(cè)試技巧,》,中認(rèn)為:,,1.測(cè)試是為了尋找錯(cuò)誤而運(yùn)行程序的過程。,,2.一個(gè)好的測(cè)試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。,,3.一個(gè)成功的測(cè)試是揭示了迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試

5、。,指出:,,“,程序測(cè)試能證明錯(cuò)誤的存在,但不能證明錯(cuò)誤不存在,?!?,,測(cè)試的目的是發(fā)現(xiàn)程序中的錯(cuò)誤,是為了,證明程序有錯(cuò),而不是證明程序無錯(cuò)。,,把證明程序無錯(cuò)當(dāng)作測(cè)試目的不僅是不正確的,,,完全做不到的,而且對(duì)做好測(cè)試沒有任何益處,甚至是,十分有害,的。,,軟件測(cè)試要設(shè)法使軟件發(fā)生故障,,,暴露軟件錯(cuò)誤。,,,,測(cè)試的“成功”與“失敗”:能夠發(fā)現(xiàn)錯(cuò)誤的測(cè)試是成功的測(cè)試,否則是失敗的測(cè)試。,,“,測(cè)試的目的是說明程序正確地執(zhí)行它應(yīng)有的功能,” 這種說法正確嗎?,,,例:程序Triangle,輸入三個(gè)整數(shù),表示一個(gè)三角形的三個(gè)邊長(zhǎng),該程序產(chǎn)生一個(gè)結(jié)果,指出該三角形是等邊三角形、等腰三角形還

6、是不等邊三角形。,,為說明其能正確執(zhí)行它的功能,可使用“測(cè)試用例”(3,4,5),(5,5,6),(6,6,6),,,程序都能給出正確結(jié)果,是否就可認(rèn)為程序是正確的?,,,(兩邊之和必須大于第三邊),難以說清的軟件缺陷,古諺: “一片樹葉飄落在森林中沒有人聽見,誰能說它發(fā)出了聲音?”,由于不能報(bào)告沒有看見的問題,因此,沒有看見就不能說存在軟件缺陷。,,如果軟件中的問題沒有人發(fā)現(xiàn),那么它算不算軟件缺陷?”,只有看到了,才能斷言軟件缺陷,尚未,,發(fā)現(xiàn)的軟件缺陷只能說是未知軟件缺陷。,眼,,見,,為,,實(shí),測(cè)試原則,,(1)所有的測(cè)試都應(yīng)追溯到用戶需求,,最嚴(yán)重的錯(cuò)誤(從用戶角度)是那些導(dǎo)致軟件無法

7、滿足需求的錯(cuò)誤。,,程序中的問題根源,可能出現(xiàn)在開發(fā)前期的各階段,糾正錯(cuò)誤也必須追溯到前期工作。,,測(cè)試與開發(fā)前期工作的關(guān)系,決定軟件與系統(tǒng)的配合關(guān)系,需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),編 碼,單元測(cè)試,集成測(cè)試,確認(rèn)測(cè)試,系統(tǒng)測(cè)試,開發(fā)前期出現(xiàn)錯(cuò)誤的擴(kuò)展,計(jì)劃,需求,,分析,設(shè),,計(jì),編,,碼,測(cè),,試,A,A,B,軟件生存期各階段間需保持的正確性,用戶要求,用戶:,,我要什么?,運(yùn)行結(jié)果,計(jì)算機(jī):,,程序運(yùn)行得,,到的結(jié)果,源程序,程序員:,,我要讓計(jì)算,,機(jī)什么做?,設(shè)計(jì)說明書,設(shè)計(jì)員:,,我要讓軟件,,做什么?,需求說明書,分析員:,,我可以提,,供什么?,1,2,3,4,5,理解正確性

8、,,表達(dá)正確性,理解正確性,,設(shè)計(jì)正確性,,表達(dá)正確性,理解正確性,,編碼正確性,運(yùn)行正確性,,輸入正確性,相符嗎?,測(cè)試原則,,(2),應(yīng)該盡早制定測(cè)試計(jì)劃。,,,概要設(shè)計(jì)時(shí)應(yīng)完成測(cè)試計(jì)劃,詳細(xì)的測(cè)試用例定義可在設(shè)計(jì)模型確定后開始,所有測(cè)試可在任何代碼被產(chǎn)生之前進(jìn)行計(jì)劃和設(shè)計(jì)。,,,測(cè)試原則,,(3),應(yīng)該由第三方進(jìn)行測(cè)試工作。,,一個(gè)軟件項(xiàng)目的開發(fā)人員不應(yīng)該同時(shí)是該軟件的測(cè)試人員,基于心理因素,人們往往不愿意否定自己的工作。,測(cè)試原則,,(4),窮舉測(cè)試是不可能的。,,測(cè)試的最高目標(biāo)是指發(fā)現(xiàn)錯(cuò)誤的可能性最高的測(cè)試,所以,測(cè)試的關(guān)鍵技術(shù)是設(shè)計(jì)一組高產(chǎn)的測(cè)試用例,好的測(cè)試方案是盡可能發(fā)現(xiàn)至今為

9、止仍未發(fā)現(xiàn)的錯(cuò)誤。從某種意義上說,測(cè)試是否成功,取決測(cè)試用例的選擇。,測(cè)試原則,,(5)充分注意到錯(cuò)誤的群集現(xiàn)象,,經(jīng)驗(yàn)表明,測(cè)試發(fā)現(xiàn)的錯(cuò)誤中有80%的錯(cuò)誤很可能是由20%的程序模塊造成的,這是一種錯(cuò)誤群集性現(xiàn)象。也就是說,在程序段中,發(fā)現(xiàn)錯(cuò)誤數(shù)目多的地方,則殘存錯(cuò)誤的數(shù)目也比較多,這一現(xiàn)象已為許多程序測(cè)試實(shí)踐所證明。,測(cè)試原則,,(6)測(cè)試應(yīng)該從“小規(guī)?!钡健按笠?guī)?!?,通常,最初的測(cè)試重點(diǎn)往往是放在單個(gè)的程序模塊中,然后,進(jìn)一步的測(cè)試重點(diǎn)放在集成的模塊族,最后是對(duì)整個(gè)系統(tǒng)進(jìn)行測(cè)試。隨著測(cè)試的逐步深入展開,要集中測(cè)試容易出錯(cuò)的地方。,,軟件測(cè)試流程,軟件,,配置,測(cè)試,測(cè)試,,配置,測(cè)試,,

10、工具,結(jié)果,,分析,排錯(cuò),可靠性,,分析,測(cè)試,,結(jié)果,錯(cuò)誤,預(yù)期,,結(jié)果,出錯(cuò)率,,改正,,的軟件,預(yù)測(cè),,的可,,靠性,,需求規(guī)格說明書,,軟件設(shè)計(jì)說明書,,被測(cè)源程序,測(cè)試計(jì)劃,,測(cè)試用例,,(測(cè)試數(shù)據(jù)),,測(cè)試驅(qū)動(dòng)程序,,軟件配置:需求規(guī)格說明、設(shè)計(jì)說明書、源程序等。軟件配置中還應(yīng)包含測(cè)試配置。,,測(cè)試工具:為軟件測(cè)試提供的某種服務(wù)程序。,,評(píng)價(jià):測(cè)試結(jié)果與期望結(jié)果比較,如果有差異則往往程序有錯(cuò),需要改正。,,可靠性預(yù)測(cè)有3種情況可以考慮:,,A.如果測(cè)試發(fā)現(xiàn)嚴(yán)重錯(cuò)誤,則軟件的質(zhì)量和可靠性一定不高;,,B.如果測(cè)試結(jié)果是軟件功能完成正常,發(fā)現(xiàn)的問題不是嚴(yán)重錯(cuò)誤,也容易修改,則可能:(1

11、)軟件質(zhì)量和可靠性可以接受;(2)所進(jìn)行的測(cè)試還不足以發(fā)現(xiàn)嚴(yán)重錯(cuò)誤,錯(cuò)誤被潛伏下來。,,C.測(cè)試沒有發(fā)現(xiàn)任何錯(cuò)誤,則極有可能是測(cè)試配置選擇不當(dāng)(測(cè)試用例沒有選好),錯(cuò)誤被深深地潛伏下來,這是極危險(xiǎn)。,,軟件測(cè)試對(duì)象,,軟件測(cè)試的對(duì)象應(yīng)包括需求分析與設(shè)計(jì)以及編碼等所獲得一切的文檔和程序。,,軟件測(cè)試方法,軟件測(cè)試方法一般可以分成靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試等。,,,靜態(tài)測(cè)試實(shí)際上是確認(rèn)在給定的外部環(huán)境中軟件的邏輯正確性,它應(yīng)該包括需求規(guī)格說明和程序等的確認(rèn)。,,,動(dòng)態(tài)測(cè)試也稱為機(jī)器測(cè)試,動(dòng)態(tài)測(cè)試主要是通過動(dòng)態(tài)分析以及程序測(cè)試來檢查程序的執(zhí)行狀態(tài),以確認(rèn)程序的正確性。,,測(cè)試的方法與技術(shù),軟件測(cè)試的,,策略

12、和方法,靜態(tài)測(cè),,試方法,動(dòng)態(tài)測(cè),,試方法,人工測(cè)試方法,計(jì)算機(jī)輔助靜,,態(tài)分析方法,白盒測(cè)試方法,黑盒測(cè)試方法,靜態(tài)和動(dòng)態(tài)測(cè)試,汽車的檢查過程:,,踩油門,,看車漆,,打開前蓋檢查,,發(fā)動(dòng)汽車,,聽聽發(fā)動(dòng)機(jī)聲音,,上路行使,靜態(tài)測(cè)試,動(dòng)態(tài)測(cè)試,靜態(tài)測(cè)試:,基本特征是對(duì)軟件進(jìn)行,,分析、檢查和審閱,不實(shí),,際運(yùn)行被測(cè)試的軟件。,,,靜態(tài)測(cè)試約可找出,30,~,70%,的邏輯設(shè)計(jì)錯(cuò)誤,.,,對(duì),需求規(guī)格說明書,、,軟件設(shè)計(jì)說明書,、,源程序,做檢查和,審閱,,,包括:,①,是否符合標(biāo)準(zhǔn)和規(guī)范;,②,通過,結(jié)構(gòu)分析、流圖分析、符號(hào)執(zhí)行,指出軟件缺陷,;,,,靜態(tài)測(cè)試方法,,(1)人工測(cè)試方法。人工

13、測(cè)試就是通過人工閱讀分析以及評(píng)審軟件的文檔、程序資料等等,以發(fā)現(xiàn)程序中的錯(cuò)誤,尤其是一些設(shè)計(jì)上的邏輯錯(cuò)誤在機(jī)器上不易發(fā)現(xiàn),需要人工復(fù)查。根據(jù)統(tǒng)計(jì),好的人工評(píng)審,可以發(fā)現(xiàn)30%到70%的編碼或邏輯設(shè)計(jì)錯(cuò)誤。,,(2)計(jì)算機(jī)輔助靜態(tài)分析。為了提高測(cè)試的效率,人們可以設(shè)計(jì)一些分析工具對(duì)被測(cè)試的程序進(jìn)行靜態(tài)分析,從中提取一些信息。例如,檢查程序中的局部變量和全局變量、參數(shù)的匹配、判斷與循環(huán)的嵌套匹配、潛在的死循環(huán)、不執(zhí)行的代碼、過程調(diào)用層次等等。,,(3)程序正確性說明。程序正確性證明是試圖找到某種方法,確切地證明程序是沒有錯(cuò)誤的。所謂證明,就是確信一個(gè)斷言真實(shí)性的論證。這種證明可以形式化的或非形式化

14、。,動(dòng)態(tài)測(cè)試:,通過運(yùn)行軟件來檢驗(yàn)軟件的動(dòng)態(tài)行為和運(yùn)行結(jié)果的正確性。,,,動(dòng)態(tài)測(cè)試的兩個(gè)基本要素:,,,被測(cè)試程序,,測(cè)試數(shù)據(jù)(測(cè)試用例),動(dòng)態(tài)測(cè)試方法,,(1)選取定義域有效值,或定義域,,外無效值.,,(2)對(duì)已選取值決定,預(yù)期的結(jié)果,,(3)用選取值執(zhí)行程序,,(4),執(zhí)行結(jié)果,與(2)結(jié)果相比,,,,不吻和則程序有錯(cuò),.,,動(dòng)態(tài)黑盒測(cè)試 —,閉著眼睛測(cè)試軟件,軟件,輸入,不深入代碼細(xì)節(jié)的測(cè)試方法稱為動(dòng)態(tài)黑盒測(cè)試。,,軟件測(cè)試員充當(dāng)客戶來使用它。,輸出,動(dòng)態(tài)白盒測(cè)試 —,帶上,X,光眼鏡測(cè)試軟件,?,?????????????,,250*(1+0.015)*((1+0.015)^360-

15、1)/0.015,250*(1+0.015)*((1+0.015)^360-1)/0.015,假如知道一個(gè)盒子包含一臺(tái)計(jì)算機(jī),而另一個(gè),,盒子是人用紙筆計(jì)算,就會(huì)選擇不同的測(cè)試用例,了解軟件的運(yùn)作方式會(huì)影響測(cè)試手段,窮舉測(cè)試,,例:,輸入 三條邊長(zhǎng),黑盒測(cè)試,,可采用的測(cè)試用例數(shù),,,(設(shè)字長(zhǎng)16位),,執(zhí)行時(shí)間: 設(shè)測(cè)試一次需1ms,,共需一萬年.,=2 X2 X2 ≈3X10,16,16,16,14,窮舉測(cè)試,白盒測(cè)試,,例:,,含4個(gè)分支,循環(huán)次數(shù),,≤20,從A到B的可能,,路徑,,,,執(zhí)行時(shí)間: 設(shè)測(cè)試一次需2ms,,窮舉測(cè)試需5億年.,=5+5 +..+5 +5,,≈10,20

16、,1,2,19,14,A,B,第一次為5,第二次為5*5,,不論黑盒還是白盒測(cè)試都,不能,,進(jìn)行窮盡測(cè)試,, 所以軟件測(cè)試不可,,能發(fā)現(xiàn)程序中存在的所有錯(cuò)誤, 因,,此需精心設(shè)計(jì)測(cè)試方案,,力爭(zhēng)盡可,,能少的次數(shù),測(cè)出盡可能多的錯(cuò)誤,.,兩種類型的測(cè)試,,,黑盒測(cè)試,,,又稱:功能測(cè)試,,,數(shù)據(jù)驅(qū)動(dòng)測(cè)試,,基于規(guī)格說明書的測(cè)試,,,白盒測(cè)試,,又稱:開盒測(cè)試,,結(jié)構(gòu)測(cè)試,,玻璃盒測(cè)試,,基于覆蓋的測(cè)試.,,根據(jù)被測(cè)程序的邏輯結(jié)構(gòu)設(shè)計(jì)測(cè)試用例;力求提高測(cè)試覆蓋率;,黑盒測(cè)試與白盒測(cè)試比較,,,黑盒測(cè)試,是從用戶觀點(diǎn),按,,規(guī)格說明書要求的輸入數(shù)據(jù)與輸,,出數(shù)據(jù)的對(duì)應(yīng)關(guān)系設(shè)計(jì)測(cè)試用例,,,是根據(jù)程

17、序,外部特征,進(jìn)行測(cè)試。,,,,,白盒測(cè)試,是根據(jù)程序,內(nèi)部邏輯結(jié)構(gòu),進(jìn)行測(cè)試。,黑盒測(cè)試與白盒測(cè)試優(yōu)缺點(diǎn)比較,,,黑盒測(cè)試,,白盒測(cè)試,,,優(yōu),,點(diǎn),缺,,點(diǎn),性,,質(zhì),①適用于各階段測(cè)試,,②從產(chǎn)品功能角度測(cè)試,,③容易入手生成測(cè)試數(shù),,據(jù),①可構(gòu)成測(cè)試數(shù)據(jù)使特定程,,序部分得到測(cè)試,,②有一定的充分性度量手段,,③較多工具支持,①某些代碼得不到測(cè)試,,②如果規(guī)格說明有誤,,,則無法發(fā)現(xiàn),,③不易進(jìn)行充分性測(cè)試,①不易生成測(cè)試數(shù)據(jù)(通常),,②無法對(duì)未實(shí)現(xiàn)規(guī)格說明的,,部分進(jìn)行測(cè)試,,③工作量大,通常只用于單,,元測(cè)試,有應(yīng)用局限,是一種,確認(rèn),技術(shù),回答:,,“,我們?cè)跇?gòu)造一個(gè)正確,,的

18、系統(tǒng)嗎?,”,是一種,驗(yàn)證,技術(shù),回答:,,“,我們?cè)谡_地構(gòu)造一個(gè)系,,統(tǒng)嗎,?”,黑盒測(cè)試與白盒測(cè)試能發(fā)現(xiàn)的錯(cuò)誤,,,C,B,A,D,-,只能用黑盒測(cè)試發(fā)現(xiàn)的錯(cuò)誤,A,-,只能用白盒測(cè)試發(fā)現(xiàn)的錯(cuò)誤,-,兩種方法都能發(fā)現(xiàn)的錯(cuò)誤,-,兩種方法都不能發(fā)現(xiàn)的錯(cuò)誤,B,C,D,,測(cè)試用例設(shè)計(jì),,,選擇測(cè)試用例是軟件測(cè)試員最重要,,的一項(xiàng)工作。,,測(cè)試用例的屬性:,,屬性 描述,,name,測(cè)試用例的名稱,,,location,可執(zhí)行的完全路徑名,,,input,輸入數(shù)據(jù)或命令,,oracle,與測(cè)試輸入相比較的期待測(cè)試結(jié)果,,log,測(cè)試生產(chǎn)的輸出,程序測(cè)試舉例,,例:程

19、序 Triangle, 輸入三個(gè)整,,數(shù),表示一個(gè)三角形的三個(gè)邊,,長(zhǎng),該程序產(chǎn)生一個(gè)結(jié)果,指,,出該三角形是等邊三角形、等,,腰三角形還是不等邊三角形。,判斷三角型的測(cè)試用例設(shè)計(jì):,,輸入數(shù)據(jù) 預(yù)期結(jié)果,,(1) 6;6;6 等邊,,(2) 8;8;4 等腰,,(3) 4;5;6 一般,,,還應(yīng)輸入,非法數(shù)據(jù):,,,0; 7; 9,,-7;3; 5,,a; 2; 7,等,白盒測(cè)試的測(cè)試用例設(shè)計(jì),,,邏輯覆蓋法,,(1)語句覆蓋,,(2)判定覆蓋,,(3)條件覆蓋,,(4)判定/條件覆蓋,,(5)條件組合覆蓋,,(6)路徑覆蓋,,

20、(7)點(diǎn)覆蓋,,(8)邊覆蓋,例:,PROCEDURE SAMPAL,,(A,B:REAL; VAR X:REAL);,,BEGIN,,IF (A>1) AND (B=0),,THEN X:=X/A,,IF (A=2) OR (X>1),,THEN X:=X+1,,END;,,開始,(A>1) AND (B=0),(A=2) OR (X>1),返回,X=X/A,X=X+1,F,F,T,T,a,b,d,c,e,(1)語句覆蓋,,,使程序中每個(gè)語句至少執(zhí)行一次,,,語句覆蓋,,開始,(A>1) AND (B=0),(A=2) OR (X>1),返回,X=X/A,X=X+1,F,F,T,T,a

21、,b,d,c,e,,只需設(shè)計(jì)一個(gè)測(cè)試用例:,,輸入數(shù)據(jù):,A=2,B=0,X=4,,則覆蓋ace,可以執(zhí)行程序中的每一條語句,即達(dá)到了語句覆蓋;,,,語句覆蓋是,最弱,的邏輯覆蓋,,(2)判定覆蓋(分支覆蓋),,,,,使每個(gè)判定的真假分支都至少執(zhí)行一次,判定覆蓋,,開始,(A>1) AND (B=0),(A=2) OR (X>1),返回,X=X/A,X=X+1,F,F,T,T,a,b,d,c,e,例:可設(shè)計(jì)兩組測(cè)試用例:,,A=3,B=0 ,X=3 可覆蓋,c、d,分支,,,A=2,B=1 ,X=1 可覆蓋,b、e,分支,,兩組測(cè)試用例可覆蓋所有判定的真假,,分支。,,,語句覆蓋仍是,弱,

22、的邏輯覆蓋。,(3)條件覆蓋,,,使每個(gè)判定的每個(gè)條件的可能取值至少執(zhí)行一次,,第一判定表達(dá)式:,,設(shè),條件 A>1,取真 記為,T1,,,假,T1,,,條件 B=1,取真 記為,T2,,,假,T2,,第二判定表達(dá)式:,,設(shè),條件 A=2,取真 記為,T3,,,假,T3,,,條件 X>1,取真 記為,T4,,,假,T4,條件覆蓋,,開始,(A>1) AND (B=0),(A=2) OR (X>1),返回,X=X/A,X=X+1,F,F,T,T,a,b,d,c,e,滿足條件:,T1,T1,,,T2,T2,,T3,T3,,T4,T4,測(cè)試用例,,通過 滿足的 覆蓋,,A B X,

23、,,路徑 條件 分支,,1 0 3 abe,T1,T2,T3,T4,b,,,e,,2 1 1 abe,T1,T2,T3,T4,b,,,e,,,兩個(gè)測(cè)試用例,覆蓋了四個(gè)條件八種可能,,取值,。,,未覆蓋c、d分支,,不滿足判定覆蓋的要,,求.,,條件覆蓋不一定包含判定覆蓋,,判定覆蓋也不一定包含條件覆蓋,(4)判定/條件覆蓋,,選取足夠多的測(cè)試用例,使判斷中的每個(gè)條件的所有可能取值至少執(zhí)行一次,同時(shí)每個(gè)判斷本身的所有可能判斷結(jié)果至少執(zhí)行一次.,,判定/條件,,覆蓋,,開始,(A>1) AND (B=0),(A=2) OR (X>1),返

24、回,X=X/A,X=X+1,F,F,T,T,a,b,d,c,e,滿足條件:,T1,T1,,,T2,T2,,T3,T3,,T4,T4,測(cè)試用例,,通過 滿足的 覆蓋,,A B X,,,,路徑 條件 分支,,2 0 4 ace,T1,T2,T3,T4,c,,,e,,2 1 1 abd,T1,T2,T3,T4,b,,,d,,,能同時(shí)滿足判定、條件兩種覆蓋標(biāo)準(zhǔn)取值。,,測(cè)試用例,,通過 滿足的 覆蓋,,A B X,,路徑 條件 分支,,2 0 3 ace T1,T2,T3,T4 c,e,,2 1 1 abe,T

25、1,T2,T3,T4,b,e,,1 0 3 abe,T1,T2,T3,T4 b,e,,1 1 1 abd,T1,T2,T3,T4 b,d,,,,,(5)條件組合覆蓋,,,所有可能的條件取值組合至少執(zhí)行一次,,,①,A>1, B=0,,,②,A>1, B≠0,,,③,A,≤,1, B=0,,,④,A,≤,1, B≠0,,,⑤,A=2, X>1,,,⑥,A=2, X,≤,1,,,⑦,A≠2, X>1,,,⑧,A≠2, X,≤,1,測(cè)試用例,,通過 滿足的 覆蓋,,ABX,,路徑 條件 分支,,204,①⑤,,ace,T1,T2,T

26、3,T4 c,e,,211,②⑥,abe,T1,T2,T3,T4,b,e,,102,③⑦,abd,T1,T2,T3,T4 b,d,,111,④⑧,abd,T1,T2,T3,T4 b,d,,,它是這幾種覆蓋標(biāo)準(zhǔn)中最強(qiáng)的,,,,,(6)路徑覆蓋,,覆蓋每一個(gè)可能的路徑,,測(cè)試用例,,通過 滿足的 覆蓋,,A B X,,路徑 條件 分支,,1 1 1 abd T1,T2,T3,T4 b,d,,1 1 2 abe,T1,T2,T3,T4,b,e,,3 0 1 acd,T1,T2,T3,T4 c,d,,2 0 4 ace,T1,T2,

27、T3,T4 c,e,,循環(huán)測(cè)試,,(1)簡(jiǎn)單循環(huán)測(cè)試,,假設(shè)n是允許通過循環(huán)的最大次數(shù),應(yīng)該進(jìn)行下列的測(cè)試:,,跳過整個(gè)循環(huán);,,只執(zhí)行循環(huán)一次;,,執(zhí)行循環(huán)兩次;,,執(zhí)行循環(huán)m次,其中,m<n-1;,,執(zhí)行循環(huán)n-1,n,n+1次。,,(2)嵌套循環(huán)測(cè)試,,如果把簡(jiǎn)單循環(huán)的方法直接用于嵌套循環(huán),可能的測(cè)試次數(shù)會(huì)隨著嵌套循環(huán)的層數(shù)的增加按幾何級(jí)數(shù)增加,導(dǎo)致不現(xiàn)實(shí)的測(cè)試數(shù)目,可以進(jìn)行下列的測(cè)試:,,從最內(nèi)層循環(huán)開始測(cè)試,把其他循環(huán)都設(shè)置為最小值;,,對(duì)最內(nèi)層循環(huán)使用簡(jiǎn)單測(cè)試方法,使外層循環(huán)的迭代參數(shù)取最小值(例如,循環(huán)計(jì)算器等),并且,為越界或非法值增加一些額外的測(cè)試;,,由內(nèi)向外,對(duì)下一個(gè)

28、循環(huán)進(jìn)行測(cè)試,保持它的所有外層循環(huán)為最小值,其他的嵌套循環(huán)取“典型”值。如此繼續(xù)進(jìn)行,直到測(cè)試完所有循環(huán)。,,,(3)串接循環(huán)測(cè)試,,如果串接循環(huán)的各個(gè)循環(huán)都彼此獨(dú)立,則可以使用簡(jiǎn)單循環(huán)測(cè)試的方法來進(jìn)行。但是,如果在兩個(gè)串接循環(huán)中,第一個(gè)循環(huán)的循環(huán)計(jì)算器的值是第二個(gè)循環(huán)的初始值,則這兩個(gè)循環(huán)并不是獨(dú)立的。這時(shí),建議使用嵌套循環(huán)測(cè)試方法來進(jìn)行。,,基本路徑測(cè)試法,,,通過分析由控制構(gòu)造的環(huán)路的復(fù)雜性,導(dǎo)出基本路徑集合,從而設(shè)計(jì)測(cè)試用例,保證這些路徑至少通過一次。,,,基本路徑測(cè)試步驟:,,,導(dǎo)出程序流程圖的拓?fù)浣Y(jié)構(gòu)-流圖,,(程序圖),,計(jì)算流圖G的環(huán)路復(fù)雜度V(G),,確定只包含獨(dú)立路徑的基本

29、路徑集,,設(shè)計(jì)測(cè)試用例,導(dǎo)出程序流程圖的拓?fù)浣Y(jié)構(gòu),-,流圖,,,1,2,3,6,4,5,7,10,11,a,節(jié)點(diǎn),邊,R4,區(qū)域,1,2,3,4,5,8,7,6,9,10,11,程序流程圖,8,9,R1,R2,R3,計(jì)算流圖G的環(huán)路復(fù)雜度V(G),,V(G)=區(qū)域個(gè)數(shù)=4,,V(G)=邊的條數(shù)-節(jié)點(diǎn)個(gè)數(shù)+2=4,,,V(G)=判定節(jié)點(diǎn)個(gè)數(shù)+1=4,確定只包含獨(dú)立路徑的基本路徑集,,path1:1-11,,path2:1-2-3-4-5-10-1-11,,path3:1-2-3-6-8-9-10-1-11,,path4:1-2-3-6-7-9-10-1-11,,一條新路徑必須包含一條新邊。,,這

30、4條路徑組成了一個(gè)基本路徑集。4(環(huán),,路復(fù)雜度V(G))是構(gòu)成這個(gè)基本路徑集的獨(dú)立,,路徑數(shù)的上界,也是設(shè)計(jì),測(cè)試用例的數(shù)目。,,,設(shè)計(jì)測(cè)試用例,保證基本路徑集中每條,,路徑的執(zhí)行。,黑盒測(cè)試的測(cè)試用例設(shè)計(jì),,等價(jià)類劃分法,,,把所有可能的輸入數(shù)據(jù)(有效的,,和無效的)劃分成若干個(gè)等價(jià)的子集,,(稱為等價(jià)類), 使得每個(gè)子集中的,,一個(gè)典型值在測(cè)試中的作用與這一,,子集中所有其它值的作用相同.,,可從每個(gè)子集中選取一組數(shù)據(jù)來測(cè)試程序,例:,某報(bào)表處理系統(tǒng)要求用戶輸入處理,,報(bào)表的日期,日期限制在2001年1,,月至2005年12月,即系統(tǒng)只能對(duì)該,,段期間內(nèi)的報(bào)表進(jìn)行處理,如日期,,不在此范

31、圍內(nèi),則顯示輸入錯(cuò)誤信,,息。,,系統(tǒng)日期規(guī)定由年、月的6位數(shù)字,,字符組成,前四位代表年,后兩位,,代表月。,,如何用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例,,,來測(cè)試程序的日期檢查功能?,,如何劃分等價(jià)類?,,有效等價(jià)類,(,合理等價(jià)類,),,無效等價(jià)類,(,不合理等價(jià)類,),,,,,劃分等價(jià)類的標(biāo)準(zhǔn):,,覆蓋,,不相交,,代表性,劃分等價(jià)類的規(guī)則,(1),如果輸入條件規(guī)定了取值范圍,,,可定義一個(gè)有效等價(jià)類和兩個(gè)無,,效等價(jià)類。,例,,輸入值是學(xué)生成績(jī),范圍是0~100,0 100,,有效,,等價(jià)類,,1≤成績(jī)≤100,無效等價(jià)類,,成績(jī)>100,,無效等價(jià)類,,成績(jī)<0,~,劃分等價(jià)

32、類的規(guī)則:,(2),如果輸入條件代表集合的某,,個(gè)元素,則可定義一個(gè)有效,,等價(jià)類和一個(gè)無效等價(jià)類。,,劃分等價(jià)類的規(guī)則:,(3),如規(guī)定了輸入數(shù)據(jù)的一組值,且,,程序?qū)Σ煌斎胫底霾煌幚恚?,則每個(gè)允許的輸入值是一個(gè)有,,效等價(jià)類,并有一個(gè)無效等價(jià)類,,(所有不允許的輸入值的集合)。,,例:輸入條件說明學(xué)歷可為:,???、本科、,,碩士、博士,四種之一,則分別取這四,,個(gè)值作為,四個(gè)有效等價(jià)類,,另外把四,,種學(xué)歷之外的任何學(xué)歷作為無效等價(jià)類,劃分等價(jià)類的規(guī)則:,(4),如果規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī),,則,可確定一個(gè)有效等價(jià)類(符合,,規(guī)則)和若干個(gè)無效等價(jià)類(從不,,同角度違反規(guī)則)。,

33、,,(5),如已劃分的等價(jià)類各元素在程序中,,的處理方式不同,則應(yīng)將此等價(jià),,類進(jìn)一步劃分成更小的等價(jià)類。,用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例步驟:,(1)形成等價(jià)類表,每一等價(jià)類規(guī)定,,一個(gè)唯一的編號(hào);,,(2)設(shè)計(jì)一測(cè)試用例,使其盡可能多,,地覆蓋尚未覆蓋的有效等價(jià)類,,,重復(fù)這一步驟,直到所有有效等,,價(jià)類均被測(cè)試用例所覆蓋;,,(3)設(shè)計(jì)一新測(cè)試用例,使其只覆蓋,,一個(gè)無效等價(jià)類,重復(fù)這一步驟,,直到所有無效等價(jià)類均被覆蓋;,第一步:等價(jià)類劃分,輸入等價(jià)類 有效等價(jià)類 無效等價(jià)類,,報(bào)表日期的,,類型及長(zhǎng)度,6位數(shù)字字符(1),有非數(shù)字字符 (4),,少于6個(gè)數(shù)字字符 (5

34、),,多于6個(gè)數(shù)字字符 (6),年份范圍,在2001~2005,,之間 (2),小于2001 (7),,大于2005 (8),月份范圍,在1~12之間(3),“報(bào)表日期”輸入條件的等價(jià)類表,小于1 (9),,大于12 (10),第二步:,為有效等價(jià)類設(shè)計(jì)測(cè)試用例,,,對(duì)表中編號(hào)為1,2,3的3個(gè)有效等價(jià)類,,用一個(gè)測(cè)試用例覆蓋:,,測(cè)試數(shù)據(jù) 期望結(jié)果 覆蓋范圍,200105,,等價(jià)類(1)(2)(3),,輸入有效,第三步:為每一個(gè)無效等價(jià)類至少設(shè),,計(jì)一個(gè)測(cè)試用例,,,,測(cè)試數(shù)據(jù) 期望結(jié)果 覆蓋范圍,001,MAY,等價(jià)類(4),輸入無效,20015,等價(jià)類(5),輸入無效

35、,2001005,等價(jià)類(6),輸入無效,2000,05,等價(jià)類(7),輸入無效,2008,05,等價(jià)類(8),輸入無效,2001,00,等價(jià)類(9),輸入無效,2001,13,等價(jià)類(10),輸入無效,不能出現(xiàn)相同,,的測(cè)試用例,本例的10個(gè)等價(jià)類至,,少需要8個(gè)測(cè)試用例,例:,對(duì)招干考試系統(tǒng)“輸入學(xué)生成績(jī)”,,子模塊設(shè)計(jì)測(cè)試用例,,招干考試分三個(gè)專業(yè),準(zhǔn)考證號(hào)第一位,,為專業(yè)代號(hào),如: 1-行政專業(yè),,,2-法律專業(yè),,,3-財(cái)經(jīng)專業(yè).,,,,行政專業(yè)準(zhǔn)考證號(hào)碼為:110001~111215,,法律專業(yè)準(zhǔn)考證號(hào)碼為:210001~212006,,財(cái)經(jīng)專業(yè)準(zhǔn)考證號(hào)碼為:310001~3140

36、15,,例:,準(zhǔn)考證號(hào)碼的等價(jià)類劃分,,,有效等價(jià)類:,,,(1) 110001 ~ 111215,,(2) 210001 ~ 212006,,(3) 310001 ~ 314015,,,無效等價(jià)類:,,,(4) -,?,,~ 110000,,(5) 111216 ~ 210000,,(6) 212007 ~ 310000,,(7) 314016 ~ +,?,例:,計(jì)算給定月份中天數(shù)的方法接口(java):,,Class MyGregorianCalender{,,……,,public static in getNumDaysInMonth(int,,month,int year){…},,

37、……,,},,getNumDaysInMonth( ),方法有兩個(gè)參數(shù), 月和年,年份的有效輸入是從0到,maxInt.,,等價(jià)類劃分,即把,輸入空間分解成一系列子域,,軟件在一個(gè)子域內(nèi)的行為應(yīng)是等價(jià)的,。,,軟件錯(cuò)誤分為兩類:,計(jì)算錯(cuò)誤,,域錯(cuò)誤,針對(duì),計(jì)算錯(cuò)誤的測(cè)試方法,,針對(duì),域錯(cuò)誤,的測(cè)試方法,:,測(cè)試,域邊界,,劃定的正確性,邊界值分析法,,邊界值分析法與等價(jià)類劃分法區(qū)別,,(1),邊界值分析不是從某等價(jià)類中,,隨便挑一個(gè)作為代表,而是使,,這個(gè)等價(jià)類的每個(gè)邊界都要作,,為測(cè)試條件。,,(2),邊界值分析不僅考慮輸入條件,,,還要考慮輸出空間產(chǎn)生的測(cè)試,,情況,被測(cè)試,,子 域,測(cè)

38、試內(nèi)點(diǎn),測(cè)試外點(diǎn),軟件邊界與懸崖很類似,邊界條件類型,,,如果軟件測(cè)試問題,,包含確定的邊界,那,,么數(shù)據(jù)類型可能是:,,數(shù)值,,字符,,位置,,數(shù)量,,速度,,地址,,尺寸,,……,還要考慮數(shù)據(jù)類型的特征:,,第一個(gè),/,最后一個(gè),,最小值,/,最大值,,開始,/,完成,,空,/,滿,,最慢,/,最快,,相鄰,/,最遠(yuǎn),,超過,/,在內(nèi),,……,測(cè)試邊界線,,測(cè)試臨近邊界的合法數(shù)據(jù),以及剛超過邊界的非法數(shù)據(jù).,,越界測(cè)試通常簡(jiǎn)單地加1或很小的數(shù),,(對(duì)于最大值)和減1或很小的數(shù)(對(duì)于最小值).,,,,,輸入,,條件,報(bào)表日,,期的類,,型及長(zhǎng),,度,1個(gè)數(shù)字字符,,5個(gè)數(shù)字字符,,7個(gè)數(shù)字字

39、符,,有1個(gè)非數(shù)字字符,,全部是非數(shù)字字符,,6個(gè)數(shù)字字符,顯示出錯(cuò),,顯示出錯(cuò),,顯示出錯(cuò),,顯示出錯(cuò),,顯示出錯(cuò),,輸入有效,日期,,范圍,月份,,范圍,“報(bào)表日期”邊界值分析法測(cè)試用,例,測(cè)試用例說明,測(cè)試數(shù)據(jù),期望結(jié)果,選取理由,5,,20015,,2001005,,2001.5,,MAY---,,200105,月份為1月,,月份為12月,,月份<1,,月份>12,200101,,200112,,200100,,200113,200101,,200512,,200100,,200513,輸入有效,,輸入有效,,顯示出錯(cuò),,顯示出錯(cuò),輸入有效,,輸入有效,,顯示出錯(cuò),,顯示出錯(cuò),在有效范

40、圍,,邊界上選取,,數(shù)據(jù),僅有1個(gè)合法字符,,比有效長(zhǎng)度少1,,比有效長(zhǎng)度多1,,只有1個(gè)非法字符,,6個(gè)非法字符,,類型及長(zhǎng)度均有效,最小日期,,最大日期,,剛好小于最小日期,,剛好大于最大日期,最小月份,,最大月份,,剛好小于最小月份,,剛好大于最大月份,錯(cuò)誤推測(cè)法,(error guessing),,根據(jù)經(jīng)驗(yàn)來設(shè)計(jì)測(cè)試用例的方法。,,例如,數(shù)據(jù)測(cè)試中的:,,缺省值,,空白,,空值,,零值,,無,,,,狀態(tài)測(cè)試,,,軟件必須測(cè)試程序的狀態(tài)及其轉(zhuǎn)換。,,測(cè)試軟件的邏輯流程,,建立狀態(tài)轉(zhuǎn)換圖,,減少要測(cè)試的狀態(tài)及轉(zhuǎn)換的數(shù)量,空閑,等待用戶,,輸入命令,按下Esc鍵,,顯示口令框,口令錯(cuò)誤,,消

41、除,口令正確,,初始狀態(tài)消失,空閑,等待用戶,,輸入命令,按下Esc鍵,口令正確,口令錯(cuò)誤,不同形式的狀態(tài)轉(zhuǎn)換圖,,,設(shè)置,2Bwatch,,上的時(shí)間的順序圖,:2Bwatch,用戶,按下按鈕1和2,:2Bwatch,輸入,:2Bwatch,顯示,:2Bwatch,時(shí)間,時(shí)間,按下按鈕1,按下按鈕2,按下按鈕1和2,閃爍小時(shí),閃爍分鐘,增加分鐘,刷新,提交更新時(shí)間,停止閃爍,2Bwatch,,設(shè)置時(shí)間功能的狀態(tài)圖和測(cè)試結(jié)果,,,按左按鈕,,按右按鈕,按左按鈕,,按右按鈕,4.,2分鐘以后,測(cè)量時(shí)間,設(shè)置時(shí)間,電池沒電,3.,按下左右按鈕,5.,按下左右按鈕/蜂鳴,8.,20年以后,7.,20年

42、以后,6.,2.,1.,激勵(lì)因素,空集合,測(cè)量時(shí)間,1.初始變遷,測(cè)試的變遷,預(yù)期結(jié)果狀態(tài),按下左邊按鈕,測(cè)量時(shí)間,2.,同時(shí)按下兩個(gè)按鈕,設(shè)置時(shí)間,3.,等2分鐘,測(cè)量時(shí)間,4.超時(shí),……,……,……,失敗狀態(tài)測(cè)試,,找到測(cè)試軟件失敗的案例,。,,競(jìng)爭(zhēng)條件和時(shí)序錯(cuò)亂,,重復(fù),,壓迫,,重負(fù),應(yīng)聯(lián)合使用,同時(shí)進(jìn)行,有效等價(jià)類和用來測(cè)試,getNumDaysInMonth(),方法所選的有效輸入,,,有效,等價(jià)類,一個(gè)月有31天,非閏年,1901,7(七月),一個(gè)月有31天, 閏年,1904,7(七月),一個(gè)月有30天,非閏年,1901,6(六月),一個(gè)月有30天, 閏年,1904,6(六月),

43、一個(gè)月為28或29天,非閏年,1901,2(二月),月份,,輸入值,年份,,輸入值,一個(gè)月為28或29天, 閏年,2(二月),1904,用來測(cè)試getNumDaysInMonth()方法的附加邊界值,,,等價(jià)類,可以被400整除的閏年,2000,2(二月),可以被100整除的非閏年,1900,2(二月),非正數(shù)無效月份,1291,0,正數(shù)無效月份,1315,13,月份,,輸入值,年份,,輸入值,因果圖法,,,因果圖適合于描述對(duì)于多種輸入條件的組合,相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來設(shè)計(jì)測(cè)試用例。,,因果圖方法最終生成的是判定表。,,因果圖方法實(shí)例,,某電力公司有A、B、C、D四類收費(fèi)標(biāo)準(zhǔn),,,并規(guī)定:,

44、,居民用電 <100度/月 按,A,類收費(fèi),,≥100度/月按,B,類收費(fèi),,動(dòng)力用電 <10000度/月,非高峰,,B,類收費(fèi),,≥10000度/月,非高峰,,C,類收費(fèi),,<10000度/月, 高峰,,C,類收費(fèi),,≥10000度/月, 高峰,,D,類收費(fèi),,用因果圖表明輸入和輸出間的邏輯關(guān)系,1,I,1,2,B,∨,∧,4,A,C,3,5,∧,D,I,4,I,3,I,2,∨,∧,∧,∧,∧,把因果圖轉(zhuǎn)換為判定表,組合條件,條件,,(,原因,),動(dòng)作,,(,結(jié)果,),A,B,C,1,2,3,1,2,3,4,5,6,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,

45、1,0,0,0,0,1,1,0,4,1,0,1,0,5,0,0,1,1,D,0,0,0,1,1,0,0,1,0,0,0,0,測(cè)試用例,為判定表每一列設(shè)計(jì)一個(gè)測(cè)試用例:,1列 居民電,90度/月 A,,2列 居民電,110度/月 B,,3列 動(dòng)力電,非高峰,8000度/月 B,,4列 動(dòng)力電,非高峰,1.2萬度/月 C,,5列 動(dòng)力電, 高峰,0.9萬度/月 C,,6列 動(dòng)力電, 高峰,1.1萬度/月 D,,,條件 測(cè)試用例 預(yù)期結(jié)果,,組合 (輸入數(shù)據(jù)) (輸出

46、動(dòng)作),軟件測(cè)試的過程,被測(cè),,模塊,單元,,測(cè)試,設(shè)計(jì),,信息,集成,,測(cè)試,被測(cè),,模塊,單元,,測(cè)試,被測(cè),,模塊,單元,,測(cè)試,測(cè)試過,,的模塊,確認(rèn),,測(cè)試,系統(tǒng),,測(cè)試,軟件,,需求,其它系,,統(tǒng)元素,裝配好的軟件,確認(rèn),,的軟件,可運(yùn),,行的,,軟件,軟件測(cè)試的步驟,軟件測(cè)試策略,單元測(cè)試,U,C,D,R,S,I,V,ST,集成測(cè)試,確認(rèn)測(cè)試,系統(tǒng)測(cè)試,系統(tǒng)工程,軟件需求分析,軟件設(shè)計(jì),代碼編寫,單元測(cè)試,,一.,單元測(cè)試的內(nèi)容,,主要對(duì)模塊的,五個(gè)基本特性,進(jìn)行評(píng)價(jià),,模塊,錯(cuò)誤處理,模塊接口,局部數(shù),,據(jù)結(jié)構(gòu),重要的,,執(zhí)行路徑,邊界條件,1.常見錯(cuò)誤類型,,,接口錯(cuò)誤,,

47、I/O,錯(cuò)誤,,數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤,,算法錯(cuò)誤,,比較及控制邏輯錯(cuò)誤,,錯(cuò)誤處理錯(cuò)誤,2.,單元測(cè)試基本原則,,,,至少一次測(cè)試所有語句,,測(cè)試所有可能的執(zhí)行或邏輯路徑的組合,,測(cè)試每個(gè)模塊的所有入口和出口,,,,,3.,確定單元測(cè)試數(shù)據(jù)集,,,,值域,,值類,,離散值,,值的次序集,(,測(cè)試順序文件和,表,),,二.單元測(cè)試的方法,,單元測(cè)試一般為編碼步驟的附屬部分。,,模塊不是獨(dú)立的程序,自己不能運(yùn)行,,,要靠其它部分來調(diào)用和驅(qū)動(dòng),要為每個(gè),,單元測(cè)試開發(fā)兩個(gè)軟件:,,(1)驅(qū)動(dòng)模塊(驅(qū)動(dòng)程序),:,相當(dāng)于主模塊,,(2)樁模塊(測(cè)試存根、連接程序),,:,代替所測(cè)模塊調(diào)用的子模塊,單元測(cè)試的測(cè)

48、試環(huán)境舉例:,,,,B,A,C,D,E,待測(cè)試模塊,單元測(cè)試的測(cè)試環(huán)境舉例:,,,被測(cè)模塊,B,驅(qū)動(dòng)模塊,,(模擬模塊,A,),樁模塊(測(cè)試存根),,(模擬模塊,E,),測(cè)試用例,測(cè)試結(jié)果,許多模塊不能用簡(jiǎn)單的軟件進(jìn)行充分的單元測(cè)試, 此時(shí), 完全的測(cè)試可放到集成測(cè)試階段再進(jìn)行。,,單元測(cè)試的測(cè)試環(huán)境舉例:,,,實(shí)際軟件,華氏到懾氏,,轉(zhuǎn)換模塊,溫度數(shù)據(jù),實(shí)際配置,測(cè)試用例數(shù)據(jù),結(jié)果,,測(cè)試驅(qū)動(dòng)軟件,華氏到懾氏,,轉(zhuǎn)換模塊,結(jié)果,測(cè)試驅(qū)動(dòng)際配置,單元測(cè)試的測(cè)試環(huán)境舉例,溫度顯示模塊,溫度接口,,模塊,實(shí)際配置,測(cè)試驅(qū)動(dòng)實(shí)際配置,溫度顯示模塊,程序員編寫的樁模塊,,(測(cè)試存根),溫度值的測(cè)試文件

49、,結(jié)構(gòu)性模式(structural,patterns,),,適配器模式,(,Adapter,)—,打包器,(,Wrapper,),,橋模式,(,Bridge,),—,句柄,(,Handle,),,組合模式,(,Composite,),,修飾模式,(,Decorator,)—,包裝器,(,Wrapper,),,外觀模式,(,Facade,),,輕量模式,,(,Flyweight,),,代理模式,—(,Proxy,),,,Implementor,OperationaImp( ),橋模式,(,Bridge,),,意圖:將抽象部分和實(shí)現(xiàn)部分分離,使他們都可以獨(dú)立地變化,,Abstraction,Con

50、textinterface( ),,ConcreteImplementorA,OperationaImp( ),,ConcreteImplementorB,OperationaImp( ),,RefinedAbstraction,支持多種窗口系統(tǒng)的設(shè)計(jì),—,窗口與窗口實(shí)現(xiàn)分離,,Window,Raise( ),,DrawRact(…),,ApplicationWindow,,IconWindow,,DialogWindow,,MacWindowlmp,DeviceRaise( ),,DeviceRect(… ),,……,,PMWindowlmp,DeviceRaise( ),,DeviceRe

51、ct(… ),,……,,XWindowlmp,DeviceRaise( ),,DeviceRect(… ),,……,,Windowlmp,DeviceRaise( ),,DeviceRect(… ),,……,利用,Bridge設(shè)計(jì),模式與未完成、未知或在測(cè)試,,另一組件時(shí)不可用組件的接口(UML類圖),,用戶接口,,數(shù)據(jù)庫(kù)戶接口,,數(shù)據(jù)庫(kù)戶接口,,測(cè)試存根,,數(shù)據(jù)庫(kù),,可用,Bridge設(shè)計(jì),模式實(shí)現(xiàn)測(cè)試存根,用戶接口子系統(tǒng)訪問測(cè)試不能訪問的數(shù)據(jù)庫(kù)子系統(tǒng)。,,將數(shù)據(jù)庫(kù)接口和數(shù)據(jù)庫(kù)實(shí)現(xiàn)分離開來。,集成測(cè)試(組裝測(cè)試),,集成測(cè)試需考慮的問題:,,數(shù)據(jù)穿越接口可能丟失,.,,一模塊可能破壞另一模塊

52、功能,.,,子功能組裝可能未產(chǎn)生所要求的,,主功能,.,,全程數(shù)據(jù)結(jié)構(gòu)可能出問題,.,,誤差累積問題,.,集成測(cè)試方法,,通常采用黑盒測(cè)試技術(shù),,實(shí)施策略:,,非增量式系統(tǒng)集成,,,增量式系統(tǒng),,集成,,,,,,,深度優(yōu)先,,廣度優(yōu)先,自頂向下結(jié)合,,自底向上結(jié)合,一.非增量式系統(tǒng)集成,,一次就把所有通過了單元測(cè)試,,的模塊組合在一起進(jìn)行全程序的測(cè),,試。,,缺點(diǎn):,發(fā)現(xiàn)錯(cuò)誤難以診斷定位,,,又稱“莽撞測(cè)試”,。,,,二. 增量式系統(tǒng)集成,,,,從一個(gè)模塊開始,測(cè)一次添加一個(gè)模塊,邊組裝邊測(cè)試,以發(fā)現(xiàn)與接口相聯(lián)系的問題。,自頂向下結(jié)合方式舉例:,,A,D,B,E,模塊測(cè)試,,結(jié)合順序,C,F,

53、深度優(yōu)先:,A,、,B,、,E,、,C,、,D,、,F,廣度優(yōu)先:,A,、,B,、,C,、,D,、,E,、,F,自頂向下結(jié)合方式舉例:,(,深度優(yōu)先),,A,測(cè)試,A,S2,S1,S3,A,加入,B,S2,B,S3,S4,A,加入,E,S2,B,S3,E,A,加入,C,C,B,S3,E,加入,D,C,B,D,E,加入,F,C,B,D,E,A,A,F,S5,自底向上結(jié)合方式舉例:,,A,C,B,D,F,E,E,d,1,C,d,3,F,d,4,B,d,2,E,D,d,5,F,自底向上結(jié)合方式舉例:,,M,c,D,1,M,a,M,b,D,2,D,3,簇1,簇2,簇3,自頂向下 自底向上,,優(yōu)

54、點(diǎn),,可在測(cè)試早期 設(shè)計(jì)測(cè)試用例容易,,實(shí)現(xiàn)并驗(yàn)證系,,統(tǒng)主要功能,,不需驅(qū)動(dòng)模塊 不需樁模塊,,缺點(diǎn),需樁模塊 只有到最后程序才,,能作為一個(gè)整體,,3.,混合集成測(cè)試方法,,一般對(duì)軟件結(jié)構(gòu)的上層使用自頂向下,,結(jié)合的方法,;,,對(duì)下層使用自底向上結(jié)合的方法,;,接口測(cè)試,,接口測(cè)試的目的是檢查由于接口錯(cuò)誤或者接口進(jìn)行無效假設(shè)造成的系統(tǒng)缺陷。程序組件的接口有很多的類型,例如:,,參數(shù)接口。 主要是數(shù)據(jù)和函數(shù)指針等,它們由一個(gè)構(gòu)件傳遞到另一個(gè)構(gòu)件。,,共享內(nèi)存接口。 有一個(gè)被子系統(tǒng)共享的內(nèi)存塊。由一個(gè)子系統(tǒng)把數(shù)據(jù)放在該內(nèi)存中,然后被另一個(gè)子系統(tǒng)取出。,,程序接口。 由一個(gè)子

55、系統(tǒng)封裝了的一組程序,這些程序可以被其他子系統(tǒng)調(diào)用。例如,對(duì)象(類)和抽象數(shù)據(jù)類型就存在這種接口。,,消息傳遞接口。 子系統(tǒng)通過消息傳遞來請(qǐng)求其他子系統(tǒng)的服務(wù),返回的消息也包含了該服務(wù)的運(yùn)行結(jié)果。例如,一些面向?qū)ο笙到y(tǒng)、客戶機(jī)/服務(wù)器系統(tǒng)存在這種接口。,,,接口錯(cuò)誤可以分成3類,:,,接口誤用。調(diào)用者(組件)在調(diào)用其他組件時(shí),接口使用不當(dāng)而產(chǎn)生錯(cuò)誤,例如,在使用參數(shù)接口時(shí),參數(shù)類型和傳遞順序以及參數(shù)個(gè)數(shù)不對(duì)等。,,接口誤解。調(diào)用者(組件)誤解了被調(diào)用組件的接口描述而產(chǎn)生錯(cuò)誤,被調(diào)用組件沒有按照預(yù)期的行為執(zhí)行。,,計(jì)時(shí)錯(cuò)誤。這類錯(cuò)誤一般發(fā)生在實(shí)時(shí)控制系統(tǒng)中,系統(tǒng)使用了共享內(nèi)存接口或者消息傳遞接口

56、而產(chǎn)生接口錯(cuò)誤。例如,數(shù)據(jù)的生產(chǎn)和消費(fèi)可能以不同的速度進(jìn)行,由于生產(chǎn)者沒有及時(shí)更新共享接口的信息導(dǎo)致消費(fèi)者訪問了過期的數(shù)據(jù)。,,,接口測(cè)試的一般準(zhǔn)則:,,檢查代碼并明確地列出對(duì)外部構(gòu)件的調(diào)用。對(duì)傳給外部構(gòu)件的參數(shù)值,應(yīng)選擇取值范圍的邊緣值作為測(cè)試用例,這樣可能發(fā)現(xiàn)接口的不一致性。,,如果有指針從接口傳遞,應(yīng)該用空指針參數(shù)來進(jìn)行測(cè)試。,,如果通過程序接口調(diào)用構(gòu)件,可以設(shè)計(jì)一些容易引起構(gòu)件失敗的測(cè)試。,,如果是通過消息傳遞到系統(tǒng)進(jìn)行強(qiáng)度測(cè)試,應(yīng)該設(shè)計(jì)大量的消息,可能發(fā)現(xiàn)計(jì)時(shí)錯(cuò)誤。,,當(dāng)構(gòu)件之間是通過共享內(nèi)存進(jìn)行交互時(shí),設(shè)計(jì)測(cè)試用例時(shí),改變激活構(gòu)件的次序,這樣可能發(fā)現(xiàn)共享數(shù)據(jù)的生產(chǎn)和消費(fèi)的順序的錯(cuò)誤

57、。,,,集成測(cè)試的標(biāo)準(zhǔn)應(yīng)包括,:,,接口完整性。每一個(gè)模塊集成到整個(gè)系統(tǒng)結(jié)構(gòu)中,都要對(duì)它的內(nèi)部和外部接口進(jìn)行測(cè)試。,,功能有效性。為發(fā)現(xiàn)功能性錯(cuò)誤進(jìn)行的測(cè)試。,,信息內(nèi)容。為發(fā)現(xiàn)與局部數(shù)據(jù)結(jié)構(gòu)或者全局?jǐn)?shù)據(jù)結(jié)構(gòu)有關(guān)錯(cuò)誤的測(cè)試。,,性能。為驗(yàn)證軟件設(shè)計(jì)過程中建立的性能邊界的測(cè)試。,,,回歸測(cè)試,,在軟件集成測(cè)試的過程中,每當(dāng)一個(gè)模塊加入到系統(tǒng)時(shí),軟件就發(fā)生變化,模塊之間的影響也可能有改變。,,新的數(shù)據(jù)路徑被建立,也可能出現(xiàn)新的輸入/輸出操作。很有可能激活新的控制邏輯,所有這些改變的因素可能會(huì)導(dǎo)致原來工作正常的系統(tǒng)產(chǎn)生錯(cuò)誤。,,回歸測(cè)試是對(duì)已經(jīng)進(jìn)行過測(cè)試的子集(模塊)重新測(cè)試,以確保新添加的模塊不會(huì)

58、對(duì)系統(tǒng)產(chǎn)生無法預(yù)料的副作用。,,確認(rèn)測(cè)試,有效,,性,,測(cè)試,軟件,,配置,,審查,管理,,機(jī)構(gòu),,裁決,選擇測(cè)試人員,軟件計(jì)劃,用戶文檔,開發(fā)文檔,源程序文本,支持環(huán)境,交用戶,,,運(yùn)行,,維護(hù),測(cè)試,,報(bào)告,軟件,,配置,構(gòu)造測(cè)試用例,實(shí)際運(yùn)行測(cè)試,專家,,鑒定,,會(huì),,,,,,,,,有效性測(cè)試,,,通過,黑盒測(cè)試,,證實(shí)軟件功能與,,用戶需求是否一致.,,軟件配置審查與驗(yàn)收,,,,確認(rèn),,測(cè)試,軟件配,,置審查,主管部,,門批準(zhǔn),集成的軟件,軟件需求,用戶文檔,設(shè)計(jì)文檔,源程序,測(cè)試文檔,交付的,,軟 件,確認(rèn)的,,軟 件,確認(rèn)的,,配 置,,確認(rèn)測(cè)試結(jié)果,,,測(cè)試完成后可能出現(xiàn)兩

59、種情況:,,(1)測(cè)試與預(yù)期相符, 可接受。,,(2)不相符,列出軟件缺陷表,與用戶協(xié)商解,,決。,α測(cè)試和β測(cè)試,,α測(cè)試(Alpha),,在開發(fā)者的場(chǎng)所由用戶進(jìn)行,在開發(fā),,者關(guān)注和控制的環(huán)境下進(jìn)行。,,β測(cè)試(Beta),,最終用戶在自己的場(chǎng)所進(jìn)行,。,系統(tǒng)測(cè)試,,軟件只是計(jì)算機(jī)系統(tǒng)的一個(gè),,元素,軟件最終要與其他系統(tǒng)元,,素(如新硬件、信息等)相結(jié)合,,,進(jìn)行各種集成測(cè)試和確認(rèn)測(cè)試.,,用于系統(tǒng)測(cè)試的測(cè)試類型:,,(1)恢復(fù)測(cè)試,,(2)安全性測(cè)試,,(3)強(qiáng)度測(cè)試,,(4)性能測(cè)試,(1)恢復(fù)測(cè)試,,以不同的方式強(qiáng)使軟件出現(xiàn)故障,檢測(cè),,軟件能否恰當(dāng)?shù)赝瓿苫謴?fù).,,,自動(dòng)恢復(fù):,檢測(cè)

60、重新初始化、,,檢測(cè)點(diǎn)設(shè)置、,,數(shù)據(jù)恢復(fù)、,,重新啟動(dòng)等是否正確.,,人工干預(yù)恢復(fù):,檢測(cè)平均恢復(fù)時(shí)間是,,否在允許范圍內(nèi).,(2)安全性測(cè)試,,設(shè)計(jì)測(cè)試用例,突破軟件安全保護(hù)機(jī)構(gòu),,的安全保密措施,檢驗(yàn)系統(tǒng)預(yù)防機(jī)制的,,漏洞.,,(3)強(qiáng)度測(cè)試,,設(shè)計(jì)測(cè)試用例, 檢驗(yàn)系統(tǒng)能力最高能達(dá)到的實(shí)際限度, 讓系統(tǒng)處于資源的異常數(shù)量、異常頻率、異常批量的條件下測(cè)試系統(tǒng)的承受能力。一般比平常限度高5-10倍的限度做測(cè)試用例.,,,強(qiáng)度測(cè)試,是一種敏感性測(cè)試技術(shù)。在某種情況下, 包含在程序有效數(shù)據(jù)邊界內(nèi)的非常小范圍的數(shù)據(jù)變動(dòng)可能導(dǎo)致,極端的, 甚至錯(cuò)誤的處理, 會(huì)使系統(tǒng)性能嚴(yán)重下降。,,,(4)性能測(cè)試,

61、設(shè)計(jì)測(cè)試用例,并記錄軟件運(yùn)行性,,能,與性能要求比較,檢驗(yàn)是否達(dá)到性,,能要求規(guī)格。,面向?qū)ο蟮能浖y(cè)試,測(cè)試,目標(biāo),:在現(xiàn)實(shí)的時(shí)間跨度內(nèi)應(yīng)用可管理,,的工作量去發(fā)現(xiàn)最大可能數(shù)量的,,錯(cuò)誤,基本目標(biāo)不變,但由于,OO,程序的性質(zhì)改變了,測(cè)試策略,,和測(cè)試戰(zhàn)術(shù),,更多的設(shè)計(jì)模式復(fù)用是否將減輕,OO,系統(tǒng)的繁重,測(cè)試?,,Binder,R.V.,在“,Object-Oriented Software Testing,”,中討論改問題,:,,“,每次復(fù)用是一個(gè)新的使用語境,,,并且重新測(cè)試是謹(jǐn)慎的,.,為了獲得面向?qū)ο笙到y(tǒng)的高可靠性,,,似乎可能需要更多而不是更少的測(cè)試,.”,OOA和OOD的 模型

62、,測(cè)試,,每個(gè)階段的所有面向?qū)ο竽P投紤?yīng)被測(cè)試。,OOA和OOD的模型不能被執(zhí)行,對(duì)它們不能進(jìn)行傳統(tǒng)意義上的測(cè)試。,可通過技術(shù)復(fù)審檢查,OOA和OOD的,,模型的正確性和一致性。,擴(kuò)大測(cè)試的視角,面向?qū)ο鬁y(cè)試策略,信息隱蔽對(duì)測(cè)試的影響,,封裝和繼承對(duì)測(cè)試的影響,面向?qū)ο蟪绦虻奶攸c(diǎn)對(duì)軟件測(cè)試的影響:,單元和集成測(cè)試策略必須有很大的改變,,測(cè)試用例的設(shè)計(jì)必須考慮,OO,軟件的特征,1.,OO,的單元測(cè)試,一個(gè)類可以包含一組不同的操作,而一個(gè)特定,,的操作也可能存在于一組不同的類中。,不再孤,,立地測(cè)試單個(gè)操作,(,這是傳統(tǒng)單元測(cè)試的視角,),,OO,軟件的,類測(cè)試,等價(jià)于,傳統(tǒng)的單元測(cè)試,.,,傳

63、統(tǒng)軟件的單元測(cè)試關(guān)注算法細(xì)節(jié)和模塊接口,,間流動(dòng)的數(shù)據(jù),,,OO,軟件的類測(cè)試是由封裝在類中的操作和類的,,狀態(tài)行為驅(qū)動(dòng)的,單元概念,的變化—封裝的類或?qū)ο笞鳛樽钚?,的可測(cè)試單位,2.,OO,的集成測(cè)試,,,OO,軟件沒有層次的控制結(jié)構(gòu),傳統(tǒng)的自頂向,,下和自底向上的集成策略沒有意義.,OO,軟件的集成兩種策略:,,基于線程的測(cè)試,(,thread-based testing,),,,集成響應(yīng)系統(tǒng)的一個(gè)輸入或事件所需的一組類,,,每個(gè)線程被個(gè)體地集成和測(cè)試,,,通過回歸測(cè)試保證沒有副作用產(chǎn)生,;,,基于使用的測(cè)試,(use,-based testing,),,,通過測(cè)試幾乎不使用服務(wù)器的類,

64、(,獨(dú)立類,),來開始系統(tǒng)的構(gòu)造,,,測(cè)試完獨(dú)立類后,,,使用獨(dú)立類按層逐步完成依賴類的測(cè)試直至完整的系統(tǒng)被構(gòu)造,;,3.,OO,的確認(rèn)測(cè)試,在確認(rèn)和系統(tǒng)測(cè)試層次,類連接的細(xì)節(jié)消失.,和傳統(tǒng)的確認(rèn)測(cè)試一樣,,,OO,軟件的確認(rèn)關(guān)注,,用戶可見的動(dòng)作和用戶可識(shí)別的系統(tǒng)輸出,.,,,為輔助確認(rèn)測(cè)試的導(dǎo)出,,,應(yīng)利用分析模型中的,,用例圖提供的場(chǎng)景來提高交互需求中發(fā)現(xiàn)錯(cuò)誤,,的可能性,,OO,軟件的測(cè)試用例設(shè)計(jì),每個(gè)測(cè)試用例應(yīng)被唯一標(biāo)識(shí),并應(yīng)顯式地和與被,,測(cè)試類相關(guān)聯(lián),,測(cè)試的目的應(yīng)被陳述,,對(duì)每個(gè)測(cè)試應(yīng)開發(fā)一組測(cè)試步驟,包括:,,將被測(cè)試對(duì)象的一組,特定狀態(tài),,將被作為測(cè)試的結(jié)果使用的一組,消息

65、和操作,,當(dāng)對(duì)象被測(cè)試時(shí)可能產(chǎn)生的一組異常,,一組外部條件,(,進(jìn)行測(cè)試必須的軟件外部環(huán)境的變化,),,將輔助理解或?qū)崿F(xiàn)測(cè)試的補(bǔ)充信息,OO,軟件的測(cè)試用例設(shè)計(jì)還處于成型期.,,Binder,R.V.在“,Essays on Object-Oriented Software Engineering,”,,中建議了對(duì),OO,軟件的測(cè)試用例設(shè)計(jì)的整體方法:,1. OO,概念的測(cè)試用例設(shè)計(jì)的含義,封裝可能會(huì)成為測(cè)試的障礙,,,測(cè)試需要報(bào)告對(duì)象的具體和抽象狀態(tài),而封裝,,使得對(duì)象的狀態(tài)快照難于獲得。,,繼承,特別是多繼承使測(cè)試復(fù)雜化,子類繼承或重載的父類成員函數(shù)的測(cè)試問題,繼承的成員函數(shù)是否都不需

66、要測(cè)試,?,,,對(duì)父類中已經(jīng)測(cè)試過的成員函數(shù),,,兩種情況需要,,在子類中重新測(cè)試,:,,,繼承的成員函數(shù)在子類中做了改動(dòng),;,,,成員函數(shù)調(diào)用了改動(dòng)過的成員函數(shù)的部分,;,,例如,:,,,父類,Base,有,兩個(gè)成員函數(shù),Inherited(),和,Redefined(),,,,子類,Derived,只對(duì),Redefined(),做了改動(dòng),.,,Derived,∷,Redefined(),—,需要重新測(cè)試,,,Derived,∷,Inherited(),—,如果它調(diào)用了,Redefined(),的,,語句,,,則需重新測(cè)試,,,否則不必,子類繼承或重載的父類成員函數(shù)的測(cè)試問題,對(duì)父類的測(cè)試是否能夠照搬到子類,?,,,上例中,:,,Base,∷,Redefined(),和,Derived,∷,Redefined(),已是,兩個(gè)不同的成員函數(shù),,,照理應(yīng)對(duì),Derived,∷,Redefined(),重新進(jìn)行測(cè)試分析,,,設(shè)計(jì)測(cè)試用例,,,但由于它們的,相似性,,,只需在,Base,∷,Redefined(),的,測(cè)試要求和測(cè)試用例上添加對(duì),Derived,∷,Redefined(),的

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  sobing.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!