接口自動化測試平臺開發(fā)那些事2(架構(gòu))

開發(fā)工作的第一步就是需求確認了,類似企業(yè)級開發(fā)中朽砰,一般需要給出需求說明書和原型圖尖滚,這里就不做那么詳細的敘述了喉刘,擼起袖子直接干。

需求

基本上按照如下圖劃分成幾個大的模塊漆弄,主要有用戶饱搏、項目測試環(huán)境置逻、測試用例推沸、運行器測試報告等幾部分組成券坞。具體的需求內(nèi)容由于篇幅有限鬓催,不再一一介紹了。

需求使用思維導圖管理恨锚,簡單直觀宇驾。

需求

技術(shù)選型


在技術(shù)選型上,基本上確定了基礎(chǔ)編程語言猴伶,其他技術(shù)棧也基本上確定了课舍。之前做自動化測試時候,python做過相當長的主力開發(fā)語言他挎。這是決定用java做為開發(fā)語言筝尾,基于以下幾個方面考慮:

  1. python是動態(tài)語言,需要更好的工程實踐和代碼規(guī)范办桨。
  2. java靜態(tài)編譯特性更容易在編譯期間排錯筹淫。
  3. java 在web領(lǐng)域比python更適合

確定了編程語言,其他的框架也就好確定了呢撞,選擇當前主流的即可损姜。java后端方面spring全家桶基本上屬于一統(tǒng)江湖的地位,就它了殊霞。

  • 編程語言:Java
  • 基礎(chǔ)框架:Spring
  • Web框架:SpringMVC
  • 持久層:Mybatis
  • 數(shù)據(jù)存儲:MySQL摧阅、MongoDB
  • 環(huán)境管理:Docker
  • 模板引擎:Thymeleaf
  • 任務調(diào)度:Quartz
  • 測試框架:Httprunner
  • 單元測試框架:Junit、TestNG
  • 前端:JQuery绷蹲、Bootstrap

Spring ioc容器作為管理bean的工具棒卷,springMVC框架處理前端發(fā)來的請求;

MySQL保存項目瘸右、接口娇跟、測試用例岩齿、定時任務太颤、測試報告等數(shù)據(jù);MongoDB用來存儲一些測試文檔盹沈,例如接口文檔龄章、測試報告等吃谣。

Docker技術(shù)的引入主要是為了構(gòu)建測試運行環(huán)境,和做測試數(shù)據(jù)隔離做裙。
定時任務調(diào)度使用目前廣泛使用的Quartz庫岗憋,可以靈活的定義各種定時規(guī)則。

持久層選用Mybatis主要是熟悉這個框架锚贱,可以靈活的寫SQL仔戈,并且有強大的SQL生成工具。(其實Hibernate也不錯拧廊,不過對Mybatis更熟悉一點)

測試運行器這里之前有考慮過自己實現(xiàn)一套基于http協(xié)議的測試工具监徘,后來發(fā)現(xiàn)業(yè)內(nèi)有很多優(yōu)秀的輪子,自己實現(xiàn)浪費精力而且不一定有別人的好吧碾,于是就采用了一套第三方的測試框架(HttpRunner)凰盔,感興趣的可以去了解一下這個接口測試框架。

前端使用JQuery+Bootstrap的經(jīng)典組合倦春,優(yōu)點就是用戶多第三方資源多户敬,網(wǎng)上大把的模板可以套用。

系統(tǒng)架構(gòu)

項目結(jié)構(gòu)

接口測試平臺睁本,是基于業(yè)務操作流的方式來架構(gòu)的尿庐,基本架構(gòu)如下圖:

項目結(jié)構(gòu)圖

上面的項目結(jié)構(gòu)圖看起來是不是一目了然。

首先測試人員創(chuàng)建一個項目呢堰,在項目內(nèi)依次錄入接口信息屁倔,每個項目的接口信息是可以導出為接口文檔。然后測試人員需要創(chuàng)建測試集(TestSuit)用來存放測試用例暮胧,最后測試人員需要創(chuàng)建定時任務锐借,按照規(guī)則定時自動運行測試,并輸出測試報告往衷。

數(shù)據(jù)流圖:
架構(gòu)
業(yè)務流:
1. 測試人員通過前端頁面創(chuàng)建測試項目
2. 為測試項目內(nèi)添加測試用例
3. 在任務界面構(gòu)建定時任務
4. 選取測試用例集或者測試用例钞翔,添加進Task
5. 定時任務進入內(nèi)存并持久化到數(shù)據(jù)庫,等待被觸發(fā)
6. 觸發(fā)測試任務席舍,進行測試環(huán)境校驗(遠程主機校驗布轿、鏡像校驗、測試容器校驗)
7. 構(gòu)建docker容器来颤,裝填測試數(shù)據(jù)和構(gòu)建測試環(huán)境(env)汰扭。
8. 執(zhí)行測試(測試運行器)
9. 生出測試報告,并導出
10. 保存測試報告福铅,并進行郵件提醒

通過以上架構(gòu)說明萝毛,接口測試平臺基本需求和業(yè)務操作流已經(jīng)基本明確,下一步就是搭建開發(fā)環(huán)境進行編碼實現(xiàn)了滑黔。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末笆包,一起剝皮案震驚了整個濱河市环揽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌庵佣,老刑警劉巖歉胶,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異巴粪,居然都是意外死亡通今,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門肛根,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衡创,“玉大人,你說我怎么就攤上這事晶通×猓” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵狮辽,是天一觀的道長一也。 經(jīng)常有香客問我,道長喉脖,這世上最難降的妖魔是什么椰苟? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮树叽,結(jié)果婚禮上舆蝴,老公的妹妹穿的比我還像新娘。我一直安慰自己题诵,他們只是感情好洁仗,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著性锭,像睡著了一般赠潦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上草冈,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天她奥,我揣著相機與錄音,去河邊找鬼怎棱。 笑死哩俭,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的拳恋。 我是一名探鬼主播凡资,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼诅岩!你這毒婦竟也來了讳苦?” 一聲冷哼從身側(cè)響起带膜,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤吩谦,失蹤者是張志新(化名)和其女友劉穎鸳谜,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體式廷,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡咐扭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了滑废。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蝗肪。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蠕趁,靈堂內(nèi)的尸體忽然破棺而出薛闪,到底是詐尸還是另有隱情,我是刑警寧澤俺陋,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布豁延,位于F島的核電站,受9級特大地震影響腊状,放射性物質(zhì)發(fā)生泄漏诱咏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一缴挖、第九天 我趴在偏房一處隱蔽的房頂上張望袋狞。 院中可真熱鬧,春花似錦映屋、人聲如沸苟鸯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽倔毙。三九已至,卻和暖如春乙濒,著一層夾襖步出監(jiān)牢的瞬間陕赃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工颁股, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留么库,地道東北人。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓甘有,卻偏偏與公主長得像诉儒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子亏掀,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354