首先,弄好一個(gè)測(cè)試流程的框架
【此系列文章是分享給有jmeter使用基礎(chǔ)的同學(xué)分享】
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
項(xiàng)目背景:
精簡(jiǎn)后:驗(yàn)證一個(gè)程序解析過(guò)濾原始日志的內(nèi)容,并把要保留的內(nèi)容正確存入mysql。
程序還帶有文件名正確性的驗(yàn)證,還有發(fā)現(xiàn)內(nèi)容含特殊字符丟棄的功能。
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
一
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
注:為了學(xué)習(xí),從低版本開(kāi)始,jmeter4.0開(kāi)始使用,不過(guò)個(gè)人建議從3.3開(kāi)始使用,這樣出現(xiàn)問(wèn)題也容易在網(wǎng)上找到解決辦法,畢竟高版本出現(xiàn)問(wèn)題,找誰(shuí)呢?
建立一個(gè)腳本,構(gòu)思一下整個(gè)測(cè)試流程是怎么樣的(當(dāng)然,這得根據(jù)你自己的需求來(lái))? 這思路一般包含這幾個(gè)點(diǎn):
1、運(yùn)用什么作為你的數(shù)據(jù)驅(qū)動(dòng);(本例中運(yùn)用csv-用例)
2、是否有數(shù)據(jù)庫(kù)的介入;(mysql、snappydata、KafKa等)
3、需要用到服務(wù)器的操作嗎;(即是否有l(wèi)inux指令或者shell腳本介入)
4、數(shù)據(jù)的流動(dòng)需要時(shí)間嗎;(是否需要設(shè)計(jì)定時(shí))
5、數(shù)據(jù)的比對(duì);(是否需要對(duì)數(shù)據(jù)做處理,用什么形式去比對(duì)等等)【難點(diǎn)】
6、清除舊數(shù)據(jù),避免舊數(shù)據(jù)的影響;
7、待補(bǔ)充。
二
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
現(xiàn)在來(lái)解說(shuō)一下,我在接下來(lái)的項(xiàng)目實(shí)踐中,參照上面的思路如何來(lái)做:
1、在用例方面,我是這么安排的字段,參數(shù)化(后面再慢慢解釋有什么用)

至于為什么會(huì)這么考慮,是因?yàn)橛猩洗雾?xiàng)目作為參考,要是第一次做的話,那么在用例設(shè)計(jì)的考慮里面,可以嘗試邊做腳本邊加字段在用例里面,使其方便服務(wù)于你的腳本。
那么作為數(shù)據(jù)驅(qū)動(dòng),在腳本那邊肯定是先創(chuàng)建一個(gè)CSV DATA SET啦!
【本次測(cè)試有用mysql,所以得記得配置jdbc啦】

在 “變量名稱 ”里填的就是自己在csv設(shè)置的字段名,至于“是否允許帶引號(hào)”的問(wèn)題,就得考慮你的入?yún)⒑皖A(yù)期結(jié)果是否需要了。

2、接下來(lái),考慮到
本項(xiàng)目需要發(fā)送原始日志,并需要在服務(wù)器上進(jìn)行造數(shù)據(jù)的操作,所以也會(huì)用到“SSH Command”的控件,

3、生成完原始數(shù)據(jù),那就得清除舊數(shù)據(jù)啦(本項(xiàng)目這里是清除mysql的舊數(shù)據(jù))

4、清數(shù)的操作都o(jì)k了,自然要確保創(chuàng)建的日志是實(shí)實(shí)在在地存在,所以得來(lái)一個(gè)判斷執(zhí)行是否成功

當(dāng)然,方式有很多種,我選擇的是通過(guò)統(tǒng)計(jì)文件夾shell指令的方式來(lái)判斷,自行選擇。(有更好的建議可以提)
5、當(dāng)然是 執(zhí)行程序 與 進(jìn)行數(shù)據(jù)的對(duì)比,看是否符合預(yù)期啦



那么,到這里,整個(gè)測(cè)試的流程框架就搭好了,下一期,將會(huì)講解如何進(jìn)行參數(shù)化簡(jiǎn)化我們的腳本,以及在數(shù)據(jù)對(duì)比中出現(xiàn)的困難與問(wèn)題!