軟件性能測(cè)試發(fā)展方向_第1頁(yè)
軟件性能測(cè)試發(fā)展方向_第2頁(yè)
軟件性能測(cè)試發(fā)展方向_第3頁(yè)
軟件性能測(cè)試發(fā)展方向_第4頁(yè)
軟件性能測(cè)試發(fā)展方向_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、“這個(gè)網(wǎng)站怎么今天打開(kāi)這么慢”,“這個(gè)破電腦怎么反應(yīng)這么慢”,這樣的話(huà)幾乎所有依賴(lài)電腦工作的人都抱怨過(guò),尤其是當(dāng)你還有工作亟需處理的時(shí)候,心急如焚的心情會(huì)使你恨不得把機(jī)器給砸了。其實(shí)這些都是性能問(wèn)題的典型體現(xiàn)。剛才說(shuō)的那些小例子其實(shí)還是危害比較低的情況,由于性能問(wèn)題而導(dǎo)致的重大問(wèn)題也屢見(jiàn)不鮮,中國(guó)銀聯(lián)業(yè)務(wù)曾經(jīng)因性能問(wèn)題中斷6個(gè)小時(shí),導(dǎo)致數(shù)百萬(wàn)筆跨行交易無(wú)法進(jìn)行,損失超過(guò)10億。大家都知道任何一個(gè)系統(tǒng)或者軟件的運(yùn)行速度,取決于硬件配置和軟件運(yùn)行速度兩個(gè)方面,那么我們現(xiàn)在遇上的性能問(wèn)題是否能夠隨著硬件的發(fā)展而消失呢?1965年戈頓·摩爾提出了大名鼎鼎的摩爾定律,即“集成電路上可容納的晶體

2、管數(shù)目,約每隔18個(gè)月便會(huì)增加一倍,性能也將提升一倍,同時(shí)保持價(jià)格不變。” 1971年intel 公司發(fā)明了第一款面向商用的微處理器4004,這款劃時(shí)代的產(chǎn)品意味著人類(lèi)拉開(kāi)了個(gè)人電腦時(shí)代的帷幕。當(dāng)時(shí)這款處理器的最高頻率只有740kHz 。時(shí)光流轉(zhuǎn)到2010年,現(xiàn)在CPU 的主頻已經(jīng)提升至3G 赫茲以上,摩爾定律作為一只看不見(jiàn)的手,依然發(fā)揮著作用?;厥走@30年的硬件發(fā)展,我們看見(jiàn)計(jì)算機(jī)的硬件運(yùn)算能力在不斷提升,而我們軟件性能問(wèn)題卻始終存在。因此我們可以得出結(jié)論,性能問(wèn)題不能只依靠硬件的運(yùn)行速度提升來(lái)解決,更多部分需要依靠軟件本身的設(shè)計(jì)和實(shí)現(xiàn)來(lái)解決問(wèn)題。 由于性能問(wèn)題的重要性,因此在軟件測(cè)試行業(yè)中

3、出現(xiàn)了專(zhuān)門(mén)的性能測(cè)試,性能測(cè)試的發(fā)展歷史基本和軟件測(cè)試同步。以往的性能測(cè)試主要是由開(kāi)發(fā)工程師來(lái)完成,主要是因?yàn)橹暗男阅軠y(cè)試只能由手工編程實(shí)現(xiàn),測(cè)試人員一般缺乏性能測(cè)試的技術(shù)能力。目前隨著商業(yè)化的自動(dòng)化性能測(cè)試軟件的出現(xiàn),性能測(cè)試開(kāi)始逐步由測(cè)試工程師來(lái)完成,現(xiàn)在通用的性能測(cè)試軟件目前已經(jīng)發(fā)展了至少三代產(chǎn)品。1、 第一代的自動(dòng)化性能測(cè)試軟件大概在二十年前開(kāi)始,主要依靠通過(guò)特殊的硬件設(shè)備來(lái)錄制鍵盤(pán)輸入,以及回放腳本方式工作,這一代產(chǎn)品缺少檢查點(diǎn)的功能,而且測(cè)試腳本很難維護(hù)。2、 第二代自動(dòng)化性能測(cè)試軟件出現(xiàn)在大約十五年前,此時(shí)錄制腳本功能已經(jīng)由特殊硬件設(shè)備轉(zhuǎn)為軟件來(lái)實(shí)現(xiàn),并且增加了檢查點(diǎn)的功能,可

4、以對(duì)軟件做驗(yàn)證,測(cè)試的范圍也比硬件方式的自動(dòng)化方式大了許多。同時(shí)測(cè)試腳本語(yǔ)言的可讀性大大增強(qiáng),可維護(hù)性也比第一代產(chǎn)品有了極大提高。3、 在2001年開(kāi)始出現(xiàn)第三代自動(dòng)化性能測(cè)試軟件,主要標(biāo)志為測(cè)試框架的出現(xiàn)。測(cè)試框架主要改進(jìn)為將測(cè)試腳本抽象化和對(duì)象化,提高了測(cè)試腳本的復(fù)用性和可維護(hù)性,同時(shí)也讓非技術(shù)人員可以更方便的參與到性能測(cè)試過(guò)程中。軟件性能測(cè)試主要關(guān)注于系統(tǒng)的三方面特性:響應(yīng)性、伸縮性和可靠性,這三個(gè)方面相互制約,缺一不可。 系統(tǒng)的響應(yīng)性是目前軟件性能測(cè)試領(lǐng)域中被大家最熟知的特性。甚至在現(xiàn)在,很多性能測(cè)試工程師對(duì)于性能測(cè)試的理解只體現(xiàn)在響應(yīng)性方面。簡(jiǎn)單來(lái)說(shuō),系統(tǒng)響應(yīng)性主要考慮的是在一定的負(fù)

5、載情況下,系統(tǒng)能夠在多少時(shí)間內(nèi)做出適當(dāng)?shù)姆磻?yīng)。這個(gè)特性也是一般用戶(hù)在使用系統(tǒng)時(shí)能夠獲取的最直觀印象,也是用戶(hù)使用體驗(yàn)非常關(guān)鍵的一項(xiàng)特性,我們通常說(shuō)系統(tǒng)反應(yīng)太慢,其實(shí)指的就是系統(tǒng)響應(yīng)性問(wèn)題。例如大家都使用的淘寶網(wǎng)站,我們?cè)谑褂锰詫殐?nèi)的訂單查詢(xún)功能時(shí),就會(huì)發(fā)現(xiàn)在不同模塊其實(shí)有著不同的響應(yīng)時(shí)間。在“訂單查詢(xún)”模塊中,我們查詢(xún)?nèi)齻€(gè)月之內(nèi)的訂單信息一般都能在3秒以?xún)?nèi)出現(xiàn)結(jié)果,這個(gè)響應(yīng)時(shí)間非常良好,而在“歷史訂單查詢(xún)”模塊中,我們查詢(xún)訂單一般都需要10秒以上的時(shí)間才能得到結(jié)果。這一點(diǎn)表明“歷史訂單查詢(xún)”的用戶(hù)體驗(yàn)不如“訂單查詢(xún)”模塊。通常我們?cè)谧鲂阅軠y(cè)試之前,需要對(duì)客戶(hù)的性能要求做需求調(diào)研和分析,對(duì)于用戶(hù)

6、使用頻率非常高的功能,我們需要嚴(yán)格保證系統(tǒng)響應(yīng)時(shí)間不能過(guò)長(zhǎng),按照現(xiàn)在用戶(hù)通常的習(xí)慣,這些常用功能響應(yīng)時(shí)間一般不能超過(guò)5秒鐘(5秒鐘是良好的用戶(hù)體驗(yàn)時(shí)間的上限)。但是系統(tǒng)中確實(shí)可能存在非常消耗時(shí)間的功能,這些功能可能使用頻率不高,但是需要做復(fù)雜的計(jì)算和處理,在現(xiàn)有的軟硬件條件下,無(wú)論如何調(diào)優(yōu)都不可能達(dá)到5秒以?xún)?nèi)的響應(yīng)時(shí)間,例如比較龐大和復(fù)雜的報(bào)表等等,這些特殊功能我們最好能夠在需求調(diào)研階段把它識(shí)別出來(lái),并且和客戶(hù)確認(rèn)這部分的響應(yīng)時(shí)間要求,避免在性能驗(yàn)收的時(shí)候出現(xiàn)意外問(wèn)題。性能測(cè)試的伸縮性和可靠性指標(biāo)是我們做架構(gòu)評(píng)估和容量規(guī)劃等工作的重要依據(jù)。系統(tǒng)的伸縮性比較難以下嚴(yán)格定義,從最簡(jiǎn)單的情況來(lái)看,可

7、伸縮性就是系統(tǒng)可以做更多的事情,而更多的事情可以是響應(yīng)更多的用戶(hù)請(qǐng)求,執(zhí)行更多的工作,或處理更多的數(shù)據(jù)。通常我們做性能測(cè)試需求分析時(shí),除了需要了解系統(tǒng)當(dāng)前最多需要處理的用戶(hù)數(shù)或者事務(wù)數(shù),還需要考慮系統(tǒng)未來(lái)需要處理的用戶(hù)數(shù)或事務(wù)數(shù)。我們還是用淘寶系統(tǒng)來(lái)作例子,淘寶在2003年開(kāi)發(fā)上線(xiàn),系統(tǒng)上線(xiàn)前2個(gè)月,只有會(huì)員1.7萬(wàn),上網(wǎng)商品6.2萬(wàn)件,日平均網(wǎng)頁(yè)瀏覽量達(dá)到30萬(wàn),日平均訪(fǎng)問(wèn)人次有2.5萬(wàn)。短短幾年間,淘寶業(yè)務(wù)不斷發(fā)展壯大,目前已經(jīng)達(dá)到在線(xiàn)商品數(shù)量突破一億,日均成交額超過(guò)兩億元人民幣,注冊(cè)用戶(hù)接近八千萬(wàn)的規(guī)模。 在這這樣的業(yè)務(wù)壓力下,淘寶的系統(tǒng)架構(gòu)就需要有良好的伸縮性,在當(dāng)初的系統(tǒng)設(shè)計(jì)時(shí)就需要

8、考慮軟件架構(gòu)能夠支持更多的并發(fā)用戶(hù)在線(xiàn)使用。伸縮性要求意味著我們?cè)谧鲂阅軠y(cè)試需求分析時(shí)不能只考慮目前業(yè)務(wù)的最大壓力情況,同時(shí)需要考慮業(yè)務(wù)未來(lái)發(fā)展時(shí),系統(tǒng)可能面臨的增加壓力狀態(tài)。因此軟件的伸縮性可以被定義為在不從根本上改變系統(tǒng)設(shè)計(jì)或架構(gòu)的情況下,通過(guò)逐步增加系統(tǒng)資源的方法,讓系統(tǒng)支持更多工作負(fù)載的能力。理想情況下,隨著系統(tǒng)資源的增加,系統(tǒng)處理工作負(fù)載的能力也應(yīng)等比例增加,但是從實(shí)際情況來(lái)看,實(shí)現(xiàn)近乎線(xiàn)性的伸縮性通常來(lái)說(shuō)非常困難,這是由于部署在在各個(gè)系統(tǒng)中不同組件之間存在著必不可少的管理、協(xié)調(diào)和溝通,而這些工作同樣會(huì)帶來(lái)大量開(kāi)銷(xiāo)。另外在很多情況,系統(tǒng)架構(gòu)的優(yōu)劣決定了對(duì)于硬件性能是否能夠充分發(fā)揮,好

9、的系統(tǒng)架構(gòu)應(yīng)該比較好的發(fā)揮出硬件性能,而不好的系統(tǒng)架構(gòu)會(huì)由于自身設(shè)計(jì)問(wèn)題,導(dǎo)致無(wú)法發(fā)揮硬件性能。軟件可靠性是近年來(lái)越來(lái)越被業(yè)界所關(guān)注的性能測(cè)試領(lǐng)域。1983年美國(guó)IEEE 計(jì)算機(jī)學(xué)會(huì)對(duì)“軟件可靠性”作出了明確定義,此后該定義被美國(guó)標(biāo)準(zhǔn)化研究所接受為國(guó)家標(biāo)準(zhǔn),1989年我國(guó)也接受該定義為國(guó)家標(biāo)準(zhǔn)。該定義包括兩方面的含義:(1)在規(guī)定的條件下,在規(guī)定的時(shí)間內(nèi),軟件不引起系統(tǒng)失效的概率;(2)在規(guī)定的時(shí)間周期內(nèi),在所述條件下程序執(zhí)行所要求的功能的能力;在我們?cè)陉P(guān)注系統(tǒng)的伸縮性時(shí),一定要同時(shí)關(guān)注可靠性。我們依舊用淘寶系統(tǒng)來(lái)做說(shuō)明。淘寶在運(yùn)行之初,用于用戶(hù)數(shù)并沒(méi)有特別高,因此系統(tǒng)壓力不大,軟件運(yùn)行良好,

10、比較少出現(xiàn)系統(tǒng)無(wú)法使用或者失效的情況。但是當(dāng)用戶(hù)數(shù)不斷增加時(shí),即系統(tǒng)的伸縮性開(kāi)始接受考驗(yàn)時(shí),系統(tǒng)提交單據(jù)超時(shí)的錯(cuò)誤開(kāi)始頻繁出現(xiàn),意味著可靠性也同時(shí)出現(xiàn)下降。可靠性和伸縮性都是考慮在壓力增加的情況下的系統(tǒng)反應(yīng)情況,但是兩者存在區(qū)別。具有良好可靠性的系統(tǒng)是應(yīng)該是在不出現(xiàn)故障的情況下對(duì)不斷增加的工作負(fù)載進(jìn)行妥善處理的系統(tǒng)。此外,可靠系統(tǒng)不應(yīng)該隨著工作負(fù)載的增加而出現(xiàn)崩潰的情況,只允許出現(xiàn)系統(tǒng)性能的緩慢下降,即在系統(tǒng)伸縮性出現(xiàn)增加時(shí),系統(tǒng)可以變慢,但不應(yīng)該出現(xiàn)崩潰。但是當(dāng)系統(tǒng)壓力足夠大時(shí),任何系統(tǒng)都可能會(huì)出現(xiàn)崩潰??煽啃愿叩南到y(tǒng)在此時(shí)需要能夠迅速恢復(fù)服務(wù),并且保存崩潰之前的數(shù)據(jù)狀態(tài),不應(yīng)該出現(xiàn)臟數(shù)據(jù)問(wèn)題。完整系統(tǒng)的可靠性還可以體現(xiàn)在不同模塊中。例如淘寶系統(tǒng)中,商品查詢(xún)模塊的可靠性相對(duì)就比較低,因?yàn)榇蠹覍?duì)于查詢(xún)結(jié)果出現(xiàn)錯(cuò)誤的容忍度相對(duì)較高,出現(xiàn)錯(cuò)誤時(shí)再做一次查詢(xún)即可。但是使用訂單支付等模塊,特別是和費(fèi)用相關(guān)的模塊時(shí),客戶(hù)對(duì)于可靠性要求就非常高,這些模塊一旦出現(xiàn)可靠性問(wèn)題時(shí),客戶(hù)就會(huì)大大降低對(duì)于整個(gè)淘寶系統(tǒng)的信任度。因此淘寶系統(tǒng)架構(gòu)在設(shè)計(jì)時(shí),就必須特別關(guān)注這些模塊的可靠性問(wèn)題。 軟件性能測(cè)試的這三個(gè)性能特性是相互制約的,響應(yīng)性是系統(tǒng)的直觀外在表現(xiàn),但是沒(méi)有伸縮性和可靠性保證的響應(yīng)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論