深入性能測試——LoadRunner性能測試、流程、監(jiān)控、調(diào)優(yōu)全程實(shí)戰(zhàn)剖析
-
【作 者】何月順 黃文高 編著
【I S B N 】978-7-5170-0994-8
【責(zé)任編輯】張玉玲
【適用讀者群】科技
【出版時(shí)間】2013-08-15
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】528
【千字?jǐn)?shù)】765
【印 張】33
【定 價(jià)】¥88
【叢 書】暫無分類
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書主要介紹如何使用LoadRunner進(jìn)行性能測試工作,主要包括四大部分:入門篇、提高篇、監(jiān)控篇和實(shí)戰(zhàn)篇。入門篇主要講述性能測試的基礎(chǔ)知識,對LoadRunner進(jìn)行簡單介紹,讓讀者從整體上了解LoadRunner。提高篇主要講述性能測試工具LoadRunner三大組件的使用技巧,以及測試過程中需要注意的細(xì)節(jié)。監(jiān)控篇主要講述在整個(gè)性能測試過程中應(yīng)該如何監(jiān)控系統(tǒng)資源、Web服務(wù)器和數(shù)據(jù)庫,以及常用的調(diào)優(yōu)技巧,并就性能測試的流程進(jìn)行詳細(xì)的介紹。實(shí)戰(zhàn)篇通過兩個(gè)案例:C/S架構(gòu)和B/S架構(gòu)來介紹性能測試的整個(gè)過程。
本書適合性能測試工程師、資深測試工程師、測試經(jīng)理、測試總監(jiān)使用。
熟練掌握性能測試工具LoadRunner
本書詳細(xì)講解了LoadRunner的使用,通過案例特別突出了關(guān)鍵知識點(diǎn)的講解(如關(guān)聯(lián)、參數(shù)化等)。
●深入理解與掌握監(jiān)控和調(diào)優(yōu)技術(shù)
有經(jīng)驗(yàn)的讀者也許更希望看到這部分內(nèi)容。本書系統(tǒng)且深入地介紹了監(jiān)控與調(diào)優(yōu)的方法和技巧,并包含了監(jiān)控與調(diào)優(yōu)的詳細(xì)步驟和講解。
●深入理解與掌握性能測試流程
很多做性能測試的朋友都會遇到這樣的問題:性能測試工具LoadRunner使用很熟練,但在實(shí)際的性能測試過程中,卻不知如何著手,理不清頭緒,這主要是因?yàn)閷π阅軠y試的流程不熟悉。本書深入詳細(xì)地介紹了性能測試的流程,可以幫助讀者更好地規(guī)范性能測試流程。
12306,你懂的
每逢過年過節(jié)大家訂票回家或出差旅游時(shí),鐵路12306訂票網(wǎng)站幾乎都會出現(xiàn)故障。很多人尤其是軟件開發(fā)人員都在想一個(gè)問題:12306訂票網(wǎng)的性能怎么就這么差呢?不錯(cuò),這是用戶對這個(gè)網(wǎng)站的直觀感受,這個(gè)性能表現(xiàn)的現(xiàn)象就是大家無法訂票,而官方給出的系統(tǒng)每日的點(diǎn)擊量超過14億,這相當(dāng)于全中國每個(gè)人都點(diǎn)擊了一次,如果單純從這個(gè)數(shù)據(jù)來看,似乎訂不了票不是12306網(wǎng)站的錯(cuò),而是訂票人太多的緣故,但仔細(xì)分析一下會發(fā)現(xiàn)這樣一個(gè)問題,雖然12306網(wǎng)站被頻繁地點(diǎn)擊,但是每當(dāng)?shù)卿浀娜撕芏鄷r(shí)都會出現(xiàn)這樣的提示:“當(dāng)前訪問用戶過多,請稍后重試!”,這就相當(dāng)于門外有很多人敲門,但屋子里的人一直不開門一樣,所以服務(wù)器根本就沒有承受那么大的壓力,又一次被忽悠了,其實(shí)市民的要求很簡單,直接把每天從12306網(wǎng)站訂出票的張數(shù)公布出來就可以,這可以直接反映出系統(tǒng)處理業(yè)務(wù)的能力,好理解又很簡單,不用費(fèi)腦子去思考“點(diǎn)擊量”是什么意思。
從12306網(wǎng)站事件不難看出,在現(xiàn)在的軟件質(zhì)量體系中軟件性能的重要性,而軟件的性能必須依賴性能測試來驗(yàn)證,所以性能測試在未來軟件測試體系中的地位顯然是越來越重要,也越來越受企業(yè)重視的。
性能測試學(xué)習(xí)過程中的典型誤區(qū)
在性能測試學(xué)習(xí)過程中最容易遇到以下兩個(gè)典型誤區(qū):
(1)學(xué)好LoadRunner就等于學(xué)好性能測試。
很多朋友認(rèn)為性能測試主要是學(xué)習(xí)性能測試工具,其實(shí)并不是這么回事,性能測試工具只能說是性能測試的一個(gè)組成部分,并不能與性能測試等同,其實(shí)隨著自身對性能測試的認(rèn)識,你會發(fā)現(xiàn)性能測試工具更多的是用于模擬客戶端產(chǎn)生壓力的工具,其在性能分析和調(diào)優(yōu)方面給出的數(shù)據(jù)支持相對來說較弱,所以僅僅靠性能測試工具是遠(yuǎn)遠(yuǎn)不夠的,還需要使用其他一些監(jiān)控和調(diào)優(yōu)工具,才能做好性能測試。此外,性能測試計(jì)劃也很重要,如果計(jì)劃不當(dāng),那么測試出來的性能數(shù)據(jù)就不準(zhǔn)確,所以性能測試不僅僅是工具,還有計(jì)劃、監(jiān)控和調(diào)優(yōu)。
(2)忽視性能測試過程。
對于一些有性能測試相關(guān)工作經(jīng)驗(yàn)的性能測試工程師來說,很多人花很多時(shí)間去學(xué)習(xí)性能調(diào)優(yōu),當(dāng)然這個(gè)并沒有什么錯(cuò),但是當(dāng)調(diào)優(yōu)的技能積累到一定程度后,又會發(fā)現(xiàn)自己在進(jìn)行性能測試時(shí)總是缺少了點(diǎn)什么,導(dǎo)致性能測試總是做得不理想,而這部分被“缺失”的內(nèi)容就是性能測試過程或者說是性能測試流程,這也可能是很多讀者比較容易忽視的一部分內(nèi)容。性能測試過程是進(jìn)行性能測試前的準(zhǔn)備階段,試想如果在進(jìn)行性能測試之前沒有一個(gè)好的性能測試方案來指導(dǎo)如何進(jìn)行性能測試,那么就將導(dǎo)致測試出來的性能數(shù)據(jù)是錯(cuò)誤的,而測試的數(shù)據(jù)都出現(xiàn)了錯(cuò)誤,那么調(diào)優(yōu)也就失去了意義。所以讀者不應(yīng)該忽視性能測試的過程,在學(xué)習(xí)性能測試過程中需要對性能測試的流程有一個(gè)很深刻的理解,這樣才能幫助我們做出正確的測試方案,特別是業(yè)務(wù)模型和場景模型的定義,這是性能測試過程中的重中之重,并且只有對性能測試的流程有了相當(dāng)程度的了解后,才能有序地梳理性能測試的過程,不至于讓整個(gè)性能測試團(tuán)隊(duì)的工作處于混亂狀態(tài)之中,才能更好地提高性能測試的效果。
關(guān)于本書
(1)本書解決讀者哪些學(xué)習(xí)問題。
讀者朋友買書都希望在書中學(xué)到一些可以使用的東西或筆者思考問題的方式,那么本書主要幫助讀者解決哪些問題呢?
通過對本書的學(xué)習(xí),可以熟練地使用性能測試工具LoadRunner。書中詳細(xì)介紹了LoadRunner的使用,特別突出了關(guān)鍵知識點(diǎn)(如關(guān)聯(lián)、參數(shù)化等)的介紹,并且使用很多案例來介紹這些知識點(diǎn)的使用,這樣可以更好地解決實(shí)際測試過程中的問題。
幫助讀者提高監(jiān)控和調(diào)優(yōu)的技能,對一些有經(jīng)驗(yàn)的朋友更希望看到該部分內(nèi)容,而本書系統(tǒng)且全面地介紹了這方面的內(nèi)容,并就其監(jiān)控和調(diào)優(yōu)的步驟進(jìn)行了詳細(xì)描述,這樣可以更好地幫助讀者掌握性能測試的技能。
熟悉性能測試流程,幫助讀者更好地規(guī)范性能測試流程。筆者在與做性能測試的朋友交流時(shí),發(fā)現(xiàn)很多朋友都會提及這樣一個(gè)問題:對性能測試工具LoadRunner使用得很熟練,在性能測試過程中會進(jìn)行監(jiān)控和調(diào)優(yōu),但感覺還是有點(diǎn)亂,有點(diǎn)沒有條理的感覺,其實(shí)很大的一個(gè)原因就是對性能測試的流程不熟悉,導(dǎo)致總是沒有一個(gè)規(guī)范的流程來指導(dǎo)如何進(jìn)行性能測試。本書詳細(xì)介紹了性能測試的流程,希望可以更好地幫助讀者規(guī)范性能測試過程。
(2)本書的4個(gè)特點(diǎn)。
結(jié)構(gòu)清晰,內(nèi)容安排由淺入深,對初學(xué)者來說可以很輕松地入門,并且在描述概念的過程時(shí)盡量使用生活中的案例,便于讀者對相關(guān)內(nèi)容的理解。書中還詳細(xì)描述了性能測試的流程、性能測試過程中如何監(jiān)控與調(diào)優(yōu)等,最大限度幫助那些有性能測試經(jīng)驗(yàn)的讀者朋友。本書包括四大部分:入門篇、提高篇、監(jiān)控篇和實(shí)戰(zhàn)篇,具體章節(jié)結(jié)構(gòu)如下圖所示。
一些更關(guān)注于提高、調(diào)優(yōu)方面的書籍并未對性能測試工具LoadRunner的使用進(jìn)行詳細(xì)描述,而本書詳細(xì)描述了性能測試工具LoadRunner的使用,并就使用過程中需要注意的問題進(jìn)行了詳細(xì)講解。
豐富了性能測試過程中監(jiān)控和調(diào)優(yōu)的內(nèi)容。本書主要從系統(tǒng)資源、Web服務(wù)器和數(shù)據(jù)庫3個(gè)方面介紹了性能測試過程中的監(jiān)控和調(diào)優(yōu)技術(shù),并將這幾個(gè)方面的內(nèi)容全面地展現(xiàn)出來,不僅僅是某個(gè)單方面的內(nèi)容。
詳細(xì)地介紹了性能測試的流程。在同類書中均未詳細(xì)介紹性能測試的流程,但性能測試流程是規(guī)范性能測試、提高性能測試效率的一個(gè)重要環(huán)節(jié),所以本書對這部分內(nèi)容進(jìn)行了詳細(xì)闡述。
學(xué)習(xí)是一個(gè)漫長的過程,并且必須每天堅(jiān)持,只有這樣才能讓自己不斷地進(jìn)步,而堅(jiān)持是一個(gè)很痛苦的過程,所以有句話是這樣說的:“成功必須要超越寂寞”。在學(xué)習(xí)過程中應(yīng)該學(xué)會思考、善于總結(jié),而不僅僅是看書,還要學(xué)會問為什么,筆者同樣希望讀者朋友在看此書的過程中將工作中的實(shí)踐情況與本書中描述的內(nèi)容相結(jié)合,將知識與工作經(jīng)驗(yàn)更好地結(jié)合起來,這樣才是我們真正需要的看書過程,希望讀者朋友在本書中學(xué)到一些工作中需要的知識,祝讀者朋友們學(xué)習(xí)愉快。
致謝
經(jīng)過一年的努力,書稿終于完成,在這里我感謝那些曾經(jīng)幫助、支持和鼓勵(lì)過我的朋友和家人。
由于筆者水平有限,書中出現(xiàn)錯(cuò)誤在所難免,歡迎廣大讀者批評指正。讀者在閱讀本書的過程中如有任何不清楚的問題和批評建議,可以發(fā)郵件到arivnhuang@163.com,作者將盡力給您答疑解惑。
最后,感謝您購買本書,希望您能在書中找到那些正在困擾著您的問題的答案,祝大家閱讀愉快。
黃文高
2013年5月
第一部分 入門篇
第1章 性能測試基礎(chǔ)知識 2
1.1 軟件性能概述 2
1.2 性能測試相關(guān)術(shù)語 4
1.2.1 響應(yīng)時(shí)間 4
1.2.2 并發(fā)用戶數(shù) 4
1.2.3 吞吐量 5
1.2.4 吞吐率 7
1.2.5 TPS 7
1.2.6 點(diǎn)擊率 7
1.2.7 資源利用率 7
1.2.8 性能計(jì)數(shù)器 7
1.2.9 思考時(shí)間 8
1.3 性能測試劃分 9
1.3.1 負(fù)載測試 9
1.3.2 壓力測試 9
1.3.3 配置測試 10
1.3.4 并發(fā)測試 10
1.3.5 可靠性測試 10
1.3.6 基準(zhǔn)測試 10
1.3.7 各類測試執(zhí)行階段 11
1.4 性能測試應(yīng)用領(lǐng)域 11
1.4.1 能力驗(yàn)證 11
1.4.2 規(guī)劃能力 12
1.4.3 性能調(diào)優(yōu) 12
1.4.4 缺陷發(fā)現(xiàn) 12
1.5 小結(jié) 13
第2章 LoadRunner基礎(chǔ)知識 14
2.1 LoadRunner簡介 14
2.2 LoadRunner工作原理 16
2.3 LoadRunner工作過程 17
2.4 LoadRunner內(nèi)部結(jié)構(gòu) 18
2.5 LoadRunner 11.0特性 20
2.6 LoadRunner性能測試步驟 21
2.7 小結(jié) 25
第3章 Vuser發(fā)生器 26
3.1 腳本錄制 26
3.1.1 如何選擇協(xié)議 27
3.1.2 開始錄制腳本 31
3.2 Recording Options設(shè)置 34
3.2.1 Recording選項(xiàng)卡 34
3.2.2 Advanced選項(xiàng)卡 43
3.2.3 Correlation選項(xiàng)卡 44
3.3 Run-Time Settings設(shè)置 44
3.3.1 Run Logic選項(xiàng)卡 45
3.3.2 Pacing選項(xiàng)卡 46
3.3.3 Think Time選項(xiàng)卡 47
3.3.4 Miscellaneous選項(xiàng)卡 49
3.3.5 Log選項(xiàng)卡 50
3.4 腳本完善 52
3.4.1 插入事務(wù) 52
3.4.2 插入集合點(diǎn) 57
3.4.3 插入注釋 57
3.5 小結(jié) 58
第4章 Controller控制器 59
4.1 場景類型介紹 59
4.1.1 手動測試場景 59
4.1.2 面向目標(biāo)測試場景 61
4.2 場景設(shè)計(jì) 62
4.2.1 手動場景Schedule配置 62
4.2.2 面向目標(biāo)場景Schedule配置 67
4.2.3 配置View Script 72
4.2.4 配置Load Generator 73
4.3 場景執(zhí)行 76
4.3.1 場景控制 76
4.3.2 場景執(zhí)行期間查看場景 80
4.4 場景監(jiān)視 85
4.4.1 關(guān)于聯(lián)機(jī)監(jiān)控 85
4.4.2 監(jiān)控器與度量 89
4.4.3 聯(lián)機(jī)監(jiān)視器 93
4.5 小結(jié) 96
第5章 Analysis分析器 97
5.1 Analysis簡介 97
5.1.1 Analysis基礎(chǔ)知識 97
5.1.2 設(shè)置選項(xiàng) 99
5.1.3 Analysis圖 103
5.2 摘要報(bào)告 105
5.2.1 概要部分 105
5.2.2 統(tǒng)計(jì)部分 106
5.2.3 事務(wù)統(tǒng)計(jì)部分 106
5.2.4 SLA 108
5.2.5 HTTP響應(yīng)統(tǒng)計(jì) 115
5.3 Analysis常見圖分析 118
5.3.1 Vuser圖 118
5.3.2 點(diǎn)擊率圖 119
5.3.3 平均事務(wù)響應(yīng)時(shí)間圖 120
5.3.4 吞吐量圖 121
5.4 Analysis報(bào)告 122
5.4.1 HTML報(bào)告 122
5.4.2 SLA報(bào)告 123
5.4.3 自定義報(bào)告 124
5.4.4 使用報(bào)告模板定義報(bào)告 126
5.5 小結(jié) 126
第二部分 提高篇
第6章 腳本編寫 128
6.1 檢查點(diǎn) 128
6.1.1 插入檢查點(diǎn)的原因 128
6.1.2 插入檢查點(diǎn) 132
6.1.3 檢查點(diǎn)函數(shù) 139
6.1.4 通過檢查點(diǎn)判斷事務(wù)結(jié)束狀態(tài) 141
6.2 Block(塊)技術(shù) 144
6.3 參數(shù)化技術(shù) 148
6.3.1 參數(shù)化的原因及條件 148
6.3.2 創(chuàng)建參數(shù) 149
6.3.3 參數(shù)類型屬性 151
6.3.4 數(shù)據(jù)文件 155
6.3.5 導(dǎo)入數(shù)據(jù) 161
6.4 關(guān)聯(lián)技術(shù) 165
6.4.1 關(guān)聯(lián)的原理 166
6.4.2 錄制中關(guān)聯(lián) 167
6.4.3 錄制后關(guān)聯(lián) 170
6.4.4 手動關(guān)聯(lián) 172
6.4.5 關(guān)聯(lián)函數(shù)介紹 176
6.4.6 關(guān)聯(lián)技術(shù)的經(jīng)典使用 182
6.4.7 關(guān)聯(lián)與參數(shù)化的區(qū)別 185
6.5 小結(jié) 186
第7章 場景設(shè)計(jì)實(shí)踐 187
7.1 集合點(diǎn) 187
7.1.1 集合點(diǎn)設(shè)置 187
7.1.2 集合點(diǎn)與事務(wù)的關(guān)系 190
7.2 IP欺騙技術(shù) 192
7.2.1 IP Spoofer設(shè)置 192
7.2.2 Controller中啟動IP Spoofer 195
7.3 負(fù)載均衡技術(shù) 197
7.4 RTS設(shè)置 200
7.5 執(zhí)行路徑轉(zhuǎn)換 200
7.5.1 路徑轉(zhuǎn)換介紹 200
7.5.2 編輯路徑轉(zhuǎn)換表 201
7.6 在LoadRunner中使用功能測試腳本 203
7.6.1 QuickTest創(chuàng)建GUI Vuser腳本 204
7.6.2 WinRunner創(chuàng)建GUI Vuser腳本 205
7.6.3 場景中使用GUI Vuser腳本 206
7.7 小結(jié) 207
第8章 結(jié)果分析實(shí)踐 208
8.1 分析圖合并 208
8.1.1 分析圖合并原理 208
8.1.2 實(shí)例講解 210
8.2 分析圖關(guān)聯(lián) 212
8.2.1 分析圖關(guān)聯(lián)原理 212
8.2.2 實(shí)例講解 214
8.3 頁面細(xì)分 216
8.3.1 頁面細(xì)分原理 216
8.3.2 實(shí)例講解 219
8.4 鉆取技術(shù) 221
8.4.1 鉆取技術(shù)原理 221
8.4.2 實(shí)例講解 222
8.5 導(dǎo)入外部數(shù)據(jù) 223
8.5.1 導(dǎo)入數(shù)據(jù)工具 223
8.5.2 自定義文件格式 226
8.6 使用HTTPWatch分析響應(yīng)時(shí)間 228
8.6.1 HTTP消息格式 228
8.6.2 Request Grid 230
8.6.3 Request View 231
8.6.4 Summary View 238
8.6.5 其他功能 239
8.7 小結(jié) 240
第三部分 監(jiān)控篇
第9章 操作系統(tǒng)性能監(jiān)控與調(diào)優(yōu) 242
9.1 Windows操作系統(tǒng)監(jiān)控 242
9.1.1 LoadRunner直接監(jiān)控 242
9.1.2 Windows性能工具監(jiān)控 243
9.1.3 Windows計(jì)數(shù)器 249
9.2 Linux/UNIX操作系統(tǒng)監(jiān)控 255
9.2.1 CPU監(jiān)控 255
9.2.2 內(nèi)存監(jiān)控 260
9.2.3 磁盤監(jiān)控 264
9.2.4 網(wǎng)絡(luò)監(jiān)控 269
9.3 nmon系統(tǒng)資源監(jiān)控工具 273
9.3.1 nmon工作流程 273
9.3.2 nmon命令 274
9.3.3 結(jié)果分析 283
9.4 小結(jié) 284
第10章 Web服務(wù)器監(jiān)控與調(diào)優(yōu) 285
10.1 Apache監(jiān)控 285
10.2 Apache調(diào)優(yōu) 291
10.2.1 硬件與操作系統(tǒng)方面 291
10.2.2 運(yùn)行時(shí)的配置 291
10.2.3 編譯時(shí)的配置 296
10.3 Tomcat監(jiān)控 301
10.3.1 Status頁監(jiān)控 302
10.3.2 JConsole監(jiān)控 304
10.4 Tomcat調(diào)優(yōu) 316
10.4.1 JVM調(diào)優(yōu) 316
10.4.2 Tomcat配置 323
10.4.3 連接器配置 326
10.4.4 APR配置 332
10.5 小結(jié) 336
第11章 MS SQL數(shù)據(jù)庫監(jiān)控與調(diào)優(yōu) 337
11.1 監(jiān)控SQL Server資源 337
11.1.1 瓶頸類型 337
11.1.2 內(nèi)存瓶頸 338
11.1.3 CPU瓶頸 340
11.1.4 磁盤瓶頸 341
11.1.5 Wait Statistics監(jiān)控 341
11.2 SQL Server等待類型 342
11.2.1 SQL等待類型 342
11.2.2 跟蹤等待 352
11.2.3 阻塞與鎖 354
11.3 SQL Profiler監(jiān)控查詢 359
11.3.1 SQL Trace相關(guān)術(shù)語 359
11.3.2 SQL Trace選項(xiàng) 363
11.3.3 捕獲阻塞事件 367
11.3.4 捕獲Showplan XML數(shù)據(jù) 369
11.3.5 捕獲死鎖圖 372
11.3.6 SQL Profiler識別長時(shí)間查詢 375
11.3.7 Profile Trace與System Monitor
關(guān)聯(lián) 380
11.4 索引調(diào)優(yōu) 382
11.4.1 索引原理 382
11.4.2 填充因子 383
11.4.3 聚集索引 384
11.4.4 非聚集索引 386
11.4.5 堆表 388
11.4.6 用DTA調(diào)校索引 389
11.4.7 索引維護(hù) 395
11.5 T-SQL調(diào)優(yōu) 399
11.5.1 NOT IN和NOT EXISTS 399
11.5.2 謂詞的使用 399
11.5.3 為中間結(jié)果使用臨時(shí)表 401
11.6 小結(jié) 402
第12章 特殊協(xié)議 403
12.1 Windows Sockets(WinSock)協(xié)議 403
12.1.1 Windows Sockets錄制選項(xiàng)設(shè)置 404
12.1.2 Windows Sockets錄制 405
12.1.3 Windows Sockets數(shù)據(jù)操作 409
12.1.4 關(guān)于LRS函數(shù) 413
12.2 郵件服務(wù)協(xié)議 418
12.2.1 郵件服務(wù)協(xié)議簡介 418
12.2.2 郵件服務(wù)協(xié)議錄制 420
12.2.3 腳本分析 426
12.2.4 關(guān)于SMTP和POP3函數(shù) 428
12.3 小結(jié) 430
第13章 性能測試過程 431
13.1 性能測試過程概述 431
13.2 性能測試設(shè)計(jì) 432
13.2.1 需求調(diào)研 432
13.2.2 業(yè)務(wù)模型 433
13.2.3 場景模型 435
13.2.4 數(shù)據(jù)設(shè)計(jì) 437
13.2.5 環(huán)境設(shè)計(jì) 438
13.3 性能測試構(gòu)建 439
13.3.1 腳本開發(fā) 440
13.3.2 場景設(shè)計(jì) 441
13.3.3 搭建測試環(huán)境 441
13.3.4 準(zhǔn)備數(shù)據(jù) 441
13.4 性能測試過程執(zhí)行 442
13.5 性能測試分析、診斷、調(diào)節(jié) 442
13.6 小結(jié) 443
- 生活經(jīng)管more>>
- 輸水管線工程風(fēng)險(xiǎn)管理
- 不息的水脈—大運(yùn)河講談錄
- 三峽梯級電站水資源決策支持系統(tǒng)研究與
- 海南黎族民俗文化鑒賞
- C++案例項(xiàng)目精講
- 信息系統(tǒng)項(xiàng)目管理師章節(jié)習(xí)題與考點(diǎn)特訓(xùn)
- 武術(shù)基礎(chǔ)教程
- 計(jì)算機(jī)網(wǎng)絡(luò)實(shí)訓(xùn)教程
- HCIA-Datacom認(rèn)證題庫分類精講
- SwiftUI完全開發(fā)
- 網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)師備考一本通
- 用英語介紹中國古今科技
- 農(nóng)村新型社區(qū)移民的社會適應(yīng)性問題研究
- 用英語介紹中國美食文化
- 用英語介紹中國名人
- 第四代系統(tǒng)論:全息系統(tǒng)論—全息系統(tǒng)的