白盒與黑盒測(cè)試的測(cè)試用例設(shè)計(jì)_第1頁(yè)
白盒與黑盒測(cè)試的測(cè)試用例設(shè)計(jì)_第2頁(yè)
白盒與黑盒測(cè)試的測(cè)試用例設(shè)計(jì)_第3頁(yè)
白盒與黑盒測(cè)試的測(cè)試用例設(shè)計(jì)_第4頁(yè)
白盒與黑盒測(cè)試的測(cè)試用例設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第 5 章 白盒與黑盒測(cè)試的測(cè)試用例設(shè)計(jì)5.1 覆蓋率的概念覆蓋率是用來(lái)度量測(cè)試完整性的一個(gè)手段邏輯覆蓋和功能覆蓋覆蓋率 = (至少被執(zhí)行一次的 item 數(shù)) /item 總數(shù)5.2 白盒測(cè)試的測(cè)試用例設(shè)計(jì)5.2.1 邏輯覆蓋邏輯覆蓋是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的測(cè)試用例設(shè)計(jì)技術(shù),屬白盒測(cè)試。為了衡量測(cè)試的覆蓋程度, 需要建立一些作為測(cè)試徹底度的定量衡量標(biāo)準(zhǔn)。 目前常用的覆蓋標(biāo)準(zhǔn)是:語(yǔ)句覆蓋;判定覆蓋;條件覆蓋;判定 / 條件覆蓋;條件組合覆蓋; 路徑覆蓋一、語(yǔ)句覆蓋語(yǔ)句覆蓋就是設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行所測(cè)的程序,使得每一可執(zhí)行語(yǔ)句至少執(zhí)行一次。二、判定覆蓋判定覆蓋就是設(shè)計(jì)若干個(gè)測(cè)試用例,

2、使程序中的每個(gè)判斷至少出現(xiàn)一次 “真值”和一次 “假值” ,即程序中的每個(gè)分支都至少執(zhí)行一次。三、條件覆蓋條件覆蓋是指利用若干個(gè)測(cè)試用例,使被測(cè)試的程序中,對(duì)應(yīng)每個(gè)判斷中每個(gè)條件的所有可能情況均至少執(zhí)行一次。四、判定 /條件覆蓋判定 /條件覆蓋就是設(shè)計(jì)足夠多的測(cè)試用例,使得程序中每個(gè)判斷條件的所有可能的結(jié)果至少取到一次,又使每次判斷的每個(gè)分支至少通過(guò)一次。五、條件組合覆蓋解決上述問(wèn)題的新標(biāo)準(zhǔn)是條件組合覆蓋。條件組合覆蓋就是設(shè)計(jì)足夠多的測(cè)試用例,使得每個(gè)判斷的所有可能的條件取值組合至少執(zhí)行一次。六、邏輯覆蓋舉例例1試用邏輯覆蓋測(cè)試法為采用冒泡排序(bubble sorting )法進(jìn)行數(shù)據(jù)排序的

3、C程序設(shè)計(jì)測(cè)試用例。本例是一個(gè)對(duì)k 個(gè)整數(shù)進(jìn)行升序排序的 C 程序, 采用的算法是冒泡排序。 基本步驟是:( 1 ) 從數(shù)組中取出第 2 個(gè)元素;( 2 ) 如果新取出的元素大于等于其前鄰元素,則轉(zhuǎn)向第(4)步;( 3 )如果新取出的元素小于其前鄰元素,則與其前鄰元素交換位置;( 4 )將新元素與新的前鄰元素比較,若仍小于新的前鄰元素,則重復(fù)第(3)步;( 5 ) 取下一個(gè)元素。如果數(shù)組中元素已取完則結(jié)束排序,否則轉(zhuǎn)向第( 2 )步。下面將給出本例的 C 程序。圖 2 則是排序部分的流程圖。main() int a11,i,j,k,temp;scanf( “ %d” ,k);printf( “

4、 input numbenr” s: );for(i=1;i<=k;i+)scanf(“ %d” ,&ai);printf( n“” );for(i=2;i<=k;i+)if(ai>=ai-1) continue;for(j=i;j<=2;j-)if(aj>=aj-1 continue;temp=aj;aj=aj-1;aj-1=temp;“the sorted numbers:); printf( for(i=1;i<=10;i+)printf(" %d' ,ai);設(shè)計(jì)方法:(1)采用語(yǔ)句覆蓋設(shè)計(jì)測(cè)試用例對(duì)本例稍作分析就不難發(fā)現(xiàn),

5、只要向數(shù)組輸入先大后小兩個(gè)數(shù),程序執(zhí)行時(shí)就可以遍歷流程圖的所有框。因此,為引例設(shè)計(jì)滿足語(yǔ)句覆蓋的測(cè)試用例是:a=10,6,k=2由于語(yǔ)句覆蓋是一個(gè)最弱的覆蓋標(biāo)準(zhǔn)。雖然做到了所有語(yǔ)句的覆蓋,但可能發(fā)現(xiàn)不了 邏輯運(yùn)算中出現(xiàn)的錯(cuò)誤。(2)采用判定覆蓋設(shè)計(jì)測(cè)試用例對(duì)本例,在語(yǔ)句覆蓋的基礎(chǔ)上,如果要使程序流程經(jīng)過(guò)路徑L1和L2,可設(shè)計(jì)兩個(gè)滿足要求的測(cè)試用例:a=10,6,12,7,k=4ai>=ai-1或aj>=aj-1的情況下經(jīng)過(guò)路徑L1和L2,而未或合并成一組測(cè)試用例:上述測(cè)試用例是在滿足條件檢查另一個(gè)條件ai=ai-1或aj=aj-1,即使在程序中將兩處“>=”都誤寫成“ >

6、; ”,測(cè)試結(jié)果仍將顯示“正?!?,使這個(gè)錯(cuò)誤被掩蓋。因此可將上述測(cè)試用例改為:a=10,6,10,k=3a=10,6,6,k=3或:a=10,6,10,6,k=4則程序?qū)⒃跐M足ai=ai-1或aj=aj-1的條件下經(jīng)過(guò)路徑L1和L2 ,實(shí)現(xiàn)判定覆蓋。但結(jié)果是將“ >=”誤寫成“>”的錯(cuò)誤被掩蓋,從而造成更加嚴(yán)重的測(cè)試漏洞。因此需要更強(qiáng) 的邏輯覆蓋標(biāo)準(zhǔn)去檢驗(yàn)判斷內(nèi)部條件。(3)采用條件覆蓋設(shè)計(jì)測(cè)試用例要實(shí)現(xiàn)條件覆蓋,就必須使被測(cè)試的程序中,對(duì)應(yīng)每個(gè)判斷中每個(gè)條件的所有可能情況均至少執(zhí)行一次。對(duì)本例可設(shè)計(jì)測(cè)試用例如下:a=10,6,12,7,k=4a=10,6,10,6,k=4(4)采

7、用其它覆蓋設(shè)計(jì)測(cè)試用例在本例中的兩個(gè)復(fù)合條件,其組成條件都不是相互獨(dú)立的。若其中一個(gè)條件(如ai>ai-1)為真,則另一個(gè)條件(ai=ai-1)必然為假。所以就本例,判定/條件覆蓋及條件組合覆蓋都沒有實(shí)際意義??傊?,本例應(yīng)該選擇條件覆蓋測(cè)試方法,以得到較強(qiáng)的查錯(cuò)能力。因此,為本例設(shè)計(jì)的測(cè)試用例是:a=10,6,12,7,k=4a=10,6,10,6,k=45.2.2基本路徑覆蓋邏輯覆蓋測(cè)試主要關(guān)注的是程序內(nèi)部的邏輯結(jié)構(gòu),最徹底的測(cè)試就是覆蓋程序中的每 一條路徑,但在實(shí)際應(yīng)用中,一個(gè)不太復(fù)雜的程序,要覆蓋的路徑數(shù)都是一個(gè)龐大的數(shù)目, 而要執(zhí)行每一條路徑更是不可能的。因此我們希望通過(guò)一定的方

8、法將要覆蓋的路徑數(shù)壓縮到一個(gè)有限的范圍內(nèi),通過(guò)合理地選擇一組穿過(guò)程序的測(cè)試路徑,以實(shí)現(xiàn)達(dá)到某種測(cè)試度量, 而確保程序中每一個(gè)語(yǔ)句都執(zhí)行一次。這種測(cè)試方法就是基本路徑覆蓋法。一、控制流圖控制流圖是用來(lái)考察測(cè)試路徑的有用工具??刂屏鲌D是程序控制結(jié)構(gòu)的圖形表示,實(shí)際上就是一種簡(jiǎn)化了的流程圖。其基本元素是結(jié)點(diǎn)和控制流。圖3顯示了分別用程序流程圖和控制流圖來(lái)表示的程序基本控制結(jié)構(gòu)。圖3程序流程圖和控制流圖的對(duì)照?qǐng)D形說(shuō)明:(1)流程圖中的一組順序處理框,在控制流圖中可以被映射成為一個(gè)單一結(jié)點(diǎn),如圖4;圖4合并結(jié)點(diǎn)的控制流圖系列只有單個(gè)條件的(2)若判斷中的條件表達(dá)式是復(fù)合條件時(shí),需要改復(fù)合條件為圖5分解為

9、簡(jiǎn)單條件結(jié)點(diǎn)的控制流圖(3)控制流圖關(guān)注的是程序中的判斷框,而不是順序執(zhí)行部分的細(xì)節(jié)。二、路徑的選取所謂路徑測(cè)試,就是對(duì)控制流圖中每一條可能的程序執(zhí)行路徑至少測(cè)試一次,如果程序 中含有循環(huán),則每個(gè)循環(huán)至少執(zhí)行一次。路徑選取的一般原則是:(1)必須滿足邏輯覆蓋的最低標(biāo)準(zhǔn)。在IEEE的測(cè)試標(biāo)準(zhǔn)中,語(yǔ)句覆蓋是對(duì)白盒測(cè)試的最低標(biāo)準(zhǔn),而在舊M的測(cè)試標(biāo)準(zhǔn)中,語(yǔ)句覆蓋加判定覆蓋是對(duì)白盒測(cè)試的最低標(biāo)準(zhǔn)。在此我們主張將語(yǔ)句覆蓋加判定覆蓋作為路徑選取的最低標(biāo)準(zhǔn)。圖6是一程序的控制流圖,本程序不帶任何循環(huán)。我們可以先設(shè)計(jì)覆蓋所有點(diǎn)和所有邊 的測(cè)試路徑,然后將上述路徑結(jié)合起來(lái)就可以得到實(shí)現(xiàn)路徑覆蓋的測(cè)試路徑。圖6 一

10、個(gè)程序的控制流圖卜面給出了滿足3種不同覆蓋要求的測(cè)試路徑:測(cè)試路徑覆蓋結(jié)點(diǎn)/邊覆蓋標(biāo)準(zhǔn)acd,點(diǎn)覆蓋acd,bea,b,c,d,e邊覆蓋acd,be ae,bcd,a,b,c,d,e路徑覆蓋(2)對(duì)單循環(huán)和嵌套循環(huán),給出相應(yīng)的路徑選取規(guī)則。單循環(huán)(最小循環(huán)次數(shù)為零,最大循環(huán)次數(shù)為N)選取零次循環(huán)的路徑;對(duì)循環(huán)控制變量指定為負(fù)數(shù);一次通過(guò)循環(huán);典型的循環(huán)次數(shù);循環(huán)次數(shù)為N-1 ;循環(huán)次數(shù)為N+1。嵌套循環(huán)從最深層的循環(huán)開始,設(shè)定所有外層循環(huán)取它的最小值;測(cè)試最小值、最小值 +1、最小值-1、典型值、最大值-1、最大值+1、最大值; 設(shè)定內(nèi)循環(huán)在典型值處,按前一規(guī)則測(cè)試外層循環(huán),直到覆蓋所有循環(huán)。

11、(3)選取最簡(jiǎn)單的、具有一定功能含義的路徑。(4)由簡(jiǎn)到繁,若有可能,先考慮不含循環(huán)的測(cè)試路徑,然后補(bǔ)充對(duì)循環(huán)的測(cè)試;(5)盡可能選取短路徑;(6)選取沒有明顯功能含義的路徑,此時(shí)要研究這樣的路徑為什么存在,為什么沒有通過(guò)功能上合理的路徑得到覆蓋。5.3黑盒測(cè)試的測(cè)試用例設(shè)計(jì)5.3.1 等價(jià)類劃分等價(jià)類劃分是一種典型的黑盒測(cè)試方法。其基本思想是將程序的輸入?yún)^(qū)域劃分為若干個(gè)等價(jià)類,用每個(gè)等價(jià)類中的一個(gè)具有代表性的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)。我們將之劃分為兩類:(1)有效等價(jià)類:是指對(duì)程序的規(guī)格說(shuō)明是合理的、有意義的輸入數(shù)據(jù)所構(gòu)成的集合。 有效等價(jià)類可以是一個(gè),也可以是多個(gè)。(2)無(wú)效等價(jià)類:是指對(duì)程序

12、的規(guī)格說(shuō)明是不合理的或無(wú)意義的輸入數(shù)據(jù)所構(gòu)成的集 合。無(wú)效等價(jià)類至少有一個(gè)。確定等價(jià)類有以下幾條原則:(1)如果一個(gè)輸入條件規(guī)定了輸入值的范圍,則可確定一個(gè)有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類。例如,在程序的規(guī)格說(shuō)明中,對(duì)某一個(gè)輸入條件規(guī)定:X值的范圍是1999,則可以確定有效等價(jià)類為“ 1WXW 999”,無(wú)效等價(jià)類為“ X<1”及“X>999”。(2)如果一個(gè)輸入條件規(guī)定了值的個(gè)數(shù),則可確定一個(gè)有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類。例如,在程序的規(guī)格說(shuō)明中, 規(guī)定每個(gè)班學(xué)生人數(shù)不超過(guò) 40人,則可以確定有效等價(jià) 類為“ 1W學(xué)生人數(shù)W 40”,無(wú)效等價(jià)類為“學(xué)生人數(shù) =0”及“學(xué)生人數(shù)>40

13、”。(3)如果一個(gè)輸入條件規(guī)定了值的集合,而且有理由確信程序?qū)γ總€(gè)輸入數(shù)據(jù)都分別進(jìn)行 處理,則可以確定一個(gè)有效等價(jià)類(在集合中的所有元素)及一個(gè)無(wú)效等價(jià)類(不在集合中 的元素)。(4)如果一個(gè)輸入條件規(guī)定了 “必須如何”的條件,則可以確定一個(gè)有效等價(jià)類及一個(gè)無(wú) 效等價(jià)類。例如,輸入條件規(guī)定“標(biāo)識(shí)符應(yīng)以字母開頭”,則可以確定“以字母開頭者”為有效等價(jià)類,“以非字母開頭者”為無(wú)效等價(jià)類。(5)如果有理由確信某一個(gè)已劃分的等價(jià)類中各元素在程序中處理方式不同,則應(yīng)將此等 價(jià)類劃分成更小的等價(jià)類。選擇測(cè)試用例的基本步驟 是:(1)給每個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào);(2)設(shè)計(jì)新的測(cè)試用例,使它覆蓋盡可能多的

14、尚未被覆蓋的有效等價(jià)類,重復(fù)這一步,直到所有有效等價(jià)類均被覆蓋為止;(3)設(shè)計(jì)新的測(cè)試用例,使它覆蓋一個(gè)且僅一個(gè)未被覆蓋的無(wú)效等價(jià)類,重復(fù)這一步,直 到所有無(wú)效等價(jià)類均被覆蓋為止。必須注意,對(duì)有效等價(jià)類,一個(gè)測(cè)試用例可以覆蓋幾個(gè), 因此應(yīng)該用盡可能少的測(cè)試用例去 覆蓋所有有效等價(jià)類; 對(duì)無(wú)效等價(jià)類,一個(gè)測(cè)試用例只能覆蓋一個(gè), 這是因?yàn)槌绦蛑械哪承?錯(cuò)誤檢測(cè)往往會(huì)抑制其它的錯(cuò)誤檢測(cè)。例3某省高考招生,規(guī)定考生的年齡在16周歲至25周歲之間,即出生年月從1978年7月 至1987年6月。高考報(bào)名程序具有自動(dòng)檢測(cè)輸入程序的功能。若年齡不在此范圍內(nèi),則顯 示拒絕報(bào)名的信息。試用等價(jià)類劃分法為該程序設(shè)計(jì)

15、測(cè)試用例。設(shè)計(jì)方法:(1)劃分有效等價(jià)類和無(wú)效等價(jià)類。假定年齡用6位整數(shù)表示,前4位表示年份,后2位表示月份。輸入數(shù)據(jù)有出生年月、 數(shù)值本身、月份3個(gè)等價(jià)類,并為此劃分有效等價(jià)類和無(wú)效等價(jià)類,見下表:輸入條件有效等價(jià)類無(wú)效等價(jià)類出生年月6位數(shù)字字符有非數(shù)字字符少于6位數(shù)字字符多于6位數(shù)字字符數(shù)值本身在 197807198706 之間<197807>198706月份在0112之間Q 00>12(2)設(shè)計(jì)有效等價(jià)類需要的測(cè)試用例。為覆蓋、三個(gè)有效等價(jià)類,可以設(shè)計(jì)一個(gè)共用的測(cè)試用例:測(cè)試數(shù)據(jù)預(yù)期結(jié)果測(cè)試范圍198011輸入后效、(3)為每一個(gè)無(wú)效等價(jià)類至少設(shè)計(jì)一個(gè)測(cè)試用例:測(cè)試數(shù)據(jù)

16、預(yù)期結(jié)果測(cè)試范圍May,79輸入無(wú)效19803輸入無(wú)效1981112輸入無(wú)效197602年齡不合格199003年齡不合格197900輸入無(wú)效198013輸入無(wú)效等價(jià)類劃分法顯然比隨機(jī)地選擇測(cè)試用例要優(yōu)越得多,但它的不足是忽略了某些效率較高的測(cè)試情況。5.3.2邊界值分析所謂邊界值分析,就是選擇這樣的測(cè)試用例,選取正好等于、剛剛大于或剛剛小于邊界的值作為測(cè)試數(shù)。邊界值分析法與等價(jià)類劃分法有兩個(gè)方面的區(qū)別:(1)邊界值分析法不是從某個(gè)等價(jià)類中隨便設(shè)計(jì)一個(gè)數(shù)據(jù)作為測(cè)試用例,而是選出一個(gè)或多個(gè)數(shù)據(jù),使得這個(gè)等價(jià)類的每個(gè)邊界值都要作為測(cè)試數(shù)據(jù);(2)邊界值分析法不僅要考慮程序的輸入空間,而且要根據(jù)輸出空

17、間設(shè)計(jì)測(cè)試用例。用邊界值分析法設(shè)計(jì)測(cè)試用例時(shí),有以下幾條原則:1)如果輸入條件規(guī)定了值的范圍,則取剛達(dá)到這個(gè)范圍的邊界的值,以及剛剛超出 范圍的無(wú)效數(shù)據(jù)作為測(cè)試用例。例如輸入值的范圍為-100+100,則可以選取-100、+100、-101、+101作為測(cè)試數(shù)據(jù)。2)如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)、比最大個(gè)數(shù)多1、比最小個(gè)數(shù)少1的數(shù)作為測(cè)試用例。如規(guī)定“某文件可包括1至255個(gè)記錄一”,則測(cè)試數(shù)據(jù)可選 1和255及0和256等值。3)如果程序的輸入域或輸出域是個(gè)有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一 個(gè)元素作為測(cè)試用例。4)如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這

18、個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的 值作為測(cè)試用例。例如,如果程序中定義了一個(gè)數(shù)組,其元素下標(biāo)的下界是0,上界是100,那么應(yīng)選擇達(dá)到這個(gè)下標(biāo)邊界的值,如0與100作為測(cè)試用例。例4程序同例3。試用邊界值分析法為該程序設(shè)計(jì)測(cè)試用例。設(shè)計(jì)方法:利用等價(jià)類劃分法設(shè)計(jì)了 3個(gè)輸入等價(jià)類:出生年月、數(shù)值本身、月份。采用邊界值分析法可為這 3個(gè)輸入等價(jià)類設(shè)計(jì)14個(gè)邊界值測(cè)試用例。見下表:輸入 等價(jià)類測(cè)試用例說(shuō)明測(cè)試數(shù)據(jù)期望結(jié)果選取理由出 生 年 月1個(gè)數(shù)字字符5輸入無(wú)效僅有1個(gè)合法字符5個(gè)數(shù)字字符19791比有效長(zhǎng)度恰少1個(gè)字符7個(gè)數(shù)字字符1980121比有效長(zhǎng)度恰多1個(gè)字符有1個(gè)非數(shù)字字符1981m非法字符最少

19、全是非數(shù)字字符AUGUST非法字符最多6個(gè)數(shù)字字符198108輸入后效后效的輸入數(shù) 值 本 身16歲198706合格年齡最小合格年齡35歲197807最大合格年齡<16歲198707不合格年齡恰小于合格年齡>35歲197806恰大于合格年齡月份月份為01197901輸入功效最小月份月份為12198112最大月份月份01197900輸入無(wú)效恰小于最小月份月份12198113恰大于最大月份5.3.3錯(cuò)誤推測(cè)法錯(cuò)誤推測(cè)法就是根據(jù)經(jīng)驗(yàn)或直覺來(lái)推測(cè)程序容易發(fā)生的各種錯(cuò)誤,然后有針對(duì)性地設(shè)計(jì)能檢查出這些錯(cuò)誤的測(cè)試用例。由于錯(cuò)誤推測(cè)法是基于經(jīng)驗(yàn)的,因而沒有確定的產(chǎn)生測(cè)試用例的步驟。錯(cuò)誤推測(cè)法的基本思路是:列舉出程序中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情 況,根據(jù)它們選擇測(cè)試用例。例5程序同例4。在用邊界值分析法為該程序設(shè)計(jì)測(cè)試用例的基礎(chǔ)上,錯(cuò)誤推測(cè)法 補(bǔ)充新的測(cè)試用例。設(shè)計(jì)方法:可以補(bǔ)充其它的測(cè)試用例。如:(1) 輸入的“出生年月”為 0或空;(2) 年月次序顛倒;5.3.4因果圖一、基本概念等價(jià)類劃分法和邊界值分析法的缺陷是沒有檢查各種輸入條件的組合。因果圖法的基本思想是:從用自然語(yǔ)言書寫的程序規(guī)格說(shuō)明中找出“因”(輸入條件或輸入條件的等價(jià)類)和“果”(輸出或程序狀態(tài)的修改),通過(guò)畫因果圖將程序規(guī)格說(shuō)明書轉(zhuǎn)換成一張判定

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論

0/150

提交評(píng)論