jmeter+java完成基于復(fù)雜業(yè)務(wù)的接口完全的自動(dòng)化

只要用心,一切如此之快樂(lè)。曾經(jīng)覺(jué)得此步如此之遙遠(yuǎn)。。。。簡(jiǎn)單闡述下感觸!

一,個(gè)人對(duì)于接口自動(dòng)化理解為:

1、基于數(shù)據(jù)層面的測(cè)試數(shù)據(jù)自動(dòng)化測(cè)試。

? ? 入行測(cè)試,面臨的第一門(mén)知識(shí)點(diǎn),什么邊界值、等價(jià)類劃分、什么特殊數(shù)值等,歸結(jié)到一點(diǎn)為測(cè)試數(shù)據(jù)準(zhǔn)備。通過(guò)數(shù)據(jù)驗(yàn)證輸出的正確性,曾經(jīng)大部分時(shí)候完全基于界面上的功能測(cè)試,重復(fù)又重復(fù)一步步相同的操作,唯一不同的就是數(shù)據(jù)的不同,然后核對(duì)實(shí)際值是否與預(yù)期一致。

2、基于業(yè)務(wù)層面的功能自動(dòng)化測(cè)試。

? ? 功能測(cè)試無(wú)外否是基于設(shè)計(jì)之初,該功能實(shí)現(xiàn)之目的。

3、基于高并發(fā)、高請(qǐng)求的健壯性測(cè)試。

? ? ? 在大部分公司,用戶群體少,使用低頻,從未不會(huì)發(fā)生基于以上問(wèn)題導(dǎo)致的數(shù)據(jù)錯(cuò)誤。曾經(jīng)在N多公司之前好像從未對(duì)接口進(jìn)行所謂的并發(fā)、高請(qǐng)求測(cè)試,基本功能測(cè)試以后上線系統(tǒng)好像從未反饋任何問(wèn)題,開(kāi)發(fā)也從未做過(guò)此類校驗(yàn)。(跟個(gè)人從事互聯(lián)網(wǎng)行業(yè)時(shí)間周期有關(guān),一直做硬件時(shí)間較長(zhǎng))。當(dāng)面對(duì)一家公司N多用戶、高頻使用情況下,發(fā)現(xiàn)數(shù)據(jù)異常、各種疑難雜癥時(shí),大部分因素都是由于高并發(fā)導(dǎo)致。而且高并發(fā)屬于常態(tài),在此基礎(chǔ)上了解到"冪等性"一說(shuō)。高并發(fā)與高請(qǐng)求測(cè)試由需要區(qū)分單臺(tái)服務(wù)器與分布式部署測(cè)試方式。曾經(jīng)原以為對(duì)高并發(fā)與高請(qǐng)求可以完全解決,但是發(fā)現(xiàn)分布式部署上面還是會(huì)存在異常,后尋求到所謂的分布式部署測(cè)試方式(自行寫(xiě)隨機(jī)方法,利用隨機(jī)數(shù)及比例請(qǐng)求不同的服務(wù)器)。

二,知識(shí)要領(lǐng)了解

1、jmeter一個(gè)強(qiáng)大的工具,基于java語(yǔ)言開(kāi)發(fā),可以做多無(wú)數(shù)YY之事(曾經(jīng)通過(guò)jmeter進(jìn)行電影爬蟲(chóng)之用,設(shè)置爬蟲(chóng)條件可以把電影網(wǎng)站的種子全部爬下,然后自動(dòng)下載到自己的電影掛機(jī)下載服務(wù)器里面),jmeter需要了解各種組件的使用,jmeter原生函數(shù)、第三方j(luò)ar、class/java(關(guān)于.java與class的調(diào)用感覺(jué)是一個(gè)坑,從未實(shí)現(xiàn)過(guò),無(wú)數(shù)次求助開(kāi)發(fā)與自我研究都未搞通)的引用、數(shù)據(jù)庫(kù)組件、UI自動(dòng)化測(cè)試組件(WebDriver Sampler)以及其他各種。

2、java知識(shí)點(diǎn),引入包、判斷、輸出、循環(huán)反正大部分都輸處理數(shù)據(jù)、判斷業(yè)務(wù)。JavaScript數(shù)據(jù)判斷與數(shù)據(jù)處理(有時(shí)候Java無(wú)法搞定的可以直接引用JavaScript),以及以上的一切好像百度都可以找到現(xiàn)成,關(guān)鍵曉得如何使用。

3、數(shù)據(jù)庫(kù)操作語(yǔ)句。查詢、插入、新增、修改

三、如何引用于項(xiàng)目。

1、曾經(jīng)想做做性能,還去研究loadrunner,研究了那么久感覺(jué)還是只了解簡(jiǎn)單的。其實(shí)應(yīng)該說(shuō)loadrunner的學(xué)習(xí)應(yīng)該感謝大學(xué)某某菊花哥。

2、曾經(jīng)也想學(xué)習(xí)jmeter發(fā)現(xiàn)好像難道必須要學(xué)習(xí)Java然后必須要懂什么的,其實(shí)一些學(xué)習(xí)的動(dòng)力源于項(xiàng)目及自我要求。

3、工具其實(shí)是輔助之用,怎樣用取決于自我對(duì)應(yīng)項(xiàng)目的理解,如何簡(jiǎn)化個(gè)人工作流程及工作時(shí)間,以及提升工作質(zhì)量。jmeter不僅可以為自我提高測(cè)試之用,還可提高工作輔助之用(開(kāi)發(fā)一些便于自我的小腳本)以及還可以YY之用。

4、關(guān)于接口測(cè)試最直接使用方式:java寫(xiě)數(shù)據(jù)產(chǎn)生方法(所謂測(cè)試數(shù)據(jù))-接口請(qǐng)求-斷言(判斷預(yù)期值是否滿足)-數(shù)據(jù)庫(kù)查詢-java完成業(yè)務(wù)自動(dòng)對(duì)比。

四、19年最為麻煩的一次實(shí)戰(zhàn)(寫(xiě)了幾百行(才部分業(yè)務(wù),哎)就為了一句Log.info,但后面可以測(cè)試很方便。其實(shí)說(shuō)麻煩更應(yīng)該說(shuō)自我對(duì)于jmeter的應(yīng)用更深層的理解與應(yīng)用)

? ? ? ? ? 項(xiàng)目大致是一個(gè)紅包業(yè)務(wù)項(xiàng)目,測(cè)試重點(diǎn)主要是紅包算法及高并發(fā)、高請(qǐng)求以及參數(shù)較多的數(shù)據(jù)組合(若人為測(cè)試只能說(shuō)測(cè)試完整要瘋,由于隱私問(wèn)題接口全部打碼只提供理論思想

? ? ? ? ? ? ? ? 1、整個(gè)Jmeter組件組合。測(cè)試只需要設(shè)置天數(shù)即可。


? ? ? ? ? ? ? ? 2、寫(xiě)的一個(gè)求時(shí)間段的有效天數(shù)的jar文件(百度加求助完成,代碼量太多,這個(gè)太麻煩,要求如此必須如此)


? ? ? 3、測(cè)試數(shù)據(jù)準(zhǔn)備,分自動(dòng)時(shí)間參數(shù)數(shù)據(jù)及發(fā)放數(shù)據(jù)(發(fā)放隨時(shí)主要是各種滿足設(shè)計(jì)要求的隨機(jī)數(shù))

? 4、主鍵id的判斷,判斷是否寫(xiě)入成功。


5、算法的校驗(yàn)


6、幸福的Log.info輸出,知道成功了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. JMeter 測(cè)試計(jì)劃 測(cè)試計(jì)劃 使用JMeter進(jìn)行測(cè)試的起點(diǎn),是其它JMeter測(cè)試元件的容器。 線程組...
    alamZheng閱讀 3,551評(píng)論 0 7
  • 主要文體來(lái)自 CDNS:https://www.cnblogs.com/ceshisanren/p/5639895...
    Amano閱讀 11,292評(píng)論 3 27
  • Windows和Linux的Jmeter分布式集群壓力測(cè)試 Windows的Jmeter分布式集群壓力測(cè)試 在使用...
    Kingtester閱讀 5,439評(píng)論 10 19
  • 開(kāi)學(xué)了,我們迎著陽(yáng)光走進(jìn)了新的學(xué)期。 第一周,我認(rèn)識(shí)了很多的朋友。雖然很陌生,但面臨五年的時(shí)光,不得不早點(diǎn)認(rèn)...
    本人黃聰閱讀 151評(píng)論 0 1
  • 梅開(kāi),梅落 /深山老林(千年桃妖) 門(mén)依舊 鎖還在 風(fēng)流倜儻 不知去向 天黑了 白 白了 黑 大好年華付東流 ...
    深山老林千年桃妖閱讀 227評(píng)論 1 1

友情鏈接更多精彩內(nèi)容