版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、“這個網(wǎng)站怎么今天打開這么慢”,“這個破電腦怎么反應這么慢”,這樣的話幾乎所有依賴電腦工作的人都抱怨過,尤其是當你還有工作亟需處理的時候,心急如焚的心情會使你恨不得把機器給砸了。其實這些都是性能問題的典型體現(xiàn)。剛才說的那些小例子其實還是危害比較低的情況,由于性能問題而導致的重大問題也屢見不鮮,中國銀聯(lián)業(yè)務曾經(jīng)因性能問題中斷6個小時,導致數(shù)百萬筆跨行交易無法進行,損失超過10億。大家都知道任何一個系統(tǒng)或者軟件的運行速度,取決于硬件配置和軟件運行速度兩個方面,那么我們現(xiàn)在遇上的性能問題是否能夠隨著硬件的發(fā)展而消失呢?1965年戈頓·摩爾提出了大名鼎鼎的摩爾定律,即“集成電路上可容納的晶體
2、管數(shù)目,約每隔18個月便會增加一倍,性能也將提升一倍,同時保持價格不變?!?1971年intel 公司發(fā)明了第一款面向商用的微處理器4004,這款劃時代的產(chǎn)品意味著人類拉開了個人電腦時代的帷幕。當時這款處理器的最高頻率只有740kHz 。時光流轉(zhuǎn)到2010年,現(xiàn)在CPU 的主頻已經(jīng)提升至3G 赫茲以上,摩爾定律作為一只看不見的手,依然發(fā)揮著作用?;厥走@30年的硬件發(fā)展,我們看見計算機的硬件運算能力在不斷提升,而我們軟件性能問題卻始終存在。因此我們可以得出結(jié)論,性能問題不能只依靠硬件的運行速度提升來解決,更多部分需要依靠軟件本身的設計和實現(xiàn)來解決問題。 由于性能問題的重要性,因此在軟件測試行業(yè)中
3、出現(xiàn)了專門的性能測試,性能測試的發(fā)展歷史基本和軟件測試同步。以往的性能測試主要是由開發(fā)工程師來完成,主要是因為之前的性能測試只能由手工編程實現(xiàn),測試人員一般缺乏性能測試的技術(shù)能力。目前隨著商業(yè)化的自動化性能測試軟件的出現(xiàn),性能測試開始逐步由測試工程師來完成,現(xiàn)在通用的性能測試軟件目前已經(jīng)發(fā)展了至少三代產(chǎn)品。1、 第一代的自動化性能測試軟件大概在二十年前開始,主要依靠通過特殊的硬件設備來錄制鍵盤輸入,以及回放腳本方式工作,這一代產(chǎn)品缺少檢查點的功能,而且測試腳本很難維護。2、 第二代自動化性能測試軟件出現(xiàn)在大約十五年前,此時錄制腳本功能已經(jīng)由特殊硬件設備轉(zhuǎn)為軟件來實現(xiàn),并且增加了檢查點的功能,可
4、以對軟件做驗證,測試的范圍也比硬件方式的自動化方式大了許多。同時測試腳本語言的可讀性大大增強,可維護性也比第一代產(chǎn)品有了極大提高。3、 在2001年開始出現(xiàn)第三代自動化性能測試軟件,主要標志為測試框架的出現(xiàn)。測試框架主要改進為將測試腳本抽象化和對象化,提高了測試腳本的復用性和可維護性,同時也讓非技術(shù)人員可以更方便的參與到性能測試過程中。軟件性能測試主要關注于系統(tǒng)的三方面特性:響應性、伸縮性和可靠性,這三個方面相互制約,缺一不可。 系統(tǒng)的響應性是目前軟件性能測試領域中被大家最熟知的特性。甚至在現(xiàn)在,很多性能測試工程師對于性能測試的理解只體現(xiàn)在響應性方面。簡單來說,系統(tǒng)響應性主要考慮的是在一定的負
5、載情況下,系統(tǒng)能夠在多少時間內(nèi)做出適當?shù)姆磻?。這個特性也是一般用戶在使用系統(tǒng)時能夠獲取的最直觀印象,也是用戶使用體驗非常關鍵的一項特性,我們通常說系統(tǒng)反應太慢,其實指的就是系統(tǒng)響應性問題。例如大家都使用的淘寶網(wǎng)站,我們在使用淘寶內(nèi)的訂單查詢功能時,就會發(fā)現(xiàn)在不同模塊其實有著不同的響應時間。在“訂單查詢”模塊中,我們查詢?nèi)齻€月之內(nèi)的訂單信息一般都能在3秒以內(nèi)出現(xiàn)結(jié)果,這個響應時間非常良好,而在“歷史訂單查詢”模塊中,我們查詢訂單一般都需要10秒以上的時間才能得到結(jié)果。這一點表明“歷史訂單查詢”的用戶體驗不如“訂單查詢”模塊。通常我們在做性能測試之前,需要對客戶的性能要求做需求調(diào)研和分析,對于用戶
6、使用頻率非常高的功能,我們需要嚴格保證系統(tǒng)響應時間不能過長,按照現(xiàn)在用戶通常的習慣,這些常用功能響應時間一般不能超過5秒鐘(5秒鐘是良好的用戶體驗時間的上限)。但是系統(tǒng)中確實可能存在非常消耗時間的功能,這些功能可能使用頻率不高,但是需要做復雜的計算和處理,在現(xiàn)有的軟硬件條件下,無論如何調(diào)優(yōu)都不可能達到5秒以內(nèi)的響應時間,例如比較龐大和復雜的報表等等,這些特殊功能我們最好能夠在需求調(diào)研階段把它識別出來,并且和客戶確認這部分的響應時間要求,避免在性能驗收的時候出現(xiàn)意外問題。性能測試的伸縮性和可靠性指標是我們做架構(gòu)評估和容量規(guī)劃等工作的重要依據(jù)。系統(tǒng)的伸縮性比較難以下嚴格定義,從最簡單的情況來看,可
7、伸縮性就是系統(tǒng)可以做更多的事情,而更多的事情可以是響應更多的用戶請求,執(zhí)行更多的工作,或處理更多的數(shù)據(jù)。通常我們做性能測試需求分析時,除了需要了解系統(tǒng)當前最多需要處理的用戶數(shù)或者事務數(shù),還需要考慮系統(tǒng)未來需要處理的用戶數(shù)或事務數(shù)。我們還是用淘寶系統(tǒng)來作例子,淘寶在2003年開發(fā)上線,系統(tǒng)上線前2個月,只有會員1.7萬,上網(wǎng)商品6.2萬件,日平均網(wǎng)頁瀏覽量達到30萬,日平均訪問人次有2.5萬。短短幾年間,淘寶業(yè)務不斷發(fā)展壯大,目前已經(jīng)達到在線商品數(shù)量突破一億,日均成交額超過兩億元人民幣,注冊用戶接近八千萬的規(guī)模。 在這這樣的業(yè)務壓力下,淘寶的系統(tǒng)架構(gòu)就需要有良好的伸縮性,在當初的系統(tǒng)設計時就需要
8、考慮軟件架構(gòu)能夠支持更多的并發(fā)用戶在線使用。伸縮性要求意味著我們在做性能測試需求分析時不能只考慮目前業(yè)務的最大壓力情況,同時需要考慮業(yè)務未來發(fā)展時,系統(tǒng)可能面臨的增加壓力狀態(tài)。因此軟件的伸縮性可以被定義為在不從根本上改變系統(tǒng)設計或架構(gòu)的情況下,通過逐步增加系統(tǒng)資源的方法,讓系統(tǒng)支持更多工作負載的能力。理想情況下,隨著系統(tǒng)資源的增加,系統(tǒng)處理工作負載的能力也應等比例增加,但是從實際情況來看,實現(xiàn)近乎線性的伸縮性通常來說非常困難,這是由于部署在在各個系統(tǒng)中不同組件之間存在著必不可少的管理、協(xié)調(diào)和溝通,而這些工作同樣會帶來大量開銷。另外在很多情況,系統(tǒng)架構(gòu)的優(yōu)劣決定了對于硬件性能是否能夠充分發(fā)揮,好
9、的系統(tǒng)架構(gòu)應該比較好的發(fā)揮出硬件性能,而不好的系統(tǒng)架構(gòu)會由于自身設計問題,導致無法發(fā)揮硬件性能。軟件可靠性是近年來越來越被業(yè)界所關注的性能測試領域。1983年美國IEEE 計算機學會對“軟件可靠性”作出了明確定義,此后該定義被美國標準化研究所接受為國家標準,1989年我國也接受該定義為國家標準。該定義包括兩方面的含義:(1)在規(guī)定的條件下,在規(guī)定的時間內(nèi),軟件不引起系統(tǒng)失效的概率;(2)在規(guī)定的時間周期內(nèi),在所述條件下程序執(zhí)行所要求的功能的能力;在我們在關注系統(tǒng)的伸縮性時,一定要同時關注可靠性。我們依舊用淘寶系統(tǒng)來做說明。淘寶在運行之初,用于用戶數(shù)并沒有特別高,因此系統(tǒng)壓力不大,軟件運行良好,
10、比較少出現(xiàn)系統(tǒng)無法使用或者失效的情況。但是當用戶數(shù)不斷增加時,即系統(tǒng)的伸縮性開始接受考驗時,系統(tǒng)提交單據(jù)超時的錯誤開始頻繁出現(xiàn),意味著可靠性也同時出現(xiàn)下降??煽啃院蜕炜s性都是考慮在壓力增加的情況下的系統(tǒng)反應情況,但是兩者存在區(qū)別。具有良好可靠性的系統(tǒng)是應該是在不出現(xiàn)故障的情況下對不斷增加的工作負載進行妥善處理的系統(tǒng)。此外,可靠系統(tǒng)不應該隨著工作負載的增加而出現(xiàn)崩潰的情況,只允許出現(xiàn)系統(tǒng)性能的緩慢下降,即在系統(tǒng)伸縮性出現(xiàn)增加時,系統(tǒng)可以變慢,但不應該出現(xiàn)崩潰。但是當系統(tǒng)壓力足夠大時,任何系統(tǒng)都可能會出現(xiàn)崩潰??煽啃愿叩南到y(tǒng)在此時需要能夠迅速恢復服務,并且保存崩潰之前的數(shù)據(jù)狀態(tài),不應該出現(xiàn)臟數(shù)據(jù)問題。完整系統(tǒng)的可靠性還可以體現(xiàn)在不同模塊中。例如淘寶系統(tǒng)中,商品查詢模塊的可靠性相對就比較低,因為大家對于查詢結(jié)果出現(xiàn)錯誤的容忍度相對較高,出現(xiàn)錯誤時再做一次查詢即可。但是使用訂單支付等模塊,特別是和費用相關的模塊時,客戶對于可靠性要求就非常高,這些模塊一旦出現(xiàn)可靠性問題時,客戶就會大大降低對于整個淘寶系統(tǒng)的信任度。因此淘寶系統(tǒng)架構(gòu)在設計時,就必須特別關注這些模塊的可靠性問題。 軟件性能測試的這三個性能特性是相互制約的,響應性是系統(tǒng)的直觀外在表現(xiàn),但是沒有伸縮性和可靠性保證的響應
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度行政合同行政主體特權(quán)在緊急情況下的適用合同4篇
- 2025版小學操場運動設施更新與維修合同3篇
- 體育會展客戶關系管理考核試卷
- 光纖通信在智能電網(wǎng)故障診斷中的應用考核試卷
- 2025年土地轉(zhuǎn)讓合同
- 2025版停車場消防設施建設與維護服務合同3篇
- 2025版木工材料研發(fā)與勞務合作合同范本3篇
- 2025年寫作創(chuàng)作分期付款合同
- 2025年加盟代理合約協(xié)議
- 2025年家庭矛盾仲裁協(xié)議
- 油氣行業(yè)人才需求預測-洞察分析
- 《數(shù)據(jù)采集技術(shù)》課件-Scrapy 框架的基本操作
- 2025年河北省單招語文模擬測試二(原卷版)
- 高一化學《活潑的金屬單質(zhì)-鈉》分層練習含答案解析
- 圖書館前臺接待工作總結(jié)
- 衛(wèi)生院藥品管理制度
- 理論力學智慧樹知到期末考試答案章節(jié)答案2024年中國石油大學(華東)
- 2024老年人靜脈血栓栓塞癥防治中國專家共識(完整版)
- 四年級上冊脫式計算100題及答案
- 上海市12校2023-2024學年高考生物一模試卷含解析
- 儲能電站火災應急預案演練
評論
0/150
提交評論