當前位置:首頁 » 網頁前端 » web伺服器性能測試
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web伺服器性能測試

發布時間: 2022-05-29 09:52:17

❶ web測試中對客戶端和伺服器的性能測試都涉及到什麼

這種就類似於雲計算等後端基礎服務的測試,對於一些大的公司,會有一個專門的團隊來開發這種後端基礎服務,這種服務當然也需要測試人員來保證質量。

這類服務一般都是通過HTTP介面的方式提供給剛才講的WEB/APP的後端使用,所以,第一個要做的也就是介面測試,也就是用Postman等工具做手工測試、用TestNG+HttpClient或者Python的Nose框架做自動化測試。

不過,對於這類後端服務來說,介面只是暴露給外用的部分,內部邏輯通常是非常復雜的,所以,除了針對介面做測試之外,測試人員還需要細致地了解這些服務端產品的技術框架及技術實現,需要了解到模塊的級別,對於系統框架圖、時序圖等都有很好的理解。針對這些理解去設計用例,再跟開發一起討論如何實現用例。

如果這種基礎服務用了某一個開源軟體,那通常也需要測試人員能關注社區的進展,並把我們發現的Bug及解決方案等推到社區,為社區做貢獻。

除了介面測試之外,在我們公司,異常測試、穩定性測試、性能測試也是服務端測試必備的測試類型。
異常測試會模擬各種異常情況,比如硬體異常-機器掛掉的情況下能否啟動備機、硬碟掛掉的情況下是否會丟失數據;網路異常-網路忽然斷掉、或者網路流量變小的情況;系統異常-操作系統忽然掛掉的情況。這些極端的情況出現的時候,我們需要驗證數據有沒有丟、能不能盡快啟動備機對外提供服務、系統狀態有沒有異常等。我們會採用各種方式或者工具來模擬這些異常,比如用TrafficControl工具來控制網路流量。

穩定性測試,就是模擬系統在7*24的運行下會不會出問題,一般會用介面測試或者性能測試用例不斷地跑,在運行期間,我們會模擬各種情況,比如說負載的變化、系統的各種干擾等。可以用ChaosMonkey等工具來進行這類測試。

性能測試,其實細分起來會有各種類型,比如負載測試、壓力測試、配置測試、甚至還有線上壓測、容量規劃等。最常規的性能測試,一般是先規定一個系統需要承受的壓力,比如說,某一個系統,1個小時之內會有1W單的單子,那基於這個需求我們分析伺服器後端需要承受的壓力,分析出來以後,就寫性能測試腳本,然後逐漸增加壓測的力度,直到超過這個預定的壓力。通常在這個測試過程中會發現各種問題,比如資料庫索引沒有建、線程池太小、系統異常等。需要解決了之後再加大壓力測試。也是用Grinder/JMeter等工具來進行性能測試,不過難的不是這些工具的使用,而是發現問題以後的定位。

對於這種後端服務的測試人員來說,技術上的要求是挺高的,需要有較好的編程能力,需要對資料庫、操作系統等機制有很好的了解才行。

❷ web測試有哪些方面

第一,分析產品結構,明確性能測試的需求,包括並發、極限、配置和指標等方面的性能要求,必要時基於LOAD測試的相同測略需同時考慮穩定性測試的需求。
第一,分析應用場景和用戶數據,細分用戶行為和相關的數據流,確定測試點或測試介面,列示系統介面的可能瓶頸,一般是先主幹介面再支線介面,並完成初步的測試用例設計。
第三,依據性能測試需求和確定的測試點進行測試組網設計,並明確不同組網方案的重要程度或優先順序作為取捨評估的依據,必要時在前期產品設計中提出支持性能測試的可測試性設計方案和對測試工具的需求。
第四,完成性能測試用例設計、分類選擇和依據用戶行為分析設計測試規程,並准備好測試用例將用到的測試數據。
第五,確定採用的測試工具。
第六,進行初驗測試,以主幹介面的可用性為主,根據測試結果分析性能瓶頸,通過迭代保證基本的指標等測試的環境。
第七,迭代進行全面的性能測試,完成計劃中的性能測試用例的執行。
第八,完成性能測試評估報告。
在進行性能測試的時候,我們需要知道一些有效的性能指標,下面我們來列出一些主要的性能指標:
一是,通用指標(指Web應用伺服器、資料庫伺服器必需測試項):
*ProcessorTime:指伺服器CPU佔用率,一般平均達到70%時,服務就接近飽和;
*Memory Available Mbyte:可用內存數,如果測試時發現內存有變化情況也要注意,如果是內存泄露則比較嚴重;
*Physicsdisk Time :物理磁碟讀寫時間情況。
二是,Web伺服器指標:
*Avg Rps:平均每秒鍾響應次數=總請求時間/秒數;
*Avg time to last byte per terstion(mstes):平均每秒業務角本的迭代次數;*Successful Rounds:成功的請求;
*Failed Rounds:失敗的請求;
*Successful Hits:成功的點擊次數;
*Failed Hits:失敗的點擊次數;
*Hits Per Second:每秒點擊次數;
*Successful Hits Per Second:每秒成功的點擊次數;
*Failed Hits Per Second:每秒失敗的點擊次數;
*Attempted Connections:嘗試鏈接數。
三是,資料庫伺服器指標:
*User 0 Connections :用戶連接數,也就是資料庫的連接數量;
*Number of deadlocks:資料庫死鎖;
*Butter Cache hit:資料庫Cache的命中情況)。

可用性測試:1導航測試(Web應用系統的層次一旦決定,就要著手測試用戶導航功能,讓最終用戶參與這種測試,效果將更加明顯。)2圖形測試3內容測試3整體界面測試4客戶端兼容性測試(1平台測試2瀏覽器測試)5安全性測試(測試重點:(1)現在的Web應用系統基本採用先注冊,後登陸的方式。因此,必須測試有效和無效的用戶名和密碼,要注意到是否大小寫敏感,可以試多少次的限制,是否可以不登陸而直接瀏覽某個頁面等。(2)Web應用系統是否有超時的限制,也就是說,用戶登陸後在一定時間內(例如15分鍾)沒有點擊任何頁面,是否需要重新登陸才能正常使用。(3)為了保證Web應用系統的安全性,日誌文件是至關重要的。需要測試相關信息是否寫進了日誌文件、是否可追蹤。(4)當使用了安全套接字時,還要測試加密是否正確,檢查信息的完整性。(5)伺服器端的腳本常常構成安全漏洞,這些漏洞又常常被黑客利用。所以,還要測試沒有經過授權,就不能在伺服器端放置和編輯腳本的問題。 )

❸ Web測試的主要內容和測試方法有哪些


測試分類:


1、界面測試

1)給用戶的整體感:舒適感;憑感覺能找到想要找的信息;設計風格是否一致

2)各控制項的功能

2、功能測試

1)刪除/增加某一項:是否對其他項造成影響,這些影響是否都正確

2)列表默認值檢查

3)檢查按鈕功能是否正確:新建、編輯、刪除、關閉、返回、保存、導入、上一頁、下一頁、頁面跳轉、重置(常見錯誤)

4)字元串長度檢查:超出長度

5)字元類型檢查

6)標點符號檢查:空格、各種引號、Enter鍵

7)特殊字元:常見%、「、」

8)中文字元:是否亂碼

9)檢查信息完整:查看信息,查看所填信息是否完整更新;更新信息,更新信息與添加信息是否一致

10)信息重復:需唯一信息處,比如重復的名字或ID、重名是否區分大小寫、加空格

11)檢查刪除功能:不選擇任何信息,按Delete,看如何處理;選擇一個或多個進行刪除;多頁選、翻頁選刪除;刪除是否有提示

12)檢查添加和修改是否一致:添加必填項,修改也該必填;添加為什麼類型,修改也該什麼類型

13)檢查修改重名:修改時把不能重名的項改為已存在的內容

14)重復提交表單:一條已經成功提交的記錄,返回後再提交

15)檢查多次使用返回鍵:返回到原來頁面,重復多次

16)搜索檢查:存在或不存在內容,看搜索結果是否正確;多個搜索條件,同時輸入合理和不合理條件;特殊字元

17)輸入信息的位置

18)上傳下載文件檢查:功能是否實現,

上傳:上傳文件是否能打開、格式要求、系統是否有解釋信息、將不能上傳的文件格式修改後綴為可上傳的文件格式;

下載:下載是否能打開、保存、格式要求

19)必填項檢查:必填項未填寫;是否有提示,如加*;對必填項提示返回後,焦點是否自動定位到必填項

20)快捷鍵檢查:是否支持快捷鍵Ctrl+C、Ctrl+V、backspace;對不允許做輸入的欄位(如:下拉選項),對快捷方式是否也做了限制

21)Enter鍵檢查:輸入結束後按Enter鍵,系統如何處理

22)刷新鍵檢查:按瀏覽器刷新鍵如何處理

23)回退鍵檢查:按瀏覽器回退鍵如何處理

24)空格檢查:輸入項輸入一個或多個空格

25)輸入法半形全形檢查:比如,浮點型,輸入全形小數點「。」或「. 」,如4. 5;全形空格

26)密碼檢查:輸入加密方式的極限字元;密碼盡可能長

27)用戶檢查:不同種類管理員用戶的不同許可權,是否可以互相刪除、管理、編輯;一般用戶的許可權;注銷功能,老用戶注銷再注冊,是否為新用戶

28)系統數據檢查:數據隨業務過程、狀態的變化保持正確,不能因為某個過程出現垃圾數據,也不能因為某個過程而丟失數據。

29)系統可恢復性檢查:以各種方式把系統搞癱,測試系統是否可以迅速恢復

30)確認提示檢查:系統更新、刪除操作:是否有提示、取消操作;提示是否准確;事前、事後提示

31)數據注入檢查:對資料庫注入,特殊字元,對SQL語句進行破壞

32)時間日期檢查:時間、日期、時間驗證:日期范圍是否符合實際業務;對於不符合實際業務的日期是否有限制

33)多瀏覽器驗證

3、性能測試

1)壓力測試:實際破壞一個Web應用系統,測試系統的反應,測試系統的限制和故障恢復能力

2)負載測試:在某一負載級別上的性能,包括某個時刻同時訪問Web的用戶數量、在線數據處理的數量

3)強度測試:測試對象在性能行為異常或極端條件下(如資源減少或用戶過多)的可接受性,以此驗證系統軟硬體水平

4)資料庫容量測試:通過存儲過程往資料庫表中插入一定數量的數據,看是否能及時顯示

5)預期指標的性能測試:在需求分析和設計階段會提出一些性能指標,對於預先確定的性能要求要首先進行測試

6)獨立業務性能測試:對核心業務模塊做用戶並發測試,包括同一時刻進行完全一樣的操作、同一時刻使用完全一樣的功能

7)組合業務性能測試:模擬多用戶的不同操作,最接近實際用戶使用情況,按用戶實際的實際使用人數比例來模擬各個模塊的組合並發情況

8)疲勞強度性能測試:系統穩定運行情況下,以一定負載壓力來長時間運行系統的測試

9)網路性能測試:准確展示帶寬、延遲、負載、埠的變化是如何影響用戶的相應時間的

10)大數據量性能測試:實時大數據量,模擬用戶工作時的實時大數據量;極限狀態下的測試,系統使用一段時間,積累一段數據量時能否正常運行,以及對前面兩種進行結合

11)伺服器性能測試:在進行用戶並發性能測試、疲勞強度、大數據量性能測試時,完成對伺服器性能的監控,並進行評估

12)一些特殊的測試:配置測試、內存泄漏的一些特殊測試

4、可用性測試(介面測試)

1)整體界面測試

2)多媒體測試

3)導航測試

5、客戶端兼容性

平台測試:windows;unix;macintosh;linux

瀏覽器測試:不同廠商的瀏覽器對Java、Javascript、ActiveX、plug-ins或不同的HTML的規格

不同的支持;框架和層次結構在不同瀏覽器也不同的顯示

6、安全性

安全性測試要求:

1)能夠對密碼試探工具進行防範

2)能夠防範對Cookie攻擊的常用手段

3)敏感數據保證不用明文傳輸

4)能防範通過文件名猜測和查看html文件內容獲取重要信息

5)能保證在網站收到工具後在給定時間內恢復,重要數據丟失不超過1小時



web的性能測試工具:



隨著Web2.0技術的迅速發展,許多公司都開發了一些基於Web的網站服務,通常在設計開發Web應用系統的時候很難模擬出大量用戶同時訪問系統的實際情況。

因此,當Web網站遇到訪問高峰時,容易發生伺服器響應速度變慢甚至服務中斷。

為了避免這種情況,需要一種能夠真實模擬大量用戶訪問Web應用系統的性能測試工具進行壓力測試,來測試靜態HTML頁面的響應時間,甚至測試動態網頁(包括ASP、PHP、JSP等)的響應時間,為伺服器的性能優化和調整提供數據依據。


1、企業級自動化測試工具WinRunner



MercuryInteractive公司的WinRunner是一種企業級的功能測試工具,用於檢測應用程序是否能夠達到預期的功能及正常運行。



2、工業標准級負載測試工具Loadrunner

LoadRunner是一種預測系統行為和性能的負載測試工具



3、全球測試管理系統testdirector



TestDirector是業界第一個基於Web的測試管理系統,它可以在您公司內部或外部進行全球范圍內測試的管理。



4、功能測試工具RationalRobot



IBMRationalRobot是業界最頂尖的功能測試工具,它甚至可以在測試人員學習高級腳本技術之前幫助其進行成功的測試。

它集成在測試人員的桌面IBMRationalTestManager上,在這里測試人員可以計劃、組織、執行、管理和報告所有測試活動,包括手動測試報告。

這種測試和管理的雙重功能是自動化測試的理想開始。



5、單元測試工具xUnit系列



目前的最流行的單元測試工具是xUnit系列框架,常用的根據語言不同分為JUnit(java),CppUnit(C++),DUnit(Delphi),NUnit(.net),PhpUnit(Php)等等。

該測試框架的第一個和最傑出的應用就是由ErichGamma(《設計模式》的作者)和KentBeck(XP(ExtremeProgramming)的創始人)提供的開放源代碼的JUnit.



6、功能測試工具SilkTest



BorlandSilkTest2006屬於軟體功能測試工具,是Borland公司所提出軟體質量管理解決方案的套件之一。

這個工具採用精靈設定與自動化執行測試,無論是程序設計新手或資深的專家都能快速建立功能測試,並分析功能錯誤。



7、性能測試工具WAS



是由微軟的網站測試人員所開發,專門用來進行實際網站壓力測試的一套工具。

透過這套功能強大的壓力測試工具,您可以使用少量的Client端計算機模擬大量用戶上線對網站服務所可能造成的影響。



8、自動化白盒測試工具Jtest


Jtest是parasoft公司推出的一款針對java語言的自動化白盒測試工具,它通過自動實現java的單元測試和代碼標准校驗,來提高代碼的可靠性。

parasoft同時出品的還有C++test,是一款C/C++白盒測試工具。



9、功能和性能測試的工具JMeter



JMeter是Apache組織的開放源代碼項目,它是功能和性能測試的工具,100%的用java實現。



10、性能測試和分析工具WEBLOAD



webload是RadView公司推出的一個性能測試和分析工具,它讓web應用程序開發者自動執行壓力測試;webload通過模擬真實用戶的操作,生成壓力負載來測試web的性能。



(3)web伺服器性能測試擴展閱讀:


漏洞測試



企業網站做的越來越復雜、功能越來越強。不過這些都不是憑空而來的,是通過代碼堆積起來的。如果這個代碼只供企業內部使用,那麼不會帶來多大的安全隱患。

但是如果放在互聯網上使用的話,則這些為實現特定功能的代碼就有可能成為攻擊者的目標。

天眼舉一個簡單的例子。在網頁中可以嵌入SQL代碼。而攻擊者就可以利用這些SQL代碼來發動攻擊,來獲取管理員的密碼等等破壞性的動作。

有時候訪問某些網站還需要有某些特定的控制項。用戶在安裝這些控制項時,其實就有可能在安裝一個木馬(這可能訪問者與被訪問者都沒有意識到)。


為此在為網站某個特定功能編寫代碼時,就要主動出擊。從編碼的設計到編寫、到測試,都需要認識到是否存在著安全的漏洞。

天眼在日常過程中,在這方面對於員工提出了很高的要求。各個員工必須對自己所開發的功能負責。

已知的病毒、木馬不能夠在所開發的插件中有機可乘。通過這層層把關,就可以提高代碼編寫的安全性。

❹ 如何測試web伺服器的網速

電腦進入運行程序,輸入CMD,然後鍵入ping+空格+你的IP地址(+號無需輸入),按回車鍵就可以了。
如果是聯通寬頻用戶,可登陸網上營業廳www.10010.com 後,首頁點擊「我的聯通」-「便民服務」-「寬頻測速」,即可根據頁面提示信息進行測速。也可以使用寬頻號碼登錄聯通手機營業廳客戶端——查詢——寬頻業務查詢——立即測試(「寬頻測速」業務不支持免流)。
溫馨提示:以上路徑以網上營業廳實際顯示信息為准。

❺ web的功能測試怎樣測試

首先,查找需求說明、網站設計等相關文檔,分析測試需求。
制定測試計劃,確定測試范圍和測試策略,一般包括以下幾個部分:功能性測試;界面測試;性能測試;資料庫測試;安全性測試;兼容性測試

設計測試用例:
功能性測試可以包括,但不限於以下幾個方面:
鏈接測試。鏈接是否正確跳轉,是否存在空頁面和無效頁面,是否有不正確的出錯信息返回。
提交功能的測試。
多媒體元素是否可以正確載入和顯示。
多語言支持是否能夠正確顯示選擇的語言等。

界面測試可以包括但不限於一下幾個方面:
頁面是否風格統一,美觀
頁面布局是否合理,重點內容和熱點內容是否突出
控制項是否正常使用
對於必須但未安裝的控制項,是否提供自動下載並安裝的功能
文字檢查

性能測試一般從以下三個方面考慮:
壓力測試;負載測試;強度測試

資料庫測試要具體決定是否需要開展。資料庫一般需要考慮連結性,對數據的存取操作,數據內容的驗證等方面。

安全性測試:
基本的登錄功能的檢查
是否存在溢出錯誤,導致系統崩潰或者許可權泄露
相關開發語言的常見安全性問題檢查,例如SQL注入等
如果需要高級的安全性測試,確定獲得專業安全公司的幫助,外包測試,或者獲取支持

兼容性測試,根據需求說明的內容,確定支持的平台組合:
瀏覽器的兼容性;
操作系統的兼容性;
軟體平台的兼容性;
資料庫的兼容性

開展測試,並記錄缺陷。合理的安排調整測試進度,提前獲取測試所需的資源,建立管理體系(例如,需求變更、風險、配置、測試文檔、缺陷報告、人力資源等內容)。
定期評審,對測試進行評估和總結,調整測試的內容。

敲黑板!重點:推薦大家使用自動化測試工具TestWriter(測功能、測兼容性、測回歸的零編碼自動化測試工具 ),吼吼~

❻ 如何測試伺服器

一、伺服器測試方法分為兩個大方面,性能測試與功能測試。

在性能測試方面採用了新的測試方法,主要分為文件測試、資料庫性能測試與Web性能測試三個方面。其中,文件性能與資料庫性能採用美國Quest軟體公司的Benchmark Factory負載測試和容量規劃軟體,Web性能測試則使用了Spirent公司提供的Caw WebAvalanche測試儀。

❼ Web應用的測試內容都包括哪些方面

1、通用指標

指Web應用伺服器、資料庫伺服器必需測試項,包括:處理器時間:指伺服器CPU佔用率,一般平均達到70%時,服務就接近飽和。可用內存數:如果測試時發現內存有變化情況也要注意,如果是內存泄露則比較嚴重。物理磁碟讀寫時間。

2、Web伺服器指標

平均每秒響應次數為總請求時間與秒數之比。平均每秒業務腳本的迭代次數。成功的請求和失敗的請求。成功的點擊次數和失敗的點擊次數。每秒點擊次數、每秒成功的點擊次數和每秒失敗的點擊次數。嘗試連接數。

3、資料庫伺服器指標

用戶連接數,也就是資料庫的連接數量。資料庫死鎖量。資料庫緩存的命中情況。



(7)web伺服器性能測試擴展閱讀

對被測的Web應用程序進行需求分析,即對所做的測試作一個簡要的介紹,包括描述測試的目標和范圍,所測試的目標要實現一個什麼樣的功能,總結基本文檔、主要活動。

寫出測試策略和方法,這里包括測試開始的條件、測試的類型、測試開始的標准以及所測試的功能、測試通過或失敗的標准、結束測試的條件、測試過程中遇到什麼樣的情況終止和怎麼處理後恢復等。

一個Web應用程序由完成特定任務的各種Web組件(web components)構成的並通過Web將服務展示給外界。在實際應用中,Web應用程序由多個Servlet、JSP頁面、HTML文件以及圖像文件等組成。所有這些組件相互協調為用戶提供一組完整的服務。

❽ 可以用oracle對web系統進行性能測試嗎

Web性能測試
一、引言
隨著網路技術的迅速發展,尤其是WEB及其應用程序的普及,各類基於WEB的應用程序以其方便、快速,易操作等特點不斷成為軟體開發的重點。與此同時,隨著需求量與應用領域的不斷擴大,對WEB應用軟體的正確性、有效性和對WEB伺服器等方面都提出了越來越高的性能要求,對WEB應用程序進行有效的系統的測試也逐漸成為人們研究的重要課題。
目前可以見到各種WEB伺服器平台,然而根據Mereury的研究報告,98%的WEB伺服器都沒能達到人們所期望的性能,平均只能發揮人們所期望性能的1/6左右。WEB性能測試能夠確定影響WEB伺服器性能的關鍵因素,從而可以有針對性地進行分析和改進,避免WEB伺服器研究和優化過程中的盲目行為;同時,它也是選取不同的WEB伺服器的重要參考。
隨著WEB應用程序使用越來越廣泛,針對其性能測試的要求也越來越多,然而由於WEB程序綜合了大量的新技術,諸如HTML、JAVA、Javascript、VBScript等,同時它還依賴很多其它的因素,比如Link、Database、Network等,使得WEB應用程序測試變得非常復雜。例如:WEB壓力測試是評價一個WEB應用程序的主要手段,它的測試就是一個代表性的方面。
WEB應用程序的測試有別於傳統軟體的測試,它有其自身的特點。下面我們進行比較深入的討論。
二、WEB測試技術
(一)WEB應用程序體系結構
WEB應用程序採用B/S結構,它是伴隨著Internet技術的不斷進步,由C/S結構改進和發展起來的新型體系結構。在這種結構下,用戶界面完全通過WWW瀏覽器實現,一部分事務邏輯在前端實現,但是主要事務邏輯則在伺服器端實現,形成所謂3tier結構。B/S結構利用不斷成熟和普及的瀏覽器技術實現原來需要復雜專用軟體才能實現的強大功能,並節約了開發成本,是一種全新的軟體系統構造技術。這種結構更成為當今應用軟體開發的首選體系結構,目前最流行的mi?鄄crosoft.net也是在這樣一種背景下被提出來的架構。
傳統的軟體一般採用C/S結構,此結構把資料庫內容放在遠程的伺服器上,而在客戶機上安裝相應軟體。C/S軟體一般採用兩層結構,C/S結構在技術上很成熟,它的主要特點是交互性強、具有安全的存取模式、網路通信量低、響應速度快、利於處理大量數據。但是該結構的程序是針對性開發,變更不夠靈活,維護和管理的難度較大。
(二)WEB測試的內容與目的
在很多時候我們都把測試的目的定位為尋找軟體的BUG,而且是盡可能的找出BUG來,而測試人員所做的事情就是找軟體的毛病,只要找出毛病就可以了,這樣很容易帶了一系列的問題。比如測試人員給某網站做測試,並遞交了一份簡單的測試報告:「當100用戶共同按某提交按鈕時,發生大量的提交失敗」。對於測試人員來說,他已經完成了他自己的任務,找出了BUG,但是,這樣的測試報告對於開發人員和項目管理者卻毫無用處。報告中並未提及造成提交失敗的原因,是硬體資源不足、網路問題、支撐軟體參數設置錯誤還是應用開發問題等等。
測試的目的是證偽,但不能片面的理解為簡單的找不BUG就可以了。軟體測試應該經歷以下四個步驟:
1.測試人員描述發現的問題(找到BUG);
2.測試人員詳細闡明是在何種情況下測試發現的問題,包括測試的環境、輸入的數據、發現問題的類型、問題的嚴重程度等情況;
3.測試人員協同開發人員一起去分析BUG的原因,找出軟體的缺陷所在;
4.測試人員根據解決的情況進行分類匯總,以便日後進行軟體設計的時候提供參考,避免以後出現類似軟體缺陷。
(三)制定WEB測試計劃
當我們明確了測試的目的之後,真正開始針對一個WEB應用程序進行測試的時候,我們需要制定一套詳細的測試計劃,這樣才能順利的完成所有的測試內容,計劃的內容歸納為以下幾步:
1.首先對被測的WEB應用程序進行需求分析,即對你所做的測試做一個簡要的介紹,包括描述測試的目標和范圍,所測試的目標要實現一個什麼樣的功能,總結基本文檔,主要活動。
2.寫出測試策略和方法,這里包括測試開始的條件,測試的類型,測試開始的標准以及所測試的功能,測試通過或失敗的標准,結束測試的條件,測試過程中遇到什麼樣的情況終止和怎麼處理後恢復等。
3.確定測試環境的要求(包括軟體和硬體方面),選擇合適的測試工具。
4.主要針對你測試的行為,描述你測試的細節,包括測試用例列表,進度表,錯誤等級分析,對測試計劃的總結,和在測試過程會出現的風險分析等。
(四)測試的類型
WEB測試的類型包括內容測試、界面測試、功能測試、性能測試、兼容性測試、安全性測試等情況。內容測試、界面測試和兼容性測試都比較簡單,在此不再細談。WEB的功能測試與傳統的軟體測試區別不大,主要是在連接測試方面有點區別,數據的傳遞方面會稍微復雜點。由於WEB軟體都是採用B/S結構,客戶端所需的服務都是由伺服器提供的,所以主要是測試伺服器上軟體運行的性能。WEB應用程序的測試包括客戶端連接伺服器速度方面的測試和壓力測試這兩方面,性能測試的步驟:
第一,分析產品結構,明確性能測試的需求,包括並發、極限、配置和指標等方面的性能要求,必要時基於LOAD測試的相同測略需同時考慮穩定性測試的需求。
第一,分析應用場景和用戶數據,細分用戶行為和相關的數據流,確定測試點或測試介面,列示系統介面的可能瓶頸,一般是先主幹介面再支線介面,並完成初步的測試用例設計。
第三,依據性能測試需求和確定的測試點進行測試組網設計,並明確不同組網方案的重要程度或優先順序作為取捨評估的依據,必要時在前期產品設計中提出支持性能測試的可測試性設計方案和對測試工具的需求。
第四,完成性能測試用例設計、分類選擇和依據用戶行為分析設計測試規程,並准備好測試用例將用到的測試數據。
第五,確定採用的測試工具。
第六,進行初驗測試,以主幹介面的可用性為主,根據測試結果分析性能瓶頸,通過迭代保證基本的指標等測試的環境。
第七,迭代進行全面的性能測試,完成計劃中的性能測試用例的執行。
第八,完成性能測試評估報告。
在進行性能測試的時候,我們需要知道一些有效的性能指標,下面我們來列出一些主要的性能指標:
一是,通用指標(指Web應用伺服器、資料庫伺服器必需測試項):
*ProcessorTime:指伺服器CPU佔用率,一般平均達到70%時,服務就接近飽和;
*Memory Available Mbyte:可用內存數,如果測試時發現內存有變化情況也要注意,如果是內存泄露則比較嚴重;
*Physicsdisk Time :物理磁碟讀寫時間情況。
二是,Web伺服器指標:
*Avg Rps:平均每秒鍾響應次數=總請求時間/秒數;
*Avg time to last byte per terstion(mstes):平均每秒業務角本的迭代次數;*Successful Rounds:成功的請求;
*Failed Rounds:失敗的請求;
*Successful Hits:成功的點擊次數;
*Failed Hits:失敗的點擊次數;
*Hits Per Second:每秒點擊次數;
*Successful Hits Per Second:每秒成功的點擊次數;
*Failed Hits Per Second:每秒失敗的點擊次數;
*Attempted Connections:嘗試鏈接數。
三是,資料庫伺服器指標:
*User 0 Connections :用戶連接數,也就是資料庫的連接數量;
*Number of deadlocks:資料庫死鎖;
*Butter Cache hit:資料庫Cache的命中情況。
(五)測試工具介紹
1.ACT(或者MSACT)。ACT是微軟的Visual Studio 和Visual Studio.NET帶的一套進行程序測試的工具,ACT不但可以記錄程序運行的詳細數據參數,用圖表顯示程序運行狀況,而且安裝和使用都比較簡單,結果閱讀也很方便,是一套較理想的測試工具。
Microsoft Web Application Stress Tool (WAS):這個工具和ACT一樣是微軟的產品,但是這個工具沒有和Visual Studio集成,可以單獨使用。感覺這個程序現在還在測試,但是一些基本的功能已經很完備,可以完成ACT幾乎所有功能,而且WAS使用更加簡單,設置也更加完備明了。這個工具的另外一個特點是,它的報表是純文本文件,而不是流行的HTML文件格式,但內容方面一點也不遜色。
2.Open System Testing Architecture (OpenSTA)。OpenSTA的特點是可以模擬很多用戶來訪問需要測試的網站,它是一個功能強大、自定義設置功能完備的軟體,但這些設置大部分需要通過Script來完成,因此在真正的使用這個軟體之前,必須學習好它的Script編寫。如果需要完成很復雜的功能,Script的要求還比較高,當然,這也是它的優點,一些程序員不會在意這些Script的。這個軟體完全免費而且源代碼可以下載,可以自己修改達到特定的要求。
3.PureLoad。PureLoad是基於Java的測試工具,它的Script代碼完全使用XML,所以這些代碼的編寫很簡單,它的測試報表包含文字和圖形並可以輸出為HTML文件。由於是基於Java的軟體,所以可以通過Java Beans API來增強軟體功能。
4.QALoad。QALoad不單單測試WEB應用,還可以測試一些後台的東西,比如SQL Server等,只要是它支持的協議,都可以測試;另外一點,QALoad不但可以測試Windows,而且可以測試AIX, HP-UX 和 Solaris等系統。但是,這款軟體價格很高。
5.LoadRunner。Mercury LoadRunner是一種預測系統行為和性能的負載測試工具。通過以模擬上千萬用戶實施並發負載及實時性能監測的方式來確認和查找問題,LoadRunner能夠對整個企業架構進行測試。通過使用LoadRunner,企業能最大限度地縮短測試時間,優化性能和加速應用系統的發布周期。
對於財大氣粗的大公司而言,這款軟體可能比較適合,它的功能和QALoad相比不相上下,市面上著名的公司如IBM、SUN、Oracle等都用這個軟體。但是它的價格也高不可攀,和功能成正比。
三、進一步的工作與討論
隨著全面質量管理思想在軟體開發領域的應用和不斷向前推進,軟體測試也由最初的僅僅針對軟體成品擴展到了針對軟體半成品甚至過程產品的全過程測試,這是對軟體測試的一種必然擴充。WEB測試也會隨著這一思想,不斷地擴展到WEB軟體的各個生命周期中去,這將使WEB應用程序取得更高的質量,這也是我們以後需要進一步研究的內容。特別是對WEB壓力測試自適應模型的探索才剛剛開始,有很多不足之處,例如:目前的測試人機交互較多,而自動完成的步驟較少等,這些都有待日後的改進。
除了前面介紹的WEB壓力測試外,目前WEB測試的主要研究熱點還有:WEB應用測試的框架研究,WEB應用程序測試的對象模型研究及其應用,WEB測試的高度自動化研究等等,都將是未來一段時期內的研究重點。

❾ web伺服器的性能測試怎麼做

利用一些壓力測試軟體
如apache 自帶的ab命令
或者Web-Application-Stress