摘要:快速高效的測(cè)試工具及腳本,能使程序猿的開(kāi)發(fā)工作事半功倍。筆者構(gòu)想與編寫(xiě)整個(gè)自動(dòng)化測(cè)試腳本只花費(fèi)了幾個(gè)工作日中的零碎時(shí)間,但是使用自動(dòng)化測(cè)試腳本后讓整個(gè)開(kāi)發(fā)測(cè)試周期節(jié)省的時(shí)間遠(yuǎn)超幾個(gè)工作日。
快速、高效的測(cè)試工具及腳本,能使程序猿的開(kāi)發(fā)工作事半功倍。筆者進(jìn)入到研發(fā)中心工作之后,參與到一個(gè)報(bào)文平臺(tái)的重構(gòu)項(xiàng)目中。該項(xiàng)目老平臺(tái)基于C語(yǔ)言編寫(xiě),架構(gòu)老舊,可維護(hù)性與擴(kuò)展性較差;為了緊跟研發(fā)中心的技術(shù)迭代步伐,新平臺(tái)使用新的工具進(jìn)行重構(gòu),使其構(gòu)建發(fā)布、參數(shù)配置更靈活,便于后續(xù)維護(hù)與擴(kuò)展。
在新平臺(tái)的重構(gòu)開(kāi)發(fā)過(guò)程中,報(bào)文的路由測(cè)試是很關(guān)鍵的部分。由于系統(tǒng)涉及一百多種不同格式的報(bào)文,且系統(tǒng)安全性要求較高,每個(gè)報(bào)文在系統(tǒng)中交互時(shí)都要進(jìn)行加驗(yàn)簽檢查,所以需要對(duì)整個(gè)系統(tǒng)進(jìn)行全面、嚴(yán)密且覆蓋所有報(bào)文類型的測(cè)試工作。
之前開(kāi)發(fā)中的測(cè)試均通過(guò)手動(dòng)將報(bào)文粘貼到測(cè)試工具中觸發(fā),此方法不僅效率低,且容易造成人為測(cè)試噪點(diǎn),后續(xù)回歸測(cè)試更是噩夢(mèng)。為了解決此類問(wèn)題,提升個(gè)人開(kāi)發(fā)效率,筆者在開(kāi)發(fā)測(cè)試環(huán)境中使用python語(yǔ)言實(shí)現(xiàn)了報(bào)文平臺(tái)的自動(dòng)化測(cè)試。
自動(dòng)化測(cè)試分為三個(gè)部分,分別是測(cè)試數(shù)據(jù)的產(chǎn)出、發(fā)送測(cè)試數(shù)據(jù)和監(jiān)控測(cè)試結(jié)果,如圖1所示。
圖1 整個(gè)自動(dòng)化測(cè)試流程圖
測(cè)試數(shù)據(jù)的產(chǎn)出是從常備測(cè)試環(huán)境拉取歷史日志,通過(guò)使用log_split.py腳本,按照日志里的語(yǔ)法規(guī)則對(duì)所需的測(cè)試數(shù)據(jù)進(jìn)行切割,并去除冗余數(shù)據(jù)。接下來(lái),根據(jù)切割后數(shù)據(jù)的關(guān)鍵字進(jìn)行分類,分別放入不同類別的測(cè)試目錄下,部分腳本代碼如圖2所示:
圖2 log_split.py腳本部分代碼
發(fā)送測(cè)試數(shù)據(jù)分為兩種形式,分別是手動(dòng)單條報(bào)文發(fā)送和多條報(bào)文定時(shí)發(fā)送。單條發(fā)送多用于驗(yàn)證不同場(chǎng)景下的業(yè)務(wù)邏輯,而多條定時(shí)發(fā)送則可進(jìn)行一定程度上的回歸與壓力測(cè)試。以手動(dòng)單條測(cè)試為例,通過(guò)使用send_wb_testdata.py腳本讀取指定的測(cè)試數(shù)據(jù)并放入到對(duì)應(yīng)的數(shù)據(jù)隊(duì)列中,部分腳本代碼如圖3所示:
圖3 send_wb_testdata.py腳本部分代碼
最后為監(jiān)控測(cè)試結(jié)果,當(dāng)測(cè)試進(jìn)入到報(bào)文平臺(tái)處理程序時(shí)會(huì)調(diào)用read_test_resdata.py腳本,通過(guò)測(cè)試數(shù)據(jù)的標(biāo)識(shí)號(hào)對(duì)程序日志進(jìn)行匹配,并使用語(yǔ)法規(guī)則對(duì)日志里的關(guān)鍵信息進(jìn)行截取,然后輸出此次測(cè)試的結(jié)果。
Python語(yǔ)言非常靈活與簡(jiǎn)便,語(yǔ)法簡(jiǎn)潔,易學(xué)易上手。筆者構(gòu)想與編寫(xiě)整個(gè)自動(dòng)化測(cè)試腳本只花費(fèi)了幾個(gè)工作日中的零碎時(shí)間,但是使用自動(dòng)化測(cè)試腳本后讓整個(gè)開(kāi)發(fā)測(cè)試周期節(jié)省的時(shí)間遠(yuǎn)超幾個(gè)工作日。python語(yǔ)言逐漸普及,絕大部分linux操作系統(tǒng)均安裝了python2.7,無(wú)需別的配置工作可直接上手編寫(xiě)。python能很好的支持調(diào)用linux命令,在一定程度上可取代shell,可快速編寫(xiě)服務(wù)器執(zhí)行程序。如果你有同樣的需求,不妨用python試下。
下面是配套資料,對(duì)于做【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴我走過(guò)了最艱難的路程,希望也能幫助到你!
在公眾號(hào):傷心的辣條 ! 免費(fèi)領(lǐng)取一份216頁(yè)軟件測(cè)試工程師面試寶典文檔資料。以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!,其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫(kù)、抓包工具專題、接口測(cè)試工具、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試、APP自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成、測(cè)試架構(gòu)開(kāi)發(fā)測(cè)試框架、性能測(cè)試、安全測(cè)試等。
學(xué)習(xí)不要孤軍奮戰(zhàn),最好是能抱團(tuán)取暖,相互成就一起成長(zhǎng),群眾效應(yīng)的效果是非常強(qiáng)大的,大家一起學(xué)習(xí),一起打卡,會(huì)更有學(xué)習(xí)動(dòng)力,也更能堅(jiān)持下去。你可以加入我們的測(cè)試技術(shù)交流扣扣群:914172719(里面有各種軟件測(cè)試資源和技術(shù)討論)
喜歡軟件測(cè)試的小伙伴們,如果我的博客對(duì)你有幫助、如果你喜歡我的博客內(nèi)容,請(qǐng) “點(diǎn)贊” “評(píng)論” “收藏” 一鍵三連哦!
轉(zhuǎn)行面試,跳槽面試,軟件測(cè)試人員都必須知道的這幾種面試技巧!
面試經(jīng):一線城市搬磚!又面軟件測(cè)試崗,5000就知足了…
面試官:工作三年,還來(lái)面初級(jí)測(cè)試?恐怕你的軟件測(cè)試工程師的頭銜要加雙引號(hào)…
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/123559.html
Python裝飾器為什么難理解? 無(wú)論項(xiàng)目中還是面試都離不開(kāi)裝飾器話題,裝飾器的強(qiáng)大在于它能夠在不修改原有業(yè)務(wù)邏輯的情況下對(duì)代碼進(jìn)行擴(kuò)展,權(quán)限校驗(yàn)、用戶認(rèn)證、日志記錄、性能測(cè)試、事務(wù)處理、緩存等都是裝飾器的絕佳應(yīng)用場(chǎng)景,它能夠最大程度地對(duì)代碼進(jìn)行復(fù)用。 但為什么初學(xué)者對(duì)裝飾器的理解如此困難,我認(rèn)為本質(zhì)上是對(duì)Py… Python 實(shí)現(xiàn)車牌定位及分割 作者用 Python 實(shí)現(xiàn)車牌定位及分割的實(shí)踐。 ...
摘要:天入門(mén)三門(mén)編程語(yǔ)言,有可能嘛,尤其是對(duì)沒(méi)有基礎(chǔ)的同學(xué)來(lái)說(shuō)對(duì)于想學(xué)好的編程的人來(lái)說(shuō),無(wú)論從哪一門(mén)語(yǔ)言開(kāi)始入手,語(yǔ)言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個(gè)初學(xué)者首先關(guān)心的。 7天入門(mén)三門(mén)編程語(yǔ)言,有可能嘛,尤其是對(duì)沒(méi)有基礎(chǔ)的同學(xué)來(lái)說(shuō)?對(duì)于想學(xué)好的編程的人來(lái)說(shuō),無(wú)論從哪一門(mén)語(yǔ)言開(kāi)始入手,語(yǔ)言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個(gè)初學(xué)者首先關(guān)心的。 網(wǎng)絡(luò)上,網(wǎng)友們爭(zhēng)...
摘要:天入門(mén)三門(mén)編程語(yǔ)言,有可能嘛,尤其是對(duì)沒(méi)有基礎(chǔ)的同學(xué)來(lái)說(shuō)對(duì)于想學(xué)好的編程的人來(lái)說(shuō),無(wú)論從哪一門(mén)語(yǔ)言開(kāi)始入手,語(yǔ)言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個(gè)初學(xué)者首先關(guān)心的。 7天入門(mén)三門(mén)編程語(yǔ)言,有可能嘛,尤其是對(duì)沒(méi)有基礎(chǔ)的同學(xué)來(lái)說(shuō)?對(duì)于想學(xué)好的編程的人來(lái)說(shuō),無(wú)論從哪一門(mén)語(yǔ)言開(kāi)始入手,語(yǔ)言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個(gè)初學(xué)者首先關(guān)心的。 網(wǎng)絡(luò)上,網(wǎng)友們爭(zhēng)...
摘要:天入門(mén)三門(mén)編程語(yǔ)言,有可能嘛,尤其是對(duì)沒(méi)有基礎(chǔ)的同學(xué)來(lái)說(shuō)對(duì)于想學(xué)好的編程的人來(lái)說(shuō),無(wú)論從哪一門(mén)語(yǔ)言開(kāi)始入手,語(yǔ)言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個(gè)初學(xué)者首先關(guān)心的。 7天入門(mén)三門(mén)編程語(yǔ)言,有可能嘛,尤其是對(duì)沒(méi)有基礎(chǔ)的同學(xué)來(lái)說(shuō)?對(duì)于想學(xué)好的編程的人來(lái)說(shuō),無(wú)論從哪一門(mén)語(yǔ)言開(kāi)始入手,語(yǔ)言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個(gè)初學(xué)者首先關(guān)心的。 網(wǎng)絡(luò)上,網(wǎng)友們爭(zhēng)...
摘要:現(xiàn)在我們開(kāi)始說(shuō)編程特性第一條變量和數(shù)據(jù)類型,賦值和輸出。從廣為流傳的說(shuō)起,用建立一個(gè)新的工程在目錄建一個(gè)文件變量和數(shù)據(jù)類型,賦值和輸出在中,方法是應(yīng)用程序的入口方法。變量包含三個(gè)知識(shí)點(diǎn),新建變量是字符串類型給變量賦值。 用9天入門(mén)三門(mén)編程語(yǔ)言,有可能嘛,尤其是對(duì)沒(méi)有基礎(chǔ)的同學(xué)來(lái)說(shuō)?對(duì)于想學(xué)好的編程的人來(lái)說(shuō),無(wú)論從哪一門(mén)語(yǔ)言開(kāi)始入手,語(yǔ)言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一...
閱讀 2905·2021-11-17 09:33
閱讀 3686·2021-11-16 11:42
閱讀 3509·2021-10-26 09:50
閱讀 1363·2021-09-22 15:49
閱讀 3057·2021-08-10 09:44
閱讀 3698·2019-08-29 18:36
閱讀 3958·2019-08-29 16:43
閱讀 2236·2019-08-29 14:10