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