




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、PartChapter4 白盒測(cè)試技術(shù)7/16/202214.1白盒測(cè)試概述7/16/20222白盒測(cè)試定義軟件的白盒測(cè)試是對(duì)軟件的過(guò)程性細(xì)節(jié)做細(xì)致的檢查。這一方法是把測(cè)試對(duì)象看作一個(gè)打開(kāi)的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試。通過(guò)在不同點(diǎn)檢查程序的狀態(tài),確定實(shí)際的狀態(tài)是否與預(yù)期的狀態(tài)一致。因此,白盒測(cè)試又也稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。7/16/20223白盒測(cè)試內(nèi)容白盒測(cè)試方法,主要對(duì)程序模塊進(jìn)行如下的檢查:對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一次;對(duì)所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測(cè)試一次;在循環(huán)的邊界和
2、允許界限內(nèi)執(zhí)行循環(huán)體;測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等待。7/16/20224白盒測(cè)試特征已知產(chǎn)品內(nèi)部工作過(guò)程,通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照編碼規(guī)格說(shuō)明書(shū)的規(guī)定正常進(jìn)行,而不管它的功能。白盒法全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試。測(cè)試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測(cè)試數(shù)據(jù) 。7/16/20225白盒測(cè)試特征白盒法是窮舉路徑測(cè)試。貫穿程序的獨(dú)立路徑數(shù)可能是天文數(shù)字。因此窮舉測(cè)試是不可行的。即使是每條路徑都測(cè)試了,程序中仍然可能有錯(cuò)誤。 原因如下。7/16/20226白盒測(cè)試也是不完善的原因:第一,窮舉路徑測(cè)試決不能查出程序違反了設(shè)計(jì)規(guī)范,即程序本身是個(gè)錯(cuò)誤的程
3、序。第二,窮舉路徑測(cè)試不可能查出程序中因遺漏路徑而出錯(cuò)。第三,窮舉路徑測(cè)試可能發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤。 7/16/202274.2白盒測(cè)試基于控制流的方法邏輯覆蓋基本路徑覆蓋循環(huán)覆蓋7/16/202284.2.1基于控制流的方法邏輯覆蓋邏輯覆蓋:語(yǔ)句覆蓋分支覆蓋條件覆蓋條件組合覆蓋全路徑覆蓋7/16/20229邏輯覆蓋以圖1所示程序段為例7/16/202210邏輯覆蓋舉例圖1所示程序段有4條不同路徑。L1(ace): (A=2) (B=0)或 (A1) (B=0) (X/A1)L2(abd): (A 1) (X1)或 (B 0) (A 2) (X1)L3(abe):(A 1) (X1)或
4、 (B 0) (A=2)或 (B 0) (X1)L4(acd):(A1) (B=0) (A 2) (X/A1)7/16/202211語(yǔ)句覆蓋語(yǔ)句覆蓋就是設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得每一可執(zhí)行語(yǔ)句至少執(zhí)行一次。又稱為C0覆蓋。根據(jù)粒度不同,也有叫行覆蓋、段覆蓋、基本塊覆蓋(basic block coverage)的。7/16/202212測(cè)試用例舉例語(yǔ)句覆蓋我們統(tǒng)一測(cè)試用例的格式為:輸入(A,B,X),輸出(A,B,X)或輸入(A,B,X)如上例,設(shè)計(jì)滿足語(yǔ)句覆蓋的測(cè)試用例是:(2,0,4),(2,0,3)7/16/202213語(yǔ)句覆蓋的盲點(diǎn)對(duì)一些控制結(jié)構(gòu)反映遲鈍(發(fā)現(xiàn)不了其中的某些
5、錯(cuò)誤);可能發(fā)現(xiàn)不了判斷中的邏輯運(yùn)算中出現(xiàn)的錯(cuò)誤。如:第一個(gè)判斷中的邏輯運(yùn)算符and錯(cuò)寫(xiě)為or,利用上面的測(cè)試用例,依然可達(dá)到語(yǔ)句覆蓋。7/16/202214語(yǔ)句覆蓋語(yǔ)句覆蓋是最弱的邏輯覆蓋準(zhǔn)則。在很多公司是最起碼的測(cè)試要求 。7/16/202215判定覆蓋判定覆蓋就是設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中每個(gè)判斷的取真分支和取假分支至少執(zhí)行一次。又稱為分支覆蓋,C1覆蓋,決策覆蓋,All-edges coverage,decision-decision-path(DDP)testing。7/16/202216判定覆蓋特征程序中的每一個(gè)分支至少通過(guò)一次 。判定覆蓋可擴(kuò)充到多出口判斷(CA
6、SE語(yǔ)句)的情形。整個(gè)BOOL型的表達(dá)式被認(rèn)為是取值一個(gè)TRUE和一個(gè)FALSE,不考慮其內(nèi)部是否包含了邏輯AND或OR。7/16/202217判定覆蓋的測(cè)試用例上例中,如果選擇路徑L1和L2,就可得到滿足判斷覆蓋要求的測(cè)試用例: L1:(2,0,4),(2,0,3) L2:(1,1,1),(1,1,1)如果選擇路徑L3和L4,還可得到另一組滿足判定覆蓋條件的測(cè)試用例: L3:(2,1,1),(2,1,2) L4: (3,0,3),(3,1,1)可見(jiàn),測(cè)試用例的取法不唯一。7/16/202218判定覆蓋的盲點(diǎn)忽略了BOOL型表達(dá)式內(nèi)部的BOOL取值。例中,如果第二個(gè)判定中的條件X1錯(cuò)寫(xiě)成X1,
7、取真為T(mén)1,取假為T(mén)1 條件B=0,取真為T(mén)2,取假為T(mén)2對(duì)第二個(gè)判斷: 條件A=2,取真為T(mén)3,取假為T(mén)3 條件X1,取真為T(mén)4,取假為T(mén)47/16/202221滿足條件覆蓋的測(cè)試用例可選取的測(cè)試用例如下:7/16/202222滿足條件覆蓋的測(cè)試用例以下測(cè)試用例也可。7/16/202223條件覆蓋的弱點(diǎn)完全的條件覆蓋并不能保證完全的分支覆蓋。7/16/202224兩組測(cè)試用例分析第一組測(cè)試用例滿足條件覆蓋,同時(shí)也滿足分支覆蓋。第二組測(cè)試用例滿足條件覆蓋,但不滿足分支覆蓋。可見(jiàn),滿足了條件覆蓋的測(cè)試用例并不一定能測(cè)試所有可能的分支。(條件覆蓋的盲點(diǎn))7/16/202225判定條件覆蓋判定條件覆
8、蓋就是設(shè)計(jì)足夠的測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中每個(gè)判斷的每個(gè)條件的所有可能取值至少執(zhí)行一次,同時(shí)每個(gè)判斷的所有可能判斷結(jié)果(分支)至少執(zhí)行一次。也叫分支條件組合覆蓋。7/16/202226判定條件覆蓋判定條件覆蓋是分支覆蓋和條件覆蓋的一個(gè)混血。它有兩者的簡(jiǎn)單性。但卻沒(méi)有兩者的缺點(diǎn)。7/16/202227判定條件覆蓋的測(cè)試用例上例中,只需設(shè)計(jì)以下兩個(gè)測(cè)試用例,便可覆蓋圖中的8個(gè)條件取值以及4個(gè)判斷分支。7/16/202228判定條件覆蓋的盲點(diǎn)從表面上看,它測(cè)試了所有條件的取值。但事實(shí)并非如此,因?yàn)橥承l件會(huì)掩蓋另一些條件。例如,對(duì)于條件表達(dá)式 (A1)and(B=0),若(A1)為真,則
9、還要測(cè)試(B=0),才能決定表達(dá)式的值;若(A1)為假,可以立刻決定表達(dá)式的值為假,這時(shí),程序往往就不再測(cè)試(B=0)的取值了;這樣,條件(B=0)就沒(méi)有檢查。因此,采用判斷條件覆蓋,邏輯表達(dá)式中的錯(cuò)誤不一定能夠查得出來(lái)。7/16/202229修正條件/判定覆蓋Modified Condition/Decision Coverage,也稱MC/DC。每一個(gè)條件對(duì)于判定的結(jié)果值是獨(dú)立的,即單條件的變化將導(dǎo)致判決的變化。7/16/202230多重條件判定分解為了徹底檢查所有條件的取值,可以將圖1給出的多重條件判定分解,形成圖2所示的由多個(gè)基本判斷組成的流程圖。這樣就可以有效地檢查所有的條件是否正確
10、了。7/16/202231圖2 圖1的多重條件判斷分解分解為多個(gè)基本判斷7/16/202232條件組合覆蓋條件組合覆蓋就是設(shè)計(jì)足夠的測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中每個(gè)判斷的所有可能的條件取值組合至少執(zhí)行一次。也叫多(重)條件覆蓋。7/16/202233條件組合覆蓋每個(gè)判定中條件的各種組合至少出現(xiàn)一次。多條件覆蓋需要的測(cè)試用例是用一個(gè)條件的邏輯操作符的真值表來(lái)確定的。7/16/202234條件組合覆蓋優(yōu)缺點(diǎn)優(yōu)點(diǎn):達(dá)到了條件組合覆蓋,所有的語(yǔ)句、分支和條件都將覆蓋,因此測(cè)試比較徹底。但不保證全部路徑的覆蓋。在實(shí)際測(cè)試中,達(dá)到所有條件組合常常是不可能。缺點(diǎn):測(cè)試用例比較冗長(zhǎng)復(fù)雜。測(cè)試用例對(duì)于相似
11、的復(fù)雜性的條件可能有非常大的變化。7/16/202235條件組合覆蓋的測(cè)試用例對(duì)于第一個(gè)判斷,有2個(gè)條件,4個(gè)取值組合。 T1 T2 T1F2 F1 T2 F1 F2對(duì)于第二個(gè)判斷,也有2個(gè)條件,4個(gè)取值組合。 T3 T4 T3F4 F3 T4 F3 F47/16/202236條件組合覆蓋的測(cè)試用例如果考慮第一個(gè)判斷的4個(gè)組合與第二個(gè)判斷的4個(gè)組合再進(jìn)行組合,就需要42=16個(gè)測(cè)試用例了。如果不考慮第一個(gè)判斷的4個(gè)組合與第二個(gè)判斷的4個(gè)組合再進(jìn)行組合,則取4個(gè)測(cè)試用例就能覆蓋上面8種條件取值的組合。(下頁(yè))7/16/202237條件組合覆蓋的盲點(diǎn)表中的這組測(cè)試用例覆蓋了所有條件的可能取值的組合
12、,覆蓋了所有判斷的可取分支。但路徑漏掉了L4,故達(dá)到條件組合覆蓋的測(cè)試用例仍是不完全的。7/16/202238全路徑覆蓋全路徑覆蓋就是設(shè)計(jì)足夠多的測(cè)試用例,覆蓋程序中所有可能的路徑。一個(gè)路徑就是一個(gè)從函數(shù)的入口到函數(shù)的出口的唯一的系列分支。優(yōu)點(diǎn):這種方法最嚴(yán)密,可以進(jìn)行徹底的測(cè)試。但所花費(fèi)的時(shí)間和成本也最高,通常實(shí)用性不大。7/16/202239全路徑覆蓋的測(cè)試用例仍以圖1為例,可以選擇如下的一組測(cè)試用例(可有多組)來(lái)覆蓋該程序段的全部路徑。7/16/202240全路徑覆蓋缺點(diǎn)缺點(diǎn):路徑是以分支的指數(shù)級(jí)別增加的。例如:一個(gè)函數(shù)包含10個(gè)if語(yǔ)句,就有1024需要個(gè)路徑測(cè)試,如果再加入一個(gè)if語(yǔ)
13、句,就有2048個(gè)路徑要測(cè)試。許多路徑不可能和執(zhí)行的數(shù)據(jù)無(wú)關(guān)。 例如:路徑覆蓋認(rèn)為下列語(yǔ)句 包含四條路徑。 7/16/202241全路徑覆蓋缺點(diǎn) if(success) statement1; statement2; if(success) statement3;但實(shí)際上可行的路徑只有兩條。7/16/202242部分邏輯覆蓋的理解要領(lǐng)分支覆蓋是以判斷的整個(gè)布爾表達(dá)式為主;條件覆蓋是以判斷的布爾表達(dá)式中的某項(xiàng)條件為主;由于分支覆蓋和條件覆蓋不是包含的關(guān)系,因此教嚴(yán)密的方法是結(jié)合這兩種方法在一起,即判定條件覆蓋。條件組合覆蓋是從判定條件覆蓋延伸過(guò)來(lái)的。7/16/202243各種邏輯覆蓋的關(guān)系從語(yǔ)句
14、覆蓋,到全路徑覆蓋,越來(lái)越嚴(yán)格。7/16/2022444.2.2基于控制流的方法基本路徑測(cè)試上面的例子是個(gè)非常簡(jiǎn)單的程序段,只有4條路徑。在實(shí)際問(wèn)題中,一個(gè)不太復(fù)雜的程序(特別是程序中有循環(huán)體時(shí)) ,其路徑都是一個(gè)龐大的數(shù)字。要在測(cè)試中覆蓋這么多的路徑是不現(xiàn)實(shí)的。為解決這一問(wèn)題,只得把覆蓋的路徑數(shù)壓縮到一定限度內(nèi)(例如,程序的循環(huán)體只執(zhí)行一次。),基本路徑覆蓋就是這樣的一種測(cè)試方法。7/16/202245基本路徑測(cè)試基本路徑是Tom McCabe首先提出的一種白盒測(cè)試技術(shù)。7/16/202246基本路徑測(cè)試基本路徑覆蓋是在程序控制圖的基礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合
15、,從而來(lái)設(shè)計(jì)測(cè)試用例。從該基本集導(dǎo)出的測(cè)試用例能保證程序中的每一個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次?;韭窂郊皇俏ㄒ坏?。7/16/202247基本路徑測(cè)試的主要步驟以詳細(xì)設(shè)計(jì)或源代碼作為基礎(chǔ),導(dǎo)出程序的控制流圖。計(jì)算得到的控制流圖G的環(huán)路復(fù)雜性V(G)。確定線性無(wú)關(guān)的路徑的基本集。生成測(cè)試用例,確?;韭窂郊忻織l路徑的執(zhí)行。7/16/202248控制流圖的圖形符號(hào)符號(hào)o 稱為控制流圖的一個(gè)結(jié)點(diǎn),它表示一個(gè)或多個(gè)無(wú)分支的程序語(yǔ)句。程序結(jié)構(gòu)表示:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、多分支選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。如果選擇結(jié)構(gòu)的判斷中的條件表達(dá)式是復(fù)合條件時(shí),需要改復(fù)合條件的判斷為一系列只有單個(gè)條件的嵌套的判斷。7/16/20
16、2249程序環(huán)路復(fù)雜性從程序的環(huán)路復(fù)雜性可導(dǎo)出程序基本路徑集合中的獨(dú)立路徑條數(shù),這是確保程序中每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次所必需的測(cè)試用例數(shù)目的上界。一條“獨(dú)立路徑”是指至少包含有一條在其它獨(dú)立路徑中從未有過(guò)的邊的路徑。7/16/202250計(jì)算控制流圖的環(huán)路復(fù)雜性V(G)控制流圖的區(qū)域數(shù)量。注:控制流圖中,邊和結(jié)點(diǎn)圈定的封閉范圍叫區(qū)域。圖形外不封閉的區(qū)域也應(yīng)記為一個(gè)區(qū)域。V(G)P+1 P為流圖中判定結(jié)點(diǎn)數(shù)量。V(G)E-V+2 E為流圖中邊的數(shù)量,N為流圖中節(jié)點(diǎn)數(shù)量。(edge, node)7/16/2022514.2.3基于控制流的方法循環(huán)測(cè)試循環(huán)是大多數(shù)軟件實(shí)現(xiàn)算法的重要部分。循環(huán)測(cè)試報(bào)
17、告你是否執(zhí)行了每個(gè)循環(huán)零次,只有一次,還是多次。循環(huán)測(cè)試注重于循環(huán)構(gòu)造的有效性。有四種循環(huán):簡(jiǎn)單循環(huán)、串接循環(huán)、嵌套循環(huán)、不規(guī)則循環(huán)。(如圖所示)7/16/202252四種循環(huán)測(cè)試7/16/202253簡(jiǎn)單循環(huán)的測(cè)試集整個(gè)跳過(guò)循環(huán)。只有一次通過(guò)循環(huán)。兩次通過(guò)循環(huán)。m次通過(guò)循環(huán),其中mn。n1,n,n1次通過(guò)循環(huán)。n是允許通過(guò)循環(huán)的最大次數(shù)。7/16/202254嵌套循環(huán)的測(cè)試集如果將簡(jiǎn)單循環(huán)的測(cè)試方法用于嵌套循環(huán),測(cè)試數(shù)就會(huì)隨著嵌套層數(shù)成幾何級(jí)增加,導(dǎo)致不實(shí)際的測(cè)試數(shù)目。Beizer提出了一種減少測(cè)試數(shù)的方法:從內(nèi)層循環(huán)開(kāi)始,將其他循環(huán)設(shè)置為最小值。7/16/202255嵌套循環(huán)的測(cè)試集對(duì)最內(nèi)
18、層循環(huán)使用簡(jiǎn)單循環(huán)測(cè)試,而使外層循環(huán)的循環(huán)計(jì)數(shù)最小,并為范圍外或排除的值增加其他測(cè)試。由內(nèi)向外構(gòu)造下一個(gè)循環(huán)的測(cè)試,但其他的外層循環(huán)為最小值,并使其他的嵌套循環(huán)為典型值。繼續(xù)直到測(cè)試完所有的循環(huán)。7/16/202256串接循環(huán)測(cè)試和不規(guī)則循環(huán)可以使用嵌套循環(huán)的策略測(cè)試串接循環(huán)。對(duì)于不規(guī)則循環(huán),應(yīng)盡可能地將這類循環(huán)重新設(shè)計(jì)為結(jié)構(gòu)化的程序結(jié)構(gòu)。7/16/202257循環(huán)測(cè)試循環(huán)控制值集7/16/2022584.3白盒測(cè)試基于數(shù)據(jù)流的方法通過(guò)一定的覆蓋準(zhǔn)則檢查程序中每個(gè)數(shù)據(jù)對(duì)象的每次定義、使用和消除。數(shù)據(jù)流模型(DUK) 數(shù)據(jù)流覆蓋策略7/16/2022594.4 白盒測(cè)試代碼覆蓋率分析7/16/2
19、02260代碼覆蓋率分析的過(guò)程找出程序經(jīng)過(guò)一系列測(cè)試而沒(méi)有執(zhí)行到的部分代碼。創(chuàng)建一個(gè)附加的測(cè)試用例來(lái)增加覆蓋率。決定代碼覆蓋的定量度量。達(dá)到則停止,否則繼續(xù)執(zhí)行步驟一、二。7/16/202261代碼覆蓋率分析覆蓋率分析有一定的好處和弱點(diǎn)。好處:能夠識(shí)別出沒(méi)有增加覆蓋率的無(wú)效的測(cè)試用例。但,覆蓋率分析只是許多種測(cè)試技術(shù)中的一種,你不能只是依靠它。你應(yīng)該選擇一個(gè)度量方法,建立一個(gè)覆蓋率要達(dá)到的最小百分比,來(lái)決定何時(shí)可以停止覆蓋率分析了。7/16/202262代碼覆蓋率分析的基礎(chǔ)假設(shè)和控制流相關(guān)的缺陷,都可以通過(guò)變更控制流的方法來(lái)發(fā)現(xiàn)。尋找和控制流相關(guān)的缺陷,不需要知道缺陷引起的后果和缺陷發(fā)生的可能性。程序中沒(méi)有不可達(dá)到的代碼且完成了需求定義的功能。7/16/202263覆蓋率分析基本的度量基于代碼的控制流的邏輯,邏輯覆蓋:語(yǔ)句覆蓋(
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 普通設(shè)備租賃管理辦法
- 液氯企業(yè)安全風(fēng)險(xiǎn)隱患排查表
- 景區(qū)物業(yè)收費(fèi)管理辦法
- 幕墻工程工作總結(jié)
- 高校數(shù)字化資源服務(wù)系統(tǒng)用戶體驗(yàn)優(yōu)化
- 當(dāng)代男性面臨的困境與挑戰(zhàn)
- 跨層網(wǎng)絡(luò)安全防護(hù)-洞察及研究
- 安全日常安全檢查表
- 光伏施工安全事故
- 數(shù)據(jù)科學(xué)在校園管理中的應(yīng)用
- translated-NCCN臨床實(shí)踐指南:非小細(xì)胞肺癌(中文版2022.V5)
- GB/T 8312-2002茶咖啡堿測(cè)定
- 通信線路工程施工組織設(shè)計(jì)方案【實(shí)用文檔】doc
- 護(hù)士注冊(cè)健康體檢表下載【可直接打印版本】
- 預(yù)計(jì)財(cái)務(wù)報(bào)表編制及分析課件
- 學(xué)生集體外出活動(dòng)備案表
- Q∕SY 1347-2010 石油化工蒸汽透平式壓縮機(jī)組節(jié)能監(jiān)測(cè)方法
- 西門(mén)子順序功能圖語(yǔ)言S7-Graph的應(yīng)用
- 中醫(yī)治療室工作制度管理辦法
- 提花裝造工藝技術(shù)培訓(xùn)課程
- 直播傳媒公司簡(jiǎn)介PPT課件(參考)
評(píng)論
0/150
提交評(píng)論