二、性能測試
網(wǎng)站的性能測試對于網(wǎng)站的運(yùn)行而言異常重要,但是目前對于網(wǎng)站的性能測試做的不夠,我們在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)也沒有一個(gè)很好的基準(zhǔn)可以參考,因而建立網(wǎng)站的性能測試的一整套的測試方案將是至關(guān)重要的。
網(wǎng)站的性能測試主要從三個(gè)方面進(jìn)行:連接速度測試、負(fù)荷測試(Load)和壓力測試(Stress),
連接速度測試指的是打開網(wǎng)頁的響應(yīng)速度測試。負(fù)荷測試指的是進(jìn)行一些邊界數(shù)據(jù)的測試,壓力測試更像是惡意測試,壓力測試傾向應(yīng)該是致使整個(gè)系統(tǒng)崩潰。
1、連接速度測試
用戶連接到Web應(yīng)用系統(tǒng)的速度根據(jù)上網(wǎng)方式的變化而變化,他們或許是電話撥號,或是寬帶上網(wǎng)。當(dāng)下載一個(gè)程序時(shí),用戶可以等較長的時(shí)間,但如果僅僅訪問一個(gè)頁面就不會(huì)這樣。如果Web系統(tǒng)響應(yīng)時(shí)間太長(例如超過5秒鐘),用戶就會(huì)因沒有耐心等待而離開。
另外,有些頁面有超時(shí)的限制,如果響應(yīng)速度太慢,用戶可能還沒來得及瀏覽內(nèi)容,就需要重新登陸了。而且,連接速度太慢,還可能引起數(shù)據(jù)丟失,使用戶得不到真實(shí)的頁面。
2、負(fù)載測試
負(fù)載測試是為了測量Web系統(tǒng)在某一負(fù)載級別上的性能,以保證Web系統(tǒng)在需求范圍內(nèi)能正常工作。負(fù)載級別可以是某個(gè)時(shí)刻同時(shí)訪問Web系統(tǒng)的用戶數(shù)量,也可以是在線數(shù)據(jù)處理的數(shù)量。例如:Web應(yīng)用系統(tǒng)能允許多少個(gè)用戶同時(shí)在線?如果超過了這個(gè)數(shù)量,會(huì)出現(xiàn)什么現(xiàn)象?Web應(yīng)用系統(tǒng)能否處理大量用戶對同一個(gè)頁面的請求?
3、壓力測試
負(fù)載測試應(yīng)該安排在Web系統(tǒng)發(fā)布以后,在實(shí)際的網(wǎng)絡(luò)環(huán)境中進(jìn)行測試。因?yàn)橐粋(gè)企業(yè)內(nèi)部員工,特別是項(xiàng)目組人員總是有限的,而一個(gè)Web系統(tǒng)能同時(shí)處理的請求數(shù)量將遠(yuǎn)遠(yuǎn)超出這個(gè)限度,所以,只有放在Internet上,接受負(fù)載測試,其結(jié)果才是正確可信的。
進(jìn)行壓力測試是指實(shí)際破壞一個(gè)Web應(yīng)用系統(tǒng),測試系統(tǒng)的反映。壓力測試是測試系統(tǒng)的限制和故障恢復(fù)能力,也就是測試Web應(yīng)用系統(tǒng)會(huì)不會(huì)崩潰,在什么情況下會(huì)崩潰。黑客常常提供錯(cuò)誤的數(shù)據(jù)負(fù)載,直到Web應(yīng)用系統(tǒng)崩潰,接著當(dāng)系統(tǒng)重新啟動(dòng)時(shí)獲得存取權(quán)。
壓力測試的區(qū)域包括表單、登陸和其他信息傳輸頁面等。
采用的測試工具:
性能測試可以采用相應(yīng)的工具進(jìn)行自動(dòng)化測試,我們目前采用如下工具
ab -----Apache 的測試工具
OpenSTA—開發(fā)系統(tǒng)測試架構(gòu)
三、接口測試
在很多情況下,web 站點(diǎn)不是孤立。Web 站點(diǎn)可能會(huì)與外部服務(wù)器通訊,請求數(shù)據(jù)、
驗(yàn)證數(shù)據(jù)或提交訂單。
1、 服務(wù)器接口
第一個(gè)需要測試的接口是瀏覽器與服務(wù)器的接口。測試人員提交事務(wù),然后查看服務(wù)器
記錄,并驗(yàn)證在瀏覽器上看到的正好是服務(wù)器上發(fā)生的。測試人員還可以查詢數(shù)據(jù)庫,確認(rèn)事務(wù)數(shù)據(jù)已正確保存。
2、 外部接口
有些 web 系統(tǒng)有外部接口。例如,網(wǎng)上商店可能要實(shí)時(shí)驗(yàn)證信用卡數(shù)據(jù)以減少欺詐行
為的發(fā)生。測試的時(shí)候,要使用 web 接口發(fā)送一些事務(wù)數(shù)據(jù),分別對有效信用卡、無效信用卡和被盜信用卡進(jìn)行驗(yàn)證。如果商店只使用 Visa 卡和 Mastercard 卡, 可以嘗試使用 Discover 卡的數(shù)據(jù)。(簡單的客戶端腳本能夠在提交事務(wù)之前對代碼進(jìn)行識(shí)別,例如 3 表示 American Express,4 表示 Visa,5 表示 Mastercard,6 代表Discover。)通常,測試人員需要確認(rèn)軟件能夠處理外部服務(wù)器返回的所有可能的消息。
3、錯(cuò)誤處理
最容易被測試人員忽略的地方是接口錯(cuò)誤處理。通常我們試圖確認(rèn)系統(tǒng)能夠處理所有錯(cuò)
誤,但卻無法預(yù)期系統(tǒng)所有可能的錯(cuò)誤。嘗試在處理過程中中斷事務(wù),看看會(huì)發(fā)生什么情況?
訂單是否完成?嘗試中斷用戶到服務(wù)器的網(wǎng)絡(luò)連接。嘗試中斷 web 服務(wù)器到信用卡驗(yàn)證服
務(wù)器的連接。在這些情況下,系統(tǒng)能否正確處理這些錯(cuò)誤?是否已對信用卡進(jìn)行收費(fèi)?如果
用戶自己中斷事務(wù)處理,在訂單已保存而用戶沒有返回網(wǎng)站確認(rèn)的時(shí)候,需要由客戶代表致
電用戶進(jìn)行訂單確認(rèn)。
相關(guān)推薦:考試吧策劃:2010年軟件水平考試完全指南北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |