導航:首頁 > IDC知識 > web伺服器性能測試

web伺服器性能測試

發布時間:2021-02-10 22:36:48

1、web伺服器性能測試工具哪個好

利用一些壓力測試軟體
如apache 自帶的ab命令
或者Web-Application-Stress
我用的伺服器是小鳥雲的,挺不錯。

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

1、通用指標

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

2、Web伺服器指標

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

3、資料庫伺服器指標

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



(2)web伺服器性能測試擴展資料

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

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

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

3、httperf測試Web性能具體指的是什麼呢?

是前者,測試的是伺服器的負載能力

4、如何測試web伺服器的網速

功能測試、性能測試、安全性測試、配置和兼容性測試、可用性測試、鏈接測試等。
鏈接是Web應用系統用戶界面的主要特徵,它指引著Web用戶在頁面之間切換,以完成Web應用系統的功能
測試重點:鏈接是否正確、鏈接頁面是否存在、是否有孤立的頁面(沒有鏈接指向的頁面)等。
表單測試
表單(Form)是指網頁上用於輸入和選擇信息的文本框、列表框和其他域,實現用戶和Web應用系統的交互,當用戶給Web應用系統管理員提交信息時,需要使用表單操作,如用戶注冊、登錄、信息提交、查詢等
測試重點
表單控制項的正確性
提交信息的完整性、正確性
是否有錯誤處理
Cookie測試
Cookie通常標識用戶信息,記錄用戶狀態。
使用Cookie技術,當用戶使用Web應用系統時,能夠在訪問者的機器上創立一個叫做Cookie的文件,把部分信息(訪問過的頁面、登錄用戶名、密碼等)寫進去,來標識用戶狀態。如果該用戶下次再訪問這個Web應用系統,就能夠讀出這個文件裡面的內容,正確標識用戶信息
如果Web應用系統使用了Cookie,必須檢查Cookie是否能正常工作,是否按預定的時間進行保存內容
設計語言測試
在Web應用系統開發初始,根據工程的要求用文檔的形式確定Web應用系統使用哪個版本的HTML標准,允許使用何種腳本語言及版本,允許使用何種控制項,這樣可以有效的避免Web應用系統開發過程中出現設計語言問題。
其他測試
資料庫測試
面向任務、業務邏輯的測試
探查性測試
回歸測試
速度測試:
對於最終的Web應用系統用戶而言,最關心的性能問題是訪問Web應用系統頁面時,多長時間才能顯示出來所需要的頁面
通常情況下,響應時間不超過5秒
有些Web應用系統有超時限制,如果響應時間太慢,用戶可能還沒來得及瀏覽內容,就需要重新登錄了
影響響應時間的原因有很多
應用程序伺服器需要從資料庫的大量數據中檢索信息
伺服器硬體影響(CPU、內存)
所訪問頁面文件大小
網路連接帶寬
負載測試
負載測試是為了測量Web應用系統在一定負載情況下的系統性能,通常得出的結論是Web應用系統在一定的硬體條件下可以支持的並發用戶數目或者單位時間數據(或事件)的吞吐量。
在進行負載測試前,需要定義標准用戶(活動用戶)的概念,定義執行典型的系統流程,定義負載測試執行總時間,定義抓取哪些事務的平均響應時間,定義用戶可以接受的平均響應時間(通常為5秒)
測試時,增加用戶數量,平均響應時間就會增加,當達到用戶可以接受的平均響應時間這個臨界點,即是此系統可以支持的並發用戶數
壓力測試
對Web系統進行壓力測試,類似於普通機械、電子產品進行的破壞性試驗。方法是實際破壞Web應用系統,測試系統的反應
壓力測試是測試系統的限制和故障恢復能力,也就是測試Web應用系統會不會崩潰,在什麼情況下會崩潰,崩潰以後會怎麼樣。
在Web應用系統性能測試過程中,常常將壓力測試和負載測試結合起來。在負載測試的基礎上,增大負載量,直到系統崩潰
實施性能測試需要注意
測試工具靈活使用
性能測試計劃的制定
由於資料庫安全性導致的Web應用系統安全性問題
Access資料庫文件被
用戶重要信息沒有經過加密而存於資料庫中
確認操作系統安全性 ,避免因操作系統漏洞導致Web應用程序的安全性問題
Web應用系統多採用登錄的方式,產品發布時提供默認的管理員用戶名和密碼
確保應用系統實際應用中可修改默認管理員帳號和密碼
用戶名和密碼設置要求(長度、大小寫敏感、復雜度)
允許錯誤登錄的次數
是否可以不登錄而直接瀏覽某個頁面
保證日誌文件記錄了Web應用系統的主要操作過程,並可根據日誌文件追查到系統使用情況;同時還需要保證日誌文件本身的安全性、完整性,防止被入侵者刪除、獲得
當Web應用系統採用了SSL等加密技術之後,需要確認加密、解密後信息傳遞的正確性和完整性
需要確認Web應用系統是否有超時設置,如有,則保證在超時設置時間內,如果未操作Web應用系統,當再次訪問系統,需要重新登錄
了解安全漏洞信息,避免Web應用系統中出現的漏洞被入侵者利用;及時升級補丁程序,提高系統安全性
Web應用系統多採用分布式體系結構,伺服器端通常包括Web伺服器組件、資料庫伺服器組件等。伺服器還可能運行在不同的操作系統上,並且這些組件、操作系統等還可以有不同的配置方法,所以針對伺服器的兼容性測試往往工作量較大
針對客戶端瀏覽器的配置和兼容性測試是必不可少的,並且占據了Web應用系統客戶端配置和兼容性測試的大部分時間
典型的應用伺服器:
Web伺服器:
通過MS IIS、BEA Weblogic、IBM Websphere、Tomcat、Sun J2EE Application、Apache等中間件、插件,提供Internet/Intranet Web服務,實現與眾多客戶之間的數據交換和共享
資料庫伺服器
主要提供資料庫查詢、處理的,通過Oracle、SQLServer、Informix、DB2、Sybase、MySQL等中大型的資料庫管理系統來構建
實時通信伺服器
提供數據實時通信、消息傳遞等服務,如MSN、Yahoo message和ICQ等專用伺服器伺服器端配置和兼容性測試內容
Web伺服器、資料庫伺服器、防火牆、操作系統、硬體兼容性等。

5、webservice 性能測試 吞吐率和事務處理有什麼用

我們需要測試的webserivce 分兩種情況:帶有soapheader,需要進行並發性能測試;不帶有soapheader,需要進行單線程的大數據量測試,一個請求接著一個請求的發送。

現在的公司是做電信增值業務的。通過在客戶端構建的用戶對象,對所需的業務進行soapheader 的驗證後,再由webserivce 傳遞到伺服器端,伺服器接收到數據後,在電信的後台伺服器中進行業務處理,再將處理後的結果通過webserivce 返回給客戶端。

測試環境:

測試PC(一台LoadRunner測試主控台+N台負載生成器)、WebService伺服器、業務管理伺服器、資料庫伺服器

錄制腳本:
1.打開「Virtual User Generator」。
2.New一個virtual user,選擇「Web Services」,點擊「ok」。

3。在彈出的腳本頁面,選擇「 ScanWSDL」,在URL 中輸入要測試的webseri
vce URL,點擊「下一步」。

4.點擊「Open Validation Report」來驗證URL的有效性,點擊「下一步」

5.選擇你要測試Methods,點擊「下一步」

6.輸入Specify argument values,點擊「下一步」。

7.勾選「Run script. after generation」

8.設置「 run-time-settingwebserivceClient Emulation.Net」點擊「完成」,
loadrunner 將會自動產生腳本。

9.soapheader 的添加
在script. View 模式中可以看到在剛才錄制完後,腳本回放成功,但是這並不
代表你的webserivce 的功能正確,

6、標準的Web應用系統性能測試過程包括哪些步驟

功能測試、性能測試、安全性測試、配置和兼容性測試、可用性測試、鏈接測試等。
鏈接是Web應用系統用戶界面的主要特徵,它指引著Web用戶在頁面之間切換,以完成Web應用系統的功能
測試重點:鏈接是否正確、鏈接頁面是否存在、是否有孤立的頁面(沒有鏈接指向的頁面)等。
表單測試
表單(Form)是指網頁上用於輸入和選擇信息的文本框、列表框和其他域,實現用戶和Web應用系統的交互,當用戶給Web應用系統管理員提交信息時,需要使用表單操作,如用戶注冊、登錄、信息提交、查詢等
測試重點
表單控制項的正確性
提交信息的完整性、正確性
是否有錯誤處理
Cookie測試
Cookie通常標識用戶信息,記錄用戶狀態。
使用Cookie技術,當用戶使用Web應用系統時,能夠在訪問者的機器上創立一個叫做Cookie的文件,把部分信息(訪問過的頁面、登錄用戶名、密碼等)寫進去,來標識用戶狀態。如果該用戶下次再訪問這個Web應用系統,就能夠讀出這個文件裡面的內容,正確標識用戶信息
如果Web應用系統使用了Cookie,必須檢查Cookie是否能正常工作,是否按預定的時間進行保存內容
設計語言測試
在Web應用系統開發初始,根據軟體工程的要求用文檔的形式確定Web應用系統使用哪個版本的HTML標准,允許使用何種腳本語言及版本,允許使用何種控制項,這樣可以有效的避免Web應用系統開發過程中出現設計語言問題。
其他測試
資料庫測試
面向任務、業務邏輯的測試
探查性測試
回歸測試
速度測試:
對於最終的Web應用系統用戶而言,最關心的性能問題是訪問Web應用系統頁面時,多長時間才能顯示出來所需要的頁面
通常情況下,響應時間不超過5秒
有些Web應用系統有超時限制,如果響應時間太慢,用戶可能還沒來得及瀏覽內容,就需要重新登錄了
影響響應時間的原因有很多
應用程序伺服器需要從資料庫的大量數據中檢索信息
伺服器硬體影響(CPU、內存)
所訪問頁面文件大小
網路連接帶寬
負載測試
負載測試是為了測量Web應用系統在一定負載情況下的系統性能,通常得出的結論是Web應用系統在一定的硬體條件下可以支持的並發用戶數目或者單位時間數據(或事件)的吞吐量。
在進行負載測試前,需要定義標准用戶(活動用戶)的概念,定義執行典型的系統流程,定義負載測試執行總時間,定義抓取哪些事務的平均響應時間,定義用戶可以接受的平均響應時間(通常為5秒)
測試時,增加用戶數量,平均響應時間就會增加,當達到用戶可以接受的平均響應時間這個臨界點,即是此系統可以支持的並發用戶數
壓力測試
對Web系統進行壓力測試,類似於普通機械、電子產品進行的破壞性試驗。方法是實際破壞Web應用系統,測試系統的反應
壓力測試是測試系統的限制和故障恢復能力,也就是測試Web應用系統會不會崩潰,在什麼情況下會崩潰,崩潰以後會怎麼樣。
在Web應用系統性能測試過程中,常常將壓力測試和負載測試結合起來。在負載測試的基礎上,增大負載量,直到系統崩潰

7、如何進行web網站的性能測試設計

說通俗點,就是用工具開很多很多的線程,模擬請求伺服器。分析測試專工具中得到的數屬據,看伺服器是不是達到瓶頸。
當然實際中,肯定有很多東西要考慮,如
伺服器的CPU、IO、內存、帶寬是否瓶頸。
測試機器本身CPU、內存、帶寬是否達到瓶頸。
測試過程中還要考慮事務、集合點等等。
測試工具推薦Loadrunner,很強大的工具。

8、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 的性能測試工具:



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

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

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


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



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



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

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



3、全球測試管理系統testdirector



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



4、功能測試工具Rational Robot



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

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

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



5、單元測試工具xUnit系列



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

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



6、功能測試工具SilkTest



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

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



7、性能測試工具WAS



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

透過這套功能強大的壓力測試工具,您可以使用少量的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的性能。



(8)web伺服器性能測試擴展資料:


漏洞測試



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

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

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

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


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

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

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

9、web的功能測試怎樣測試

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

與web伺服器性能測試相關的知識