只要用心,一切如此之快樂(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輸出,知道成功了。
