版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、白盒測試之理論篇2012-09-041為什么做白盒測試?這個問題比較復(fù)雜,我們先從一個比喻開始講起。 假設(shè)有一臺的面包機,從上面倒入面粉與水,開動機器后從下面出來的就是烤好了的面包,這個機器的功能比較單一,接口很清晰,輸入是面粉與水,輸出是面包。現(xiàn)在假定這個面包機多年未用,內(nèi)部都生銹了,現(xiàn)在要清洗它,類似于我們開發(fā)的軟件,軟件有Bug,那得通過測試來清理。那如何更快速的清洗這臺面包機呢?有兩種洗法,一是拿水從上往下灌,這是系統(tǒng)測試的方法。另一種是拆開來洗,拆開機器后,拿抺布沾點清潔劑,把各零件的坑坑槽槽擦洗一遍,然后組裝回來,再用水從上往下沖一遍,拆開來洗是白盒方法,組裝回來用水沖是黑盒方式,
2、相當(dāng)于白盒測試之后再追加一次系統(tǒng)測試。無疑,上面第二種方法是正確的,我們的前提是:清洗多年未用的面包機,鐵銹夠多,如果洗不干凈,造出的面包都是致癌物質(zhì)。當(dāng)然,清洗面包機還只能算簡單勞動,清理軟件中的Bug要復(fù)雜得多,一個if語句有兩條分支,一個while循環(huán)判斷也是兩條分支,還有break、continue、return等,想想看,一個1萬行規(guī)模的軟件能有多少個分支!一個分支就是一條坑坑槽槽,而且軟件Bug還具備動態(tài)特性,不是靜止的明擺在哪兒。所以,軟件的白盒測試不可或缺,因為遺留Bug的影響很大,就像面包機沒洗凈留鐵銹會致癌,還因為軟件系統(tǒng)遠(yuǎn)比面包機復(fù)雜,不拆開來怎么能洗干凈!2課程內(nèi)容1、
3、白盒測試的概念、特點2、白盒測試的目的3、白盒測試的原則4、白盒測試的依據(jù)5、白盒測試的類別6、白盒測試的流程7、白盒測試的策略8、白盒測試方法31.1 白盒測試的概念白盒測試(White Box Testing),按照程序內(nèi)部的結(jié)構(gòu)、邏輯驅(qū)動測試程序,通過測試來檢測產(chǎn)品內(nèi)部動作是否按照設(shè)計說明書的規(guī)定正常進(jìn)行,檢驗程序中的每條路徑是否都能按預(yù)定要求正確工作。白盒測試的對象主要是源程序。是指用代碼內(nèi)部的分支、路徑、條件,使程序設(shè)計的控制結(jié)構(gòu)導(dǎo)出測試用例。白盒測試是一個與黑盒測試相對的概念,是指測試者針對可見代碼進(jìn)行的一種測試。白盒測試通常再劃分為單元測試、集成測試兩大類,但依據(jù)不同的流程,對白
4、盒測試細(xì)分的標(biāo)準(zhǔn)也不盡一致,比如在IBM的IPD流程之下,白盒測試可能劃分為如下幾類:模塊單元測試、模塊集成測試、模塊系統(tǒng)測試、漸增Build集成測試、系統(tǒng)集成測試等。而在XP實踐中,單元測試與集成測試之間的界限并不明顯,統(tǒng)稱為漸增迭代測試。41.2 白盒測試的特點白盒法特點:以程序的內(nèi)部邏輯為基礎(chǔ)設(shè)計測試用例,所以又稱為邏輯覆蓋法。應(yīng)用白盒法時,手頭必須有程序的規(guī)格說明以及程序清單。 白盒法考慮的是測試用例對程序內(nèi)部邏輯的覆蓋程度。最徹底的白盒法是覆蓋程序中的每一條路徑,但是由于程序中一般含有循環(huán),所以路徑的數(shù)目極大,要執(zhí)行每一條路徑是不可能的,只能希望覆蓋的程度盡可能高些。52 白盒測試的
5、目的 保證一個模塊中的所有獨立路徑至少被執(zhí)行一次;對所有的邏輯值均需要測試真、假兩個分支;在上下邊界及可操作范圍內(nèi)運行所有循環(huán);檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)以確保其有效性。提高代碼的質(zhì)量達(dá)到軟件產(chǎn)品中要求的可靠性、安全性;63 白盒測試的原則白盒測試的原則有4點:1)保證一個模塊中所有路徑至少被測試一次;2)所有邏輯值都要測試真和假兩種情況;3)檢查程序的內(nèi)部數(shù)據(jù)結(jié)構(gòu)是否有效;4)檢查上、下邊界及可操作范圍內(nèi)運行所有循環(huán)。74 白盒測試依據(jù)軟件需求報告;軟件需求規(guī)格說明;程序設(shè)計文檔;軟件界面設(shè)計;編碼規(guī)范;開發(fā)命名標(biāo)準(zhǔn)。8 5 白盒測試的類別白盒測試的類別具體分為8大類:1) 軟件公用問題的測試;2)
6、語言測試;3) SQL語句測試;4) 數(shù)據(jù)類型測試;5) 界面測試;6) 數(shù)值對象測試;7) 業(yè)務(wù)對象測試;8) 數(shù)據(jù)管理對象測試。9白盒測試的流程分為界面對象和業(yè)務(wù)對象兩種方式。界面對象測試界面對象測試的流程如圖2-1所示。圖2-1界面對象的流程圖 6 白盒測試的流程10(2) 業(yè)務(wù)對象流程測試業(yè)務(wù)對象測試的流程如圖2-2所示。6 白盒測試的流程 圖2-2 業(yè)務(wù)對象測試的流程圖11 7 白盒測試策略桌前檢查(Desk Check) 同行評審(Peer Review) 代碼走查(Walkthrough)靜態(tài)分析(static analyse) 單元測試(Unit Testing)白盒測試綜合策
7、略(1)測試中,盡量先用自動化工具來進(jìn)行靜態(tài)結(jié)構(gòu)分析;(2)測試中建議先從靜態(tài)測試開始,如:靜態(tài)結(jié)構(gòu)分析、代碼走查和靜態(tài)質(zhì)量度量,然后進(jìn)行動態(tài)測試,如:覆蓋率測試;(3)利用靜態(tài)分析的結(jié)果作為依據(jù),再使用代碼檢查和動態(tài)測試的方式對靜態(tài)分析結(jié)果進(jìn)行進(jìn)一步確認(rèn),提高測試效率及準(zhǔn)確性;(4)覆蓋率測試是白盒測試中的重要手段,在測試報告中可以作為量化指標(biāo)的依據(jù),對于軟件的重點模塊,應(yīng)使用多種覆蓋率標(biāo)準(zhǔn)衡量代碼的覆蓋率;(5)在不同的測試階段,測試的側(cè)重點是不同的。128 白盒測試方法靜態(tài)測試 代碼檢查法 靜態(tài)結(jié)構(gòu)分析法動態(tài)測試邏輯測試語句覆蓋判定覆蓋條件覆蓋判定-條件覆蓋條件組合測試路徑測試白盒測試的
8、其它方法條件測試數(shù)據(jù)流測試循環(huán)測試域測試Z路徑測試138.1 靜態(tài)測試 8.1.1 代碼檢查法 8.1.2 靜態(tài)結(jié)構(gòu)分析法 代碼檢查方式桌面檢查由程序員檢查自已編寫的程序在程序通過編譯之后,對源碼進(jìn)行分析檢查代碼審查由若干程序員和測試員組成審查小組通過閱讀、討論、爭議來對程序文檔進(jìn)行靜態(tài)分析走查由若干程序員和測試員組成審查小組,審查第一步:材料下發(fā)每個人,各自認(rèn)真閱讀、研究審查第二步:集中開會,大家根據(jù)預(yù)先設(shè)計好的測試用例,模擬運行程序,記錄程序蹤跡,供分析討論之用148.1.1 代碼檢查法代碼檢查的主要項目變量交叉引用表標(biāo)號交叉引用表子程序、宏、函數(shù)等價性檢查常量檢查標(biāo)準(zhǔn)檢查風(fēng)格檢查比較控制
9、流程序的規(guī)格說明158.1.1 代碼檢查法代碼檢查的規(guī)則(可以參照編碼規(guī)范)168.1.2 靜態(tài)結(jié)構(gòu)分析法使用靜態(tài)結(jié)構(gòu)分析工具分析程序源代碼的內(nèi)部結(jié)構(gòu)系統(tǒng)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)接口內(nèi)部控制邏輯可生成的分析文檔函數(shù)調(diào)用關(guān)系圖模塊控制流程圖內(nèi)部文件調(diào)用關(guān)系圖子程序表宏和函數(shù)參數(shù)表178.2 動態(tài)測試邏輯覆蓋法基本路徑覆蓋法 邏輯覆蓋測試方法通常采用流程圖來設(shè)計測試用例,它考察的重點是圖中的判定框,因為這些判定通常是與選擇結(jié)構(gòu)有關(guān)或是與循環(huán)結(jié)構(gòu)有關(guān),是決定程序結(jié)構(gòu)的關(guān)鍵成分。 邏輯覆蓋法路徑測試就是設(shè)計足夠的測試用例,覆蓋程序中每一條可能的程序執(zhí)行路徑至少測試一次,如果程序中含有循環(huán)(在程序圖中表現(xiàn)為環(huán))
10、則每個循環(huán)至少執(zhí)行一次。 路徑測試法18發(fā)現(xiàn)錯誤的能力標(biāo) 準(zhǔn)含 義 1(弱)語句覆蓋每條語句至少執(zhí)行一次 2判定覆蓋每一判定的每個分支至少執(zhí)行一次 3條件覆蓋每一判定中的每個條件,分別按“真”、“假”至少各執(zhí)行一次4 判定/條件覆蓋同時滿足判定覆蓋和條件覆蓋的要求5 (強) 條件組合覆蓋求出判定中所有條件的各種可能組合值,每一可能的條件組合至少執(zhí)行一次 邏輯覆蓋測試的5種標(biāo)準(zhǔn) 19ABTFABTF20ABTFABTFABTF圖示如下:208.2.1 語句覆蓋語句覆蓋”是一個比較弱的測試標(biāo)準(zhǔn),它的含義是:選擇足夠的測試用例,使得程序中每個語句至少都能被執(zhí)行一次。為使程序中每個語句至少執(zhí)行一次,只
11、需設(shè)計一個能通過路徑ace的例子就可以了,例如選擇輸入數(shù)據(jù)為: A=2,B=0,X=3 就可達(dá)到“語句覆蓋”標(biāo)準(zhǔn)。 從上例可看出,語句覆蓋實際上是很弱的,如果第一個條件語句中的AND錯誤地編寫成OR,上面的測試用例是不能發(fā)現(xiàn)這個錯誤的;又如第三個條件語句中X1誤寫成X0,這個測試用例也不能暴露它,此外,沿著路徑abd執(zhí)行時,X的值應(yīng)該保持不變,如果這一方面有錯誤,上述測試數(shù)據(jù)也不能發(fā)現(xiàn)它們。 語句覆蓋 218.2.1 分支覆蓋 A=3,B=0,X=1 (沿路徑acd執(zhí)行)A=2,B=1,X=3 (沿路徑abe執(zhí)行)比“語句覆蓋”稍強的覆蓋標(biāo)準(zhǔn)是“分支覆蓋”含義是:執(zhí)行足夠的測試用例,使得程序中
12、的每一個分支至少都通過一次。 對例1的程序,如果設(shè)計兩個例子,使它們能通過路徑ace和abd,或者通過路徑acd和abe,就可達(dá)到“判定覆蓋”標(biāo)準(zhǔn),為此,可以選擇輸入數(shù)據(jù)為: A=3,B=0,X=1 (沿路徑acd執(zhí)行); A=2,B=1,X=3(沿路徑abe執(zhí)行) 程序中含有判定的語句包括if-then-else、do-until、case、do-while等,所以“分支覆蓋”更一般的含義是:使得每一個分支獲得每一種可能的結(jié)果。 “分支覆蓋”比“語句覆蓋”嚴(yán)格,因為如果每個分支都執(zhí)行過了,則每個語句也就執(zhí)行過了。但是,“分支覆蓋”還是很不夠的,例如例1兩個測試用例未能檢查沿著路徑abd執(zhí)行時
13、,X的值是否保持不變。228.2.1 條件覆蓋 A=2,B=0,X=4(沿路徑ace執(zhí)行)A=1,B=1,X=1 (沿路徑abd執(zhí)行)一個判定中往往包含了若干個條件,如例1的程序中,判定(A1) AND (B=0)包含了兩個條件: A1以及 B=0,所以可引進(jìn)一個更強的覆蓋標(biāo)準(zhǔn)“條件覆蓋”?!皸l件覆蓋”的含義是:執(zhí)行足夠的測試用例使得判定中的每個條件獲得各種可能的結(jié)果。 例1的程序有四個條件:A1、 B=0、A=2、X1 為了達(dá)到“條件覆蓋”標(biāo)準(zhǔn),需要執(zhí)行足夠的測試用例使得在a點有: A1、A1、B=0、B0 等各種結(jié)果出現(xiàn),以及在b點有:A=2、A2、X1、X1 等各種結(jié)果出現(xiàn)?,F(xiàn)在只需設(shè)計
14、以下兩個測試用例就可滿足這一標(biāo)準(zhǔn): A=2,B=0,X=4(沿路徑ace執(zhí)行); A=1,B=1,X=1 (沿路徑abd執(zhí)行)。238.2.1 條件覆蓋 “條件覆蓋”通常比“分支覆蓋”強,因為它使一個判定中的每一個條件都取到了兩個不同的結(jié)果,而判定覆蓋則不保證這一點。“條件覆蓋”并不包含“分支覆蓋”,如對語句IF(A AND B)THEN S 設(shè)計測試用例使其滿足條件覆蓋,即使A為真并使B為假,以及使A為假而且B為真,但是它們都未能使語句S得以執(zhí)行。 24條件覆蓋 如對例2設(shè)計了下面的測試用例,則雖然滿足了條件覆蓋,但只覆蓋了第一個條件的取假分支和第二個條件的取真分支,不滿足分支覆蓋的要求。
15、測試用例 通過路徑 條件取值覆蓋分支x=2、y=6、z=5 acd-T1、T2、-T3、T4 cdx=4、y=5、z=15 acdT1、-T2、T3、-T4 cd258.2.1 分支/條件覆蓋針對上面的問題引出了另一種覆蓋標(biāo)準(zhǔn)“分支 條件覆蓋”,它的含義是:執(zhí)行足夠的測試用例,使得分支中每個條件取到各種可能的值,并使每個分支取到各種可能的結(jié)果。對例1的程序,前面的兩個例子 A=2,B=0,X=4 (沿ace路) A=1,B=1,X=1 (沿abd路徑)是滿足這一標(biāo)準(zhǔn)的。26分支/條件覆蓋對例2,根據(jù)定義只需設(shè)計以下兩個測試用例便可以覆蓋8個條件值以及4個判斷分支。 測試用例 通過路徑 條件取值
16、覆蓋分支x=4、y=6、z=5 abdT1、T2、T3、T4 bdx=2、y=5、z=11ace-T1、-T2、-T3、-T4 ce278.2.1 分支/條件覆蓋 分支/條件覆蓋從表面來看,它測試了所有條件的取值,但是實際上某些條件掩蓋了另一些條件。例如對于條件表達(dá)式(x3)&(z3)為假則一般的編譯器不在判斷是否z5)來說,若x=4測試結(jié)果為真,就認(rèn)為表達(dá)式的結(jié)果為真,這時不再檢查(y5)條件了。因此,采用分支/條件覆蓋,邏輯表達(dá)式中的錯誤不一定能夠查出來了。 288.2.2 基本路徑測試法 基本路徑測試法是在程序控制流圖的基礎(chǔ)上,通過分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)
17、計測試用例的方法。設(shè)計出的測試用例要保證在測試中程序的每個可執(zhí)行語句至少執(zhí)行一次?;韭窂綔y試法的重點內(nèi)容如下: 程序的控制流圖:描述程序控制流的一種圖示方法。 程序環(huán)形復(fù)雜度:McCabe復(fù)雜性度量。從程序的環(huán)路復(fù)雜性可導(dǎo)出程序基本路徑集合中的獨立路徑條數(shù),這是確定程序中每個可執(zhí)行語句至少執(zhí)行一次所必須的測試用例數(shù)目的上界。基本路徑測試方法包括以下4個步驟:畫出程序的控制流圖。計算程序的環(huán)形復(fù)雜度,導(dǎo)出程序基本路徑集中的獨立路徑條數(shù),這是確定程序中每個可執(zhí)行語句至少執(zhí)行一次所必須的測試用例數(shù)目的上界。導(dǎo)出基本路徑集,確定程序的獨立路徑。根據(jù)中的獨立路徑,設(shè)計測試用例的輸入數(shù)據(jù)和預(yù)期輸出。29
18、8.2.2 基本路徑測試法1 程序控制流圖程序控制流圖(可簡稱流圖)是對程序流程圖進(jìn)行簡化后得到的,它突出表示程序控制流的結(jié)構(gòu)。程序控制流圖是描述程序控制流的一種方式??刂屏鲌D圖形符號:圖形符號:圓圈代表一個結(jié)點, 表示一個或多個無分支的語句或源程序語句;程序控制流邊和點圈定的部分叫做區(qū)域。當(dāng)對區(qū)域計數(shù)時,圖形外的一個部分也應(yīng)記為一個區(qū)域;判斷語句中的條件為復(fù)合條件時,即條件表達(dá)式由一個或多個邏輯運算符連接的邏輯表達(dá)式(a and b),則需要改變復(fù)合條件的判斷為一系列只有單個條件的嵌套的判斷?;韭窂綔y試方法是在控制流圖的基礎(chǔ)上,通過分析控制結(jié)構(gòu)的環(huán)形復(fù)雜度,導(dǎo)出執(zhí)行路徑的基本集,再從該基本
19、集設(shè)計測試用例。圖2-4 程序控制流程圖308.3 白盒測試的其它方法簡介條件測試數(shù)據(jù)流測試循環(huán)測試域測試Z路徑測試318.3.1 條件測試條件測試是檢查程序模塊中所包含邏輯條件的測試用例設(shè)計方法主要用于測試程序中條件錯誤和程序的其他錯誤一般的說,如果程序的測試集能夠有效地檢測程序中的條件錯誤,則該測試集可能也會有效地檢測程序中的其他錯誤條件測試策略主要優(yōu)點條件測試的覆蓋率計算相對簡單程序的條件測試覆蓋率為產(chǎn)生另外的程序測試提供了指導(dǎo)328.3.1 條件測試條件式分析一個簡單條件是一個布爾變量或一個可能帶有NOT操作符的關(guān)系表達(dá)式,形式為:E1關(guān)系操作符E2 其中E1和E2是算術(shù)表達(dá)式,而關(guān)系
20、操作符是下列之一:“”、“”、“=”、“”(“!=”)、“”、或“”復(fù)雜條件由簡單條件、布爾操作符和括弧組成,設(shè)可用于復(fù)雜條件的布爾算子包括OR,AND和NOT,不含關(guān)系表達(dá)式的條件稱為布爾表達(dá)式。所以條件的成分類型包括:布爾操作符布爾變量布爾括弧(括住簡單或復(fù)雜條件)關(guān)系操作符或算術(shù)表達(dá)式條件式錯誤如果條件不正確,則至少有一個條件成分不正確,條件錯誤一般有以下類型布爾操作符錯誤布爾變量錯誤布爾括弧錯誤關(guān)系操作符或算術(shù)表達(dá)式錯誤338.3.2 數(shù)據(jù)流測試 數(shù)據(jù)流測試是按照程序中的變量定義和使用的位置來選擇程序的測試路徑數(shù)據(jù)流測試方法能有效發(fā)現(xiàn)錯誤,由于變量的定義和使用,使程序中的語句都彼此相關(guān)
21、數(shù)據(jù)流測試方法主要用于為包含 嵌套if和循環(huán)語句的程序 選擇測試路徑前提設(shè)程序每條語句都賦予了獨立的語句號,而且每個函數(shù)都不改變其參數(shù)和全局變量,對于語句號為S的語句DEF(S)=X語句S包含X的定義USE(S)=X語句S包含X的使用如果存在從S到S的路徑,并且該路徑不含X的其他定義,則變量X在語句S處的定義在語句S仍然有效變量X的定義,使用鏈(或稱DU鏈)形式如X,S,S,其中S和S是語句號,X在DEF(S)和USE(S)中,而且語句S定義的X在語句S有效使用鏈的測試策略要求每個DU鏈至少覆蓋一次可以證明DU測試不能保證覆蓋程序的所有分支348.3.4 循環(huán)測試循環(huán)測試是一種白盒測試技術(shù),著
22、重于檢查循環(huán)結(jié)構(gòu)的有效性。有如下四種循環(huán):簡單循環(huán)嵌套循環(huán)串接循環(huán)不規(guī)則循環(huán)358.3.4 循環(huán)測試簡單循環(huán)整個跳過循環(huán)只有一次通過循環(huán)兩次通過循環(huán)m次通過循環(huán),其中mnn-1,n,n+1次通過循環(huán)其中n是允許通過循環(huán)的最大次數(shù)嵌套循環(huán)如果將簡單循環(huán)的測試方法用于嵌套循環(huán),可能的測試數(shù)就會隨嵌套層數(shù)成幾何級增加,這會導(dǎo)致不實際的測試數(shù)目減少測試數(shù)的方法對最內(nèi)層循環(huán)使用簡單循環(huán),而使外層循環(huán)的循環(huán)參數(shù)(即循環(huán)計數(shù))最小,并為范圍外或排除的值增加其它測試由內(nèi)向外構(gòu)造下一個循環(huán)的測試,但其它的外層循環(huán)為最小值,并使其它的嵌套循環(huán)為“典型”值繼續(xù)直到測試所有的循環(huán)368.3.4 循環(huán)測試串接循環(huán)如果串
23、接循環(huán)的循環(huán)都彼此獨立,可是使用嵌套的策略測試如果兩個循環(huán)串接起來,而第一個循環(huán)是第二個循環(huán)的初始值,則這兩個循環(huán)并不是獨立的。則可使用測試嵌套循環(huán)的方法進(jìn)行測試不規(guī)則循環(huán)不能測試,盡量重新設(shè)計給結(jié)構(gòu)化的程序結(jié)構(gòu)后再進(jìn)行測試378.3.5 域測試域是指程序的輸入空間輸入空間又可以劃分成若干個子空間,每個子空間對應(yīng)一種不同的計算,子空間的劃分是由分支語句的條件式?jīng)Q定的有時將一個域稱為一個等介類域測試主要是針對域錯誤進(jìn)行的測試域錯誤如果程序的控制流有錯誤,對于某些特定的正確輸入,可能執(zhí)行的是一條錯誤的路徑,這種錯誤稱為域錯誤域測試就是在分析輸入域的基礎(chǔ)上,選擇適當(dāng)?shù)臏y試點進(jìn)行測試域測試的不足域測試對程序的限制較多當(dāng)程序中有很多的路徑時,所需的測試點太多388.3.5 Z路徑測試將程序中的循環(huán)次數(shù)加以限制,通常為循環(huán)1次或0次,這樣就將循環(huán)結(jié)構(gòu)變?yōu)榉种ЫY(jié)構(gòu),這種方法稱為Z路徑測試Z路徑測試能有效降低被測程序的路徑數(shù)39面向?qū)ο蟮陌缀袦y試對面向?qū)ο筌浖念悳y試相當(dāng)于傳統(tǒng)軟件的單元測試。和傳統(tǒng)軟件的單元測試不同,他往往關(guān)注模塊的算法細(xì)節(jié)和模塊接口間流動的數(shù)據(jù),面向?qū)ο筌浖念悳y試是由封裝在類中的操作和類的狀態(tài)行為所驅(qū)動的。 面向?qū)ο筌浖y試的特點:因為屬性和操作是被封裝的,對類之外
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力設(shè)備捐贈協(xié)議書范文范本
- 化妝品定制協(xié)議書范文模板下載
- 工程合伙人協(xié)議書范文模板下載電子版
- 2015汽車四級修理工試題真題(答案)2
- 2020學(xué)前教育頂崗實習(xí)報告范文5篇
- 第一章小組工作發(fā)展歷史
- 博弈論與信息經(jīng)濟學(xué)講義91
- 2023-2024學(xué)年新疆維吾爾自治區(qū)烏魯木齊市新市區(qū)第七十中學(xué)高三年級第二學(xué)期期初考試數(shù)學(xué)試題
- 2023-2024學(xué)年四川省成都市雙流棠湖中學(xué)招生全國統(tǒng)一考試模擬卷數(shù)學(xué)試題
- 高一軍訓(xùn)學(xué)生代表發(fā)言稿
- 2022年2022年古籍樣式排版模板
- 大班繪本:喜歡鐘表的國王ppt課件
- 藝術(shù)裝飾藝術(shù)運動
- 樊登讀書會營銷策略分析
- 建設(shè)單位安全生產(chǎn)管理體系(完整版)
- 國潮風(fēng)喜迎中秋節(jié)傳統(tǒng)節(jié)日介紹主題班會PPT模板
- 工程維修承諾書范本
- 盾構(gòu)施工管片防水材料粘貼作業(yè)指導(dǎo)書
- 《工作協(xié)調(diào)單》模板
- 《電動汽車》課件(PPT)
- 火力發(fā)電廠 施工圖設(shè)計計守則( 熱 機 篇)
評論
0/150
提交評論