




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件測試?yán)碚搯卧獪y試密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v1.為什么做單元測試為什么做單元測試v2.單元測試的概念和內(nèi)容單元測試的概念和內(nèi)容v3.如何做單元測試如何做單元測試v4.單元測試的難點和對策單元測試的難點和對策密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有 開發(fā)的模塊出現(xiàn)問題,很難定位,已經(jīng)開發(fā)的模塊出現(xiàn)問題,很難定位,已經(jīng)熬了幾個通宵了!熬了幾個通宵了!怎么辦? 剛改正了一個BUG,過沒幾天,又發(fā)現(xiàn)了新問題! 程序總在出問題,聯(lián)調(diào)了幾個月,還是問題不斷!密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有 高質(zhì)量的程序取決于以下幾
2、高質(zhì)量的程序取決于以下幾個方面:個方面: 1. 1. 高質(zhì)量的設(shè)計高質(zhì)量的設(shè)計 2. 2. 規(guī)范的編碼規(guī)范的編碼 3. 3. 有效的測試有效的測試密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有o我是程序員,除了編碼我還需我是程序員,除了編碼我還需做些什么?做些什么?密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有o 傳統(tǒng)的開發(fā)觀念?傳統(tǒng)的開發(fā)觀念?o 1.1.開發(fā)人員的任務(wù)是完成編程,讓系統(tǒng)正開發(fā)人員的任務(wù)是完成編程,讓系統(tǒng)正確運行起來。確運行起來。o 2.2.程序調(diào)試通過任務(wù)就完成了。程序調(diào)試通過任務(wù)就完成了。o 3.3.自信自己的程序不會出錯。自信自己的程序不
3、會出錯。實際:1.開發(fā)人員的任務(wù)是完成程序,直到交付和維護(hù)。2.人的失誤是不可避免的,無論多小心,都會有錯誤。密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有小插曲你以前做過程序開發(fā)工作么?你是怎樣自測的?效果如何?密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v編碼階段引入的缺陷遠(yuǎn)遠(yuǎn)多于其它階段v系統(tǒng)測試發(fā)現(xiàn)的缺陷大多數(shù)是編碼缺陷v測試版本頻繁,測試和項目進(jìn)度被無休止的拖延。 Why?密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v現(xiàn)狀:一個承擔(dān)多個角色的團(tuán)隊參與或部分參與高層設(shè)計;承擔(dān)低層設(shè)計;程序?qū)崿F(xiàn);承擔(dān)低層測試;設(shè)計設(shè)計編碼編碼測試測試密
4、級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v效果不好:為什么?v沒有時間測試v不知道怎樣測試v不好組織v缺乏方法和工具這種情況下,往往把單元測試的任務(wù)堆積到系統(tǒng)測試階段密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有如果把單元測試的任務(wù)堆積到系統(tǒng)測試階段,將會怎樣?v大量的故障堆積在項目中后期:項目后10%10%的工作,占用了項目90%90%的時間。v故障難以定位v故障飄忽不定v開發(fā)、測試人員疲于奔命密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v最高的成本收益比v減少聯(lián)調(diào)和后續(xù)測試的
5、時間vBUGBUG更容易定位v更有信心去修改老代碼密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v商業(yè)軟件單元測試工作量/ /總工作量= 8.3%= 8.3%編碼工作量/ /總工作量= 16.6%= 16.6%v軍工軟件單元測試工作量/ /總工作量= 10.1%= 10.1%編碼工作量/ /總工作量= 18.1%= 18.1%密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有單元測試(25%)審查評審(20%)設(shè)計(17%)編碼(14%)需求(7%)系統(tǒng)測試(4%)計劃和跟蹤(4%)發(fā)布后缺陷0.06 Defects/KLOC單元測試發(fā)現(xiàn)的缺陷密度:31 defec
6、ts/KLOC密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有1.1.為什么做單元測試2.2.單元測試的概念和內(nèi)容3.3.如何做單元測試4.4.單元測試的難點和對策密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v(IEEE)(IEEE)軟件單元指軟件設(shè)計說明中一個可獨立測試的元素,是程序中一個邏輯上獨立的部分,它不能再分解為其他軟件成分。v ( (實踐中) )軟件單元指軟件源代碼中單個的函數(shù),源文件或類。密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v單元測試,對單個的軟件單元或者一組相關(guān)的軟件單元所進(jìn)行的測試,是代碼級的測試。UnitUnit:函
7、數(shù),源代碼文件,類v把測試比作是清洗一臺機(jī)器:系統(tǒng)測試就是清除機(jī)器外面的塵土。集成測試就是保證機(jī)器各個部件的接頭處干凈。單元測試就是清洗各個零件的內(nèi)部。密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有應(yīng)用輸入潛在錯誤對象密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有測試一個類That is easy!密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有應(yīng)該盡早地進(jìn)行軟件單元測試。應(yīng)該保證單元測試的可重復(fù)性。盡可能地采用測試自動化的手段來支持單元測 試活動。密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有單元功能測試單元接口測試單元局部數(shù)據(jù)結(jié)
8、構(gòu)測試單元中重要的執(zhí)行路徑測試單元的各類錯誤處理路徑測試單元邊界條件測試密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有開發(fā)測試開發(fā)測試設(shè)計評審設(shè)計評審代碼走查代碼走查單元測試單元測試集成測試集成測試面向單元的白盒測試面向單元的白盒測試(單元覆蓋率測試)(單元覆蓋率測試)狹義的狹義的單元測試單元測試內(nèi)容內(nèi)容面向單元的黑盒測試面向單元的黑盒測試(單元功能測試)(單元功能測試)內(nèi)存和運行錯誤分析內(nèi)存和運行錯誤分析(內(nèi)存泄漏、(內(nèi)存泄漏、越界,異常)越界,異常)代碼運行性能代碼運行性能profile(函數(shù)效率和(函數(shù)效率和瓶頸分析)瓶頸分析)密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所
9、有中興通訊版權(quán)所有v單元測試可以是開發(fā)者本人執(zhí)行,也可以是獨立的專業(yè)測試人員執(zhí)行。v兩者各有優(yōu)勢。v建議開發(fā)人員必須完整地做單元測試,同時測試人員針對重點模塊實施獨立的單元測試。密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有1.為什么做單元測試2.單元測試的概念和內(nèi)容3.如何做單元測試4.單元測試的難點和對策密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有單元測試過程包括8個活動:v確定單元測試計劃v確定待測特性v制訂單元測試規(guī)程v設(shè)計測試套件v構(gòu)建測試套件v執(zhí)行測試套件v檢查終止條件v評估測試結(jié)果密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v
10、確定單元測試范圍盡可能爭取完全地覆蓋(原則上應(yīng)該做到完全覆蓋)參考:通常以下情況必須安排單元測試:a)新模塊b)新增代碼比例超過20c)核心模塊密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v 單元測試充分性要求例如:語句行覆蓋率=100%;分支覆蓋率85%測試覆蓋率要求是測試充分性的一個方面,除此之外,在單元測試中還應(yīng)考慮每個軟件特性的測試覆蓋,如函數(shù)性能。密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v 確定終止條件 確定單元測試過程的正常終止條件。該終止條件應(yīng)該包括了對測試充分性要求的滿足。(100%代碼行覆蓋,85%分支覆蓋)識別可能造成單元測試過程異常
11、終止的條件(如發(fā)現(xiàn)重大的設(shè)計錯誤、到達(dá)進(jìn)度期限等)。密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v確定單元測試資源估算進(jìn)行測試活動所需的資源。應(yīng)考慮測試人員、硬件、通信或系統(tǒng)軟件、測試工具和其它資源。識別需要進(jìn)行準(zhǔn)備或申請的資源(如定制的測試工具),并做出相應(yīng)的安排。v指明總體進(jìn)度計劃基于資源和項目計劃等方面的要求,確定單元測試活動的總體進(jìn)度計劃。密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v 研究待測特性要從研究單元的需求開始功能需求、非功能需求(如性能或設(shè)計約束等)、與待測單元相關(guān)的任何使用或操作過程v單元的狀態(tài)識別針對狀態(tài)機(jī)測試v單元的數(shù)據(jù)特性識別單元
12、的輸入輸出數(shù)據(jù)分析v以上研究分析對于制定單元測試方案和指導(dǎo)測試用例的設(shè)計很重要待測特性分析過程中還有可能發(fā)現(xiàn)單元需求上的缺陷。密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v 輸入單元測試計劃、待測特性分析結(jié)果、項目總體進(jìn)度計劃v識別可重用技術(shù)(待查)通過待測特性分析,可從用例庫中識別出可以重用的測試用例和測試規(guī)程,以減少重復(fù)工作。v資源詳細(xì)列舉單元測試所需資源,包括人員、設(shè)備、工具、環(huán)境等,v進(jìn)度計劃詳細(xì)的進(jìn)度計劃,包括風(fēng)險分析和應(yīng)對措施v規(guī)程評審密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v 測試套件測試用例、腳本、驅(qū)動、樁、測試數(shù)據(jù)v測試規(guī)程和測試用例的
13、開發(fā)目前測試規(guī)程和測試用例是合一的。開發(fā)過程中在重用的基礎(chǔ)上新增和修改。結(jié)合待測單元特性分析,充分考慮測試用例的覆蓋率。v測試工具的設(shè)計自研測試工具的設(shè)計要充分考慮可重用性,不同項目間通用性一般較小,統(tǒng)一項目不同版本間一定要具備通用性。v測試規(guī)程/用例的評審密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有單元測試設(shè)計中,測試數(shù)據(jù)的設(shè)計是很關(guān)鍵的,同樣的測試規(guī)程,不同的測試數(shù)據(jù),可能會達(dá)到不同的測試結(jié)果。a) a) 正常數(shù)據(jù):在測試中所用的正常數(shù)據(jù)的量是最大的,而且也是最關(guān)鍵的。少量的測試數(shù)據(jù)不能完全覆蓋需求,但我們要從中提取出一些具有高度代表性的數(shù)據(jù)作為測試數(shù)據(jù),以減少測試時間。
14、b) b) 邊緣數(shù)據(jù):邊緣測試是界于正常數(shù)據(jù)和錯誤數(shù)據(jù)之間的一種數(shù)據(jù)。它可以針對某一種編程語言、編程環(huán)境或特定的數(shù)據(jù)庫而專門設(shè)定。邊緣數(shù)據(jù)要靠測試人員的豐富經(jīng)驗來制定。c) c) 錯誤數(shù)據(jù):顯而易見,錯誤數(shù)據(jù)就是編寫與程序輸入規(guī)范不符的數(shù)據(jù)從而檢測輸入篩選、錯誤處理等程序的分支。密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v測試數(shù)據(jù)的準(zhǔn)備v測試工具的開發(fā)/ /調(diào)試v構(gòu)建測試環(huán)境密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v運行測試v確定測試結(jié)果,處理測試過程中的異常對每個測試用例,確定單元是否通過測試。對異常進(jìn)行分析,并根據(jù)情況處理:情況1:測試用例或測試數(shù)
15、據(jù)的問題。修正并重新運行。情況2:測試規(guī)程執(zhí)行的問題。重新運行。情況3:測試環(huán)境的問題。糾正測試環(huán)境并重新運行;或者異常終止測試,并匯報記錄異常終止原因。情況4:單元實現(xiàn)中的故障。糾正單元的故障,并運行所有的測試;或者異常終止測試,并匯報記錄異常終止原因。情況5:單元設(shè)計中的故障。糾正單元設(shè)計和實現(xiàn)中的故障,必要時修改測試設(shè)計和測試數(shù)據(jù),并重新運行所有的測試。密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v測試充分性檢查檢查是否達(dá)到覆蓋率要求,包括測試用例執(zhí)行/通過覆蓋率和被測單元代碼/分支覆蓋率。以及其它測試充分性要求。v異常終止條件檢查v補(bǔ)充測試套件以上條件不滿足時,則需要
16、補(bǔ)充測試套件,繼續(xù)進(jìn)行測試。密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v按照單元測試報告模塊出具單元測試報告v如有必要對單元測試報告進(jìn)行評審v將所有測試相關(guān)工作產(chǎn)品納入配置管理密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有1.為什么做單元測試2.單元測試的概念和內(nèi)容3.單元測試的方法、技術(shù)與工具4.如何做單元測試5.單元測試的難點和對策密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有v沒有時間做單元測試v單元測試責(zé)任人不清楚v測試代碼難以管理v覆蓋率難以手工統(tǒng)計v故障報告形式v驅(qū)動和樁編寫困難(可測試性)密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版
17、權(quán)所有中興通訊版權(quán)所有單元測試計劃在項目計劃應(yīng)該有體現(xiàn)。編寫代碼之前或同時,先設(shè)計測試用例。每個軟件單元應(yīng)該有什么功能?是否每個功能都有測試用例來驗證它?密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有 強(qiáng)調(diào)單元測試必須由類包的設(shè)計者負(fù)責(zé)編寫,因為只有這樣,測試才能保證對象的運行時態(tài)行為符合需求。 讓測試人員或第三方人員編寫測試用例,將花費更多的工作量。(20 120 1) 執(zhí)行測試用例可以讓測試人員或自動構(gòu)造系統(tǒng)。密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有 采用測試工具管理測試代碼如XUnitXUnit、C+TestC+Test、RTRTRTRT 配置管理中
18、建立配置項如,不同模塊的一組代碼,建立相應(yīng)測試代碼目錄和配置項密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有利用各種工具PureCoveragePureCoverage (C/C+/Java/.Net,Windows/UNIX) (C/C+/Java/.Net,Windows/UNIX)RTRT(C/C+/Java/AdaRTRT(C/C+/Java/Ada, ,嵌入式系統(tǒng)) )C+Test(C/C+,Windows/UNIX)C+Test(C/C+,Windows/UNIX)Discover(Delphi,Windows)Discover(Delphi,Windows)密級:
19、內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有各種工具一般都會生成測試報告XUnit XUnit 測試用例執(zhí)行報告RTRTRTRT、C+TestC+Test各種綜合報告(測試用例執(zhí)行結(jié)果、測試用例覆蓋率、內(nèi)存檢查和性能)密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有 通常情形下,測試驅(qū)動難以編寫,測試難以進(jìn)行由以下幾方面原因?qū)е拢? 1、被測試對象需要傳入的參數(shù)過多。2 2、內(nèi)部的邏輯判斷過多(內(nèi)部牽扯復(fù)雜)。3 3、和界面顯示部分交互過于頻繁(耦合性太強(qiáng))。4 4、被測對象過多的調(diào)用了其他類或方法。5 5、需要構(gòu)造的作為參數(shù)的對象本身過于復(fù)雜密級:內(nèi)部公開密級:內(nèi)部
20、公開 中興通訊版權(quán)所有中興通訊版權(quán)所有1 1、首先最重要的是堅持測試驅(qū)動設(shè)計(測試先于設(shè)計)的方法。優(yōu)先編寫測試代碼。這是標(biāo)準(zhǔn)的XP XP 方法。這不是說您應(yīng)該一次性編寫全部測試代碼后,再一次性全部實現(xiàn)。對一些單元接口,編寫一些測試代碼,實現(xiàn)它們,再編寫一些測試代碼,再實現(xiàn)它們等等是個更好的辦法。設(shè)計以這種方式得以進(jìn)展;在實現(xiàn)階段捕捉錯誤并在下一組測試中改正它。2 2、功能分解類:把功能分解到細(xì)粒度,提倡小類。方法:盡量做到每個操作對應(yīng)一個方法,使方法小型化。功能分解促進(jìn):提高重用性,降低耦合度3 3、分層原則。對于顯示部分(GUIGUI),盡量做到顯示與控制分離。把代碼移到GUI GUI 視
21、圖的外面。然后各種GUI GUI 動作就能成了模型上的簡單方法調(diào)用。這樣,對GUI GUI 測試者來說,通過方法調(diào)用測試功能比間接地測試功能容易的多。另一個好處是它使修改程序功能而不影響視圖變的更容易。密級:內(nèi)部公開密級:內(nèi)部公開 中興通訊版權(quán)所有中興通訊版權(quán)所有4、抽象我們可以想出各種各樣的辦法來降低耦合程度,但是歸納起來,不外乎增加抽象的層次來隔離不同的類,這個抽象層次可以是具體的類,也可以是接口。GOFGOF的2323種設(shè)計模式,沒有一種模式的思路不是從增加抽象層次入手來解決問題的5、對于可能要作為參數(shù)的復(fù)雜類,可以做一個接口,用接口說明外部程序組件使得我們可以容易地在測試案例中模擬這些組件。當(dāng)需要時可以實現(xiàn)按接口生成一個模擬類作為參數(shù)傳入。特別是當(dāng)該類還沒有完
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 承包貨運合同范本6
- 陶瓷材料項目可行性研究報告
- 文山倉儲貨架項目資金申請報告
- 中國數(shù)字家庭綜合服務(wù)及全業(yè)務(wù)套餐市場供需現(xiàn)狀及投資戰(zhàn)略研究報告
- 導(dǎo)電涂料項目安全評估報告
- 馬鈴薯淀粉生產(chǎn)建設(shè)項目可行性研究報告范文
- 2023-2029年中國在線教育平臺行業(yè)市場調(diào)查研究及發(fā)展戰(zhàn)略規(guī)劃報告
- 2025年黑管項目可行性研究報告
- 中國遮光斗項目投資可行性研究報告
- 6超微量分析天平大儀論證報告 - 浙江師范大學(xué)實驗室管理處
- 華為全屋智能試題
- 品牌策劃大賽獲獎案例范文
- 自媒體賬號合作運營協(xié)議
- 煙草專賣零售許可證新辦申請表
- 旅游學(xué)概論(郭勝 第五版) 課件 第5、6章 旅游業(yè)、旅游市場
- 安全隱患規(guī)范依據(jù)查詢手冊22大類12萬字
- (2024年)精美網(wǎng)絡(luò)安全講座
- 2023屆新高考英語語法填空分類強(qiáng)化100題 語法填空之現(xiàn)在分詞過去分詞100題(思維導(dǎo)圖+三年真題+模擬)
- JGJ79-2012 建筑地基處理技術(shù)規(guī)范
- 柱塞泵工作原理動畫演示
- 某電廠180m鋼筋混凝土煙囪施工方案
評論
0/150
提交評論