怎麼進行性能測試?

General 更新 2024-11-21

性能測試應該做哪些準備

環境搭建:這個根據實際規劃,我在企業內做過的性能測試搭建的環境都是和用戶上線使用的實際環境一樣的。

數據準備:個人感覺是整個工作裡第二耗時的,需要真實模擬用戶數據,這個不是單單的創建幾個帳號就完事的,每個用戶基本都會有不太一樣的配置,實際操作的時候部署數據的腳本都寫到手軟。

腳本編譯:選擇性能工具編譯性能腳本,你需要跑什麼業務流程就編譯什麼樣的腳本。

腳本執行:用規劃好的用戶數執行腳本,這個一般持續很長時間,時間太短不足以暴露服務器等的性能瓶頸,性能測試中最耗時的就是這個步驟。

收集日誌:在執行腳本完成後收集到的能客觀反應系統性能的日誌、報表文件,比如LR的報告、數據庫的AWR日誌等等。

分析結果:分析收集到的日誌、報表,找出性能瓶頸或是得出性能指標結果。這個一般需要對數據庫或者底層非常瞭解的專業人士來分析,一般測試人員只需要提供收集到的報告就差不多了。

生成報告:將上面所有的性能測試活動整理總結,輸出測試報告。

如何做好性能測試?

你好,首先很欣賞你的這種態度。我在TestBird 招聘新人的時候,也有很多小朋友覺得自己有多瞭解工具運用,有多熟練步驟過程,自我感覺很不錯。

其實,我卻想說,性能測試的重點不在性能測試工具的學習上。

當然,你也通過分析系統的壓力點、LR錄製腳本,設置用戶,做壓力,分析結果,整理測試報告。完成了性能測試的整個過程。那麼我說這個性能測試報告是有效的,但它不一定是有用的。

為什麼呢?因為在性能測試報告中,在你所在的環境中,你是測出了這樣的效果。並未摻假,全部真實的記錄。

為什麼說它不一定是有用的,你瞭解系統架構麼?知道數據庫、中間件、前端程序的運行方式和處理機制麼?瞭解網絡協議麼?瞭解操作系統麼?熟悉開發系統的語言麼,如java JVM的內在機理知道麼?這些都是系統運行的一部分,都在影響著系統的性能。如果不瞭解這些,你如何做出有價值的有參考意義的性能測試。

所以,學會這些性能測試工具很好,但是這僅僅是第一步。性能結果只是一些數據而已,知道你在做什麼,為什麼要做這些,做完後能給出有價值的東西,才是後面要慢慢修煉的。

移動客戶端的性能測試如何做?

。就當練習了。。大家看了不要噴我。。現在很多測試人員做移動端測試,可能主要還是關注功能和自動化測試。性能測試可能大多是按照每個人的體驗來做報告,是不是比較快,或者比較慢。當然也不乏有很多的測試人員會回覆我說,性能測試都是服務器的,移動端根本就不需要性能測試。我實在覺得可笑。 不過我畢竟一直在創業公司,而且就我一個人,所以瞭解可能有限,我這裡就說下我之前碰見的,所知道的,目的只是拋磚引玉。 另外,我這裡也不去說什麼MAT,instruments了,這種固有查找內存的工具大家自己google吧。 客戶端的性能從系統層面,電量消耗,網絡流量,內存洩漏等都是被關注,或者說用戶最最關注的點。 實例一,3rd 應用的性能測試。應用本身的響應時間可以通過call 應用intent來查看,設備純環境,設備低內存等各種情況下進行同樣此數的call,進行對比。或者與同行業同性質的應用進行對比測試。我相信很快就能夠有結論了。除了應用本身,還需要對於應用本身某些特別的功能進行響應測試。比如測試一個list,測試的方法為onkeydown之後查看這個list.index(0)是否高亮,是否正常的界面跳轉了,那麼分別進行計時(精確ms)。同樣的,我們在空list以及有幾百條list的情況進行這樣的case test,那麼就會有一個性能的結果出來。 實例二,假設你測試微薄客戶端,那麼你肯定是需要進行一個list上下滑動的性能測試。我們需要使用腳本語言shell或者python去call server api來仿造數據反饋到移動設備上,否則你不可能自己手動去發幾百條weibo然後再測試。測試的時候需要關注兩個問題,一個是list在各種情況下是否滑動流暢,一個是當list中有很多的圖片的時候圖片load的速度也是一個很大的測試點。這個load可以直接檢查imageview什麼時候load出來pic,什麼時候顯示在界面上,計算時間。這裡其實很多應用是webview,或者數據是存在服務器端的,這個時候無論是平時的測試還是壓力,還是性能,數據的修改,其實還是多使用腳本ping api比較好,能夠很好的去輔助達到性能測試的效果。 實例三,比如要測試一個優酷的視頻軟件,那麼視頻的播放的時候,首先保證網絡的情況下,各種分辨率各種碼率的視頻接入時間是需要關注。然後在播放,也就是和網絡不停的通信的同時,那麼需要通過tcp dump和wireshark工具來檢查網絡訪問是否正確,視頻的卡頓,視頻的花屏等除了硬件兼容之外,可以通過抓包來判斷其性能。如果丟包率高那麼自然視頻卡,體驗不好,性能也就不會好。 其實以上只是一些很基礎,現在很多公司也已經在這個基礎上改良測試了。不過也是一些思路,讓更多的企業和測試關注移動客戶端的性能。不要一提到性能腦中只有LR等這些Server測試。

為什麼要進行性能測試?

原因有三:

川. 開發者的水平各有不同,有的寫出來的東西性能高,有的低,所以需要統一測試一下。

2. 編程工具本身也有性能問題,用這樣的工具開發出來的軟件也要確認一下是否達到了需求所要求的性能指標,比如響應時間應該控制在多少秒以內。

3. 性能測試,強度測試都是為了測試系統的穩定性,穩定性好,軟件的質量就好,買的錢就多。

如何進行Web服務的性能測試

貼一篇我們內部的文章:

隨著瀏覽器功能的不斷完善,用戶量不斷的攀升,涉及到web服務的功能在不斷的增加,對於我們測試來說,我們不僅要保證服務端功能的正確性,也要驗證服務端程序的性能是否符合要求。那麼性能測試都要做些什麼呢?我們該怎樣進行性能測試呢?

性能測試一般會圍繞以下這些問題而進行:

1. 什麼情況下需要做性能測試?

2. 什麼時候做性能測試?

3. 做性能測試需要準備哪些內容?

4. 什麼樣的性能指標是符合要求的?

5. 性能測試需要收集的數據有哪些?

6. 怎樣收集這些數據?

7. 如何分析收集到的數據?

8. 如何給出性能測試報告?

性能測試的執行過程及要做的事兒主要包含以下內容:

1. 測試評估階段

在這個階段,我們要評估被測的產品是否要進行性能測試,並且對目前的服務器環境進行粗估,服務的性能是否滿足條件。

首先要明確只要涉及到準備上線的服務端產品,就需要進行性能測試。其次如果產品需求中明確提到了性能指標,那也必須要做性能測試。

測試人員在進行性能測試前,需要根據當前的收集到的各種信息,預先做性能的評估,收集的內容主要包括帶寬、請求包大小、併發用戶數和當前web服務的帶寬等

2. 測試準備階段

在這個階段,我們要了解以下內容:

a. 服務器的架構是什麼樣的,例如:web服務器是什麼?是如何配置的?數據庫用的是什麼?服務用的是什麼語言編寫的?;

b. 服務端功能的內部邏輯實現;

c. 服務端與數據庫是如何交互的,例如:數據庫的表結構是什麼樣的?服務端功能是怎樣操作數據庫的?

d. 服務端與客戶端之間是如何進行交互的,即接口定義;

通過收集以上信息,測試人員整理出服務器端各模塊之間的交互圖,客戶端與服務端之間的交互圖以及服務端內部功能邏輯實現的流程圖。

e. 該服務上線後的用戶量預估是多少,如果無法評估出用戶量,那麼可以通過設計測試執行的場景得出這個值;

f. 上線要部署到多少臺機器上,每臺機器的負載均衡是如何設計的,每臺機器的配置什麼樣的,網絡環境是什麼樣的。

g. 瞭解測試環境與線上環境的不同,例如網絡環境、硬件配置等

h. 制定測試執行的策略,是需要驗證需求中的指標能否達到,還是評估系統的最大處理能力。

i. 溝通上線的指標

通過收集以上信息,確定性能測試用例該如何設計,如何設計性能測試用例執行的場景,以及上線指標的評估。

3. 測試設計階段

根據測試人員通過之前整理的交互圖和流程圖,設計相應的性能測試用例。性能測試用例主要分為預期目標用戶測試,用戶併發測試,疲勞強度與大數量測試,網絡性能測試,服務器性能測試,具體編寫的測試用例要更具實際情況進行裁減。

用例編寫的步驟大致分為:

a. 通過腳本模擬單一用戶是如何使用這個web服務的。這裡模擬的可以是用戶使用web服務的某一個動作或某幾個動作,某一個功能或幾個功能,也可以是使用web服務的整個過程。

b. 根據客戶端的實際情況和服務器端的策略,通過將腳本中可變的數據進行參數化,來模擬多個用戶的操作。

c. 驗證參數化後腳本功能的正確性。

d. 添加檢查點

e. 設計腳本執行的策略,如每個功能的執行次數,各個功能的執行順序等

4. 測試執行階段

根據客戶端的產品行為設計web服務的測試執行場景及測試執行的過程,即測試執行期間發生的事兒。通過監控程序收集web服務的性能數據和web服務所在系統的性能數據。

在測試執行過程中,還要不斷的關注以下內容:

a. web服務的連接速度如何?

b. 每秒的點擊數如何?

c. Web服務能允許多少個用戶同時在線?

d. 如果超過了這......

網站性能測試主要有哪幾種方法?

我知道的性能測試主要有:壓力測試,負載測試,容量測試,紶發性能測試,兼容性測試(不同的操作系統和不同的瀏覽器)。測的時候應用在客戶端的性能、應用在網絡上的性能和應用在服務器端的性能都要進行測試的。

希望能幫到你。

怎麼才能做性能測試工程師?

性能測試實際上確實需要些功底兒,但是也並不是非得一兩年之後才去做。

我給你列幾條性能測試工作中的建議,你可以自己溫習一下,然後去面試,具體的經驗需要實際的工作才能得到,然而你紮實的基礎知識才識支撐你走下去的動力。

1,最直接也是最表面的建議,適用於面試:Loadrunner, HttpWatch, Dynatrace, TeamQuest, JMeter(可選), Wily(可選), HTML/HTTP, Webservice, Mainframe, DB. 這些東西足夠學很久很久的了,所以說需要幾年的工夫,但是沒必要每一樣都學太深,瞭解即可,經驗日後會積累到的。

2,相對比較深層的建議:性能測試最關鍵之處不是工具的選擇,而是對整個性能參數的理解,所以比較貼近於概念,比如說什麼是TPS, Response Time, Connection浮 per Second....還有就是什麼是CPU Utilization, FreeMem, Disk IO, Paging.... 工具也無非都是通過日積月累形成的客戶端,所以抓到本質才是關鍵。

不在這裡長篇大論了,呵呵,加油!

性能測試應該怎麼做

需求分析 - 測試設計 - 測試執行 - 結果分析

APP如何做性能測試

目前市面上有很多家做安全加密的平臺都有做安全檢測,但是大部分需要付費,如果說只是個小項目的話花錢去做的話成本太高,也不建議去做

你可以瞭解下愛內測這個平臺,專門做測試的,有安全檢測、兼容測試、插件評估等,雖然這個平臺也是付費的,但是他有免費的版本提供,個人覺得安全檢測免費版本已經足夠強大了,自動化生成測試報告,提供精準的檢測數據

希望可以幫助到你

服務端怎麼做性能測試

使用LR對數據庫進行性能測試,實際上有多種辦法,包括通過現有的數據庫協議進行CS模式的先錄製後執行的模式,以及通過socket方式向服務器發包方式的測試方式。這些是常規書籍上介紹的比較簡單上手的測試方法,但是不具備通用性,受已有協議或socket編程方式的限制,所以需要更為通用的測試方法。

用Java user的協議進行所有數據庫性能的測試工作:

Java user 不需要錄製,把所有的操作通過java語言進行實現,通過lr調用java的class進行加壓批量操作,這樣可以不關心被測系統是哪個數據庫,只要能夠通過jdbc進行訪問,就能實現性能測試。

一、測試環境準備

1. 被測服務器準備,根據測試目的,搭建需要的數據庫服務器,確保數據庫能夠正常訪問,正常操作;

2. Java代碼的準備,無論使用哪種IDE,只要能夠編寫訪問數據庫的class就可以,形式可以是j2se,也可以是j2ee,因為在操作時只使用class的部分方法,所以j2ee就可以了;

3. LR的腳本調試,把java的class導入到腳本調試模式,根據需要添加事務以及其他操作。

二、編寫數據庫訪問

1. 使用myeclipse,創建web project,創建如下圖的包目錄:

Java文件中包含各種訪問數據庫的方法。

需要注意的是,class中的方法必須是public static,否則LR中無法調用。由於創建的是j2ee程序,所以不用main函數,在web中就可以進行功能驗證。

確認class中的方法編寫完成,創建一個web.jsp文件,如下:

導入class

聲明類,並實例化,直接調用剛才編寫的3個方法,因為這3個方法是直接對數據庫進行操作,不需要實參,也沒有返回值,所以直接實現即可。

此時啟動web服務,在瀏覽器中輸入jsp的地址,直接刷新頁面,就可以調用這3個方法,如果正確,就會對相應的表進行操作,如果不正確,則需要修改相應的代碼。

2. LR腳本準備:

LR腳本實際上就是對訪問代碼的調用,關鍵在於需要根據測試場景劃分不同的腳本佈局。

例如:在myEclipse裡,我們只編寫了一個class,其中包含三個方法,如果在執行性能測試時,這三個方法相互獨立,互不干涉,則最簡單的劃分方法是,創建三個java user,每個java user中包含一個方法,做三份腳本,場景執行時分別進行調用。如果三個方法之間有相互關係,則需要根據實際情況,把有關聯的方法放在一起,具體情況可按實際靈活分配。

因為已經將class文件進行編譯發佈了,所以可以在“java2postgres\WebRoot\WEB-INF\classes\com\lr\test”目錄中找到對應的class文件,

複製這個文件,找到LR的目錄:HP\LoadRunner\classes\com\lr\test\ 如果沒有文件夾,按相同的內容創建。

在LR腳本中進行引包操作:

將需要執行的java類以及方法,放在action中,可根據實際測試情況和所需要驗證的內容,具體調試代碼。

在這裡可以像編寫普通LR腳本一樣,添加事務或集合點等內容。

由於是通過JDBC對數據庫進行訪問,因此要在java user中加載jdbc驅動。

運行時設置中,增加jdbc驅動,需要注意的是java user使用的本地jdk,需要至多1.6版......

相關問題答案
怎麼進行性能測試?
性能測試是什麼意思?
性能測試看什麼書?
性能測試包括什麼?
怎麼退出微信測試版?
怎麼進行拼音教學?
小學生怎樣進行性教育?
怎麼進行手機支付?
怎麼進行體育鍛煉?
怎麼進行頁面設置?