




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、LoadRunner性能測(cè)試實(shí)戰(zhàn)講解1.1 性能測(cè)試基本概念71.1.1 什么是性能測(cè)試81.1.2 性能測(cè)試應(yīng)用領(lǐng)域91.1.3 性能測(cè)試常見(jiàn)術(shù)語(yǔ)111.2 全面性能測(cè)試模型141.2.1 性能測(cè)試策略模型161.2.2 性能測(cè)試用例模型191.2.3 模型的使用方法221.3 性能測(cè)試調(diào)整基礎(chǔ)231.4 如何做好性能測(cè)試251.5 本章小結(jié)295.1 如何分析性能測(cè)試結(jié)果305.1.1 性能分析基礎(chǔ)知識(shí)315.1.2 Ana
2、lysis使用基礎(chǔ)335.1.3 一個(gè)視頻網(wǎng)站例子397.1 認(rèn)識(shí)Java虛擬用戶527.1.1 Java虛擬用戶協(xié)議527.1.2 Java虛擬用戶適用范圍547.1.3 腳本開(kāi)發(fā)環(huán)境配置557.2 Java腳本開(kāi)發(fā)基礎(chǔ)587.2.1 Java虛擬用戶開(kāi)發(fā)基礎(chǔ)597.3 Java算法測(cè)試案例697.4 本章小結(jié)90前言 在作者的另一作品Web性能測(cè)試實(shí)戰(zhàn)中,曾經(jīng)提到過(guò)“軟件亞健康”這個(gè)概念?,F(xiàn)在,亞健康不但威脅著IT人的生活質(zhì)量,也威脅很多應(yīng)用軟件的性能。為此,在Web性能
3、測(cè)試實(shí)戰(zhàn)一書(shū)中,作者提出了“全面性能測(cè)試模型”,期望能夠成為解決軟件亞健康問(wèn)題的一劑“良藥”?!叭嫘阅軠y(cè)試模型”包含了測(cè)試策略制定、測(cè)試用例設(shè)計(jì)、模型使用方法三部分內(nèi)容,基本覆蓋了性能測(cè)試規(guī)劃和設(shè)計(jì)的相關(guān)內(nèi)容,為開(kāi)展性能測(cè)試提供了一種可行的方案。借助本模型,軟件開(kāi)發(fā)和測(cè)試人員可以更好的組織與規(guī)劃性能測(cè)試,避免在項(xiàng)目后期遭遇性能問(wèn)題的被動(dòng)局面。不過(guò)要想做好性能測(cè)試,僅有性能測(cè)試模型還是遠(yuǎn)遠(yuǎn)不夠的,因?yàn)檫€缺少像LoadRunner這樣令性能測(cè)試工作如虎添翼的性能測(cè)試?yán)?。本?shū)將和讀者一起深入LoadRunner的性能測(cè)試世界,探討在企業(yè)的性能測(cè)試項(xiàng)目中如何應(yīng)用它來(lái)發(fā)現(xiàn)應(yīng)用系統(tǒng)存在的性能問(wèn)題。Lo
4、adRunner在性能測(cè)試中的地位對(duì)于很多使用LoadRunner的測(cè)試人員而言,性能測(cè)試工作中最大的障礙就是測(cè)試腳本開(kāi)發(fā)與測(cè)試結(jié)果分析,這導(dǎo)致很多測(cè)試人員忽略了測(cè)試規(guī)劃與設(shè)計(jì)的重要性,反而認(rèn)為能開(kāi)發(fā)測(cè)試腳本、運(yùn)行測(cè)試場(chǎng)景、分析測(cè)試結(jié)果就算做好性能測(cè)試了。要想做好性能測(cè)試,首先應(yīng)該把重心放在測(cè)試的規(guī)劃與設(shè)計(jì)上,尤其要注重測(cè)試用例的設(shè)計(jì),僅僅能寫(xiě)測(cè)試程序與運(yùn)行測(cè)試腳本是遠(yuǎn)遠(yuǎn)不夠的。諸如LoadRunner等測(cè)試工具僅僅是性能測(cè)試的執(zhí)行與分析工具,它們應(yīng)該服從于測(cè)試設(shè)計(jì)人員的意志。測(cè)試工具的使用屬于測(cè)試人員的基本功,應(yīng)該在開(kāi)展性能測(cè)試工作前修煉好。只有好的測(cè)試用例或者測(cè)試場(chǎng)景才能發(fā)現(xiàn)系統(tǒng)的問(wèn)題,這
5、才是性能測(cè)試的本質(zhì)所在。性能測(cè)試分析同樣依賴于前面工作的輸出結(jié)果,不是隨便一個(gè)測(cè)試結(jié)果就能發(fā)現(xiàn)問(wèn)題的。所謂“萬(wàn)丈高樓平地起”,性能分析的準(zhǔn)確性同樣取決于此前所做的設(shè)計(jì)與實(shí)施等“地基”是否可靠??梢哉f(shuō),性能測(cè)試分析僅僅是百米賽跑的最后二十米而已。當(dāng)然,這并不是說(shuō)性能測(cè)試分析不重要,因?yàn)椤白詈鬀_刺的二十米沒(méi)有跑好”,前面工作做的再好也是徒勞的。因此不難理解,性能測(cè)試分析工作開(kāi)展的根基就是前面測(cè)試場(chǎng)景執(zhí)行的結(jié)果。要想保證性能測(cè)試分析的結(jié)論是正確的,則測(cè)試結(jié)果數(shù)據(jù)首先就應(yīng)該是正確的,而這也意味著測(cè)試場(chǎng)景以及測(cè)試執(zhí)行過(guò)程都應(yīng)該是正確的。實(shí)際上,性能測(cè)試從始至終都應(yīng)該是相當(dāng)嚴(yán)謹(jǐn)?shù)囊豁?xiàng)工程,各個(gè)階段的工作環(huán)
6、環(huán)相扣,性能測(cè)試工程師應(yīng)該認(rèn)真對(duì)待各個(gè)階段的工作。如果一味地追求找出系統(tǒng)瓶頸,無(wú)疑是舍本逐末的做法。因此,在性能測(cè)試工作中首先要做好性能測(cè)試的規(guī)劃與設(shè)計(jì)工作,然后再借助LoadRunner的強(qiáng)大功能來(lái)發(fā)現(xiàn)系統(tǒng)存在的問(wèn)題。如何通過(guò)本書(shū)學(xué)習(xí)LoadRunner首先應(yīng)該弄清楚學(xué)習(xí)LoadRunner的目的,那就是在項(xiàng)目的性能測(cè)試中應(yīng)用LoadRunner來(lái)發(fā)現(xiàn)系統(tǒng)的性能問(wèn)題。因此,僅僅會(huì)用LoadRunner還遠(yuǎn)遠(yuǎn)不夠,這也是為什么很多培訓(xùn)班出來(lái)的學(xué)員雖然把工具用的非常熟練,但是仍然不能做好性能測(cè)試工作。學(xué)好LoadRunner的標(biāo)準(zhǔn)是真正能夠把LoadRunner應(yīng)用到實(shí)際項(xiàng)目中去,這就要求學(xué)習(xí)L
7、oadRunner的同時(shí)一定要學(xué)好性能測(cè)試相關(guān)知識(shí)。本書(shū)的第1章即為基本的性能測(cè)試知識(shí),讀者需要認(rèn)真體會(huì)這些內(nèi)容,建議在學(xué)習(xí)后面的內(nèi)容時(shí),經(jīng)常翻閱本章的內(nèi)容。如果要學(xué)習(xí)更多的性能測(cè)試規(guī)劃與設(shè)計(jì)的知識(shí)以及性能測(cè)試案例,建議讀者參考本書(shū)的姊妹篇Web性能測(cè)試實(shí)戰(zhàn)。本書(shū)的第2章是LoadRunner的簡(jiǎn)介部分,讀者需要通過(guò)本章了解LoadRunner的工作原理、測(cè)試流程、部署與安裝等內(nèi)容,尤其要掌握?qǐng)D2-1所示的LoadRunner工作原理,這是用LoadRunner開(kāi)展工作的基礎(chǔ)。本書(shū)的第3章、第4章、第5章分別講解了LoadRunner的Virtual User Generator、Contro
8、ller、Analysis。這三大組件分別負(fù)責(zé)腳本的錄制與開(kāi)發(fā)、場(chǎng)景的創(chuàng)建與執(zhí)行、測(cè)試結(jié)果分析工作。用LoadRunner來(lái)開(kāi)展性能測(cè)試,必須要掌握這三大組件的使用。如果連基本的工具都沒(méi)有用好,很難正確地執(zhí)行設(shè)計(jì)好的測(cè)試用例,更不用說(shuō)根據(jù)結(jié)果來(lái)分析系統(tǒng)的瓶頸了。在第35章中,詳細(xì)探討了LoadRunner各個(gè)組件的使用細(xì)節(jié),但是這還遠(yuǎn)遠(yuǎn)不夠,尤其對(duì)于那些只會(huì)錄制或者簡(jiǎn)單修改錄制結(jié)果的測(cè)試人員!學(xué)習(xí)這三章的內(nèi)容時(shí),最好的方法是結(jié)合LoadRunner的聯(lián)機(jī)幫助文檔,這樣可以學(xué)習(xí)到更多的內(nèi)容。學(xué)習(xí)完第35章后,可能還有一些讀者會(huì)問(wèn):“我還是不會(huì)自己寫(xiě)測(cè)試腳本,很多協(xié)議仍然不能進(jìn)行測(cè)試怎么辦?”碰到
9、這種情況就需要補(bǔ)習(xí)自己的開(kāi)發(fā)知識(shí)了。開(kāi)發(fā)知識(shí)應(yīng)該分兩個(gè)方面來(lái)學(xué)習(xí):一是面向?qū)ο蠡A(chǔ)知識(shí)的學(xué)習(xí),二是開(kāi)發(fā)語(yǔ)言的學(xué)習(xí)。很多人可能會(huì)認(rèn)為面向?qū)ο蠡A(chǔ)知識(shí)比較通用,相對(duì)容易學(xué)習(xí);而開(kāi)發(fā)語(yǔ)言種類繁多,不知道如何入手。根據(jù)作者的經(jīng)驗(yàn),這兩個(gè)方面應(yīng)該結(jié)合起來(lái)進(jìn)行:面向?qū)ο笫乾F(xiàn)在主流開(kāi)發(fā)語(yǔ)言的靈魂,一起學(xué)習(xí)可以互相促進(jìn)。具體做法就是選擇C+、Java、C#等一種主流語(yǔ)言來(lái)學(xué)習(xí),只要這門(mén)語(yǔ)言是自己所在公司的主流語(yǔ)言即可。當(dāng)學(xué)會(huì)面向?qū)ο蠡A(chǔ)和一門(mén)語(yǔ)言后,再去學(xué)習(xí)其它的語(yǔ)言將會(huì)非常容易。具有一定的開(kāi)發(fā)能力后,就可以開(kāi)始本書(shū)探索篇第69章的學(xué)習(xí)。這四章是LoadRunner的探索篇,講解了在LoadRunner中如何
10、應(yīng)用C+、Java、C#語(yǔ)言進(jìn)行開(kāi)發(fā)以及一些特殊的腳本協(xié)議。相信通過(guò)前面9章的學(xué)習(xí),讀者已經(jīng)掌握LoadRunner的精髓了。不過(guò)本書(shū)不是一本“LoadRunner使用百科大全”,接下來(lái)就需要讀者自己不斷地應(yīng)用與探索LoadRunner了,逐步完成成為一個(gè)LoadRunner高手的蛻變過(guò)程。如何學(xué)習(xí)本書(shū)的性能測(cè)試案例本書(shū)在第10章中,花了很大的篇幅介紹了一個(gè)電子商務(wù)平臺(tái)的性能測(cè)試案例,目的不是為了介紹如何測(cè)試電子商務(wù)系統(tǒng),而是讓讀者在掌握前面技能的基礎(chǔ)上,更加深入地體會(huì)在項(xiàng)目中如何通過(guò)LoadRunner來(lái)實(shí)施性能測(cè)試。因此,案例的業(yè)務(wù)并不重要,讀者也沒(méi)有必要深究具體的細(xì)節(jié)。通過(guò)本案例,能清晰
11、地了解了能測(cè)試的整個(gè)過(guò)程就已經(jīng)達(dá)到了目的。本書(shū)案例的學(xué)習(xí)重點(diǎn)在以下幾個(gè)方面:l 借助案例體會(huì)“全面性能測(cè)試模型”在GBE項(xiàng)目中的應(yīng)用;l 學(xué)習(xí)性能測(cè)試規(guī)劃與設(shè)計(jì)中的需求分析過(guò)程,例如測(cè)試環(huán)境需求、人力資源;l 學(xué)習(xí)性能測(cè)試規(guī)劃與設(shè)計(jì)中的測(cè)試場(chǎng)景分析與設(shè)計(jì)、測(cè)試用例設(shè)計(jì);l 學(xué)習(xí)如何做好性能測(cè)試實(shí)施前的準(zhǔn)備工作;l 測(cè)試執(zhí)行過(guò)程的進(jìn)度與變更控制;l 一些分析性能問(wèn)題的過(guò)程。關(guān)于性能測(cè)試案例更多的內(nèi)容,讀者可以閱讀Web性能測(cè)試實(shí)戰(zhàn)中的案例部分。關(guān)于本書(shū)本書(shū)的主旨在于讓讀者學(xué)會(huì)LoadRunner的應(yīng)用,并能在此基礎(chǔ)上自行探索
12、性能測(cè)試世界。本書(shū)共分為四部分:入門(mén)篇、基礎(chǔ)篇、探索篇、實(shí)戰(zhàn)篇。第一部分:入門(mén)篇,包括第1章和第2章,著重于講解性能測(cè)試與LoadRunner的基礎(chǔ)理論知識(shí)。在第1章中,講解了性能測(cè)試基本概念、全面性能測(cè)試模型、性能測(cè)試調(diào)整等基礎(chǔ)的性能測(cè)試?yán)碚撝R(shí);第2章則介紹了LoadRunner的特點(diǎn)與術(shù)語(yǔ)、工作原理、測(cè)試流程、部署與安裝等內(nèi)容。第二部分:基礎(chǔ)篇,包括第3章至第5章,著重講解LoadRunner三大組件的使用,是LoadRunner的基本使用部分。在第3章中,主要講解如何在Virtual User Generator中完成代碼的錄制與開(kāi)發(fā);第4章講解如何在Controller中創(chuàng)建與執(zhí)行場(chǎng)
13、景;第5章中講解如何結(jié)合Analysis來(lái)分析性能測(cè)試結(jié)果。第三部分:探索篇,包括第6章至第9章,著重講解LoadRunner的高級(jí)應(yīng)用。第6章講解如何用Visual C+來(lái)增強(qiáng)虛擬用戶;第7章深入探索了Java虛擬用戶;第8章深入探索了.NET虛擬用戶;第9章則講解了Socket虛擬用戶的相關(guān)知識(shí)。第四部分:實(shí)戰(zhàn)篇,即第10章,結(jié)合案例來(lái)講解在具體項(xiàng)目中如何應(yīng)用LoadRunner來(lái)完成性能測(cè)試工作。在第10章中,通過(guò)真實(shí)的性能測(cè)試實(shí)例,向讀者展示了如何在項(xiàng)目中完成性能測(cè)試的整體規(guī)劃與設(shè)計(jì)、測(cè)試的準(zhǔn)備與實(shí)施、測(cè)試結(jié)果分析等工作。致謝感謝廣大讀者對(duì)Web性能測(cè)試實(shí)戰(zhàn)一書(shū)的支持,讀者的支持是作者
14、寫(xiě)作的真正動(dòng)力。正是一年來(lái)因?yàn)榇蠹覍?duì)Web性能測(cè)試實(shí)戰(zhàn)的肯定才促使我完成本書(shū)的寫(xiě)作工作;感謝博文視點(diǎn)周筠老師對(duì)本書(shū)的支持,周老師對(duì)我這個(gè)新人一直給予很大的鼓勵(lì);感謝電子工業(yè)出版社博文視點(diǎn)資訊有限公司的陳元玉編輯,她是本書(shū)的責(zé)任編輯;感謝師兄王玉亭,他再次為本書(shū)提供了很多素材;感謝同事關(guān)曉培、周雪松、李熠,他們?yōu)楸緯?shū)提供了很多素材;感謝電子工業(yè)出版社為本書(shū)辛勤付出的所有朋友們;特別感謝夫人小姬,她通篇審校了本書(shū)并潤(rùn)色了那些難于理解的句子,特別是她對(duì)我在公司的日常工作和編寫(xiě)工作的支持,因?yàn)楸緯?shū)占據(jù)了大量可以陪她的時(shí)間;最后要感謝自己的父母和老師,能寫(xiě)出本書(shū)是父母和老師多年教育的結(jié)果。軟件在性能方面
15、的“亞健康”問(wèn)題一直伴隨著國(guó)內(nèi)很多企業(yè)的軟件產(chǎn)品而存在。早期由于多數(shù)軟件應(yīng)用系統(tǒng)在企業(yè)中得不到有效的推廣應(yīng)用,因此用戶往往會(huì)忽略自己在性能方面的需求。而現(xiàn)在軟件幾乎滲透到人們工作與生活的各個(gè)方面,因而軟件的性能開(kāi)始得到越來(lái)越多的重視。隨著軟件工程技術(shù)、軟件開(kāi)發(fā)方法和軟件開(kāi)發(fā)工具的發(fā)展,一方面使人們可以快速開(kāi)發(fā)更加復(fù)雜的應(yīng)用,另一方面也使開(kāi)發(fā)出的軟件規(guī)模越來(lái)越龐大,架構(gòu)越來(lái)越復(fù)雜。隨之而來(lái)的是軟件性能問(wèn)題也越來(lái)越多,最終導(dǎo)致很多軟件系統(tǒng)由于性能方面存在問(wèn)題而停止使用,給軟件公司以及客戶都帶來(lái)了一定的損失。因此,解決軟件性能問(wèn)題是十分必要的一項(xiàng)工作中,對(duì)于企業(yè)自身以及客戶都具有重要的現(xiàn)實(shí)意義。在紹
16、英的上一本著作Web性能測(cè)試實(shí)戰(zhàn)中,為接近軟件性能問(wèn)題提出了“全面性能測(cè)試模型”,以期成為解決軟件亞健康問(wèn)題的一劑良藥?!叭嫘阅軠y(cè)試模型”包含了性能測(cè)試策略制定、測(cè)試用例設(shè)計(jì)、模型使用方法三部分內(nèi)容,覆蓋了性能測(cè)試規(guī)劃和設(shè)計(jì)的相關(guān)內(nèi)容,為開(kāi)展性能測(cè)試工作提供了一種可行的方案。但是僅有理論是不夠的,對(duì)于性能測(cè)試工作而言,不但需要好的性能測(cè)試?yán)碚撟鳛楣ぷ髦笇?dǎo),更需要掌握好的性能測(cè)試工具,因此本書(shū)的幾位作者共同創(chuàng)作了LoadRunner性能測(cè)試實(shí)戰(zhàn)一書(shū)。LoadRunner是目前國(guó)內(nèi)性能測(cè)試領(lǐng)域應(yīng)用最廣泛的工具之一,它可以通過(guò)模擬成千上萬(wàn)的用戶,很快地幫助用戶確認(rèn)和查找性能問(wèn)題。但是國(guó)內(nèi)圖書(shū)市場(chǎng)上
17、卻沒(méi)有任何相關(guān)書(shū)籍,LoadRunner性能測(cè)試實(shí)戰(zhàn)填補(bǔ)了這個(gè)空白。LoadRunner性能測(cè)試實(shí)戰(zhàn)是非常注重實(shí)際應(yīng)用的作品。書(shū)中詳細(xì)描述了LoadRunner在性能測(cè)試領(lǐng)域諸多方面的應(yīng)用,并結(jié)合具體的案例來(lái)說(shuō)明如何應(yīng)用Web性能測(cè)試實(shí)戰(zhàn)一書(shū)中提到的“全面性能測(cè)試模型”。強(qiáng)大的性能測(cè)試工具加上合理的理論來(lái)指導(dǎo),將為讀者打開(kāi)很多新的思路。本書(shū)是由三位作者共同完成的。紹英有流媒體、P2P、電子政務(wù)、銀行、門(mén)戶網(wǎng)站等領(lǐng)域應(yīng)用軟件的性能測(cè)試經(jīng)驗(yàn),在LoadRunner方面更有五年以上的使用經(jīng)驗(yàn)。他曾到很多公司去推廣自己的性能測(cè)試模型以及講解LoadRunner課程,對(duì)企業(yè)在軟件測(cè)試方面的需求非常熟悉;
18、建華是在讀研究生,因此有充裕的時(shí)間來(lái)研究LoadRunner的特殊應(yīng)用;小姬在性能測(cè)試方面也有著豐富的經(jīng)驗(yàn)。相信他們的這些實(shí)踐經(jīng)驗(yàn)是很多測(cè)試人員急需的。本書(shū)對(duì)國(guó)內(nèi)軟件企業(yè)提高性能測(cè)試水平是很有價(jià)值的。我很高興能為這本實(shí)戰(zhàn)性非常強(qiáng)的作品做序,預(yù)祝LoadRunner性能測(cè)試實(shí)戰(zhàn)早日出版。也希望國(guó)內(nèi)有更多的人來(lái)關(guān)注軟件性能測(cè)試,探討解決軟件亞健康問(wèn)題的方法!北京大學(xué)軟件與微電子學(xué)院副教授北京市軟件促進(jìn)中心專家顧問(wèn) 黎怡蘭(Melody Le)在一些軟件項(xiàng)目中,項(xiàng)目經(jīng)理或測(cè)試經(jīng)理經(jīng)常會(huì)安排測(cè)試工程師進(jìn)行下面的工作:l 用LoadRunner測(cè)試系統(tǒng)的最大并發(fā)用戶數(shù)
19、。l 用LoadRunner測(cè)試系統(tǒng)8小時(shí)的最大業(yè)務(wù)吞吐量。l 用LoadRunner測(cè)試系統(tǒng)的穩(wěn)定性與健壯性。l 用LoadRunner測(cè)試系統(tǒng)在數(shù)據(jù)達(dá)到100萬(wàn)條記錄時(shí)的性能。l 用LoadRunner測(cè)試核心事務(wù)響應(yīng)時(shí)間是否滿足用戶的需求??梢哉f(shuō),現(xiàn)在很多IT企業(yè)的性能測(cè)試工作已經(jīng)離不開(kāi)LoadRunner了。不過(guò),盡管使用了LoadRunner這一強(qiáng)大的工具,很多企業(yè)軟件產(chǎn)品遇到的性能問(wèn)題仍未能解決因?yàn)閮H有好的測(cè)試工具是不夠的。除了比較實(shí)用的測(cè)試工具外,要想做好性能測(cè)試還應(yīng)該掌握相關(guān)的理論知識(shí)。只有以堅(jiān)實(shí)的理論作為實(shí)際工作的依托,才能讓測(cè)
20、試工具發(fā)揮出應(yīng)有的功效。本章將介紹一些性能測(cè)試的基礎(chǔ)知識(shí),主要內(nèi)容如下:n 性能測(cè)試基本概念n 全面性能測(cè)試模型n 性能測(cè)試調(diào)整基礎(chǔ)n 如何做好性能測(cè)試 提示:關(guān)于性能測(cè)試?yán)碚摰母鄡?nèi)容,可以參考作者性能測(cè)試方面的專著Web性能測(cè)試實(shí)戰(zhàn),電子工業(yè)出版社,2006年5月出版。1.1 性能測(cè)試基本概念在軟件系統(tǒng)日益復(fù)雜的今天,性能已經(jīng)成為軟件質(zhì)量重要的衡量標(biāo)準(zhǔn)之一,這一點(diǎn)尤其體現(xiàn)在和Web相關(guān)的系統(tǒng)上。軟件幾乎無(wú)處不在,在給用戶帶來(lái)方便的同時(shí),也對(duì)開(kāi)發(fā)人員和測(cè)試人員提出了更高的要求。性能測(cè)試不但要求測(cè)試人員具備很強(qiáng)的技術(shù)能力,還
21、要具備綜合分析問(wèn)題的能力。本節(jié)從性能測(cè)試的概念入手,強(qiáng)化性能測(cè)試的基礎(chǔ)知識(shí)。1.1.1 什么是性能測(cè)試目前很少能見(jiàn)到性能測(cè)試的準(zhǔn)確定義,但是性能測(cè)試又似乎是涉及范圍非常廣泛的測(cè)試。壓力測(cè)試、負(fù)載測(cè)試、強(qiáng)度測(cè)試、穩(wěn)定性測(cè)試、健壯性測(cè)試、大數(shù)據(jù)量測(cè)試都和性能測(cè)試有著密切的關(guān)系。在本書(shū)中,主要從狹義和廣義兩方面來(lái)討論性能測(cè)試。狹義的性能測(cè)試主要用于描述常規(guī)的性能測(cè)試,是指通過(guò)模擬生產(chǎn)運(yùn)行的業(yè)務(wù)壓力或用戶使用場(chǎng)景來(lái)測(cè)試系統(tǒng)的性能是否滿足生產(chǎn)性能的要求。例如,以實(shí)際投產(chǎn)環(huán)境進(jìn)行測(cè)試,來(lái)求出最大的吞吐量與最佳響應(yīng)時(shí)間,以保證上線的平穩(wěn)、安全等。性能測(cè)試是一種“正常”的測(cè)試,主要測(cè)試正常使用時(shí)系
22、統(tǒng)是否滿足要求,同時(shí)可能為了保留系統(tǒng)的擴(kuò)展空間而進(jìn)行的一些稍稍超出“正常”范圍的測(cè)試。廣義的性能測(cè)試則是壓力測(cè)試、負(fù)載測(cè)試、強(qiáng)度測(cè)試、并發(fā)(用戶)測(cè)試、大數(shù)據(jù)量測(cè)試、配置測(cè)試、可靠性測(cè)試等和性能相關(guān)的測(cè)試統(tǒng)稱。下面分別介紹各類測(cè)試的主要內(nèi)容和特點(diǎn)。壓力測(cè)試對(duì)系統(tǒng)不斷施加壓力的測(cè)試,是通過(guò)確定一個(gè)系統(tǒng)的瓶頸或不能接收用戶請(qǐng)求的性能點(diǎn),來(lái)獲得系統(tǒng)能提供的最大服務(wù)級(jí)別的測(cè)試。例如測(cè)試一個(gè)Web站點(diǎn)在大量的負(fù)荷下,系統(tǒng)的事務(wù)響應(yīng)時(shí)間何時(shí)會(huì)變得不可接受或事務(wù)不能正常執(zhí)行。壓力測(cè)試的目的是發(fā)現(xiàn)在什么條件下系統(tǒng)的性能變得不可接受,并通過(guò)對(duì)應(yīng)用程序施加越來(lái)越大的負(fù)載,直到發(fā)現(xiàn)應(yīng)用程序性能下降的拐點(diǎn)。壓力測(cè)試和
23、負(fù)載測(cè)試有些類似,但是通常把負(fù)載測(cè)試描述成一種特定類型的壓力測(cè)試?yán)缭黾佑脩魯?shù)量或延長(zhǎng)壓力時(shí)間以對(duì)應(yīng)用程序進(jìn)行壓力測(cè)試。負(fù)載測(cè)試對(duì)系統(tǒng)不斷地增加壓力或增加一定壓力下的持續(xù)時(shí)間,直到系統(tǒng)的一些性能指標(biāo)達(dá)到極限,例如響應(yīng)時(shí)間超過(guò)預(yù)定指標(biāo)或某種資源已經(jīng)達(dá)到飽和狀態(tài)。這種測(cè)試可以找到系統(tǒng)的處理極限,為系統(tǒng)調(diào)優(yōu)提供依據(jù)。壓力測(cè)試側(cè)重壓力大小,而負(fù)載測(cè)試往往強(qiáng)調(diào)壓力持續(xù)的時(shí)間。在實(shí)際工作中,沒(méi)有必要嚴(yán)格區(qū)分這兩個(gè)概念,有關(guān)內(nèi)容可以參見(jiàn)后面1.2節(jié)的“全面性能測(cè)試模型”。強(qiáng)度測(cè)試強(qiáng)度測(cè)試主要是為了檢查程序?qū)Ξ惓G闆r的抵抗能力。強(qiáng)度測(cè)試總是迫使系統(tǒng)在異常的資源配置下運(yùn)行。例如:l 當(dāng)正常的用戶點(diǎn)擊
24、率為“1000次/秒”時(shí),運(yùn)行點(diǎn)擊率為“2000次/秒”的測(cè)試用例;l 運(yùn)行需要最大存儲(chǔ)空間(或其他資源)的測(cè)試用例;l 運(yùn)行可能導(dǎo)致操作系統(tǒng)崩潰或磁盤(pán)數(shù)據(jù)劇烈抖動(dòng)的測(cè)試用例,等等。強(qiáng)度測(cè)試是一種特別重要的測(cè)試,對(duì)測(cè)試系統(tǒng)的穩(wěn)定性,以及系統(tǒng)未來(lái)的擴(kuò)展空間均具有重要的意義。在這種異常條件下進(jìn)行的測(cè)試,更容易發(fā)現(xiàn)系統(tǒng)是否穩(wěn)定以及性能方面是否容易擴(kuò)展。疲勞強(qiáng)度測(cè)試是一類特殊的強(qiáng)度測(cè)試,主要測(cè)試系統(tǒng)長(zhǎng)時(shí)間運(yùn)行后的性能表現(xiàn),例如7×24小時(shí)的壓力測(cè)試。并發(fā)(用戶)測(cè)試主要指當(dāng)測(cè)試多個(gè)用戶并同時(shí)訪問(wèn)同一個(gè)應(yīng)用程序、同一個(gè)模塊或數(shù)據(jù)記錄時(shí)是否存在死鎖或其他性能問(wèn)題,幾乎所有
25、的性能測(cè)試都會(huì)涉及并發(fā)測(cè)試。在具體的性能測(cè)試工作中,并發(fā)用戶往往都是借助工具來(lái)進(jìn)行模擬的,LoadRunner中稱之為并發(fā)虛擬用戶。大數(shù)據(jù)量測(cè)試大數(shù)據(jù)量測(cè)試分為兩種:一種是針對(duì)某些系統(tǒng)存儲(chǔ)、傳輸、統(tǒng)計(jì)查詢等業(yè)務(wù)進(jìn)行大數(shù)據(jù)量的測(cè)試;另一種是與并發(fā)測(cè)試相結(jié)合的極限狀態(tài)下的綜合數(shù)據(jù)測(cè)試。如專項(xiàng)的大數(shù)據(jù)量測(cè)試主要針對(duì)前者,后者盡量放在并發(fā)測(cè)試中。此外,也可以把大數(shù)據(jù)量測(cè)試分為“運(yùn)行時(shí)大數(shù)據(jù)量測(cè)試”與“歷史大數(shù)據(jù)量測(cè)試”來(lái)進(jìn)行測(cè)試用例設(shè)計(jì)。配置測(cè)試配置測(cè)試主要指通過(guò)測(cè)試找到系統(tǒng)各項(xiàng)資源的最優(yōu)分配原則。配置測(cè)試是系統(tǒng)調(diào)優(yōu)的重要依據(jù)。例如,可以通過(guò)不停地調(diào)整Oracle的內(nèi)存參數(shù)來(lái)進(jìn)行測(cè)試,使之達(dá)到一個(gè)較好
26、的性能??梢钥闯?,配置測(cè)試本質(zhì)上是前面提到的某些種類的性能測(cè)試組合在一起而進(jìn)行的測(cè)試??煽啃詼y(cè)試在給系統(tǒng)加載一定業(yè)務(wù)壓力的情況下,使系統(tǒng)運(yùn)行一段時(shí)間,以此檢測(cè)系統(tǒng)是否穩(wěn)定。例如,可以施加讓CPU資源保持70%90%使用率的壓力,連續(xù)對(duì)系統(tǒng)加壓8個(gè)小時(shí),然后根據(jù)結(jié)果分析系統(tǒng)是否穩(wěn)定。這么多類型的性能測(cè)試看起來(lái)很嚇人,實(shí)際上它們大多是密切相關(guān)的。例如,運(yùn)行8個(gè)小時(shí)來(lái)測(cè)試系統(tǒng)是否可靠,而這個(gè)測(cè)試極有可能包含了可靠性測(cè)試、強(qiáng)度測(cè)試、并發(fā)(用戶)測(cè)試、負(fù)載測(cè)試,等等。因此,當(dāng)實(shí)施性能測(cè)試時(shí)絕不能割裂它們的內(nèi)部聯(lián)系去進(jìn)行,而應(yīng)分析它們之間的關(guān)系,以一種高效的方式來(lái)規(guī)劃與設(shè)計(jì)性能測(cè)試。為此,本書(shū)在1.2節(jié)提
27、出了“全面性能測(cè)試模型”,以更好的方式來(lái)開(kāi)展性能測(cè)試工作。1.1.2 性能測(cè)試應(yīng)用領(lǐng)域性能測(cè)試往往是為了實(shí)現(xiàn)下面的一個(gè)或幾個(gè)目標(biāo):l 判定軟件是否滿足預(yù)期的性能需求;l 根據(jù)測(cè)試結(jié)果判定軟件的性能表現(xiàn);l 查找系統(tǒng)可能存在的性能問(wèn)題,如果有,則找出并加以解決;l 發(fā)現(xiàn)一些應(yīng)用程序在功能實(shí)現(xiàn)方面的缺陷;l 對(duì)一些存在性能問(wèn)題的系統(tǒng),找出瓶頸并加以解決;l 為用戶部署系統(tǒng)提供性能參考;l 通過(guò)分析性能測(cè)試的種種目標(biāo),不難總結(jié)出性能測(cè)試主要應(yīng)用在幾個(gè)領(lǐng)域中,下面分別予以介紹。系統(tǒng)的性能瓶頸定位系統(tǒng)的性能瓶
28、頸定位是性能測(cè)試最常見(jiàn)的應(yīng)用領(lǐng)域。借助LoadRunner等工具,可以在測(cè)試場(chǎng)景運(yùn)行過(guò)程中監(jiān)控系統(tǒng)資源、Web服務(wù)器資源等運(yùn)行數(shù)據(jù),與響應(yīng)時(shí)間進(jìn)行同步分析,可以在一定程度上進(jìn)行性能瓶頸的分析與定位。系統(tǒng)的參數(shù)配置通過(guò)性能測(cè)試可以測(cè)試系統(tǒng)在不同參數(shù)配置下的性能表現(xiàn),進(jìn)而找出令系統(tǒng)表現(xiàn)更優(yōu)的系統(tǒng)配置參數(shù),為應(yīng)用系統(tǒng)投產(chǎn)提供最佳配置建議。實(shí)際上,操作系統(tǒng)、數(shù)據(jù)庫(kù)、中間件服務(wù)器等的參數(shù)配置是應(yīng)用系統(tǒng)發(fā)生性能問(wèn)題的重要原因。例如分配給Oracle的內(nèi)存大小與系統(tǒng)自身的業(yè)務(wù)特點(diǎn)有極大關(guān)系,配置不同的數(shù)據(jù)庫(kù),性能表現(xiàn)就會(huì)不同;而即使在內(nèi)存一定的情況下,SGA的分配也會(huì)對(duì)性能產(chǎn)生很大的影響。因此,要通過(guò)測(cè)試,
29、以確定內(nèi)存的最佳配置。發(fā)現(xiàn)一些軟件算法方面的缺陷一些多線程、同步并發(fā)算法在單用戶模式下測(cè)試是很難發(fā)現(xiàn)問(wèn)題的,只有通過(guò)模擬多用戶的并發(fā)操作,才能驗(yàn)證其運(yùn)行是否正常與穩(wěn)定。例如作者就經(jīng)歷過(guò)在一次性能測(cè)試過(guò)程中,測(cè)試人員模擬多個(gè)用戶并發(fā)時(shí)發(fā)現(xiàn)的一個(gè)明顯的缺陷:測(cè)試對(duì)象是一個(gè)隨機(jī)分配任務(wù)的模塊,只要有用戶申請(qǐng),就會(huì)給用戶分配任務(wù)。這個(gè)算法在單用戶情況下調(diào)試沒(méi)有任何問(wèn)題,但是當(dāng)多個(gè)用戶同時(shí)申請(qǐng)任務(wù)時(shí),就發(fā)生了把同一任務(wù)分配給多個(gè)不同用戶的現(xiàn)象。經(jīng)證實(shí),這個(gè)缺陷就是“同步算法”發(fā)生了問(wèn)題而引起的。系統(tǒng)的驗(yàn)收測(cè)試系統(tǒng)驗(yàn)收測(cè)試經(jīng)常會(huì)驗(yàn)證一些預(yù)期的性能指標(biāo),或者驗(yàn)證系統(tǒng)中一些事務(wù)指標(biāo)是否符合用戶期望,這時(shí)就需要
30、借助性能測(cè)試來(lái)完成驗(yàn)證工作。隨著用戶對(duì)性能的重視,現(xiàn)在性能測(cè)試幾乎是系統(tǒng)驗(yàn)收測(cè)試中必不可少的內(nèi)容之一。用戶甚至自己進(jìn)行專門(mén)的性能測(cè)試來(lái)驗(yàn)證系統(tǒng)上線前的性能,以保證運(yùn)行時(shí)的性能穩(wěn)定。因此,性能測(cè)試在用戶驗(yàn)收測(cè)試中越來(lái)越重要。系統(tǒng)容量規(guī)劃通過(guò)總結(jié)系統(tǒng)在不同硬件環(huán)境下的性能表現(xiàn),可以為系統(tǒng)部署時(shí)提供非常好的參考。對(duì)于一些性能要求較高的系統(tǒng),性能測(cè)試可以為硬件規(guī)劃提供很好的參考數(shù)據(jù),使用戶在購(gòu)買硬件時(shí)“有據(jù)可依”。例如同一系列機(jī)型:兩顆CPU系統(tǒng)支持500用戶并發(fā)、四顆CPU支持800用戶并發(fā),這些都是用戶根據(jù)自身需求來(lái)規(guī)劃硬件的重要依據(jù)。產(chǎn)品評(píng)估/選型產(chǎn)品評(píng)估/選型是性能測(cè)試的又一應(yīng)用領(lǐng)域。通過(guò)性能
31、測(cè)試,可以對(duì)產(chǎn)品的軟硬件性能進(jìn)行更全面的評(píng)估,選出更適合自己的產(chǎn)品類型。性能測(cè)試的應(yīng)用領(lǐng)域越來(lái)越廣,因此在實(shí)際工作中,性能測(cè)試往往會(huì)一次應(yīng)用在一個(gè)或多個(gè)領(lǐng)域。對(duì)于軟件性能測(cè)試設(shè)計(jì)人員,應(yīng)該根據(jù)測(cè)試的具體應(yīng)用領(lǐng)域、測(cè)試原則和目標(biāo)來(lái)進(jìn)行性能測(cè)試的規(guī)劃與設(shè)計(jì)。1.1.3 性能測(cè)試常見(jiàn)術(shù)語(yǔ)本節(jié)將介紹一些性能測(cè)試中的常見(jiàn)術(shù)語(yǔ),只有掌握這些基礎(chǔ)的性能測(cè)試知識(shí),才可以進(jìn)一步開(kāi)展測(cè)試工作。性能測(cè)試常見(jiàn)的術(shù)語(yǔ)主要有并發(fā)、并發(fā)用戶數(shù)量、請(qǐng)求響應(yīng)時(shí)間、事務(wù)響應(yīng)時(shí)間、吞吐量、吞吐率、TPS、點(diǎn)擊率、資源利用率等,下面分別介紹它們。并發(fā)狹義的并發(fā)一般分兩種情況。一種是嚴(yán)格意義上的并發(fā),即所有的用戶在同一時(shí)刻
32、做同一件事情或操作,這種操作一般針對(duì)同一類型的業(yè)務(wù)。例如在信用卡審批業(yè)務(wù)中,一定數(shù)目的用戶在同一時(shí)刻對(duì)已經(jīng)完成的審批業(yè)務(wù)進(jìn)行提交(操作的不是同一記錄);還有一種是特例,即所有用戶進(jìn)行完全一樣的操作,目的是測(cè)試數(shù)據(jù)庫(kù)和程序?qū)Σl(fā)操作的處理。例如在信用卡審批業(yè)務(wù)中,所有的用戶可以一起申請(qǐng)業(yè)務(wù),或者修改同一條記錄。另外一種并發(fā)是廣義的并發(fā)。這種并發(fā)與狹義的并發(fā)的區(qū)別是盡管多個(gè)用戶對(duì)系統(tǒng)發(fā)出了請(qǐng)求或進(jìn)行了操作,但是這些請(qǐng)求或操作可以是相同的,也可以是不同的。對(duì)整個(gè)系統(tǒng)而言,仍然有很多用戶同時(shí)對(duì)系統(tǒng)進(jìn)行操作,因此,仍然屬于并發(fā)的范疇??梢钥闯?,廣義的并發(fā)是包含狹義的并發(fā)的,而且廣義的并發(fā)更接近用戶的實(shí)際
33、使用情況,因?yàn)閷?duì)大多數(shù)系統(tǒng)而言,只有數(shù)量很少的用戶進(jìn)行“嚴(yán)格意義上的并發(fā)”。對(duì)于性能測(cè)試而言,這兩種并發(fā)一般都需要進(jìn)行測(cè)試,通常做法是先進(jìn)行嚴(yán)格意義上的并發(fā)測(cè)試。嚴(yán)格意義上的并發(fā)一般發(fā)生在使用比較頻繁的模塊中,盡管發(fā)生的概率不是特別高,但是一旦發(fā)生性能問(wèn)題,后果很可能是致命的。嚴(yán)格意義上的并發(fā)測(cè)試往往和功能測(cè)試關(guān)聯(lián)起來(lái),因?yàn)橹灰l(fā)功能遇到異常通常都是程序的問(wèn)題,這種測(cè)試也是健壯性和穩(wěn)定性測(cè)試的一部分。并發(fā)用戶數(shù)量關(guān)于并發(fā)用戶的數(shù)量,有兩種常見(jiàn)的錯(cuò)誤觀點(diǎn)。一種錯(cuò)誤觀點(diǎn)是把并發(fā)用戶數(shù)量理解為使用系統(tǒng)的全部用戶的數(shù)量,理由是這些用戶可能同時(shí)使用系統(tǒng);還有一種比較接近正確的觀點(diǎn)是把用戶在線數(shù)量理解為
34、并發(fā)用戶數(shù)量。實(shí)際上,在線用戶不一定會(huì)和其他用戶發(fā)生并發(fā),例如正在瀏覽網(wǎng)頁(yè)信息的用戶,對(duì)服務(wù)器是沒(méi)有任何影響的。但是,用戶在線數(shù)量是統(tǒng)計(jì)并發(fā)用戶數(shù)量的主要依據(jù)之一。并發(fā)主要針對(duì)服務(wù)器而言,是否并發(fā)的關(guān)鍵是看用戶的操作是否對(duì)服務(wù)器產(chǎn)生了影響。因此,并發(fā)用戶數(shù)量的正確理解是,在同一時(shí)刻與服務(wù)器進(jìn)行交互的在線用戶數(shù)量。這些用戶的最大特征是和服務(wù)器發(fā)生了交互,這種交互既可以是單向傳送數(shù)據(jù)的,也可以是雙向傳送數(shù)據(jù)的。并發(fā)用戶數(shù)量的統(tǒng)計(jì)方法目前還沒(méi)有準(zhǔn)確的公式,因?yàn)椴煌南到y(tǒng)會(huì)有不同的并發(fā)特點(diǎn)。例如OA系統(tǒng)統(tǒng)計(jì)并發(fā)用戶數(shù)量的經(jīng)驗(yàn)公式為:使用系統(tǒng)的用戶數(shù)量×(520)。對(duì)于這個(gè)公式,沒(méi)有必要拘泥于
35、計(jì)算出的結(jié)果,因?yàn)闉榱吮WC系統(tǒng)的擴(kuò)展空間,測(cè)試時(shí)的并發(fā)用戶數(shù)量都會(huì)稍稍大一些,除非要測(cè)試系統(tǒng)能承受的最大并發(fā)用戶數(shù)量。舉例說(shuō)明:如果一個(gè)OA系統(tǒng)的期望用戶為1 000個(gè),只要測(cè)試出系統(tǒng)能支持200個(gè)并發(fā)用戶就可以了。請(qǐng)求響應(yīng)時(shí)間請(qǐng)求響應(yīng)時(shí)間是指從客戶端發(fā)出請(qǐng)求到得到響應(yīng)的整個(gè)過(guò)程的時(shí)間。這個(gè)過(guò)程從客戶端發(fā)送一個(gè)請(qǐng)求開(kāi)始計(jì)時(shí),到客戶端接到從服務(wù)器端返回的響應(yīng)結(jié)果計(jì)時(shí)結(jié)束。在某些工具中,請(qǐng)求響應(yīng)時(shí)間通常會(huì)被稱為“TTLB”,即“Time to last byte”,意思是從發(fā)送一個(gè)請(qǐng)求開(kāi)始,到客戶端收到最后一個(gè)字節(jié)的響應(yīng)為止所耗費(fèi)的時(shí)間。請(qǐng)求響應(yīng)時(shí)間的單位一般為“秒”或“毫秒”。請(qǐng)求響應(yīng)時(shí)間的分解
36、如圖1-1所示。圖1-1 Web請(qǐng)求過(guò)程分解圖從圖1-1可以看出,請(qǐng)求響應(yīng)時(shí)間為“網(wǎng)絡(luò)響應(yīng)時(shí)間”和“應(yīng)用程序與系統(tǒng)響應(yīng)時(shí)間”之和,具體由7個(gè)部分組成,即(N1+N2+N3+N4)+(A1+A2+A3)。事務(wù)響應(yīng)時(shí)間事務(wù)可能由一系列請(qǐng)求組成,事務(wù)的響應(yīng)時(shí)間主要針對(duì)用戶而言,屬于宏觀上的概念,是為了向用戶說(shuō)明業(yè)務(wù)響應(yīng)時(shí)間而提出的。例如:跨行取款事務(wù)的響應(yīng)時(shí)間就是由一系列的請(qǐng)求組成的。事務(wù)響應(yīng)時(shí)間和后面的業(yè)務(wù)吞吐率都是直接衡量系統(tǒng)性能的參數(shù)。吞吐量指在一次性能測(cè)試過(guò)程中網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)量的總和。吞吐量/傳輸時(shí)間,就是吞吐率。吞吐率(Throughput)通常用來(lái)指單位時(shí)間內(nèi)網(wǎng)絡(luò)上傳輸?shù)臄?shù)
37、據(jù)量,也可以指單位時(shí)間內(nèi)處理的客戶端請(qǐng)求數(shù)量。它是衡量網(wǎng)絡(luò)性能的重要指標(biāo)。但是從用戶或業(yè)務(wù)角度來(lái)看,吞吐率也可以用“請(qǐng)求數(shù)/秒”或“頁(yè)面數(shù)/秒”、“業(yè)務(wù)數(shù)/小時(shí)或天”、“訪問(wèn)人數(shù)/天”、“頁(yè)面訪問(wèn)量/天”來(lái)衡量。例如在銀行卡審批系統(tǒng)中,可以用“千件/每小時(shí)”來(lái)衡量系統(tǒng)的業(yè)務(wù)處理能力。TPS(Transaction Per Second)每秒鐘系統(tǒng)能夠處理的交易或事務(wù)的數(shù)量。它是衡量系統(tǒng)處理能力的重要指標(biāo)。TPS是LoadRunner中重要的性能參數(shù)指標(biāo)。點(diǎn)擊率(Hit Per Second)每秒鐘用戶向Web服務(wù)器提交的HTTP請(qǐng)求數(shù)。這個(gè)指標(biāo)是Web應(yīng)用特有的一個(gè)指標(biāo):Web應(yīng)用是“請(qǐng)求-響
38、應(yīng)”模式,用戶發(fā)出一次申請(qǐng),服務(wù)器就要處理一次,所以“點(diǎn)擊”是Web應(yīng)用能夠處理交易的最小單位。如果把每次點(diǎn)擊定義為一次交易,點(diǎn)擊率和TPS就是一個(gè)概念。不難看出,點(diǎn)擊率越大,對(duì)服務(wù)器的壓力也越大。點(diǎn)擊率只是一個(gè)性能參考指標(biāo),重要的是分析點(diǎn)擊時(shí)產(chǎn)生的影響。需要注意的是,這里的點(diǎn)擊不是指鼠標(biāo)的一次“單擊”操作,因?yàn)樵谝淮巍皢螕簟辈僮髦?,客戶端可能向服?wù)器發(fā)出多個(gè)HTTP請(qǐng)求。資源利用率資源利用率指的是對(duì)不同系統(tǒng)資源的使用程度,例如服務(wù)器的CPU利用率、磁盤(pán)利用率等。資源利用率是分析系統(tǒng)性能指標(biāo)進(jìn)而改善性能的主要依據(jù),因此,它是Web性能測(cè)試工作的重點(diǎn)。資源利用率主要針對(duì)Web服務(wù)器、操作系統(tǒng)、數(shù)
39、據(jù)庫(kù)服務(wù)器、網(wǎng)絡(luò)等,是測(cè)試和分析瓶頸的主要參數(shù)。在性能測(cè)試中,要根據(jù)需要采集具體的資源利用率參數(shù)來(lái)進(jìn)行分析。1.2 全面性能測(cè)試模型通過(guò)前面的內(nèi)容可以看出,性能測(cè)試的很多內(nèi)容都是關(guān)聯(lián)的。這就提供了一條思路:性能測(cè)試的很多內(nèi)容可以經(jīng)過(guò)一定的組織來(lái)統(tǒng)一進(jìn)行。統(tǒng)一開(kāi)展性能測(cè)試的最大好處是,可以按照由淺入深的層次對(duì)系統(tǒng)進(jìn)行測(cè)試,進(jìn)而減少不必要的工作量,以實(shí)現(xiàn)節(jié)約測(cè)試成本的目的。為此,本書(shū)提出了“全面性能測(cè)試模型”。“全面性能測(cè)試模型”提出的主要依據(jù)是:一種類型的性能測(cè)試可以在某些條件下轉(zhuǎn)化成為另一種類型的性能測(cè)試,而這些測(cè)試的實(shí)施方式很類似。例如:對(duì)一個(gè)網(wǎng)站進(jìn)行測(cè)試,模擬10個(gè)到50個(gè)用戶
40、就是常規(guī)的性能測(cè)試。當(dāng)用戶增加到1000乃至上萬(wàn)時(shí)就變成了壓力/負(fù)載測(cè)試。如果同時(shí)對(duì)系統(tǒng)進(jìn)行大量的數(shù)據(jù)查詢操作,就包含了大數(shù)據(jù)量測(cè)試。在“全面性能測(cè)試模型”中,把常見(jiàn)的性能測(cè)試分為8個(gè)類別,然后結(jié)合測(cè)試工具把性能測(cè)試用例歸納為5類來(lái)進(jìn)行設(shè)計(jì)。下面首先介紹這8個(gè)性能測(cè)試類別的主要內(nèi)容:預(yù)期指標(biāo)的性能測(cè)試系統(tǒng)在需求分析和設(shè)計(jì)階段都會(huì)提出一些性能指標(biāo),完成和這些指標(biāo)相關(guān)的測(cè)試是性能測(cè)試的首要工作。本模型把針對(duì)預(yù)先確定的一些性能指標(biāo)而進(jìn)行的測(cè)試稱為預(yù)期指標(biāo)的性能測(cè)試。這些指標(biāo)主要指諸如“系統(tǒng)可以支持1000個(gè)并發(fā)用戶”、“系統(tǒng)響應(yīng)時(shí)間不得長(zhǎng)于10秒”等這些在產(chǎn)品說(shuō)明書(shū)等文檔中規(guī)定得十分明確的內(nèi)容。對(duì)這
41、種預(yù)先承諾的性能要求,測(cè)試小組應(yīng)該首先進(jìn)行測(cè)試驗(yàn)證。獨(dú)立業(yè)務(wù)性能測(cè)試獨(dú)立業(yè)務(wù)實(shí)際是指一些與核心業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù),這些模塊通常具有功能比較復(fù)雜、使用比較頻繁、屬于核心業(yè)務(wù)等特點(diǎn)。這類特殊的、功能比較獨(dú)立的業(yè)務(wù)模塊始終都是性能測(cè)試的重點(diǎn)。因此,不但要測(cè)試這類模塊和性能相關(guān)的一些算法,還要測(cè)試這類模塊對(duì)并發(fā)用戶的響應(yīng)情況。核心業(yè)務(wù)模塊在需求設(shè)計(jì)階段就可以確定,在集成或系統(tǒng)測(cè)試階段開(kāi)始單獨(dú)測(cè)試其性能。如果是系統(tǒng)類軟件或特殊應(yīng)用領(lǐng)域的軟件,通常從單元測(cè)試階段就開(kāi)始進(jìn)行測(cè)試,并在后繼的集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試中進(jìn)一步進(jìn)行,以保證核心業(yè)務(wù)模塊的性能穩(wěn)定。何時(shí)開(kāi)始測(cè)試核心模塊主要由性能測(cè)試策略決定,讀者
42、可以參考1.2.2節(jié)“性能測(cè)試用例模型”部分。組合業(yè)務(wù)性能測(cè)試通常所有的用戶不會(huì)只使用一個(gè)或幾個(gè)核心業(yè)務(wù)模塊,一個(gè)應(yīng)用系統(tǒng)的每個(gè)功能模塊都可能被使用到。所以性能測(cè)試既要模擬多用戶的“相同”操作(這里的“相同”指很多用戶使用同一功能),又要模擬多用戶的“不同”操作(這里的“不同”指很多用戶同時(shí)對(duì)一個(gè)或多個(gè)模塊的不同功能進(jìn)行操作),對(duì)多項(xiàng)業(yè)務(wù)進(jìn)行組合性能測(cè)試。組合業(yè)務(wù)測(cè)試是最接近用戶實(shí)際使用情況的測(cè)試,也是性能測(cè)試的核心內(nèi)容。通常按照用戶的實(shí)際使用人數(shù)比例來(lái)模擬各個(gè)模板的組合并發(fā)情況。由于組合業(yè)務(wù)測(cè)試是最能反映用戶使用情況的測(cè)試,因而組合測(cè)試往往和服務(wù)器(操作系統(tǒng)、Web服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器)性能
43、測(cè)試結(jié)合起來(lái)進(jìn)行。在通過(guò)工具模擬用戶操作的同時(shí),還通過(guò)測(cè)試工具的監(jiān)控功能采集服務(wù)器的計(jì)數(shù)器信息,進(jìn)而全面分析系統(tǒng)的瓶頸,為改進(jìn)系統(tǒng)提供有利的依據(jù)。疲勞強(qiáng)度性能測(cè)試疲勞強(qiáng)度測(cè)試是指在系統(tǒng)穩(wěn)定運(yùn)行的情況下,以一定的負(fù)載壓力來(lái)長(zhǎng)時(shí)間運(yùn)行系統(tǒng)的測(cè)試。其主要目的是確定系統(tǒng)長(zhǎng)時(shí)間處理較大業(yè)務(wù)量時(shí)的性能。通過(guò)疲勞強(qiáng)度測(cè)試基本可以判斷系統(tǒng)運(yùn)行一段時(shí)間后是否穩(wěn)定。大數(shù)據(jù)量性能測(cè)試大數(shù)據(jù)量測(cè)試通常是針對(duì)某些系統(tǒng)存儲(chǔ)、傳輸、統(tǒng)計(jì)查詢等業(yè)務(wù)進(jìn)行大數(shù)據(jù)量的測(cè)試。主要測(cè)試運(yùn)行時(shí)數(shù)據(jù)量較大或歷史數(shù)據(jù)量較大時(shí)的性能情況,這類測(cè)試一般都是針對(duì)某些特殊的核心業(yè)務(wù)或一些日常比較常用的組合業(yè)務(wù)的測(cè)試。由于大數(shù)據(jù)量測(cè)試一般在投產(chǎn)環(huán)境下
44、進(jìn)行,所以把它獨(dú)立出來(lái)并和疲勞強(qiáng)度測(cè)試放在一起,在整個(gè)性能測(cè)試的后期進(jìn)行。大數(shù)據(jù)量測(cè)試可以理解為特定條件下的核心業(yè)務(wù)或組合業(yè)務(wù)測(cè)試。網(wǎng)絡(luò)性能測(cè)試網(wǎng)絡(luò)性能測(cè)試主要是為了準(zhǔn)確展示帶寬、延遲、負(fù)載和端口的變化是如何影響用戶響應(yīng)時(shí)間的。在實(shí)際的軟件項(xiàng)目中,主要是測(cè)試應(yīng)用系統(tǒng)的用戶數(shù)目與網(wǎng)絡(luò)帶寬的關(guān)系。網(wǎng)絡(luò)性能測(cè)試一般有專門(mén)的工具,本書(shū)不加詳述。網(wǎng)絡(luò)測(cè)試的任務(wù)通常由系統(tǒng)集成人員來(lái)完成。服務(wù)器性能測(cè)試(操作系統(tǒng)、Web服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器)服務(wù)器性能測(cè)試主要是對(duì)數(shù)據(jù)庫(kù)、Web服務(wù)器、操作系統(tǒng)的測(cè)試,目的是通過(guò)性能測(cè)試找出各種服務(wù)器的瓶頸,為系統(tǒng)擴(kuò)展、優(yōu)化提供相關(guān)的依據(jù)。一些特殊測(cè)試主要是指配置測(cè)試、內(nèi)存泄
45、漏測(cè)試等一些特殊的Web性能測(cè)試。這類性能測(cè)試或/和前面的測(cè)試結(jié)合起來(lái)進(jìn)行,或者在一些特殊的情況下獨(dú)立進(jìn)行,本書(shū)重點(diǎn)討論前一種情況。后一種情況由于投入較大往往通過(guò)特有的工具進(jìn)行,可以不納入性能測(cè)試的范疇?!叭嫘阅軠y(cè)試模型”是在以上性能測(cè)試分類和總結(jié)的基礎(chǔ)上提出來(lái)的,主要包含3部分內(nèi)容:第1部分:性能測(cè)試策略模型,這是整個(gè)性能測(cè)試模型的基礎(chǔ)。軟件類型決定著性能測(cè)試的策略,同時(shí)用戶對(duì)待軟件性能的態(tài)度也影響性能測(cè)試策略的制定。本部分內(nèi)容主要結(jié)合軟件類型和用戶特點(diǎn)來(lái)討論性能測(cè)試策略制定的基本原則和方法。第2部分:性能測(cè)試用例模型,這是整個(gè)性能測(cè)試模型的核心部分。其主要思想就是結(jié)合測(cè)試工具,把以上性能
46、測(cè)試的8項(xiàng)內(nèi)容進(jìn)一步歸納,形成5類測(cè)試用例:l 預(yù)期指標(biāo)的性能測(cè)試;l 并發(fā)用戶的性能測(cè)試;l 疲勞強(qiáng)度和大數(shù)據(jù)量的性能測(cè)試;l 服務(wù)器性能測(cè)試;l 網(wǎng)絡(luò)性能測(cè)試。在具體的測(cè)試設(shè)計(jì)中,性能測(cè)試用例往往和測(cè)試工具結(jié)合起來(lái),把服務(wù)器、網(wǎng)絡(luò)性能測(cè)試的用例設(shè)計(jì)與前三種類型結(jié)合起來(lái)。例如LoadRunner就可以在進(jìn)行壓力測(cè)試的同時(shí),完成后面兩類測(cè)試的數(shù)據(jù)采集工作。因此,后面兩部分的測(cè)試用例只進(jìn)行總體設(shè)計(jì)就可以了。第3部分:模型的使用方法。本部分內(nèi)容討論如何在工作中使用“全面性能測(cè)試模型”。1.2.1 性能測(cè)試策略模型本節(jié)主要介紹性
47、能測(cè)試策略的制定方法。性能測(cè)試策略一般從需求設(shè)計(jì)階段就開(kāi)始討論如何制定了,它決定著性能測(cè)試工作將要投入多少資源、什么時(shí)間開(kāi)始實(shí)施等后繼工作的安排。其制定的主要依據(jù)是“軟件自身特點(diǎn)”和“用戶對(duì)性能的關(guān)注程度”兩個(gè)因素,其中軟件的自身特點(diǎn)起決定作用。軟件按照用途的不同可以分為兩大類:系統(tǒng)類軟件和應(yīng)用類軟件。系統(tǒng)類軟件通常對(duì)性能要求比較高,因此性能測(cè)試應(yīng)該盡早介入。應(yīng)用類軟件分為特殊類應(yīng)用和一般類應(yīng)用,特殊類應(yīng)用主要指銀行、電信、電力、保險(xiǎn)、醫(yī)療、安全等領(lǐng)域類的軟件,這類軟件使用比較頻繁,用戶較多,一般也要較早進(jìn)行性能測(cè)試;一般類應(yīng)用主要指一些普通應(yīng)用,例如辦公自動(dòng)化軟件、MIS系統(tǒng)等。一般應(yīng)用類軟
48、件多根據(jù)實(shí)際情況來(lái)制定性能測(cè)試策略,例如OA系統(tǒng),既可以早開(kāi)始,也可以最后進(jìn)行性能測(cè)試,這類軟件受用戶因素影響比較大。按對(duì)性能重視程度的不同一般可以將用戶分為4類,即高度重視、中等重視、一般重視、不重視。這么劃分主要是為了說(shuō)明用戶對(duì)性能測(cè)試的影響。實(shí)際上,用戶不關(guān)注性能并不意味著測(cè)試人員就可以忽略性能測(cè)試,但是如果用戶特別關(guān)注系統(tǒng)性能,那么測(cè)試人員也要特別重視性能測(cè)試工作。表1-1列出了性能測(cè)試策略制定的基本原則。 注意:這里的用戶是廣義范圍的用戶,包括所有和產(chǎn)品有利害關(guān)系的群體。因而不單單指最終使用產(chǎn)品的用戶,這些用戶既可以是提出需求的產(chǎn)品經(jīng)理,也可以是公司的董事會(huì)成員,甚至是項(xiàng)目
49、的研發(fā)人員。表1-1 性能測(cè)試策略制定的基本原則 軟件類別用戶重視程度系統(tǒng)類軟件應(yīng)用類軟件一般類應(yīng)用特殊類應(yīng)用高度重視從設(shè)計(jì)階段就開(kāi)始針對(duì)系統(tǒng)架構(gòu)、數(shù)據(jù)庫(kù)設(shè)計(jì)等方面進(jìn)行規(guī)劃,從根源來(lái)提高性能;系統(tǒng)類軟件一般從單元測(cè)試階段開(kāi)始進(jìn)行性能測(cè)試實(shí)施工作,主要是測(cè)試一些和性能相關(guān)的算法或模塊設(shè)計(jì)階段開(kāi)始進(jìn)行一些規(guī)劃工作,主要在系統(tǒng)測(cè)試階段開(kāi)始進(jìn)行性能測(cè)試實(shí)施從設(shè)計(jì)階段就開(kāi)始針對(duì)系統(tǒng)架構(gòu)、數(shù)據(jù)庫(kù)設(shè)計(jì)等方面進(jìn)行規(guī)劃,從根源來(lái)提高性能;特殊應(yīng)用類軟件一般從單元測(cè)試階段
50、開(kāi)始進(jìn)行性能測(cè)試實(shí)施工作,主要是測(cè)試一些和性能相關(guān)的算法或模塊中等重視/一般重視可以在系統(tǒng)測(cè)試階段的功能測(cè)試結(jié)束后進(jìn)行性能測(cè)試不重視可以在軟件發(fā)布前進(jìn)行性能測(cè)試,提交測(cè)試報(bào)告即可從表1-1中可以看出:(1)“系統(tǒng)類軟件”、“特殊應(yīng)用類軟件”應(yīng)該從設(shè)計(jì)階段開(kāi)始進(jìn)行性能測(cè)試;(2)制定性能測(cè)試策略的主要依據(jù)是軟件的特點(diǎn),用戶對(duì)待系統(tǒng)性能的態(tài)度影響性能測(cè)試策略,但不起決定作用。軟件的特點(diǎn)決定性能測(cè)試策略的另外一個(gè)重要原因是“一般應(yīng)用類軟件”本身對(duì)性能要求不高,發(fā)生性能問(wèn)題的概率較小。因此可以通過(guò)提高硬件配置來(lái)改善運(yùn)行環(huán)境,進(jìn)而提高性能。不過(guò)這也不是普遍適用的原則。例如一個(gè)幾千用戶使用的OA系統(tǒng),仍然
51、要高度重視性能,不管客戶對(duì)待系統(tǒng)性能是什么態(tài)度。雖然從硬件方面解決性能問(wèn)題往往更容易做到,同時(shí)還可以降低開(kāi)發(fā)成本,但是也不能要求用戶進(jìn)行過(guò)大的硬件投入,否則會(huì)降低“客戶滿意度”。調(diào)整性能最好的辦法還是軟硬件相結(jié)合。“用戶對(duì)待系統(tǒng)性能的態(tài)度影響性能測(cè)試策略,但不起決定作用”的根本原因是,產(chǎn)品最終是要交付給用戶使用的,而不是做出來(lái)給用戶欣賞的。因此,不管用戶是否重視性能測(cè)試,甚至根本不關(guān)心,對(duì)于性能要求較高的軟件產(chǎn)品也應(yīng)按照表1-1的策略來(lái)執(zhí)行性能測(cè)試。只是如果用戶特別重視產(chǎn)品性能,意味著測(cè)試團(tuán)隊(duì)可能要進(jìn)行更多的成本投入。下面是一些性能測(cè)試策略制定的案例。 案例一一個(gè)銀行卡審批業(yè)務(wù)系統(tǒng)的
52、性能測(cè)試策略制定。這個(gè)項(xiàng)目的性能測(cè)試策略從立項(xiàng)時(shí)開(kāi)始制定,貫穿整個(gè)項(xiàng)目的執(zhí)行過(guò)程。銀行卡業(yè)務(wù)系統(tǒng)屬于特殊應(yīng)用軟件,加上用戶高度重視性能,因而采取的策略是從設(shè)計(jì)階段就開(kāi)始進(jìn)行性能測(cè)試的準(zhǔn)備工作。案例的詳細(xì)內(nèi)容如表1-2所示。表1-2 某銀行項(xiàng)目測(cè)試策略制定案例產(chǎn)品類型銀行卡審批業(yè)務(wù)系統(tǒng),使用非常頻繁,業(yè)務(wù)量每年達(dá)到200萬(wàn)次左右,屬于銀行領(lǐng)域的特殊應(yīng)用軟件項(xiàng)目背景系統(tǒng)屬于二次開(kāi)發(fā)。前一開(kāi)發(fā)商在系統(tǒng)開(kāi)發(fā)完成后沒(méi)有通過(guò)性能測(cè)試,當(dāng)100個(gè)用戶并發(fā)訪問(wèn)系統(tǒng)時(shí)就會(huì)造成數(shù)據(jù)庫(kù)服務(wù)器崩潰。因此從項(xiàng)目啟動(dòng)開(kāi)始,性能測(cè)試就已經(jīng)成為用戶關(guān)注的焦點(diǎn)用戶要求用戶提出性能首先要過(guò)關(guān),否則功能再好也不會(huì)投產(chǎn)性
53、能測(cè)試策略從系統(tǒng)設(shè)計(jì)階段開(kāi)始進(jìn)行性能測(cè)試準(zhǔn)備工作。測(cè)試人員主要參加系統(tǒng)的設(shè)計(jì)、評(píng)審。前一開(kāi)發(fā)商失利的重要原因是數(shù)據(jù)庫(kù)設(shè)計(jì)不合理,所以重點(diǎn)討論了數(shù)據(jù)庫(kù)的設(shè)計(jì)系統(tǒng)設(shè)計(jì)階段,完成了性能測(cè)試方案的設(shè)計(jì)單元測(cè)試階段,通過(guò)測(cè)試工具對(duì)一些重要模塊的算法進(jìn)行了測(cè)試。主要是一些并發(fā)控制算法的性能測(cè)試,測(cè)試對(duì)象是一些核心業(yè)務(wù)模塊集成測(cè)試階段進(jìn)行組合模塊的性能測(cè)試整個(gè)系統(tǒng)測(cè)試階段都在進(jìn)行性能測(cè)試,性能測(cè)試和功能測(cè)試同步進(jìn)行。對(duì)功能測(cè)試引起的一些相關(guān)修改,立刻進(jìn)行性能測(cè)試驗(yàn)收測(cè)試階段,在用戶現(xiàn)場(chǎng)的投產(chǎn)環(huán)境進(jìn)行性能測(cè)試,根據(jù)測(cè)試結(jié)果對(duì)系統(tǒng)運(yùn)行環(huán)境進(jìn)行調(diào)優(yōu),以達(dá)到更好的運(yùn)行效果 案例二一個(gè)OA系統(tǒng)的測(cè)試案例,其
54、性能測(cè)試策略和案例一差別很大,具體內(nèi)容如表1-3所示。表1-3 某OA項(xiàng)目測(cè)試策略制定案例產(chǎn)品類型企業(yè)辦公系統(tǒng),用戶數(shù)目在1000人以內(nèi),主要是一些信息的發(fā)布,以及公文流轉(zhuǎn)、收發(fā)郵件等功能。軟件系統(tǒng)的地位屬于輔助辦公功能。因此該類軟件屬于一般類型的應(yīng)用軟件,對(duì)性能要求不高,性能測(cè)試不屬于重要工作項(xiàng)目背景已有穩(wěn)定產(chǎn)品在工作。主要是按照客戶的個(gè)性化需求進(jìn)行二次開(kāi)發(fā)用戶要求客戶提出了性能方面的需求:要求系統(tǒng)響應(yīng)時(shí)間要加快,可以滿足2000個(gè)用戶使用的需要性能測(cè)試策略系統(tǒng)測(cè)試階段開(kāi)始進(jìn)行性能測(cè)試準(zhǔn)備工作,完成測(cè)試用例設(shè)計(jì)。其目標(biāo)主要是評(píng)估系統(tǒng)性能,根據(jù)測(cè)試結(jié)果對(duì)系統(tǒng)進(jìn)行一定的優(yōu)化驗(yàn)收測(cè)試階
55、段在用戶現(xiàn)場(chǎng)執(zhí)行性能測(cè)試用例,根據(jù)測(cè)試結(jié)果進(jìn)行一定的調(diào)優(yōu)工作,提交測(cè)試報(bào)告給用戶以便進(jìn)行系統(tǒng)驗(yàn)收 案例三一個(gè)門(mén)戶系統(tǒng)的測(cè)試案例,具體內(nèi)容如表1-4所示。表1-4 某門(mén)戶項(xiàng)目測(cè)試策略制定案例產(chǎn)品類型主要用于一些單位信息的發(fā)布,用戶在50人以下。因此該類軟件屬于一般類型的應(yīng)用軟件,對(duì)性能要求很低項(xiàng)目背景軟件運(yùn)行的硬件環(huán)境較好用戶要求用戶沒(méi)有提出具體的要求性能測(cè)試策略驗(yàn)收測(cè)試在使用現(xiàn)場(chǎng)進(jìn)行,根據(jù)測(cè)試結(jié)果進(jìn)行一定的調(diào)優(yōu)工作,提交測(cè)試報(bào)告給用戶,以便進(jìn)行系統(tǒng)驗(yàn)收僅僅三個(gè)案例不足以說(shuō)明所有性能測(cè)試策略制定的方法,但是通過(guò)這三個(gè)案例可以對(duì)性能測(cè)試策略的制定有更進(jìn)一步的了解,能夠認(rèn)識(shí)到性
56、能測(cè)試策略的制定由軟件自身特點(diǎn)決定,同時(shí)受用戶態(tài)度的影響。實(shí)際上,軟件項(xiàng)目的背景、軟件運(yùn)行環(huán)境等許多方面都會(huì)影響性能測(cè)試策略的制定。因此,本節(jié)提出的只是基本的參考方案。制定測(cè)試策略是十分復(fù)雜的工作,最有效的方法就是“從實(shí)際出發(fā)”。項(xiàng)目的特點(diǎn)千差萬(wàn)別,只有把用戶當(dāng)成“上帝”,充分為用戶考慮,才可以制定出合理的性能測(cè)試策略。本節(jié)介紹了性能測(cè)試策略制定的基本思路和方法。性能測(cè)試策略是后期性能測(cè)試工作的基礎(chǔ),決定著性能測(cè)試工作的投入。因此,要充分意識(shí)到這一工作的重要性,認(rèn)識(shí)到只有做好了前期的“路線”制定工作,才可以走對(duì)后面的“道路”。1.2.2 性能測(cè)試用例模型“性能測(cè)試用例模型”是“全面
57、性能測(cè)試模型”的核心內(nèi)容。限于篇幅和本書(shū)主旨,本節(jié)僅對(duì)“性能測(cè)試用例模型”做概要介紹。關(guān)于“性能測(cè)試用例模型”以及“全面性能測(cè)試模型”更詳細(xì)的內(nèi)容,讀者可以參考作者的另一本專著Web性能測(cè)試實(shí)戰(zhàn)。在前面的內(nèi)容中,已經(jīng)介紹了性能測(cè)試分為8個(gè)方面。而在“性能測(cè)試用例模型”中,則融合了性能、強(qiáng)度、壓力、負(fù)載等多方面測(cè)試內(nèi)容,對(duì)性能測(cè)試進(jìn)行了重新組織和分類,最終歸納出五類性能測(cè)試用例。下面介紹各類性能測(cè)試用例包含的內(nèi)容以及設(shè)計(jì)方法。預(yù)期性能指標(biāo)測(cè)試用例所謂預(yù)期或預(yù)定性能指標(biāo),就是指一些十分明確的、在系統(tǒng)需求設(shè)計(jì)階段預(yù)先提出的、期望系統(tǒng)達(dá)到的,或者向用戶保證的性能指標(biāo),這些指標(biāo)是性能測(cè)試的首要任務(wù)。針對(duì)
58、每個(gè)指標(biāo)都要編寫(xiě)一個(gè)或多個(gè)測(cè)試用例來(lái)驗(yàn)證系統(tǒng)是否達(dá)到要求,如果達(dá)不到目標(biāo),則需根據(jù)測(cè)試結(jié)果來(lái)改進(jìn)系統(tǒng)的性能。預(yù)期指標(biāo)的用例設(shè)計(jì)比較簡(jiǎn)單,主要參考需求和設(shè)計(jì)文檔,把里面十分明確的性能要求提取出來(lái)即可。指標(biāo)中通常以單用戶為主,如果涉及并發(fā)用戶內(nèi)容,則歸并到并發(fā)用戶測(cè)試用例中進(jìn)行設(shè)計(jì),遇到其他內(nèi)容亦可采用同樣的方法處理。用戶并發(fā)性能測(cè)試用例本節(jié)的用戶并發(fā)測(cè)試融合了前面提到的“獨(dú)立業(yè)務(wù)性能測(cè)試”和“組合業(yè)務(wù)性能測(cè)試”兩類內(nèi)容,主要是為了使性能測(cè)試按照一定的層次來(lái)開(kāi)展。獨(dú)立業(yè)務(wù)性能測(cè)試實(shí)際上就是核心業(yè)務(wù)模塊的某一業(yè)務(wù)的并發(fā)性能測(cè)試,可以理解為“單元性能測(cè)試”;組合業(yè)務(wù)的性能測(cè)試是一個(gè)或多個(gè)模塊的多項(xiàng)業(yè)務(wù)
59、同時(shí)進(jìn)行并發(fā)性能測(cè)試,可以理解為“集成性能測(cè)試”?!皢卧阅軠y(cè)試”和“集成性能測(cè)試”兩者緊密相連,由于這兩部分內(nèi)容都是以并發(fā)用戶測(cè)試為主,因此把這兩類測(cè)試合并起來(lái)通稱為“用戶并發(fā)性能測(cè)試”。用戶并發(fā)性能測(cè)試要求選擇具有代表性的、關(guān)鍵的業(yè)務(wù)來(lái)設(shè)計(jì)測(cè)試用例,以便更有效地評(píng)測(cè)系統(tǒng)性能。當(dāng)編寫(xiě)具體的測(cè)試用例設(shè)計(jì)文檔時(shí),一般不會(huì)像功能測(cè)試那樣進(jìn)行明確的分類,其基本的編寫(xiě)思想是按照系統(tǒng)的體系結(jié)構(gòu)進(jìn)行編寫(xiě)的。很多時(shí)候,“獨(dú)立業(yè)務(wù)”和“組合業(yè)務(wù)”是混合在一起進(jìn)行設(shè)計(jì)的。單一模塊本身就存在“獨(dú)立業(yè)務(wù)”和“組合業(yè)務(wù)”,所以性能測(cè)試用例的設(shè)計(jì)應(yīng)該面向“模塊”,而不是具體的業(yè)務(wù)。在性能測(cè)試用例設(shè)計(jì)模型中,用戶并發(fā)測(cè)試實(shí)際就是關(guān)于“獨(dú)立核心模塊并發(fā)”和“組合模塊并發(fā)”的性能測(cè)試。用戶并發(fā)性能測(cè)試的詳細(xì)分類如圖1-2所示。圖1-2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【初中語(yǔ)文】第21課《望岳》教學(xué)課件2024-2025學(xué)年統(tǒng)編版語(yǔ)文七年級(jí)下冊(cè)
- 開(kāi)啟小學(xué)新篇章
- 2024-2025學(xué)年人教版高二化學(xué)選擇性必修3配套課件 提升課時(shí)1 烴燃燒耗氧量以及烴原子共線、共面的判斷
- 咖啡調(diào)制技能指導(dǎo)(第二版) 題庫(kù) -美式咖啡調(diào)制
- 輝煌成就與前路挑戰(zhàn)
- 高效應(yīng)聘手冊(cè)
- 星空科技創(chuàng)業(yè)計(jì)劃
- 幼兒園食品安全主題活動(dòng)
- 大學(xué)生創(chuàng)業(yè)環(huán)境研究
- 人員借調(diào)合同范例
- 研究生實(shí)驗(yàn)報(bào)告模板(word可修改)
- 部編版語(yǔ)文市級(jí)公開(kāi)教學(xué)講座《口語(yǔ)交際》培訓(xùn)課件
- 高中英語(yǔ)-新外研版必修一unit5-The-Monarchs-Journey-公開(kāi)課reading課件
- 建設(shè)項(xiàng)目用地預(yù)審與選址意見(jiàn)課件講解
- DB44∕T 1049-2012 物業(yè)服務(wù) 綠化養(yǎng)護(hù)檢查規(guī)范
- 腹膜透析治療的護(hù)理-課件資料
- 國(guó)家開(kāi)放大學(xué)《調(diào)劑學(xué)(本)》形考任務(wù)1-4參考答案
- 幼兒園小班繪本:《一步一步_走啊走》 PPT課件
- 《基礎(chǔ)和聲學(xué)》試習(xí)題庫(kù)(6套答案)
- 馬克思主義政治經(jīng)濟(jì)學(xué)課程講義
- SolidWorks、CAD三維建模練習(xí)習(xí)題圖
評(píng)論
0/150
提交評(píng)論