软件测试工具介绍
軟件測試工具介紹
?
目錄:
前言
JMeter?介紹
JMeter與LoadRunner比較
JMetet基本使用
?
前言
在第十四周的課堂上,王文娟老師發布了通過搜索資料和自學,在個人博客上介紹軟件測試工具的任務,因此,這是我為軟件工程綜合實踐專題課程第四次個人作業所寫的博客。
編寫此博客的心得:
本次介紹的軟件測試工具為JMeter,JMeter 是一個100%純Java桌面應用,用于壓力測試和性能測量。在使用過程中我發現,JMeter的一個很大的亮點在于,它能夠通過讓我們用斷言創造測試腳本來驗證我們的應用程序是否返回了我們期望的結果,從而幫助我們回歸測試我們的程序。為了最大的靈活性,JMeter 允許我們使用正則表達式創建斷言。
在這個實驗中,我遇到最大的困難在于Apache JMeter內Remote File與Local File的路徑填寫。解決方案是我翻閱了十幾篇文章,最后在一篇博客上找到了解決方案。從前幾次的原型設計,到學習githhub,從git上傳下載代碼的學習,到這次的軟件測試的個人作業,我都感受到了這門課程貫穿了整個開發的需求過程,從需求的找尋到最終成品的測試和展示都有跡可循,明白了真正成功的一款軟件在真正發布之前所需要做出的所有測試和努力。這是十分有利于我學習的。
?
?
JMeter?介紹
Apache JMeter是Apache組織開發的基于Java的壓力測試工具。用于對軟件做壓力測試,它最初被設計用于Web應用測試,但后來擴展到其他測試領域。 它可以用于測試靜態和動態資源,例如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、數據庫、FTP 服務器, 等等。JMeter 可以用于對服務器、網絡或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能。另外,JMeter能夠對應用程序做功能/回歸測試,通過創建帶有斷言的腳本來驗證你的程序返回了你期望的結果。
Apache jmeter 可以用于對靜態的和動態的資源(文件,Servlet,Perl腳本,java 對象,數據庫和查詢,FTP服務器等等)的性能進行測試。它可以用于對服務器、網絡或對象模擬繁重的負載來測試它們的強度或分析不同壓力類型下的整體性能。你可以使用它做性能的圖形分析或在大并發負載測試你的服務器/腳本/對象。
?
?
JMeter與LoadRunner比較
JMeter?是一款開源(有著典型開源工具特點:界面不美觀)測試工具,雖然與LoadRunner相比有很多不足,比如:它結果分析能力沒有LoadRunner詳細;很它的優點也有很多:
- 開源,他是一款開源的免費軟件,使用它你不需要支付任何費用,
- 小巧,相比LR的龐大(最新LR11將近4GB),它非常小巧,不需要安裝,但需要JDK環境,因為它是使用java開發的工具。
- 功能強大,jmeter設計之初只是一個簡單的web性能測試工具,但經過不段的更新擴展,現在可以完成數據庫、FTP、LDAP、WebService等方面的測試。因為它的開源性,當然你也可以根據自己的需求擴展它的功能。
兩者最大的區別:jmeter不支持IP欺騙,而LR支持。
?
?
JMeter基本使用
測試配置:
Windows7 i5-4590CPU @ 3.30GHz;RAM:8GB;64位操作系統
JDK 1.8
測試軟件 :Apache JMeter 3.0
?
1、FTP服務器建立過程
?
?
用戶名和密碼建立
?
?
2、1秒1線程訪問額
?
?
?
?
?
配置FTP請求缺省值
?
?
配置兩個FTP請求,分別為get和put。
?
get請求,即從服務器上下載軟件。Remote File的內容test1.txt默認存儲在ftp服務器設置的根目錄下,該文件必須是已經存在的文件,且該文件中最好是有數據的,否則會報錯。Local File是本地的文件存儲地址。
?
?
put請求,即從本地上傳文件到服務器。Remote File的內容test2.txt是一個服務器中沒有的文件。Local File是本地已存在的文檔。
?
?
創建監聽器:聚合報告,用表格查看結果,圖形結果。
?
?
?
?
?
3、1秒30線程訪問額
?
其他配置過程相同
?
4、1秒50線程訪問額
?
其他配置過程相同
?
5、1秒100線程訪問額
?
其他配置過程相同
?
6.、性能測試結果分析
1秒1線程訪問額
get:完成了1個sample,平均響應時間為57ms,響應時間的中值為57ms,所有sample中90%的sample的響應時間都小于57ms,最小響應時間為57ms,最大響應時間為57ms,錯誤率為0%。
put:完成了1個sample,平均響應時間為9ms,響應時間的中值為9ms,所有sample中90%的sample的響應時間都小于9ms,最小響應時間為9ms,最大響應時間為9ms,錯誤率為0%。
?
?
?
?
?1秒30線程訪問額
get:完成了30個sample,平均響應時間為28ms,響應時間的中值為17ms,所有sample中90%的sample的響應時間都小于62ms,最小響應時間為7ms,最大響應時間為97ms,錯誤率為0%。
put:完成了30個sample,平均響應時間為31ms,響應時間的中值為20ms,所有sample中90%的sample的響應時間都小于64ms,最小響應時間為12ms,最大響應時間為92ms,錯誤率為3.33%。
?
?
?
?
?
1秒50線程訪問額
get:完成了48個sample,平均響應時間為48ms,響應時間的中值為32ms,所有sample中90%的sample的響應時間都小于103ms,最小響應時間為7ms,最大響應時間為120ms,錯誤率為35.42%。
put:完成了48個sample,平均響應時間為45ms,響應時間的中值為28ms,所有sample中90%的sample的響應時間都小于111ms,最小響應時間為10ms,最大響應時間為128ms,錯誤率為47.92%。
?
?
?
?
1秒100線程訪問額
get:完成了97個sample,平均響應時間為38ms,響應時間的中值為26ms,所有sample中90%的sample的響應時間都小于83ms,最小響應時間為9ms,最大響應時間為103ms,錯誤率為69.07%。
put:完成了97個sample,平均響應時間為31ms,響應時間的中值為24ms,所有sample中90%的sample的響應時間都小于79ms,最小響應時間為6ms,最大響應時間為98ms,錯誤率為88.66%。
?
?
?
?
7、圖表一覽
注:Label1代表1秒1線程訪問額;Label2代表1秒30線程訪問額;Label3代表1秒50線程訪問額;Label4代表1秒100線程訪問額。
?
?
?
?
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/zxy1113/p/10965076.html
總結
- 上一篇: 单元测试工具JUnit
- 下一篇: 工具安装