版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
測(cè)試驅(qū)動(dòng)開發(fā)
.
1
大綱
.測(cè)試驅(qū)動(dòng)開發(fā)介紹
2.單元測(cè)試
?3.測(cè)試工具
。4.當(dāng)前面臨的問題
。5.相關(guān)資料
1.測(cè)試驅(qū)動(dòng)開發(fā)介紹
1.背景
測(cè)試驅(qū)動(dòng)開發(fā)(TestDrivenDevelopment,英文縮寫
TDD)是極限編程的一個(gè)重要組成部分,它的基本思想就是
在開發(fā)功能代碼之前,先編寫測(cè)試代碼。也就是說在明確要
開發(fā)某個(gè)功能后,首先思考如何對(duì)這個(gè)功能進(jìn)行測(cè)試,并完
成測(cè)試代碼的編寫,然后編寫相關(guān)的代碼滿足這些測(cè)試用例。
然后循環(huán)進(jìn)行添加其他功能,直到完成全部功能的開發(fā)。代
碼整潔可用(cleancodethatworks)是測(cè)試驅(qū)動(dòng)開發(fā)所追求
的目標(biāo)。雖然TDD光大于極限編程,但測(cè)試驅(qū)動(dòng)開發(fā)完全可
以單獨(dú)應(yīng)用。
1.測(cè)試驅(qū)動(dòng)開發(fā)介紹
2.極限編程
極限編程誕生于一種加強(qiáng)開發(fā)者與用戶的溝通需求,讓客戶全面參與軟件
的開發(fā)設(shè)計(jì),保證變化的需求及時(shí)得到修正。要讓客戶能方便地與開發(fā)人員溝通,
一定要用客戶理解的語言,先測(cè)試再編碼就是先給客戶軟件的外部輪廓,客戶使
用的功能展現(xiàn),讓客戶感覺到未來軟件的樣子,先測(cè)試再編碼與瀑布模型顯然是
背道而馳的。同時(shí),極限編程注重用戶反饋與讓客戶加入開發(fā)是一致的,讓客戶
參與就是隨時(shí)反饋軟件是否符合客戶的要求。有了反饋,開發(fā)子過程變短,迭代
也就很自然出現(xiàn)了,快速迭代,小版本發(fā)布都讓開發(fā)過程變成更多的自反饋過
程。
1.測(cè)試驅(qū)動(dòng)開發(fā)介紹
?:?3.測(cè)試驅(qū)動(dòng)開發(fā)的優(yōu)點(diǎn))
跟測(cè)試后進(jìn)行的開發(fā)方式相比,它有如下好處:
。(1)測(cè)試驅(qū)動(dòng)開發(fā)最重要的功能還在于保障代碼的正確性,能夠迅速發(fā)現(xiàn)、定
位bug。針對(duì)關(guān)鍵代碼的測(cè)試集,以及不斷完善的測(cè)試用例,為迅速發(fā)現(xiàn)、定位.
bug提供了條件。
。(2)痛過翁寫i弋碼的測(cè)試用例,對(duì)其功能的分解、使用過程、接口都進(jìn)行了設(shè)
計(jì)。而且這種從使用角度對(duì)代碼的設(shè)計(jì)通常更符合后期開發(fā)的需求。可測(cè)試的要
求,對(duì)代碼的內(nèi)聚性的提高和復(fù)用都非常有益。因此測(cè)試驅(qū)動(dòng)開發(fā)也是一種代碼
設(shè)計(jì)的過程。(
*(3)寫單元測(cè)試的時(shí)候,很容易就可以為一個(gè)行為寫一個(gè)測(cè)試用例,讓它通過,
然后為另一種行為寫另一個(gè)測(cè)試用例。也就是說,整個(gè)任務(wù)會(huì)械劃分成很多小的
任務(wù),獨(dú)立完成。如果我們不用TDD而直接實(shí)現(xiàn)的話,我們很容易就會(huì)同時(shí)把所
有的行為都實(shí)現(xiàn)了。這樣花的時(shí)間長(zhǎng),而且在這相當(dāng)長(zhǎng)的時(shí)間里面,寫的代碼都
是沒有測(cè)試過,不能保證準(zhǔn)確性的。相反的,用TDD的話,我們只實(shí)現(xiàn)要測(cè)的
行為的代碼。它只花費(fèi)很少的時(shí)間(幾分鐘),而且可以馬上測(cè)試。
1.測(cè)試驅(qū)動(dòng)開發(fā)介紹
。(4)為了更容易的寫單元測(cè)試,我們會(huì)廣泛的使用接口。這個(gè)會(huì)讓單
元測(cè)試代碼很容易讀跟寫,因?yàn)闇y(cè)試代碼里面沒有多余的數(shù)據(jù)。如果我
不用TDD而是直接寫實(shí)現(xiàn)的話,我們經(jīng)常會(huì)使用現(xiàn)成的類,測(cè)試為了
調(diào)用現(xiàn)成的類,就不得不創(chuàng)建很多多余的數(shù)據(jù),創(chuàng)建很巨型的對(duì)象。
。(5)因?yàn)閺V泛的使用接口,我們的類之間就不會(huì)藕合,因此重用性更
好。
。(6)發(fā)現(xiàn)比傳統(tǒng)測(cè)試方式更多的Bug。
。(7)完工時(shí)完工。表明我可以很清楚的看到自己的這段工作已經(jīng)結(jié)束
了,而傳統(tǒng)的方式很難知道什么時(shí)候編碼工作結(jié)束了。
1.測(cè)試驅(qū)動(dòng)開發(fā)介紹
?:?4.測(cè)試驅(qū)動(dòng)開發(fā)的過程
?:?1)明確當(dāng)前要完成的功能。可以記錄成一個(gè)TODO列表。
。2)快速完成針對(duì)此功能的測(cè)試用例編寫。
。3)測(cè)試代碼編譯不通過。
。4)編寫對(duì)應(yīng)的功能代碼。
。5)測(cè)試通過。
。6)對(duì)代碼進(jìn)行重構(gòu),并保證測(cè)試通過。
。7)循環(huán)完成所有功能的開發(fā)。
可參考《測(cè)試驅(qū)動(dòng)開發(fā)》第175頁
1.測(cè)試驅(qū)動(dòng)開發(fā)介紹
?5.原則)
?(1)測(cè)試隔離。不同代碼的測(cè)試應(yīng)該相互隔離。對(duì)一塊代碼的測(cè)試只考慮此代
碼的測(cè)試,不要考慮其實(shí)現(xiàn)細(xì)節(jié)(比如它使用了其他類的邊界條件)。
。(2)一頂帽子。開發(fā)人員開發(fā)過程中要做不同的工作,比如:編寫測(cè)試代碼、
開發(fā)功能代碼、對(duì)代碼重構(gòu)等。做不同的事,承擔(dān)不同的角色。開發(fā)人員完成
對(duì)應(yīng)的工作時(shí)應(yīng)該保持注意力集中在當(dāng)前工作上,而不要過多的考慮其他方面的
細(xì)節(jié),保證頭上只有一頂帽子。避免考慮無關(guān)細(xì)節(jié)過多,無謂地增加復(fù)雜度。
(3)測(cè)試列表。需要測(cè)試的功能點(diǎn)很多。應(yīng)該在任何階段想添加功能需求問題
時(shí),把相關(guān)功能點(diǎn)加到測(cè)試列表中,然后繼續(xù)手頭工作。然后不斷的完成對(duì)應(yīng);
的測(cè)試用例、功能代碼、重構(gòu)。一是避免疏漏,也避免干擾當(dāng)前進(jìn)行的工作。
?(4)測(cè)試驅(qū)動(dòng)。這個(gè)比較核心。完成某個(gè)功能,某個(gè)類,首先編寫測(cè)試代碼,
考慮其如何使用、如何測(cè)試。然后在對(duì)其進(jìn)行設(shè)計(jì)、編碼。
*(5)先寫斷言。測(cè)試代碼編寫時(shí),應(yīng)該首先編寫對(duì)功能代碼的判斷用的斷言語’
句,然后編寫相應(yīng)的輔助語句。
1.測(cè)試驅(qū)動(dòng)開發(fā)介紹
(6)可測(cè)試性。功能代碼設(shè)計(jì)、開發(fā)時(shí)應(yīng)該具有較強(qiáng)的可測(cè)試性。其實(shí)遵循比
較好的設(shè)計(jì)原則的代碼都具備較好的測(cè)試性。比如比較高的內(nèi)聚性,盡量依賴
于接口等。
(7)及時(shí)重構(gòu)。無論是功能代碼還是測(cè)試代碼,對(duì)結(jié)構(gòu)不合理,重復(fù)的代碼等
情況,在測(cè)試通過后,及時(shí)進(jìn)行重構(gòu)。
(8)小步前進(jìn)。軟件開發(fā)是個(gè)復(fù)雜性非常高的工作,開發(fā)過程中要考慮很多東
西,包括代碼的正確任、可擴(kuò)展性、性能等等,很多問題都是因?yàn)閺?fù)雜性太大尋日
致的。極限編程提出】個(gè)非常好的思路就是小步前進(jìn)。把所有的規(guī)模大、復(fù)雜
性高的工作,分解成小的任務(wù)來兀對(duì)于一人類來說,一個(gè)功能一個(gè)功能的完
成,如果太困難就再分解。每個(gè)功能的完成就走測(cè)試代碼一功能代碼一測(cè)試一重
構(gòu)的循環(huán)。通過分解降低整個(gè)系統(tǒng)開發(fā)的復(fù)雜性。這樣的效果非常明顯。幾個(gè)小
的功能代碼完成后,大的功能代碼幾乎是不用調(diào)試就可以通過。一個(gè)個(gè)類方法的
實(shí)現(xiàn),很快就看到整個(gè)類很快就完成啦。本來感覺很多特性需要增加,很快就會(huì)
看到?jīng)]有兒人啦。你甚至?xí)檫@個(gè)速度感到震驚。(我理解,是大幅度減少調(diào)
試、出錯(cuò)的時(shí)間產(chǎn)生的這種速度感)
1.測(cè)試驅(qū)動(dòng)開發(fā)介紹
?6.測(cè)試范圍、粒度
對(duì)哪些功能進(jìn)行測(cè)試?會(huì)不會(huì)太繁瑣?什么時(shí)候可以停止測(cè)試?這些問題比較常見。按大
師KentBenk的話,對(duì)那些你認(rèn)為應(yīng)該測(cè)試的代碼進(jìn)行測(cè)試。就是說,要相信自己的感覺,;
O感到疲勞就應(yīng)該停下來休息
一下。囑贏梭嚕鰥僵髓點(diǎn)測(cè)試。
測(cè)試驅(qū)動(dòng)開發(fā)強(qiáng)調(diào)測(cè)試并不應(yīng)該是負(fù)擔(dān),而應(yīng)該是幫助我們減輕工作量的方法。而對(duì)于何
時(shí)停止編寫測(cè)試用例,也是應(yīng)該根烤你的經(jīng)驗(yàn),功能復(fù)雜、核心功能的代碼就應(yīng)該編寫更
全面、細(xì)致的測(cè)試用例,否則測(cè)試流程即可。
測(cè)試范圍沒有靜查的標(biāo)準(zhǔn),同時(shí)也應(yīng)該可以隨著時(shí)間改變。對(duì)于開始沒有編寫足夠的測(cè)試
的功能代碼,朗著bug的出現(xiàn),根據(jù)bug補(bǔ)齊相關(guān)的測(cè)試用例即可。
小步前進(jìn)的原則,要求我們對(duì)大的功能塊測(cè)試時(shí),應(yīng)該先分拆成更小的功能塊進(jìn)行測(cè)試,
比如一個(gè)類A使用了類B、C,就應(yīng)該編寫到A使用B、C功能的測(cè)試代碼前,完成對(duì)B、C
的測(cè)試和開發(fā)。那么是不是每個(gè)小類或者小函數(shù)都應(yīng)該測(cè)試哪?我認(rèn)為沒有必要。你應(yīng)該
運(yùn)用你的經(jīng)物驗(yàn),,對(duì)那些可能出問題的地方重點(diǎn)測(cè)試,感覺不可能出問題的地方就等它真正
出問題的時(shí)族再補(bǔ)測(cè)試吧。
1.測(cè)試驅(qū)動(dòng)開發(fā)介紹
。7.怎么編寫測(cè)試用例
Y測(cè)試用例的編寫就用上了傳統(tǒng)的測(cè)試技術(shù)。
9操作過程盡量模擬正常使用的過程。
力全面的測(cè)試用例應(yīng)該盡量做到分支覆蓋,核心代碼盡量做到路徑覆蓋。
9測(cè)試數(shù)據(jù)盡量包括:真實(shí)數(shù)據(jù)、邊界數(shù)據(jù)。
9測(cè)試語句和測(cè)試數(shù)據(jù)應(yīng)該盡量簡(jiǎn)單,容易理解。
力為了避免對(duì)其他代碼過多的依賴,可以實(shí)現(xiàn)簡(jiǎn)單的樁函數(shù)或樁類(Mock
Object)。
《如果內(nèi)部狀態(tài)非常復(fù)雜或者應(yīng)該判斷流程而不是狀態(tài),可以通過記錄日志字
符串的方式進(jìn)行驗(yàn)證。
2.單元測(cè)試
?1.概述
i單元測(cè)試的目標(biāo):確保模塊被正確地編碼。
力由誰去做:通常由開發(fā)人員執(zhí)行。
《怎樣去測(cè)試:功能測(cè)試可以用黑盒測(cè)試方法,代碼
測(cè)試可用白盒測(cè)試方法。
小什么時(shí)候停止:當(dāng)開發(fā)人員感到代碼沒有缺陷時(shí)。
2.單元測(cè)試
2.單元測(cè)試的重要性
《一個(gè)盡責(zé)的單元測(cè)試方法將會(huì)在產(chǎn)品開發(fā)的某個(gè)階段發(fā)現(xiàn)很多的Bug,
并且修改它們的成本也很低。
&系統(tǒng)開發(fā)的后期階段,Bug的檢測(cè)和修改將會(huì)變得更加困難,并要消
耗大量的時(shí)間和開發(fā)費(fèi)用。
力無論什么時(shí)候做出修改都要進(jìn)行完整的回歸測(cè)試,在生命周期中盡
早的對(duì)產(chǎn)品代碼進(jìn)行測(cè)試將是效率和質(zhì)量得到最好的保證。
力在提供了經(jīng)過單元測(cè)試的情況下,系統(tǒng)集成過程將會(huì)大大的簡(jiǎn)化。
開發(fā)人員可以將精力集中在單元之間的交互作用和全局的功能實(shí)現(xiàn)
上,而不會(huì)陷入充滿很多Bug的單元之中不能自拔。
力使測(cè)試工作的效率發(fā)揮到最大化的關(guān)鍵在于選擇正確的測(cè)試策略,
這包含了完全的單元測(cè)試的概念,以及對(duì)測(cè)試過程的良好的管理,
還有適當(dāng)?shù)氖褂煤霉ぞ邅碇С譁y(cè)試過程。
2.單元測(cè)試
3.為什么要進(jìn)行單元測(cè)試
(1)單元測(cè)試是不是太浪費(fèi)時(shí)間了?
不經(jīng)過單元測(cè)試,直接進(jìn)入集成測(cè)試,系統(tǒng)正常工作的可能性非常低,大量的時(shí)
間被花費(fèi)在跟蹤那些簡(jiǎn)單的BugI:,會(huì)導(dǎo)致集成為一個(gè)系統(tǒng)時(shí)增加額外的工期。
』編寫完整計(jì)劃的單元測(cè)試和編寫實(shí)際的代碼所花費(fèi)的精力大致相同。但是,一旦
完成了這些單元測(cè)試工作,很多Bug將被糾正,在確信他們手頭擁有穩(wěn)定可靠的
加件的情況下,開發(fā)人員能夠進(jìn)行更高效的系統(tǒng)集成工作,這才是真正意義上的
進(jìn)步。
位調(diào)試人員的不受控和散漫的工作方式只會(huì)花費(fèi)更多的時(shí)間而取得很少的好處。
(2)單元測(cè)試僅僅是為了證明這些代碼作了什么嗎?
』這是那些沒有首先為每個(gè)單元編寫一個(gè)詳細(xì)設(shè)計(jì)文檔而直接跳到編碼階段的開發(fā)
人員提出的一條普遍的抱怨。這樣的測(cè)試完全基于已經(jīng)寫好的代碼,這無法證明
任何事情。?
工單元測(cè)試基于詳細(xì)設(shè)計(jì)文檔,這樣的測(cè)試可以找到更多的代碼錯(cuò)誤,甚至是詳細(xì)]
設(shè)土的錯(cuò)誤。
4因此,高質(zhì)量的單元測(cè)試需要高質(zhì)量的詳細(xì)設(shè)計(jì)文檔。
2.單元測(cè)試
(3)我是一個(gè)很棒的程序員,是不是可以不進(jìn)行單元測(cè)試呢?
工每個(gè)人都可能犯錯(cuò)誤。
4真正的完整的系統(tǒng)往往是非常復(fù)雜的,不能寄希望于沒有進(jìn)行廣泛
的測(cè)試和Bug修改過程就可以正常工作。
(4)有集成測(cè)試就夠了,集成測(cè)試將會(huì)抓住所有的Bug。
工系統(tǒng)規(guī)模愈來愈大,復(fù)雜度愈來愈高,沒有單元測(cè)試,開發(fā)人員很
可能會(huì)花費(fèi)大量的時(shí)間僅僅是為了使該系統(tǒng)能夠運(yùn)行。
4任何實(shí)際的測(cè)試方案都無法執(zhí)行。
工在系統(tǒng)集成階段,對(duì)單元功能全面測(cè)試的負(fù)載程度遠(yuǎn)遠(yuǎn)的超過獨(dú)立
進(jìn)行的單元測(cè)試過程。
工最后的結(jié)果是測(cè)試將無法達(dá)到它所應(yīng)該有的全面性,一些缺陷將被
遺漏,棄且很多Bug蔣斌忽略過去。
2.單元測(cè)試
(5)單元測(cè)試的成本效率不高?
無論什么時(shí)候做出修改都要進(jìn)行完整的回
歸測(cè)試。
在生命周期中盡早的對(duì)產(chǎn)品進(jìn)行測(cè)試將使
越早測(cè)試付出代價(jià)就越低
效率和質(zhì)量得到最好的保證
Bug修改越晚,費(fèi)用就越高,單元測(cè)試是
一個(gè)在早期抓住Bug的機(jī)會(huì)。
成本
相比后階段的測(cè)試,單元測(cè)試的創(chuàng)建更簡(jiǎn)
單,維護(hù)更容易,并且可以更方便的進(jìn)行
重復(fù)。開發(fā)部署
從全程的測(cè)試費(fèi)用來考慮,相比復(fù)雜且曠階段需求設(shè)計(jì)編照單元測(cè)試驗(yàn)收測(cè)試交付后維護(hù)
日持久的集成測(cè)試,或是不穩(wěn)定的系統(tǒng),到正費(fèi)/p>
單元測(cè)試所需的費(fèi)用是最低的。
2.單元測(cè)試
?4.單元測(cè)試的策略
。單元測(cè)試最核心的并不是工具的使用,而是測(cè)試的策略和方法。工具也
好,實(shí)現(xiàn)手段也好,只是開展單元測(cè)試的必需品。
。以下是單元測(cè)試常采用的策略:
。1)哪些是重點(diǎn)模塊?
2)哪些程序是最復(fù)雜、最容易出錯(cuò)的?
。3)哪些程序是相對(duì)獨(dú)立,應(yīng)當(dāng)提前測(cè)試的?
。4)哪些程序最容易擴(kuò)散錯(cuò)誤?
。5)哪些程序是開發(fā)者最沒有信心的?
。6)80?20原則:80%的缺陷聚集在20%的模塊中,經(jīng)常出錯(cuò)的模塊改錯(cuò)
后還會(huì)經(jīng)常出錯(cuò),這種應(yīng)該列入測(cè)試重點(diǎn)。
2,單元測(cè)試
?5.測(cè)試用例的設(shè)計(jì)
?:?單元測(cè)試的核心是測(cè)試用例的設(shè)計(jì),測(cè)試用例的核心是測(cè)試
數(shù)據(jù)的設(shè)計(jì)。
。測(cè)試用例的設(shè)計(jì)主要從兩方面考慮:
。(1)功能。我們?yōu)榱蓑?yàn)證一個(gè)函數(shù)是否實(shí)現(xiàn)了它的功能,
通常采用黑盒測(cè)試的方法。常用的方法有邊界值、等價(jià)類、
因果圖,關(guān)于黑盒測(cè)試方法的詳細(xì)介紹,參見《測(cè)試用例設(shè)
計(jì)白皮書.doc》。
(2)邏輯結(jié)構(gòu)。通常采用白盒測(cè)試的方法。常用的方法有
判定覆蓋、條件覆蓋、條件判定組合覆蓋,關(guān)于白盒測(cè)試的
方法的詳細(xì)喬紹,參見《白盒測(cè)試方法.pdf》。
2,單元測(cè)試
*6,TDD與單元測(cè)試的區(qū)別
TDD是一種設(shè)計(jì)手段,而不僅僅是測(cè)試手段。
TDD的原則是“只做必要的事,不做多余的
事”。TDD其實(shí)并不是單純強(qiáng)調(diào)測(cè)試,它首
先是需求分析和設(shè)計(jì)技術(shù)。
3.測(cè)試工具
?1.概述
。為了完成測(cè)試驅(qū)動(dòng)開發(fā)以及單元測(cè)試,我們
需要相應(yīng)的工具。
?針對(duì)C++的單元測(cè)試工具是CppUnit
針對(duì)c#的單元測(cè)試工具是NUnit
3.測(cè)試工具
?2.NUnit介紹
。NUM是一個(gè)單元測(cè)試框架,專門針對(duì)于.NET來寫的.其實(shí)在前面有
JUEt(Java),CPPUEt(C++),他們者B是xllnit的一員.最初,它是從JUMt而來.
現(xiàn)在的版本是248.
NUn4最初是由JamesW.Newkirk,AlexeiA.Vorontsov和PhilipA.
Craig,后來開發(fā)團(tuán)隊(duì)逐漸龐大起來.在并發(fā)過程中,KentBeck和Erich
Gamma2位牛人也提供了許多幫助.看來對(duì)于NUnit還真是下了一番力氣
T.J
。NUM是xUM家族種的第4個(gè)主打產(chǎn)品,完全由C#語言來編寫,并且編寫時(shí)
充分利用了許多.NET的特性,比如反射,客戶屬性等等.
。最重要的一點(diǎn)是它適合于所有.NET語言.
如果你還沒有下載,可以到/去下載.
3.測(cè)試工具
?3.NUnit的安裝
免費(fèi),開源的單元測(cè)試軟件。
安裝只要運(yùn)行安裝程序,按所有缺省設(shè)置即可。
NUNIT:www.nunit.org
NUNITADDIN:
http://sourceforge.net/projects/mmitaddin/
VisualStudio2005的一個(gè)用來集成Nunit單元測(cè)試工具的插
件。
NUNIT的中文文檔:/nun巾index.html
3.測(cè)試工具
?4.如何在項(xiàng)目中應(yīng)用NUnit
參見《NUnit2.0詳細(xì)使用方法.doc》第8頁
3.測(cè)試工具
5.NUn讓的常用屬性
(1)TestFixture
(2)Test
(3)SetUp/TearDown
(4)TestFixtureSetUp/TestFixtureTearDown
(5)ExpectedException
(6)Ignore
(7)Category
(8)Explicit
(9)ExpectedException
(1)至(2)參見《NUrdt2.0詳細(xì)使用方法.doc》第5頁
(3)至(8)參加《NUnit2.0詳細(xì)使用方法.doc》第13頁
3.測(cè)試工具
6.NUrdt的各種斷言
斷言用于幫助你確定某個(gè)被測(cè)試函蒙是否工作正常,通常一個(gè)測(cè)試方法中會(huì)有多個(gè)斷言,
當(dāng)一個(gè)斷言失敗時(shí),該測(cè)試方法就會(huì)終止。Assert類下面有如下幾個(gè)斷言函數(shù):
(1)AreEquals(expected,actual[,stringmessage])
Expected是被測(cè)試代碼的期望值,actual是被測(cè)試代碼的實(shí)際值,message是一個(gè)可選的消息,
在二個(gè)值不一
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《倉(cāng)庫(kù)現(xiàn)場(chǎng)管理》課件
- 《倉(cāng)庫(kù)庫(kù)存管理系統(tǒng)》課件
- 《小學(xué)細(xì)節(jié)描寫》課件
- 單位管理制度集粹選集員工管理篇
- 單位管理制度合并匯編【職員管理】
- 四川省南充市重點(diǎn)高中2024-2025學(xué)年高三上學(xué)期12月月考地理試卷含答案
- 單位管理制度分享合集職員管理篇十篇
- 單位管理制度范文大合集【人事管理】十篇
- 單位管理制度呈現(xiàn)大全職工管理篇十篇
- 《運(yùn)算律》教案(20篇)
- 產(chǎn)品經(jīng)理必備BP模板(中文版)
- 維西縣城市生活垃圾熱解處理工程環(huán)評(píng)報(bào)告
- GB/T 9128.2-2023鋼制管法蘭用金屬環(huán)墊第2部分:Class系列
- 網(wǎng)絡(luò)經(jīng)濟(jì)學(xué)PPT完整全套教學(xué)課件
- 2023年主治醫(yī)師(中級(jí))-臨床醫(yī)學(xué)檢驗(yàn)學(xué)(中級(jí))代碼:352考試參考題庫(kù)附帶答案
- 機(jī)械原理課程設(shè)計(jì)鎖梁自動(dòng)成型機(jī)床切削機(jī)構(gòu)
- 順產(chǎn)臨床路徑
- 人教版培智一年級(jí)上生活適應(yīng)教案
- 推動(dòng)架機(jī)械加工工序卡片
- RoHS檢測(cè)報(bào)告完整版
- 中國(guó)近現(xiàn)代史綱要(上海建橋?qū)W院)智慧樹知到答案章節(jié)測(cè)試2023年
評(píng)論
0/150
提交評(píng)論