啟動 SOAP 服務測試
當準備好我們的測試計劃之后可以啟動執(zhí)行壓力測試了,為了記錄測試結果和信息,要增加 Listener 來完成這個任務。JMeter 提供了可視化的界面以及統(tǒng)計報表來供我們選擇。這里我們使用表格(Summary Report)的形式來查看和分析測試結果。
你可以通過下面的步驟來給每個 Group 增加 Summary Report 監(jiān)視器 :
1. 選中 Test Plan 中要添加 Listener 的 Group 節(jié)點,這里我們選擇 SOAP Over JMS Group。
2. 右擊選擇 Add-->Listener-->Summary Report, 界面右邊會相應的出現(xiàn)我們選擇的 Listener 的設置信息。
在經(jīng)過一系列工作之后,已經(jīng)完成了整個 Test Plan,現(xiàn)在可以選擇 JMeter 菜單 run-->start 來啟動我們的壓力測試了。下圖是運行過程中測試統(tǒng)計數(shù)據(jù)的實時跟新信息。為了增加請求負載和獲得更有價值的數(shù)據(jù),我們可以更改線程數(shù)、等待時間和循環(huán)次數(shù)。
圖 5. 基于吞吐量的測試結果報表(Summary Report)
獲得的經(jīng)驗
總結:
使用 JMeter 來作為測試工具對 SOAP 協(xié)議的服務進行壓力和系統(tǒng)測試是一個很好選擇,選擇 JMeter 來進行 SOAP 測試具有以下顯著的優(yōu)點:首先 JMeter 提供了強大全面的 SOAP 請求 / 接收以及監(jiān)視功能,允許你執(zhí)行、捕獲在客戶端和服務器端的 SOAP 流量分析。其次,可以使用 JMeter 可以設計出高效、易維護的測試用例甚至測試計劃。后,我們可以選擇 JMeter 提供的符合我們情況的結果 Listener,并且可以從這些 Listener 中很容易的分析出系統(tǒng)或者是服務存在的問題和瓶頸?傮w上講,我們在 JMeter 測試框架中構建的 SOAP 測試計劃很好的完成了對 SOAP 協(xié)議的系統(tǒng)測試。下面詳細列出了我們在本次測試過程中獲得的技巧以及經(jīng)驗。
測試工具的選擇
測試工具在軟件和產(chǎn)品測試中是必不可少的,包括系統(tǒng)測試,壓力測試,性能測試以及功能測試。它也會與要測試的產(chǎn)品,測試的領域以及測試的重點有很大的關系。因此,選擇一款合適的測試工具對高效的完成測試是至關重要的。
設計高效的測試計劃
一個高效的測試用例集可以快速的診斷出系統(tǒng)的性能瓶頸。 為此應該全面的分析了解要測試系統(tǒng)的架構與應用,盡量避免盲目或者重復的測試用例,終來構建效率盡可能高的測試用例集。
盡量全面的系統(tǒng)監(jiān)控
軟件缺陷和系統(tǒng)性能瓶頸的診斷可能會需要各個方面的檢測數(shù)據(jù),它們對問題的解決會提供很大的幫助,因此測試過程中應該有全面的系統(tǒng)監(jiān)控,包括服務器的各項數(shù)據(jù)(CPU,I/O,MEM), 后臺數(shù)據(jù)庫的各項數(shù)據(jù),相應時間以及網(wǎng)絡流量等。
關注 SOAP 請求的超時(Timeout)
基于 SOAP 協(xié)議的請求,無論是 SOAP Over HTTP 還是 SOAP Over JMS 都會有請求超時(Timeout),引起請求超時的原因可能是多方面的(服務器的響應速度,效率,網(wǎng)絡帶寬等),合理的分析以及設置請求超時能更準確的掌握產(chǎn)品的性能情況。