軟件性能測(cè)試過程詳解與案例剖析

出版時(shí)間:2012-6  出版社:清華大學(xué)出版社  作者:段念  頁(yè)數(shù):412  字?jǐn)?shù):470000  
Tag標(biāo)簽:無  

前言

  大多數(shù)測(cè)試工程師對(duì)“性能測(cè)試”這個(gè)名詞并不陌生,即使沒有真正參與過性能測(cè)試項(xiàng)目,在各個(gè)論壇或網(wǎng)站上也經(jīng)常見到這個(gè)名詞。然而,究竟什么是軟件性能?軟件性能測(cè)試究竟該如何開展?軟件性能測(cè)試到底測(cè)試了些什么?這些問題恐怕就不是每個(gè)測(cè)試工程師都能清楚地回答出來的了?! ∑鋵?shí),在日常工作中,每個(gè)測(cè)試工程師基本上都會(huì)遇到和軟件性能、軟件性能測(cè)試相關(guān)的內(nèi)容?;叵胍幌挛覀兘佑|到的用戶需求,經(jīng)常會(huì)有類似如下的描述:“要求某某系統(tǒng)對(duì)用戶的操作能快速反應(yīng)”、“要求某某系統(tǒng)能夠在大量用戶同時(shí)使用時(shí)保持穩(wěn)定運(yùn)行”等。實(shí)際上,這些就是用戶對(duì)軟件系統(tǒng)提出的樸素的性能要求,雖然這些性能要求不是那么顯而易見的,在實(shí)際的測(cè)試中也可能會(huì)被忽略,但無論如何,這些描述至少說明了性能要求其實(shí)是大部分用戶對(duì)軟件系統(tǒng)的一個(gè)基本要求?! ≡陂_始真正描述軟件性能測(cè)試之前,先來回顧一下對(duì)軟件性能認(rèn)識(shí)的歷程。如果從世界上第一臺(tái)計(jì)算機(jī)誕生開始算起,軟件的存在已經(jīng)有相當(dāng)時(shí)間的歷史了(以軟件行業(yè)的時(shí)間概念來說),在以前的DOS時(shí)代,甚至是Windows 95時(shí)代,好像很少聽到對(duì)軟件性能的抱怨,但為什么在近幾年,對(duì)軟件性能的關(guān)注突然變得強(qiáng)烈起來了呢?這種變化究竟是什么原因造成的呢?  在DOS和Windows 95時(shí)代,我們接觸到的大量應(yīng)用都是單機(jī)應(yīng)用,對(duì)這些應(yīng)用,其實(shí)也存在性能方面的要求(想想看,是不是曾經(jīng)因?yàn)槟硞€(gè)游戲運(yùn)行不流暢、單擊了IDE工具的“編譯”命令后需要等待10分鐘甚至更長(zhǎng)而抱怨自己的機(jī)器?)。但對(duì)這類單機(jī)應(yīng)用來說,程序運(yùn)行的速度基本上只與運(yùn)行程序的主機(jī)有關(guān),因此,只需要更換運(yùn)行程序的設(shè)備就能很好地解決這個(gè)問題。所以,雖然用戶會(huì)覺得程序運(yùn)行速度慢,但由此引起的抱怨一般都會(huì)直接針對(duì)計(jì)算機(jī)設(shè)備和資金不足,而不會(huì)瞄準(zhǔn)運(yùn)行慢的軟件。而近幾年來,隨著軟件系統(tǒng)規(guī)模和復(fù)雜程度的增加,我們接觸到的系統(tǒng)(如OA系統(tǒng)、信息管理系統(tǒng)等)都變得越來越強(qiáng)大。在結(jié)構(gòu)上,這些系統(tǒng)大多采用C/S或B/S架構(gòu),采用多種分布式應(yīng)用技術(shù),具有幾百、幾千甚至上萬的用戶數(shù)量。由于其采用的是C/S或B/S架構(gòu),大量的運(yùn)算和處理都被集中到服務(wù)端來實(shí)現(xiàn),這種變化使得軟件系統(tǒng)的性能影響因素變得龐雜,很難通過更換設(shè)備來解決。這時(shí),采用類似單機(jī)時(shí)代的“更換更好的設(shè)備”的方法,無論從經(jīng)濟(jì)性還是可實(shí)現(xiàn)性的角度來考慮,都完全不能滿足需要,對(duì)性能的關(guān)注才越來越多地集中在應(yīng)用系統(tǒng)本身,而不僅僅是運(yùn)行系統(tǒng)的設(shè)備上。  對(duì)應(yīng)用系統(tǒng)本身性能的關(guān)注和軟件性能的復(fù)雜性催生了專門的“性能測(cè)試工程師”職位,據(jù)統(tǒng)計(jì),性能測(cè)試工程師的工資水平遠(yuǎn)遠(yuǎn)超過了一般的測(cè)試工程師,然而到目前為止,在從業(yè)人員數(shù)量和質(zhì)量上來看,國(guó)內(nèi)性能測(cè)試人才的缺口還是非常大的,尤其是真正能夠承擔(dān)大型系統(tǒng)性能測(cè)試工作的工程師更加稀少?! ≤浖阅芎蛙浖阅軠y(cè)試的復(fù)雜性是顯而易見的。首先,一個(gè)軟件系統(tǒng)性能表現(xiàn)的相關(guān)因素非常多,網(wǎng)絡(luò)環(huán)境、數(shù)據(jù)庫(kù)服務(wù)器、應(yīng)用服務(wù)器、業(yè)務(wù)邏輯的實(shí)現(xiàn)方式、系統(tǒng)采用的架構(gòu)、代碼優(yōu)化的程度、使用者的使用方式等都會(huì)對(duì)系統(tǒng)的性能表現(xiàn)造成影響,在這種情況下開展性能測(cè)試,殊為不易。  本書是一本專門描述軟件性能測(cè)試的書,對(duì)沒有太多性能測(cè)試經(jīng)驗(yàn)的讀者來說,本書的作者力圖使它成為一本手冊(cè)或是實(shí)踐指南;對(duì)于已經(jīng)進(jìn)行過一些性能測(cè)試的,具有一定的性能測(cè)試經(jīng)驗(yàn)的讀者來書,本書也希望能夠?yàn)槠涮峁┮欢ǖ膯l(fā)。本書的作者結(jié)合自己在性能測(cè)試方面的經(jīng)驗(yàn),對(duì)軟件性能測(cè)試的概念、性能測(cè)試的組織等進(jìn)行了闡述;同時(shí),通過貫穿全書的大量精心選擇的實(shí)例描述,作者期望本書為每一位讀者帶來性能測(cè)試的體會(huì)和體驗(yàn)。  本書的組織結(jié)構(gòu)  本書圍繞基礎(chǔ)、案例、工具三個(gè)方面組織,給出了軟件測(cè)試的基礎(chǔ)知識(shí),介紹了軟件性能測(cè)試過程,提供了通用的軟件測(cè)試過程模型(PTGM),給出了敏捷軟件測(cè)試模型(ATPM)。隨后,本書盡可能具體地展示了一些有價(jià)值的實(shí)例,在實(shí)例中展示了如何系統(tǒng)地開展性能測(cè)試。此外,考慮到Web前端性能已經(jīng)是一個(gè)非常熱門的性能方向,本書專門設(shè)置了一章描述Web前段性能測(cè)試和調(diào)優(yōu)?! 「髡聝?nèi)容介紹  “基礎(chǔ)篇”包括第1章~第6章?! 〉?章首先介紹軟件性能測(cè)試相關(guān)的一些基本概念,重點(diǎn)闡述不同視角的軟件性能,對(duì)并發(fā)用戶數(shù)、響應(yīng)時(shí)間、吞吐量等軟件性能測(cè)試中的常見術(shù)語(yǔ)進(jìn)行詳細(xì)解釋和討論,并對(duì)軟件性能測(cè)試中經(jīng)常使用的一些方法進(jìn)行簡(jiǎn)要的描述?! 〉?章介紹軟件性能測(cè)試應(yīng)用領(lǐng)域的概念,將軟件性能測(cè)試的應(yīng)用范圍劃分為能力驗(yàn)證、規(guī)劃能力、性能調(diào)優(yōu)、缺陷發(fā)現(xiàn)以及性能基準(zhǔn)比較5個(gè)應(yīng)用領(lǐng)域。領(lǐng)域的概念使性能測(cè)試工程師可以更好地明確性能測(cè)試項(xiàng)目的目標(biāo),確定合適的性能測(cè)試方法?! 〉?章和第4章分別討論性能計(jì)數(shù)器和性能測(cè)試工具的原理。在第3章中,重點(diǎn)討論操作系統(tǒng)、應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)系統(tǒng)常用的性能計(jì)數(shù)器,并給出利用性能計(jì)數(shù)器進(jìn)行性能分析的方法;在第4章中,以典型的系統(tǒng)級(jí)性能測(cè)試工具LoadRunner為例,展示了服務(wù)端性能測(cè)試工具的原理,并簡(jiǎn)要介紹了前端性能測(cè)試工具的原理?! 〉?章是本書的重點(diǎn)章節(jié),該章引入了通用的性能測(cè)試過程模型(PTGM)和結(jié)合了敏捷思想的模型(ATPM),詳細(xì)描述了PTGM模型的各個(gè)階段及每個(gè)階段的活動(dòng),并介紹了ATPM模型中的檢查表、活動(dòng)與工具。該章的內(nèi)容可以作為性能測(cè)試項(xiàng)目的有效參考,幫助讀者全面了解如何規(guī)劃和執(zhí)行一個(gè)性能測(cè)試項(xiàng)目?! 〉?章是本書第二版中新增加的章節(jié),該章描述了Web前端性能的主要原理、性能評(píng)估方法以及主要的前端性能工具,對(duì)前端性能進(jìn)行了細(xì)致的探討和較為深入的分析?! ?ldquo;實(shí)踐篇”包括第7章~第10章?! 〉?章~第10章圍繞4個(gè)具體的項(xiàng)目展開,每個(gè)項(xiàng)目的描述方式都嚴(yán)格遵循第5章的PTGM模型步驟和活動(dòng),另外,在每個(gè)案例的描述中,針對(duì)案例本身的特點(diǎn),還同時(shí)介紹了許多在性能測(cè)試中可用的技巧(如時(shí)間戳的技巧、處理驗(yàn)證碼的方法、sessionID的概念等)?! ?ldquo;工具篇”包括第11章~第13章。  “工具篇”給出了一些非常有價(jià)值的工具資料,考慮到讀者具有不同的技能基礎(chǔ),第11章面向沒有性能測(cè)試工具使用經(jīng)驗(yàn)的讀者,給出了一份簡(jiǎn)潔但全面的LoadRunner快速入門手冊(cè);第12章則針對(duì)較為熟悉LoadRunner的用戶,在第11章的基礎(chǔ)上給出了LoadRunner的高級(jí)使用技巧描述;對(duì)于更愿意采用開源解決方案的用戶,第13章給出了JMeter工具的使用描述,包括基礎(chǔ)和進(jìn)階操作。已經(jīng)有一定性能測(cè)試基礎(chǔ)的讀者應(yīng)該可以通過本章很快建立對(duì)JMeter的應(yīng)用認(rèn)識(shí),達(dá)到熟練使用JMeter工具的目的?! ?ldquo;附錄”則包含了其他一些實(shí)用資料。附錄A給出了一些性能測(cè)試過程中可能使用到的有價(jià)值的腳本和數(shù)據(jù)處理技巧;附錄B則給出了性能測(cè)試過程中使用的模板。  閱讀建議  “基礎(chǔ)篇”是自成體系的一個(gè)整體,建議讀者按照該篇的組織方式順序閱讀。無論讀者是有經(jīng)驗(yàn)的性能測(cè)試工程師還是對(duì)性能測(cè)試不甚了解的測(cè)試工程師,建議都要仔細(xì)閱讀本篇的內(nèi)容,這樣才能為準(zhǔn)確理解本書的其他內(nèi)容奠定良好的基礎(chǔ)。特別要提到的是第5章,由于該章的內(nèi)容是案例描述部分的基礎(chǔ),因此希望讀者可以仔細(xì)領(lǐng)會(huì)該章的內(nèi)容,再對(duì)照案例描述進(jìn)行體會(huì),方能有最大的收獲?! ?ldquo;實(shí)踐篇”介紹了4個(gè)各具特色的案例,其中案例1是一個(gè)相對(duì)概略的案例,重點(diǎn)展示性能測(cè)試的過程;案例2則側(cè)重于性能測(cè)試的分析和設(shè)計(jì),展示了一個(gè)完全沒有使用商業(yè)測(cè)試工具進(jìn)行測(cè)試的大型性能測(cè)試案例;案例3結(jié)合LoadRunner的使用進(jìn)行了詳細(xì)的性能測(cè)試描述;案例4則展示了如何通過性能測(cè)試達(dá)成選型的目的。本篇的4個(gè)案例各自獨(dú)立,讀者可以按照編排的順序進(jìn)行閱讀,也可任意選擇感興趣的案例進(jìn)行閱讀?! ?ldquo;工具篇”包含了目前性能測(cè)試領(lǐng)域應(yīng)用最廣泛的商業(yè)工具LoadRunner和開源工具JMeter,讀者可以根據(jù)自己的需要選擇學(xué)習(xí)。對(duì)于希望快速上手的讀者,LoadRunner工具的學(xué)習(xí)曲線更平緩,但對(duì)于希望獲得一款可以很方便地進(jìn)行定制和控制的開源測(cè)試工具的讀者,JMeter可能更適合要求。  “附錄”的內(nèi)容可以作為讀者的參考手冊(cè),本篇提供的性能測(cè)試模板和用于性能測(cè)試的腳本可以直接或是稍加修改后在讀者的項(xiàng)目中發(fā)揮作用。  讀者對(duì)象  本書是為對(duì)性能測(cè)試感興趣的測(cè)試工程師、測(cè)試經(jīng)理,或希望了解性能測(cè)試的技術(shù)人員準(zhǔn)備的,特別適合以下讀者?! ∠M私廛浖阅軠y(cè)試的具體方法和過程的測(cè)試工程師?! ∠M麑ふ乙环N能夠立即用于指導(dǎo)性能測(cè)試的過程方法的測(cè)試經(jīng)理?! ∫延幸欢ǖ男阅軠y(cè)試經(jīng)驗(yàn),但希望驗(yàn)證自己工作方法正確性的測(cè)試工程師或測(cè)試經(jīng)理。  希望從別人的經(jīng)驗(yàn)中學(xué)習(xí)的性能測(cè)試工程師。  希望全面了解性能測(cè)試的其他人員?! ”緯髡摺 ”緯髡吣壳熬吐氂跇吩赜螒蚬?,任該公司的技術(shù)副總裁一職,曾在Google中國(guó)有近4年的測(cè)試團(tuán)隊(duì)管理經(jīng)驗(yàn)。樂元素游戲是一家以social game的開發(fā)和發(fā)布為主業(yè)的互聯(lián)網(wǎng)公司,目前是facebook上最大的亞洲游戲開發(fā)商。作者本人有過多個(gè)行業(yè)的經(jīng)驗(yàn),目前的興趣在于互聯(lián)網(wǎng)技術(shù)、高效率的軟件開發(fā)、敏捷開發(fā)、各種測(cè)試技術(shù)以及軟件領(lǐng)域的新技術(shù)。  參考資料  在寫作過程中,參考了不少前人的成果和已有的測(cè)試書籍,具體的參考信息請(qǐng)參見書后的參考文獻(xiàn)。另外,書中給出的腳本、模板等信息,以及本書的勘誤和更新信息都可以從本書的網(wǎng)站上直接獲得,讀者可以訪問網(wǎng)站下載習(xí)題集、部分腳本和其他資料?! ≈轮x  軟件性能測(cè)試并不是一個(gè)簡(jiǎn)單的課題,其內(nèi)容貫穿軟件開發(fā)、軟件測(cè)試和軟件系統(tǒng)知識(shí)等領(lǐng)域,并且,軟件性能測(cè)試的技術(shù)也會(huì)隨著軟件架構(gòu)、軟件開發(fā)的變化而不斷發(fā)展,任何人甚至是任何團(tuán)體都很難寫出一本能夠完全涵蓋軟件性能測(cè)試的書籍。本書的很多內(nèi)容都建立在前人的研究成果的基礎(chǔ)上,因此,在本書完成之際,對(duì)那些為本書提供了基礎(chǔ)的前人表示衷心的感謝,沒有這些研究成果,就不會(huì)有本書的出現(xiàn)?! 懽鞅緯馁M(fèi)的時(shí)間和精力超出想象,在本書出版之際,感謝所有為本書的寫作提供幫助的人員:為本書提供寶貴建議的相識(shí)或不相識(shí)的朋友們;慷慨地花費(fèi)個(gè)人時(shí)間閱讀本書初稿并給出意見的朋友和同事;持續(xù)追問我進(jìn)度,讓我不敢偷懶的讀者們…… 另外,我的學(xué)員們也在課程期間為我提供了不少寶貴的經(jīng)驗(yàn)和教訓(xùn),所有這些經(jīng)驗(yàn)和教訓(xùn)都為本書增色不少?! ∏迦A大學(xué)出版社的鐘志芳編輯是我最希望感謝的人,她出色的編輯經(jīng)驗(yàn)、她的耐心和寬容是本書得以完成和出版的重要原因?! ∽詈蟮钪匾氖?,真誠(chéng)地感謝我的家人。在本書的寫作過程中,我的妻子周小莉和兒子段楫舟給了我巨大的支持。雖然他們并不理解軟件測(cè)試,但一直對(duì)我所從事工作的意義深信不疑。六歲的兒子等待我完成這件“有意義的事情”的耐心讓我感激不已。  段  念 

內(nèi)容概要

  本書不僅僅是一本講述軟件性能測(cè)試基礎(chǔ)知識(shí)的書,也不是一本工具的使用手冊(cè),當(dāng)然更不是一本入門類的書籍。本書面向具有一定測(cè)試基礎(chǔ),期望能夠通過實(shí)際案例去感受和領(lǐng)悟性能測(cè)試的測(cè)試工程師。書中包含了作者多年在性能測(cè)試方面的經(jīng)驗(yàn)總結(jié),其中精選的案例覆蓋多種架構(gòu)和平臺(tái),涉及多個(gè)行業(yè),可對(duì)實(shí)際工作起到直接的指導(dǎo)作用,同時(shí),本書包含了所有會(huì)在性能測(cè)試中使用的模板,稍加修改即可應(yīng)用在實(shí)際項(xiàng)目中。
  本書可以作為軟件測(cè)試人員、軟件項(xiàng)目經(jīng)理和需要了解軟件性能測(cè)試的各級(jí)軟件管理人員的參考手冊(cè),也可作為高校軟件性能測(cè)試課程的輔助教材。

作者簡(jiǎn)介

  本書作者段念現(xiàn)就職于樂元素游戲(http://www.happyelements.cn),任技術(shù)副總裁一職,曾在華為、Google中國(guó)等大型的企業(yè)任職,有多年的軟件測(cè)試經(jīng)驗(yàn),目前的興趣在于互聯(lián)網(wǎng)技術(shù)、高效率的軟件開發(fā)、敏捷開發(fā)、各種測(cè)試技術(shù)以及軟件領(lǐng)域的新技術(shù)?! ∽髡呔哂胸S富的項(xiàng)目經(jīng)驗(yàn),管理過不同類型公司的大型項(xiàng)目的功能、性能測(cè)試,并為包括阿里巴巴、淘寶、方正、亞信等幾十家企業(yè)提供過軟件功能、性能、自動(dòng)化測(cè)試方面的培訓(xùn)和咨詢。

書籍目錄

第一部分 基礎(chǔ)篇
第1章 軟件性能測(cè)試的基本概念
1.1 什么是軟件性能
1.1.1 用戶視角的軟件性能
1.1.2 管理員視角的軟件性能
1.1.3 開發(fā)視角的軟件性能
1.1.4 Web前端性能
1.1.5 總結(jié)
1.2 軟件性能的幾個(gè)主要術(shù)語(yǔ)
1.2.1 響應(yīng)時(shí)間
1.2.2 并發(fā)用戶數(shù)
1.2.3 吞吐量
1.2.4 性能計(jì)數(shù)器
1.2.5 思考時(shí)間
1.3 軟件性能測(cè)試方法論
1.3.1 SEI負(fù)載測(cè)試計(jì)劃過程
1.3.2 RBI方法
1.3.3 性能下降曲線分析法
1.3.4 LoadRunner的性能測(cè)試過程
1.3.5 Segue提供的性能測(cè)試過程
1.3.6 敏捷性能測(cè)試
1.3.7 本書提供的性能測(cè)試模型
1.4 本章小結(jié)
第2章 性能測(cè)試的應(yīng)用領(lǐng)域
2.1 性能測(cè)試的方法
2.1.1 驗(yàn)收性能測(cè)試
2.1.2 負(fù)載測(cè)試
2.1.3 壓力測(cè)試
2.1.4 配置測(cè)試
2.1.5 并發(fā)測(cè)試
2.1.6 可靠性測(cè)試
2.1.7 失效恢復(fù)測(cè)試
2.2 性能測(cè)試應(yīng)用領(lǐng)域分析
2.2.1 能力驗(yàn)證
2.2.2 規(guī)劃能力
2.2.3 性能調(diào)優(yōu)
2.2.4 缺陷發(fā)現(xiàn)
2.2.5 性能基準(zhǔn)比較
2.2.6 總結(jié)
2.3 本章小結(jié)
第3章 性能計(jì)數(shù)器及性能分析方法
3.1 操作系統(tǒng)計(jì)數(shù)器及分析
3.1.1 Windows操作系統(tǒng)的主要計(jì)數(shù)器
3.1.2 UNIXLinux操作系統(tǒng)的主要計(jì)數(shù)器
3.1.3 內(nèi)存分析方法
3.1.4 處理器分析方法
3.1.5 磁盤IO分析方法
3.1.6 進(jìn)程分析方法
3.1.7 網(wǎng)絡(luò)分析方法
3.2 應(yīng)用服務(wù)器計(jì)數(shù)器
3.2.1 IIS應(yīng)用服務(wù)器計(jì)數(shù)器
3.2.2 J2EE應(yīng)用服務(wù)器計(jì)數(shù)器
3.3 數(shù)據(jù)庫(kù)服務(wù)器計(jì)數(shù)器
3.4 本章小結(jié)
第4章 性能測(cè)試工具原理
4.1 服務(wù)端性能測(cè)試工具架構(gòu)
4.2 前端性能測(cè)試工具原理
4.3 選擇服務(wù)端性能測(cè)試腳本使用的協(xié)議
4.4 性能測(cè)試工具的選擇與評(píng)估
4.4.1 創(chuàng)建和購(gòu)買的選擇
4.4.2 測(cè)試工具的評(píng)估和選擇過程
4.5 本章小結(jié)
第5章 性能測(cè)試的組織
5.1 性能測(cè)試團(tuán)隊(duì)的人員構(gòu)成
5.2 性能測(cè)試過程模型(PTGM)
5.2.1 測(cè)試前期準(zhǔn)備階段
5.2.2 測(cè)試工具引入階段
5.2.3 測(cè)試計(jì)劃階段
5.2.4 測(cè)試設(shè)計(jì)與開發(fā)階段
5.2.5 測(cè)試執(zhí)行與管理
5.2.6 測(cè)試分析
5.3 敏捷性能測(cè)試模型(APTM)
5.3.1 APTM的檢查表
5.3.2 APTM中的活動(dòng)
5.3.3 環(huán)境與工具
5.4 本章小結(jié)
第6章 Web前端性能
6.1 前端性能示例
6.2 HTTP概要
6.2.1 HTTP協(xié)議結(jié)構(gòu)
6.2.2 典型的HTTP請(qǐng)求與響應(yīng)分析
6.2.3 與前端性能相關(guān)的頭信息
6.3 瀏覽器打開URL的方式
6.3.1 連接到URL所在服務(wù)器
6.3.2 獲取頁(yè)面對(duì)應(yīng)的HTML文檔
6.3.3 解析文檔并獲取所需要的資源
6.3.4 頁(yè)面上的JS文件與CSS文件
6.3.5 onload事件
6.4 提高前端性能的方法
6.4.1 減少網(wǎng)絡(luò)時(shí)間
6.4.2 減少發(fā)送的請(qǐng)求數(shù)量
6.4.3 提高瀏覽器下載的并發(fā)度
6.4.4 讓頁(yè)面盡早開始顯示
6.4.5 其他
6.5 單機(jī)前端性能工具
6.5.1 Firebug工具
6.5.2 HttpWatch工具
6.5.3 Chrome自帶的開發(fā)工具
6.5.4 Page Speed工具
6.5.5 DynaTrace AJAX Edition工具
6.5.6 單機(jī)前端性能測(cè)試工具小結(jié)
6.6 監(jiān)控用戶體驗(yàn)到的前端性能
6.6.1 在頁(yè)面上增加計(jì)時(shí)點(diǎn)
6.6.2 使用JavaScript庫(kù)簡(jiǎn)化計(jì)時(shí)點(diǎn)工作
6.6.3 將計(jì)時(shí)信息發(fā)送給服務(wù)器
6.7 本章小結(jié)
第二部分 實(shí)踐篇
第7章 案例1 某制造型企業(yè)信息化項(xiàng)目的性能測(cè)試
7.1 項(xiàng)目背景
7.2 項(xiàng)目特點(diǎn)
7.3 性能測(cè)試過程
7.3.1 測(cè)試前期準(zhǔn)備
7.3.2 測(cè)試工具引入
7.3.3 測(cè)試計(jì)劃
7.3.4 測(cè)試設(shè)計(jì)與開發(fā)
7.3.5 測(cè)試執(zhí)行與管理
7.3.6 測(cè)試分析
7.4 案例小結(jié)
第8章 案例2 某省電信公司業(yè)務(wù)系統(tǒng)的性能測(cè)試
8.1 項(xiàng)目背景
8.2 項(xiàng)目特點(diǎn)
8.3 性能測(cè)試過程
8.3.1 測(cè)試前期準(zhǔn)備
8.3.2 測(cè)試工具引入
8.3.3 測(cè)試計(jì)劃
8.3.4 測(cè)試設(shè)計(jì)與開發(fā)
8.3.5 測(cè)試執(zhí)行與管理
8.3.6 測(cè)試分析
8.4 案例小結(jié)
第9章 案例3 某通信企業(yè)Web業(yè)務(wù)系統(tǒng)的性能測(cè)試
9.1 項(xiàng)目背景
9.2 項(xiàng)目特點(diǎn)
9.3 性能測(cè)試過程
9.3.1 測(cè)試前期準(zhǔn)備
9.3.2 測(cè)試工具引入
9.3.3 測(cè)試計(jì)劃
9.3.4 測(cè)試設(shè)計(jì)與開發(fā)
9.3.5 測(cè)試執(zhí)行與管理
9.3.6 測(cè)試分析
9.4 案例小結(jié)
第10章 案例4 某集成商的性能選型測(cè)試
10.1 項(xiàng)目背景
10.2 項(xiàng)目特點(diǎn)
10.3 性能測(cè)試過程
10.3.1 測(cè)試前期準(zhǔn)備
10.3.2 測(cè)試工具引入
10.3.3 測(cè)試計(jì)劃
10.3.4 測(cè)試設(shè)計(jì)與開發(fā)
10.3.5 測(cè)試執(zhí)行與管理
10.3.6 測(cè)試分析
10.4 案例小結(jié)
第三部分 工具篇
第11章 LoadRunner快速入門手冊(cè)
11.1 LoadRunner的性能測(cè)試流程
11.2 LoadRunner腳本開發(fā)
11.2.1 基本錄制
11.2.2 修正測(cè)試腳本
11.2.3 Run-Time Setting
11.2.4 單機(jī)運(yùn)行測(cè)試腳本
11.3 Tools(工具)菜單
11.4 LoadRunner 場(chǎng)景設(shè)置
11.4.1 Manual Scenario
11.4.2 Manual Scenario with Percentage
Mode
11.4.3 Goal-Oriented Scenario
11.4.4 啟用IP Spoofer(IP 欺騙)
11.5 LoadRunner場(chǎng)景監(jiān)視設(shè)置
11.5.1 Windows Resources
11.5.2 IIS 服務(wù)器
11.5.3 UNIXLinux Resources
11.5.4 WebLogic Server
11.5.5 Apache Server
11.5.6 數(shù)據(jù)庫(kù)服務(wù)器
11.6 LoadRunner的Analysis應(yīng)用
11.6.1 基本操作
11.6.2 圖表的歸并(Merge)操作
11.6.3 圖表的自動(dòng)關(guān)聯(lián)(Auto Correlate)操作
11.6.4 性能測(cè)試結(jié)果比較
第12章 LoadRunner高級(jí)使用技巧
12.1 參數(shù)化技巧
12.1.1 LoadRunner的參數(shù)化操作
12.1.2 不同類型的參數(shù)
12.2 關(guān)聯(lián)技巧
12.2.1 LoadRunner中的主要關(guān)聯(lián)函數(shù)
12.2.2 LoadRunner的自動(dòng)關(guān)聯(lián)操作
12.2.3 LoadRunner的手工關(guān)聯(lián)操作
12.3 調(diào)試技巧
12.3.1 斷點(diǎn)
12.3.2 單步跟蹤
12.3.3 Log輸出
12.3.4 使用對(duì)話框輸出
12.3.5 以TreeView模式查看返回?cái)?shù)據(jù)
12.4 其他技巧
12.4.1 設(shè)置域登錄的用戶名和口令
12.4.2 檢查返回?cái)?shù)據(jù)的正確性
12.4.3 調(diào)用外部函數(shù)
第13章 JMeter應(yīng)用手冊(cè)
13.1 JMeter入門
13.1.1 JMeter基礎(chǔ)概念
13.1.2 建立第一個(gè)簡(jiǎn)單的JMeter Test Plan
13.2 用JMeter測(cè)試一個(gè)進(jìn)銷存應(yīng)用
13.2.1 被測(cè)應(yīng)用介紹
13.2.2 錄制測(cè)試計(jì)劃
13.2.3 調(diào)試Test Plan
13.2.4 關(guān)聯(lián)Test Plan中的Sampler
13.2.5 參數(shù)化Test Plan
13.2.6 HTTP屬性管理器
13.2.7 為Test Plan增加邏輯控制
13.2.8 使用Timer讓Test Plan更準(zhǔn)確地模擬用戶行為
13.3 擴(kuò)展JMeter
13.3.1 使用BeanShell類組件
13.3.2 基于Java Request
Sampler定制Sampler的行為
13.4 JMeter的分布式測(cè)試功能
附錄A 部分有價(jià)值的腳本和數(shù)據(jù)處理技巧
A.1 在UNIX平臺(tái)上寫日志的Perl腳本
A.2 在UNIX平臺(tái)上記錄單個(gè)進(jìn)程內(nèi)存使用的Perl腳本
A.3 用于模擬發(fā)送數(shù)據(jù)的Socket進(jìn)程 (Perl適用于UNIX和Windows平臺(tái))
A.3.1 用于實(shí)現(xiàn)Socket監(jiān)聽和發(fā)送的主代碼
A.3.2 用于發(fā)送數(shù)據(jù)的代碼
A.4 用Excel處理規(guī)則的記錄數(shù)據(jù)
附錄B 性能測(cè)試過程中使用的模板
B.1 性能測(cè)試團(tuán)隊(duì)成員職責(zé)技能描述表
B.2 性能測(cè)試工具需求規(guī)劃表
B.3 性能測(cè)試環(huán)境調(diào)查表
B.4 典型業(yè)務(wù)列表
B.5 業(yè)務(wù)用例描述
B.6 場(chǎng)景列表
B.7 測(cè)試計(jì)劃
B.8 測(cè)試環(huán)境檢查表(CheckList)
B.9 測(cè)試執(zhí)行記錄日志
B.10 性能測(cè)試分析報(bào)告
參考文獻(xiàn)

章節(jié)摘錄

版權(quán)頁(yè):   插圖:   書后參考文獻(xiàn)[3]同時(shí)還給出根據(jù)并發(fā)用戶數(shù)估算其他相關(guān)屬性的方法。例如,如果能夠知道平均每個(gè)用戶發(fā)出的請(qǐng)求數(shù)(假設(shè)為u),則系統(tǒng)的總的吞吐量就可估算為u?C。 當(dāng)然,書后參考文獻(xiàn)[3]給出的是一種可行的方法,但并不是唯一,甚至可以說不是最精確的方法,因?yàn)樵诠街腥匀恍枰浪闫骄脩魯?shù)和login session的長(zhǎng)度,而要精確估算這兩個(gè)值并不容易。另外,考慮到用戶的業(yè)務(wù)操作存在一定的時(shí)間集中性(也就是說,用戶對(duì)系統(tǒng)業(yè)務(wù)的訪問往往不是平均分布在整個(gè)考察時(shí)間段內(nèi),而是相對(duì)集中地分布在某幾個(gè)時(shí)間段內(nèi)),采用式(1—1)和式(1—2)進(jìn)行計(jì)算仍然存在一定的偏差。 基于書后參考文獻(xiàn)提供的方法,我們給出一些使用該公式的建議,遵循這些建議,可以更精確地計(jì)算得到并發(fā)用戶數(shù)。 (1)以更細(xì)的時(shí)間粒度進(jìn)行考察。例如,可以設(shè)定1個(gè)小時(shí)為考察時(shí)間的粒度,對(duì)一個(gè)典型的OA系統(tǒng),將一天的上班時(shí)間劃分為8個(gè)區(qū)間,這樣可以解決業(yè)務(wù)操作存在的時(shí)間集中性的問題。 (2)考慮典型的業(yè)務(wù)模式。不同的應(yīng)用有不同的業(yè)務(wù)模式,例如,一個(gè)內(nèi)部系統(tǒng)一般在上班后的30分鐘至1小時(shí)集中出現(xiàn)用戶的登錄;一個(gè)賬務(wù)系統(tǒng)在每月的結(jié)賬日前幾天比較繁忙;一個(gè)門戶網(wǎng)站在重大消息發(fā)布的前后會(huì)有訪問高峰;一個(gè)旅游網(wǎng)站在節(jié)假日前夕會(huì)有大量用戶的訪問……因此,在計(jì)算并發(fā)用戶數(shù)時(shí),可以結(jié)合應(yīng)用的業(yè)務(wù)模式,多考慮一些可能發(fā)生的場(chǎng)景,基于這些場(chǎng)景進(jìn)行估算。 除了書后參考文獻(xiàn)[3]介紹的方法之外,對(duì)于企業(yè)內(nèi)部使用的Web系統(tǒng)來說,一個(gè)更一般的(當(dāng)然精度更差)經(jīng)驗(yàn)公式是: C=n/10 (1—3) C^≈r?C (1—4) 也就是說,用每天訪問系統(tǒng)用戶數(shù)的10%作為平均并發(fā)用戶數(shù),并發(fā)用戶數(shù)的最大值由并發(fā)用戶數(shù)乘以調(diào)整因子r得到,r的取值一般為2~3。 式(1—3)和式(1—4)可以在要求不太嚴(yán)格的性能測(cè)試,或是只有很少數(shù)據(jù)支持分析的性能測(cè)試中使用。 前面曾提到了日志分析方法。

編輯推薦

《軟件性能測(cè)試過程詳解與案例剖析(第2版)》可以作為軟件測(cè)試人員、軟件項(xiàng)目經(jīng)理和需要了解軟件性能測(cè)試的各級(jí)軟件管理人員的參考手冊(cè),也可作為高校軟件性能測(cè)試課程的輔助教材。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    軟件性能測(cè)試過程詳解與案例剖析 PDF格式下載


用戶評(píng)論 (總計(jì)69條)

 
 

  •   這本書對(duì)性能測(cè)試領(lǐng)域的內(nèi)容解釋得很清楚,讀的時(shí)候感覺非常好。相比那些基本是工具使用手冊(cè)的書來說,這本書介紹了性能測(cè)試的概念、領(lǐng)域、組織性能測(cè)試的方法,對(duì)我這種從事實(shí)際性能測(cè)試工作的人來說非常有幫助。
  •   書不錯(cuò),值得一讀,了解了性能測(cè)試的過程
  •   主要新內(nèi)容:前端測(cè)試及Jmeter入門內(nèi)容。
  •   案例詳細(xì),可讀性強(qiáng)!
  •   這本所可以幫助大家在工程實(shí)踐上快速入門,挺不錯(cuò)的書籍,給10分
  •   有很多實(shí)例,內(nèi)容很好
  •   只懂工具是無法實(shí)踐的。
  •   挺好,很滿意,可以參考。下次買書還來這里,
  •   書很給力啊,不錯(cuò)?。?!
  •   書到了還沒細(xì)看先給好評(píng)
  •   書很好,不過還沒有時(shí)間細(xì)讀,送貨速度快。
  •   書很專業(yè),實(shí)用性很強(qiáng)
  •   比書店便宜,質(zhì)量好,稍有灰塵,聽說內(nèi)容不錯(cuò),還沒來得及看。
  •   我覺得寫得非常好,必須細(xì)細(xì)的領(lǐng)略其中的知識(shí)點(diǎn)
  •   還沒怎么看呢,學(xué)習(xí)來著
  •   拿回來看了一下,東西還是不錯(cuò),值得深入研究下
  •   拿到手之后,就讀了。。。只能說很好,很適合我;
  •   據(jù)說還不錯(cuò),我是看不懂啦
  •   把以前不懂的專有名詞概念詮釋的很清楚
  •   講得挺細(xì)的,才開始看
  •   買來看看。很不錯(cuò)。
  •   希望能使自己成長(zhǎng)
  •   挺好的,我剛干測(cè)試,挺給指導(dǎo)的,講的挺細(xì)
  •   挺好的 特別是前段知識(shí)的介紹 建議購(gòu)買
  •   書本很實(shí)用,不錯(cuò)
  •   還可以吧,總體滿意,就是封面有劃痕
  •   網(wǎng)上別人推薦的,才看了前面一部分,不過是本好書,值得看看。
  •   剛剛拿到書,紙質(zhì)一般,內(nèi)容大概看了下,比較淺,沒有陳能技2012寫的《性能測(cè)試診斷與調(diào)優(yōu)》深入。
  •   做軟件測(cè)試的話,可以借鑒下
  •   原理部分講得挺清楚。后面的案例部分還沒來得及看。
  •   書皮面上寫著贈(zèng)送案例腳本和習(xí)題集,我怎么沒有見到呢
  •   不單純是本講工具的書哦,值得看看
  •   物流很快,書的內(nèi)容還可以
  •   段老師的書值得一讀
  •   書紙張有點(diǎn)薄,不知道是不是正版
  •   剛看,需要繼續(xù)深入看
  •   紙張質(zhì)量不是很好,有些頁(yè)面的內(nèi)容顯示不怎么清晰。
  •   還好,理論部分讀完了
  •   老公買的,閱讀中……
  •   剛收到,還沒仔細(xì)看,大概翻閱一下感覺還不錯(cuò)。
  •   還在看,貌似還不錯(cuò)吧
  •   對(duì)于分析寫的很好
  •   這個(gè)只能作為導(dǎo)讀類的性能測(cè)試讀物,沒有深入,如果要專門學(xué)習(xí)的話不建議買這本
  •   這本書還行,適合入門級(jí)朋友看看
  •   內(nèi)容一般 不建議
  •   內(nèi)容還沒看,應(yīng)該是很有用的
  •   這本書總體來說在寫性能測(cè)試的書籍中相對(duì)是質(zhì)量比較不錯(cuò)的,市面上大部分性能測(cè)試書籍主要花了很大的篇幅介紹LoadRunner測(cè)試工具,但是性能測(cè)試并非只是一個(gè)LR工具而已,該書我個(gè)人覺得有以下幾個(gè)兩點(diǎn):1.書中較詳細(xì)的介紹了Web前端性能測(cè)試的方法,工具(這在同類介紹性能測(cè)試的書籍中較為少見)2.書中所列舉的4個(gè)項(xiàng)目,具有代表性,同時(shí)介紹得相對(duì)比較詳細(xì)此書還是值得推薦閱讀一下。
  •   這是一本關(guān)于軟件性能測(cè)試的書,剛看,還是有一些收獲?。?!
  •   書不錯(cuò),寫的比較通俗易懂,但是實(shí)例還是稍顯少了一點(diǎn)
  •   通過案例了解軟件測(cè)試,挺好
  •   有了陳霽老師、于涌老師的書,說實(shí)話,段念的書一般般。。概念比較多。。。
  •   書中校驗(yàn)網(wǎng)址沒有明確說明,不知道在哪里查看校驗(yàn)
  •   3月13號(hào)買的書,3月24號(hào)到的,我只想說 送貨太慢了。39.8元給50找回10元,2毛錢也是錢啊,都不自覺的找給我
  •   沒有案例腳本
  •   理論的東西太多書中的案例、工具感覺不是很實(shí)用前后書皮兒都被折過了 ?。。。。。。。。。。。。。。。。?!
  •   收到書了,內(nèi)容不錯(cuò),實(shí)戰(zhàn)演練的例子很好,不過遺憾的是書翻開第二頁(yè)就出現(xiàn)了開膠,整頁(yè)都快掉下來了,排版也不是很好,兩邊空白空間很大。。。
  •   和別人評(píng)價(jià)的一樣好!
  •   看了一少部分了,感覺還不錯(cuò),內(nèi)容也挺詳細(xì)的
  •   過程很詳細(xì) ,易懂。。。。
  •   我覺得這本書適合有一定的性能測(cè)試經(jīng)驗(yàn),但是還沒有固定的性能測(cè)試方法論來指導(dǎo)的性能測(cè)試工程師來看??戳诉@本書讓我明白了,我的工作現(xiàn)在處于什么情況,下一步我應(yīng)該怎么做,給我的工作做了指導(dǎo)。
  •   書是今天上午到的,到貨后馬上看了下,感覺不錯(cuò)!
  •   這本書很好,等了好久了,終于出來了
  •   書的內(nèi)容還行,很適合入門,紙張較差
  •   圖書滿200減30 公司購(gòu)買資料
  •   理論與案例并重
  •   幫別人買技術(shù)類書籍
  •   書很不錯(cuò),同事很喜歡.
  •   物流慢,書貌似是盜版
  •   不錯(cuò),提供了學(xué)習(xí)的思路
 

250萬本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7