第4章白盒測試.ppt_第1頁
第4章白盒測試.ppt_第2頁
第4章白盒測試.ppt_第3頁
第4章白盒測試.ppt_第4頁
第4章白盒測試.ppt_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2020/7/28,白盒測試,引言,靜態(tài)測試和動(dòng)態(tài)測試 靜態(tài)測試是指不運(yùn)行程序進(jìn)行的測試-只是檢查和審閱。 白盒測試和黑盒測試 測試用例的設(shè)計(jì)中,通常會(huì)把白盒測試和黑盒測試結(jié)合起來使用,本章主要內(nèi)容,4.1靜態(tài)測試技術(shù) 4.2白盒測試技術(shù),4.1靜態(tài)測試技術(shù),4.1.1 代碼檢查 4.1.2 靜態(tài)結(jié)構(gòu)分析 4.1.3 代碼質(zhì)量度量,4.1.1 代碼檢查,代碼檢查包括代碼走查、代碼審查等,代碼走查,有組織的代碼走查在編碼階段去除錯(cuò)誤的成本是在軟件發(fā)布階段去除錯(cuò)誤成本的1/92 全部的代碼是否都需要走查 最大的問題是勸說開發(fā)者要遵循一定的標(biāo)準(zhǔn),編碼風(fēng)格與規(guī)范,好的風(fēng)格對于好的程序設(shè)計(jì)具有關(guān)鍵性作用

2、 代碼應(yīng)該是清楚的和簡單的-具有直截了當(dāng)?shù)倪壿?、自然的表達(dá)式、通行的語言使用方式,代碼審查,代碼審查和代碼走查比較 代碼審查是提高代碼質(zhì)量的良藥 消除開發(fā)員的心理抵觸 代碼審查要有目標(biāo) 代碼審查清單,代碼審查和代碼走查比較,代碼審查清單,數(shù)據(jù)引用錯(cuò)誤 數(shù)據(jù)聲明錯(cuò)誤 計(jì)算錯(cuò)誤 比較錯(cuò)誤 控制流程錯(cuò)誤 子程序參數(shù)錯(cuò)誤 輸出錯(cuò)誤 其他檢查,4.1.2靜態(tài)結(jié)構(gòu)分析,靜態(tài)結(jié)構(gòu)分析主要是以圖形的方式表現(xiàn)程序的內(nèi)部結(jié)構(gòu),例如函數(shù)調(diào)用關(guān)系圖、函數(shù)內(nèi)部控制流圖。其中,函數(shù)調(diào)用關(guān)系圖以直觀的圖形方式描述一個(gè)應(yīng)用程序中各個(gè)函數(shù)的調(diào)用和被調(diào)用關(guān)系;控制流圖顯示一個(gè)函數(shù)的邏輯結(jié)構(gòu),它由許多節(jié)點(diǎn)組成,一個(gè)節(jié)點(diǎn)代表一條語句

3、或數(shù)條語句,連接結(jié)點(diǎn)的叫邊,邊表示節(jié)點(diǎn)間的控制流向。,4.1.3 代碼質(zhì)量度量,ISO/IEC 9126國際標(biāo)準(zhǔn)所定義的軟件質(zhì)量包括六個(gè)方面:功能性、可靠性、易用性、效率、可維護(hù)性和可移植性。軟件的質(zhì)量是軟件屬性的各種標(biāo)準(zhǔn)度量的組合。,4.2白盒測試方法,白盒測試,也稱為結(jié)構(gòu)化測試、基于代碼的測試,是一種測試用例設(shè)計(jì)方法,它從程序的控制結(jié)構(gòu)導(dǎo)出測試用例。,4.2白盒測試方法,這個(gè)流程圖,其中包括了一 個(gè)執(zhí)行達(dá)20次的循環(huán)。那么 它所包含的不同執(zhí)行路徑數(shù) 高達(dá)520條,若要對它進(jìn)行窮 舉測試,覆蓋所有的路徑。 假使測試程序?qū)γ恳粭l路徑 進(jìn)行測試需要1毫秒,同樣 假定一天工作24小時(shí),一年 工作3

4、65 天, 那么要想把如 圖所示的小程序的所有路徑 測試完,則需要3170年。,4.2白盒測試方法,由于對于不同復(fù)雜度的代碼邏輯,可以衍生出許多種執(zhí)行路徑,只有選擇適當(dāng)?shù)臏y試方法,才能幫助我們從代碼的迷霧森林中找到正確的方向。,4.2.1 邏輯覆蓋法,白盒測試中的邏輯覆蓋方法有以下6種: 語句覆蓋 判定覆蓋 條件覆蓋 判定條件覆蓋 條件組合覆蓋 路徑覆蓋,例:實(shí)現(xiàn)一個(gè)簡單的數(shù)學(xué)運(yùn)算,Dim a,b As Integer Dim c As Double If (a0 And b0) Then c=c/a End if If (a1 or c1) Then c=c+1 End if c=b+c,1

5、.語句覆蓋,基本思想是:設(shè)計(jì)若干測試用例,運(yùn)行被測程序,使程序中每個(gè)可執(zhí)行語句至少執(zhí)行一次。,1,1.語句覆蓋續(xù)1,只需設(shè)計(jì)一個(gè)測試用例:a=2,b=1,c=6;即達(dá)到了語句覆蓋。,1.語句覆蓋續(xù)2,【優(yōu)點(diǎn)】 :可以很直觀地從源代碼得到測試用例,無須細(xì)分每條判定表達(dá)式。 【缺點(diǎn)】 :由于這種測試方法僅僅針對程序邏輯中顯式存在的語句,但對于隱藏的條件是無法測試的。如在多分支的邏輯運(yùn)算中無法全面的考慮。語句覆蓋是最弱的邏輯覆蓋。,2.判定覆蓋,基本思想是:設(shè)計(jì)若干測試用例,運(yùn)行被測程序,使得程序中每個(gè)判斷的取真分支和取假分支至少經(jīng)歷一次,即判斷真假值均曾被滿足。,1,2.判定覆蓋續(xù)1,a=2,b=

6、1 ,c=6可覆蓋判斷M的Y分支和判斷Q的Y分支; a=-2,b=-1 ,c=-3可覆蓋判斷M的N分支和判斷Q的N分支 。 這兩組測試用例可覆蓋所有判定的真假分支。,判斷M,判斷Q,2.判定覆蓋續(xù)2,a=1,b=1 ,c=-3 可覆蓋判斷M的Y分支和判斷Q的N分支 ; a=1,b=-2 ,c=3可覆蓋判斷M的N分支和判斷Q的Y分支 ; 同樣的這兩組測試用例也可覆蓋所有判定的真假分支。,判斷M,判斷Q,2.判定覆蓋續(xù)3,【優(yōu)點(diǎn)】:判定覆蓋具有比語句覆蓋更強(qiáng)的測試能力。同樣判定覆蓋也具有和語句覆蓋一樣的簡單性,無須細(xì)分每個(gè)判定就可以得到測試用例。 【缺點(diǎn)】:往往大部分的判定語句是由多個(gè)邏輯條件組合

7、而成,若僅僅判斷其整個(gè)最終結(jié)果,而忽略每個(gè)條件的取值情況,必然會(huì)遺漏部分測試路徑。判定覆蓋仍是弱的邏輯覆蓋。,3.條件覆蓋,基本思想是:設(shè)計(jì)若干測試用例,執(zhí)行被測程序以后要使每個(gè)判斷中每個(gè)條件的可能取值至少滿足一次。,1,3.條件覆蓋續(xù)1,判斷M表達(dá)式: 設(shè)條件 a0 取真 記為 T1 假 F1 條件 b0 取真 記為 T2 假 F2 判斷Q表達(dá)式: 設(shè)條件 a1 取真 記為 T3 假 F3 條件 c1 取真 記為 T4 假 F4,判斷M,判斷Q,3.條件覆蓋續(xù)2,它覆蓋了判定M的N分支和判斷Q的Y分支。,我們用條件覆蓋設(shè)計(jì)的思想就是讓測試用例能覆蓋 T1、T2、T3、T4、F1、F2、F3、

8、F4,判斷M,判斷Q,3.條件覆蓋續(xù)3,【優(yōu)點(diǎn)】:增加了對條件判定情況的測試,增加了測試路徑。 【缺點(diǎn)】:條件覆蓋不一定包含判定覆蓋。例如,我們剛才設(shè)計(jì)的用例就沒有覆蓋判斷M的Y分支和判斷Q的N分支。條件覆蓋只能保證每個(gè)條件至少有一次為真,而不考慮所有的判定結(jié)果。,4.判定條件覆蓋,基本思想是:設(shè)計(jì)足夠的測試用例,使得判斷條件中的所有條件可能至少執(zhí)行一次取值,同時(shí),所有判斷的可能結(jié)果至少執(zhí)行一次。,1,4.判定條件覆蓋續(xù)1,按照判定條件覆蓋的要求,我們設(shè)計(jì)的測試用例要滿足如下條件: 所有條件可能至少執(zhí)行一次取值; 所有判斷的可能結(jié)果至少執(zhí)行一次。,要滿足T1、T2、 T3 、T4 F1、 F2

9、 、F3、F4,4.判定條件覆蓋續(xù)2,要滿足T1、T2、 T3 、T4 F1、 F2 、F3、F4,4.判定條件覆蓋續(xù)3,【優(yōu)點(diǎn)】 :能同時(shí)滿足判定、條件兩種覆蓋標(biāo)準(zhǔn)。 【缺點(diǎn)】 :判定/條件覆蓋準(zhǔn)則的缺點(diǎn)是未考慮條件的組合情況。,5.條件組合覆蓋,基本思想是:設(shè)計(jì)足夠的測試用例,使得所有可能的條件取值組合至少執(zhí)行一次,1,5.條件組合覆蓋續(xù)1,按照條件組合覆蓋的基本思想,對于前面的例子,我們把每個(gè)判斷中的所有條件進(jìn)行組合,設(shè)計(jì)組合條件如表所示,而我們設(shè)計(jì)的測試用例就要包括所有的組合條件。,5.條件組合覆蓋續(xù)2,要滿足1、2、3、4、5、6、7、8條件組合,5.條件組合覆蓋續(xù)3,【優(yōu)點(diǎn)】 :條

10、件組合覆蓋準(zhǔn)則滿足判定覆蓋、條件覆蓋和判定/條件覆蓋準(zhǔn)則。 【缺點(diǎn)】 :線性地增加了測試用例的數(shù)量。,邏輯覆蓋的強(qiáng)弱關(guān)系,6.路徑覆蓋,基本思想是:設(shè)計(jì)所有的測試用例,來覆蓋程序中的所有可能的執(zhí)行路徑 。,1,6.路徑覆蓋續(xù)1,6.路徑覆蓋續(xù)2,【優(yōu)點(diǎn)】 :這種測試方法可以對程序進(jìn)行徹底的測試,比前面五種的覆蓋面都廣。 【缺點(diǎn)】 :需要設(shè)計(jì)大量、復(fù)雜的測試用例,使得工作量呈指數(shù)級增長,不見得把所有的條件組合都覆蓋。,練習(xí):為以下流程圖所示的程序段設(shè)計(jì)一組測試用例,要求分別滿足語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、組合覆蓋和路徑覆蓋。 1. int logicExample(int x,

11、 int y) 2. 3. int magic=0; 4. if(x0 / 語句塊4 18. ,網(wǎng)絡(luò)資源:,從前面的例子我們可以看到,采用任何一種覆蓋方法都不能滿足我們的要求,所以,在實(shí)際的測試用例設(shè)計(jì)過程中,可以根據(jù)需要將不同的覆蓋方法組合起來使用,以實(shí)現(xiàn)最佳的測試用例設(shè)計(jì) 。,條件組合覆蓋結(jié)合路徑覆蓋,4.2.3程序結(jié)構(gòu)分析,程序的結(jié)構(gòu)形式是白盒測試的主要依據(jù)。這一部分將從控制流分析和數(shù)據(jù)流分析的不同方面討論如何分析程序結(jié)構(gòu)。我們的目的是要在程序中找到隱藏的錯(cuò)誤。 控制流分析 數(shù)據(jù)流分析,控制流分析,由于非結(jié)構(gòu)化程序會(huì)給測試帶來許多不必要的困難,所以業(yè)界要求寫出的程序具有良好的結(jié)構(gòu)。 控制

12、流圖 程序結(jié)構(gòu)的基本要求,控制流圖,程序流程圖又稱框圖,是我們最熟悉,也是最容易理解的一種程序控制結(jié)構(gòu)的圖形表示了。在這種圖上的框里面常常標(biāo)明了處理要求或者條件,但是,這些標(biāo)注在做路徑分析時(shí)是不重要的。為了了更加突出控制流的結(jié)構(gòu),需要對程序流程圖做一些簡化。在圖4-2種我們給出了簡化的例子。其中(a)圖示一個(gè)含有兩個(gè)出口判斷和循環(huán)的程序流程圖,我們把它簡化成(b)的形式,稱這種簡化了的程序流程圖叫做控制流圖。,控制流圖續(xù),在控制流圖中只有兩種圖形符號,它們是: 節(jié)點(diǎn):以標(biāo)有編號的圓圈表示。它代表了程序流程圖中矩形框表示的處理、菱形表示的兩個(gè)到多個(gè)出口判斷以及兩條到多條流線相交的匯合點(diǎn)。 控制流

13、線或弧:以箭頭表示。它與程序流程圖中的流線是一致的,表明了控制的順序。為了方便討論,控制流線通常標(biāo)有名字,如圖中所標(biāo)的a、b、c等。,圖4-2 (a) (b),控制流圖續(xù)2,為了使控制流圖在機(jī)器上表示,我們可以把它表示成矩陣的形式,稱為控制流圖矩陣。圖4-3表示了圖4-2的控制流圖矩陣,這個(gè)矩陣有5行5列,是由該控制圖中5個(gè)節(jié)點(diǎn)決定的。矩陣中6個(gè)元素a、b、c、d、e和f的位置決定了它們所連接節(jié)點(diǎn)的號碼。例如,弧d在矩陣中處于第3行第4列,那是因?yàn)樗诳刂屏鲌D中連接了節(jié)點(diǎn)3至節(jié)點(diǎn)4。這里必須注意方向,圖中節(jié)點(diǎn)4到節(jié)點(diǎn)3沒有弧,所以矩陣中第4行第3列也就沒有元素。,圖4-3,除了用程序流程圖可以

14、轉(zhuǎn)化成控制流圖以外,還可以把偽代碼表示的處理過程轉(zhuǎn)化成控制流圖。根據(jù)程序建構(gòu)控制流圖很容易 。 例如:三角形偽代碼實(shí)現(xiàn)過程轉(zhuǎn)化成了控制流圖,有的時(shí)候,我們可以把幾個(gè)節(jié)點(diǎn)合并成一個(gè),合并的原則是:若在一個(gè)節(jié)點(diǎn)序列中沒有分支,則我們可以把這個(gè)序列的節(jié)點(diǎn)都合并成一個(gè)節(jié)點(diǎn)。,包含復(fù)合條件的偽代碼轉(zhuǎn)化成控制流圖,程序結(jié)構(gòu)的基本要求,我們對于程序結(jié)構(gòu)提出以下4點(diǎn)基本要求,這些要求是,寫出的程序不應(yīng)該包含: 轉(zhuǎn)向并不存在的標(biāo)號; 沒有用過的語句標(biāo)號; 從程序入口進(jìn)入后無法達(dá)到的語句; 不能達(dá)到停機(jī)語句的語句。,數(shù)據(jù)流分析,在單元測試中,數(shù)據(jù)僅僅在一個(gè)模塊或者一個(gè)函數(shù)種流通。但是,數(shù)據(jù)流的通路往往涉及多個(gè)集成

15、模塊,甚至于整個(gè)軟件,所以我們有必要進(jìn)行數(shù)據(jù)流的測試,盡管它非常耗時(shí)。 數(shù)據(jù)流分析最初是隨著編譯系統(tǒng)要生成有效的目標(biāo)代碼而出現(xiàn)的,這類方法主要用于優(yōu)化代碼。數(shù)據(jù)流測試是指一個(gè)基于通過程序的控制流,從建立的數(shù)據(jù)目標(biāo)狀態(tài)的序列中發(fā)現(xiàn)異常的結(jié)構(gòu)測試方法。數(shù)據(jù)流測試用作路徑測試的“真實(shí)性檢查”。,數(shù)據(jù)流分析續(xù),早期的數(shù)據(jù)流分析常常集中于現(xiàn)在叫做定義/引用異常的缺陷: 變量杯定義,但是從來沒有使用。 所使用的變量沒有被定義。 變量在使用之前被定義了兩次。 因?yàn)槌绦騼?nèi)的語句因變量的定義和使用而彼此相關(guān),所以用數(shù)據(jù)流測試方法更能有效地發(fā)現(xiàn)軟件缺陷。但是,在度量測試覆蓋率和選擇測試路徑的時(shí)候,數(shù)據(jù)流測試很困難

16、。,4.2.4 路徑測試,1DD-路徑測試(決策到?jīng)Q策路徑測試) 2基本路徑測試,DD-路徑測試,在討論DD-路徑測試之前,我們先要了解什么叫做鏈,在這里,鏈出現(xiàn)在有向圖中,是一條起始節(jié)點(diǎn)和終止節(jié)點(diǎn)不同的路徑,并且每個(gè)節(jié)點(diǎn)的出度=1,入度=1。也有一種長度為0的退化鏈情況,意思就是這條連只有一個(gè)節(jié)點(diǎn)和0條邊。,DD-路徑測試?yán)m(xù),DD-路徑是控制流圖中的一條鏈,只要滿足下列五種情況之一: 由一個(gè)節(jié)點(diǎn)組成,入度=0; 由一個(gè)節(jié)點(diǎn)組成,出度=0; 由一個(gè)節(jié)點(diǎn)組成,入度=2或者出度=2; 由一個(gè)節(jié)點(diǎn)組成,入度=1并且出度=1; 長度=1的最大鏈。,DD-路徑測試?yán)m(xù)2,為了便于理解,我們用圖4-4三角形

17、偽代碼映射成的控制流圖來說明這五種情況。,圖4-4,DD-路徑測試?yán)m(xù)3,提出DD-路徑的目的很多質(zhì)量機(jī)構(gòu)都把DD-路徑覆蓋作為測試覆蓋的最低可接受級別。E.F.Miller發(fā)現(xiàn),當(dāng)通過一組測試用例滿足DD-路徑覆蓋要求時(shí),可以發(fā)現(xiàn)全部缺陷中的大約85%(Miller 1991)。 如果每一條DD-路徑都被遍歷,則我們知道每個(gè)判斷分支都被執(zhí)行,其實(shí)就是遍歷DD-路徑圖中每條邊。對于if類的 語句,這意味著真、假分支都要覆蓋。對于CASE語句,則每個(gè)子句都要覆蓋。,DD-路徑測試?yán)m(xù)4,DD-路徑定義:給定采用命令式語言編寫的一段程序,其DD-路徑是有向圖。其中,節(jié)點(diǎn)表示其程序圖的DD-路徑,邊表示

18、連續(xù)DD-路徑之間的控制流。 在實(shí)踐中,手工為最多大約100行源代碼的程序生成DD-路徑圖是可行的。若超過這種規(guī)模,大多數(shù)測試人員會(huì)借助工具完成。,基本路徑測試,基本路徑測試法是在程序控制流圖的基礎(chǔ)上,通過分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測試用例的方法。設(shè)計(jì)出的測試用例要保證在測試中程序的每個(gè)可執(zhí)行語句至少執(zhí)行一次。,基本路徑測試?yán)m(xù),基本路徑測試法包括以下5個(gè)方面: 程序的控制流圖:描述程序控制流的一種圖示方法。 程序環(huán)形復(fù)雜性: 環(huán)形復(fù)雜度是一種為程序邏輯復(fù)雜性提供定量測度的軟件度量,將該度量用于計(jì)算程序的基本獨(dú)立路徑數(shù)目邊。 導(dǎo)出測試用例:通過程序的控制流圖導(dǎo)出基

19、本路徑集,列出程序的獨(dú)立路徑。 準(zhǔn)備測試用例,確?;韭窂郊械拿恳粭l路徑的執(zhí)行。 圖形矩陣:是在基本路徑測試中起輔助作用的軟件工具,利用它可以實(shí)現(xiàn)自動(dòng)地確定一個(gè)基本路徑集。,基本路徑測試舉例,下面我們通過一個(gè)實(shí)例來說明基本路徑測試。 例:請看以下代碼,它由C+語言書寫。把它轉(zhuǎn)化成圖形矩陣,最后使用基本路徑測試法為變量temp設(shè)計(jì)測試用例,使之滿足基本路徑覆蓋要求。,基本路徑測試舉例,void ReadPara( CString temp) if ( temp = = =) m_oper.SetCurSel(0); else if (temp = = ) m_oper.SetCurSel(1)

20、; else if ( temp = = = =) m_oper.SetCurSel(2); else ,if( temp = = =) m_oper.SetCurSel(3); else if ( temp = = ) m_oper.SetCurSel(4); else m_oper.SetCurSel(5); return; ,1畫出這段代碼的控制流圖,如4-9所示: 2根據(jù)控制流圖,計(jì)算環(huán)路復(fù)雜度V(G)=22-18+2=6。 3導(dǎo)出測試用例,列出路徑:Path1:2-3-4-27-28 Path2:2-3-7-8-26-27-28 Path3:2-3-7-11-12-25-26-27-

21、28 Path4:2-3-7-11-15-16-24-25-26-27-28 Path5:2-3-7-11-15-19-20-23-24-25-26-27-28 Path6:2-3-7-11-15-19-22-23-24-25-26-27-28,圖4-9 控制流圖,4設(shè)計(jì)測試用例 根據(jù)第3步中給出的路徑,下面設(shè)計(jì)測試用例列在表4-9中。 5.圖形矩陣的畫法在前面我們已經(jīng)講過,這里不再贅述。,4.2.5 程序插樁,在軟件測試中,常常要用到一種“插樁”技術(shù),通過在源代碼中加入記錄信息語句,以便進(jìn)行運(yùn)行信息的追蹤和調(diào)試,統(tǒng)計(jì)有關(guān)的運(yùn)行資源狀況。,程序插樁續(xù),想做插樁,可以思考以下幾點(diǎn): (1)如果出

22、現(xiàn)在語句中包含了return語句,怎么在它前面插入指定語句?同時(shí)保證語句的語法合法性? 例如:for(j=0;j10000;j+) if(j=k) return;-不能直接在之前插入,否則意義全變了; ,程序插樁續(xù)2,(2)當(dāng)出現(xiàn)需要在for循環(huán)語句、while循環(huán)語句中進(jìn)行插入信息時(shí)候,很可能會(huì)導(dǎo)致程序運(yùn)行時(shí)間非常長,是否有辦法改進(jìn)“插樁”機(jī)制? (3)是否可以由用戶進(jìn)行指定,比如for語句、while語句或者指定的語句前不允許進(jìn)行“插樁”,怎么實(shí)現(xiàn)? (4)如果對于一個(gè)龐大的系統(tǒng)軟件,我們需要進(jìn)行對所運(yùn)行的程序的每個(gè)函數(shù)記錄其運(yùn)行的有關(guān)參數(shù),如:運(yùn)行開始時(shí)間、退出時(shí)間、運(yùn)行總時(shí)間、調(diào)用次數(shù)等等的統(tǒng)計(jì),您有什么更好的建議與想法呢?,本章小結(jié),白盒測試是軟件測試技術(shù)中最基本的方法之一,白盒測試的核心是針對被測單元內(nèi)部是如何進(jìn)行工作的測試,是以覆蓋測試與路徑測試為基本策略。 白盒測試是一種被廣泛使用的邏輯測試方法,是由程序內(nèi)部邏輯

溫馨提示

  • 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)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論