利用Jmeter做功能測試有以下優(yōu)點:
Ø 不依賴于界面,如果服務(wù)正常啟動,傳遞參數(shù)明確可以添加測試用例,執(zhí)行測試
Ø 測試腳本不需要編程,熟悉http請求,熟悉業(yè)務(wù)流程,可以根據(jù)頁面中input對象來編寫測試用例。
Ø 測試腳本維護(hù)方便,可以將測試腳本復(fù)制,并且可以將某一部分單獨保存。
Ø 可以跳過頁面限制,向后臺程序添加非法數(shù)據(jù),這樣可以測試后臺程序的健壯性。
Ø 利用badboy錄制測試腳本,可以快速的形成測試腳本
Ø Jmeter斷言可以驗證代碼中是否有需要得到的值
Ø 使用參數(shù)化以及Jmeter提供的函數(shù)功能,可以快速完成測試數(shù)據(jù)的添加修改等
利用Jmeter做功能測試有以下缺點:
Ø 使用Jmeter無法驗證JS程序,也無法驗證頁面,所以需要手工去驗證。
Ø Jmeter的斷言功能不是很強(qiáng)大
Ø 算是jmeter腳本順利執(zhí)行,依舊無法確定程序是否正確執(zhí)行,有時候需要進(jìn)入程序查看,或者查看Jmeter的響應(yīng)數(shù)據(jù)。
Ø Jmeter腳本的維護(hù)需要保存為本地文件,而每個腳本文件只能保存一個測試用例,不利于腳本的維護(hù)。
Jmeter和其他功能測試工具在使用中的比較:
Ø Jmeter比較適用于數(shù)據(jù)添加,數(shù)據(jù)修改,數(shù)據(jù)查詢的測試,使用其他測試工具雖然也可以完成該類測試,但是利用Jmeter添加數(shù)據(jù)更快,更方便,而且不依賴于界面,只要添加數(shù)據(jù)的參數(shù)不改變,無論界面是否有變動,都不影響針對數(shù)據(jù)的操作。
Ø Jmeter不需要要關(guān)注對象是否被識別的問題,而其他測試工具在錄制過程中,很容易出現(xiàn)頁面對象不能被錄制工具識別的問題,因此適用Jmeter,省略了很多關(guān)于對象操作的麻煩,更易于使用。
Ø Jmeter的適用更主要的是依賴于對被測項目的認(rèn)知和熟悉,而對于Jmeter自身的適用技巧要求并不是很高,而其他測試工具,關(guān)于工具本身需要較長時間的學(xué)習(xí)。
Ø Jmeter能夠?qū)?fù)雜的業(yè)務(wù)邏輯進(jìn)行處理,而對這些復(fù)雜業(yè)務(wù)邏輯的處理,主要是運用Jmeter自身所帶的配置元件來達(dá)到,對錄制的腳本的修改不大,而使用其他測試工具,要實現(xiàn)復(fù)雜業(yè)務(wù)邏輯的測試,則需要對錄制的腳本進(jìn)行修改,需要工具使用人員有一點的編程能了,因此,使用Jmeter進(jìn)行測試對測試人員編程能力的要求不高,同時節(jié)省大量的修改腳本的時間。
Ø 其他測試工具的測試腳本可以通過CVS等版本控制工具進(jìn)行管理,而Jmeter的測試腳本的管理不知道是否可以納入版本控制,因此,其他測試工具比較適用于大型的,系統(tǒng)的功能測試中,而Jmeter比較適用于隨機(jī)的,擴(kuò)展開發(fā)不多的項目,也是說Jmeter使用起來更靈活。
Ø 其他測試工具有大量的驗證點可用,并且能夠?qū)缑嫔系膬?nèi)容進(jìn)行驗證,可以驗證更多的內(nèi)容,測試能夠更完全,對于界面變動不大的項目,可以通過修改腳本實現(xiàn)更加全面的自動化測試,而Jmeter提供的斷言功能有限,并且不依賴于界面,無法完界面相關(guān)內(nèi)容的驗證,用Jmeter測試更需要人工測試,人工確認(rèn)。
Ø Jmeter用作一個輔助測試工具,可以很大的提高測試人員的效率,而其他測試工具當(dāng)作輔助測試工具并不能達(dá)到和jmeter同樣的功能。
Ø Jmeter做功能測試的腳本可以同樣用來做性能測試,這是其他大多數(shù)功能測試工具所不能具備的。