上海機(jī)械網(wǎng)站建設(shè)網(wǎng)站如何推廣
看到好多新手,在性能需求模糊的情況下,隨便找一個(gè)性能測(cè)試工具,然后就開始進(jìn)行性能測(cè)試了,在這種情況下得到的性能測(cè)試結(jié)果很難體現(xiàn)系統(tǒng)真實(shí)的能力,或者可能與系統(tǒng)真實(shí)的性能相距甚遠(yuǎn)。
與功能測(cè)試相比,性能測(cè)試在技術(shù)層面具有更大的復(fù)雜性。在以往的測(cè)試流程中,性能測(cè)試只是測(cè)試流程的一部分,是系統(tǒng)或驗(yàn)收測(cè)試的一個(gè)可選項(xiàng)。但隨著測(cè)試技術(shù)的發(fā)展。許多公司也單獨(dú)把性能測(cè)試獨(dú)立出來,建立專門的性能測(cè)試小組或團(tuán)隊(duì)。那么性能測(cè)試在實(shí)施的過程中也需要建立獨(dú)立的流程與規(guī)范。
蟲師提出了自己性能測(cè)試流程,與其它書本提出的流程在些小不同。流程的實(shí)施沒有絕對(duì)的對(duì)錯(cuò),適合自身的流程就是正確。
下面看我所提到的流程
性能需求分析
性能需求分析是整個(gè)性能測(cè)試工作開展的基礎(chǔ),如果你連性能的需求都沒弄清楚,后面的性能測(cè)試工具就無從談起了。
在這一階段,性能測(cè)試人員需要與需求人員(客戶)、領(lǐng)導(dǎo)及項(xiàng)目相關(guān)的人員進(jìn)行溝通,同時(shí)收集各種項(xiàng)目資料,對(duì)系統(tǒng)進(jìn)行分析,確認(rèn)測(cè)試的意圖。當(dāng)然,還需要客戶對(duì)性能的態(tài)度。
測(cè)試需求分析階段的主要任務(wù)是確定測(cè)試策略和測(cè)試范圍。策略主要根據(jù)軟件類型以及用戶對(duì)系統(tǒng)的性能的需求來定,測(cè)試范圍則主要分析系統(tǒng)的功能模塊進(jìn)行調(diào)研與分析。最終確認(rèn)明確的需求。
性能測(cè)試計(jì)劃
???確定明確的需求之后,我們要做的工作就是制定性能測(cè)試計(jì)劃。對(duì)性能測(cè)試過程中所有需要工作制定與規(guī)劃。
測(cè)試計(jì)劃的大體內(nèi)容:
項(xiàng)目的簡(jiǎn)單背景描述,本次性能測(cè)試的需求與目的,性能需求分析的結(jié)果是什么。測(cè)試環(huán)境的準(zhǔn)備,需要什么樣的軟硬件配置,網(wǎng)絡(luò)狀況登錄。測(cè)試數(shù)據(jù)的準(zhǔn)備,對(duì)于某些性能測(cè)試是需要事先準(zhǔn)備測(cè)試數(shù)據(jù)的。
測(cè)試的策略,前面進(jìn)行需求分析的目的是制定測(cè)試策略,也就是設(shè)計(jì)符合需求的測(cè)試場(chǎng)景,需要對(duì)系統(tǒng)的哪些業(yè)務(wù)模塊進(jìn)行測(cè)試,如何進(jìn)行?需要設(shè)計(jì)哪些場(chǎng)景以及設(shè)計(jì)這些場(chǎng)景的目的。
最后會(huì)明確一下人員配備,比如需要開發(fā)、DBA、運(yùn)維都人員的參與協(xié)助,性能測(cè)試的時(shí)間安排。
測(cè)試環(huán)境搭建
測(cè)試環(huán)境搭建,分硬件環(huán)境與軟件環(huán)境,硬件環(huán)境主要是向上級(jí)審批硬件配備,在某些大型性能測(cè)試,可能需要公司購(gòu)置或租用硬件設(shè)備來進(jìn)行?;蛘呤菍碓性O(shè)置進(jìn)行調(diào)配與重組,這個(gè)時(shí)候就需要網(wǎng)絡(luò)工程師的參與或協(xié)助。
軟件環(huán)境的搭建對(duì)于開發(fā)人員來說應(yīng)該毫無壓力,比如常見的三大環(huán)境,微軟的windows?+?IIS+SQL?server?2005+.NET平臺(tái)、windows/linux+tomcat/weblogic+mysql+java?、linux+?apache+mysql+PHP?等環(huán)境。當(dāng)然身為性能測(cè)試人員,不僅也需要會(huì)搭建軟件平臺(tái),更需要對(duì)每個(gè)平臺(tái)中的部分有比較深入的了解。因?yàn)樾阅軠y(cè)試的分析并不是死盯著系統(tǒng)應(yīng)用那一層。中間件、數(shù)據(jù)庫(kù)、系統(tǒng)、硬件都有可能成為系統(tǒng)的瓶頸。
性能工具的引入
其實(shí)走到這一步進(jìn)才需要引入性能測(cè)試工具,我們?cè)谌粘5墓ぷ髦型窍冗x定好測(cè)試工具然后再分析需求,制定計(jì)劃進(jìn)行測(cè)試。這樣我們?cè)谧鲂阅苄枨蠓治龅臅r(shí)候往往會(huì)往往會(huì)考慮所選的工具是否能實(shí)現(xiàn),無法實(shí)現(xiàn)可能就放棄這個(gè)需求或改變這個(gè)需求。這樣以某一工具為基礎(chǔ)點(diǎn)做出的性能測(cè)試結(jié)果可能是不準(zhǔn)確的。
工具的引入分為自行開發(fā)與引入市面上的現(xiàn)有工具。市面上的現(xiàn)有工具又分為收費(fèi)與開源免費(fèi),各有各的優(yōu)缺點(diǎn)。我們要做的是對(duì)需求進(jìn)行分析,從成本,購(gòu)買成本,開發(fā)成本,現(xiàn)有開源工具的二次開發(fā)成本,人員學(xué)習(xí)使用成本以及時(shí)間成本等。
在這里再?gòu)?qiáng)調(diào)一點(diǎn),不是只有壓力測(cè)試工具屬于性能工具,在性能測(cè)試過程中所用到的工具都屬于性能工具,如測(cè)試數(shù)據(jù)生成工具,性能監(jiān)控工具等。
測(cè)試的執(zhí)行
測(cè)試的執(zhí)行應(yīng)該是很大范圍的一塊內(nèi)容。也就是我在上一節(jié)中性能測(cè)試架構(gòu)所提到的內(nèi)容。用戶行為生成-->壓力產(chǎn)生器-->用戶代理-->測(cè)試調(diào)度-->系統(tǒng)監(jiān)控等。?
我們所選擇的工具如何來實(shí)現(xiàn)我們的需求,這個(gè)性能測(cè)試工程師對(duì)引入的有足夠的了解。對(duì)協(xié)議的了解,可能需要編程的能力等。其實(shí)好多新手對(duì)性能的學(xué)習(xí)也是從某一工具的使用開始的。
測(cè)試結(jié)果的分析
這里再重復(fù)一次,測(cè)試工具只是提供多種不同的數(shù)據(jù)揭示和呈現(xiàn)方法而已。工具本身并不能幫我們進(jìn)行性能結(jié)果的分析。
對(duì)于性能測(cè)試結(jié)果的分析,這個(gè)需要性能測(cè)試工程師對(duì)整個(gè)被測(cè)環(huán)境的各種軟硬件都要有深入的了解。當(dāng)然,在這個(gè)過程中我們往往需要各個(gè)崗位人員的協(xié)助,開發(fā)人員、DBA、運(yùn)維等。致力成為一位資深的性能測(cè)試工程師要走路還很長(zhǎng)。
軟件硬件配置調(diào)整與優(yōu)化
說的簡(jiǎn)單點(diǎn)這個(gè)環(huán)節(jié)屬于系統(tǒng)調(diào)優(yōu)階段。這一項(xiàng)不是一個(gè)必須的環(huán)節(jié)。這個(gè)要看你本次性能測(cè)試的需求與目的。如果只是為了驗(yàn)證系統(tǒng)的能力的話。在分析完測(cè)試結(jié)果后就可以出性能測(cè)試報(bào)告了。
對(duì)于我們測(cè)試人員來說,我們對(duì)一個(gè)系統(tǒng)進(jìn)行功能測(cè)試的目的是驗(yàn)證系統(tǒng)功能是否是符合需求并可用的,但發(fā)現(xiàn)了缺陷之后是需要對(duì)缺陷進(jìn)行跟蹤和修復(fù)的,并不是把發(fā)現(xiàn)的缺陷寫在報(bào)告里就完事的。當(dāng)然,功能缺陷與性能缺陷存在著本質(zhì)的缺陷。如果在性能測(cè)試過程中發(fā)現(xiàn)不滿足需求的缺陷,進(jìn)行調(diào)優(yōu)是一個(gè)不可缺少的過程。
? 如果要對(duì)系統(tǒng)進(jìn)行調(diào)優(yōu)的話,測(cè)試執(zhí)行、結(jié)果分析、系統(tǒng)調(diào)優(yōu)將會(huì)形成一個(gè)循環(huán)持續(xù)的過程。直到滿足客戶的需求為止。
?-----------------------------------------------
對(duì)于上面測(cè)試流程中所列出的部分,我在后續(xù)的博文中會(huì)細(xì)講,當(dāng)然,你也可以對(duì)我提出的這個(gè)流程進(jìn)行交流,歡迎留言拍磚
1.Jmeter【接口測(cè)試流程】