接口測試

一瓷患、后臺服務(wù)的基本分層結(jié)構(gòu)


圖1-1 后臺服務(wù)分層結(jié)構(gòu)

二、 測試前的準(zhǔn)備

1绳军、了解接口的業(yè)務(wù)功能

2、接口的入?yún)⒉胤瘛€數(shù)、類型充包、是否有默認(rèn)值

3副签、返回結(jié)果的結(jié)構(gòu)、類型误证、范圍

4继薛、了解有多少調(diào)用方修壕,明確調(diào)用方的需求

三愈捅、接口測試在測什么

定義:接口測試是測試系統(tǒng)組件間接口的一種測試。接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個子系統(tǒng)之間的交互點慈鸠。測試的重點是要檢查數(shù)據(jù)的交換蓝谨,傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等青团。

3.1 接口層

1譬巫、接口可用性:比如服務(wù)是不是通的,請求服務(wù)會不會timeout督笆,或返回一些常見的錯誤碼芦昔,比如http404,500等

2娃肿、是否符合接口定義:比如請求參數(shù)可選咕缎,必選要求,返回結(jié)果參數(shù)集合是否正確料扰,格式是否正確

3凭豪、接口參數(shù)取值是否符合業(yè)務(wù)定義:比如支付金額不能 <=0

3.2 業(yè)務(wù)邏輯

1、業(yè)務(wù)流程

2晒杈、業(yè)務(wù)處理的原子性:比如一次轉(zhuǎn)賬涉及到金額變更和流水記錄嫂伞,當(dāng)其中一個失敗是,兩個都要回滾

3拯钻、業(yè)務(wù)處理的并發(fā)控制:比如給同一個配送員“同時”進行多個配送單的結(jié)算帖努,配送員的余額是一個共享資源

4、業(yè)務(wù)處理的防重控制:比如同一筆支付訂單不能支付兩次

3.3 數(shù)據(jù)存取

1粪般、數(shù)據(jù)庫連接是否正常:連接參數(shù)是否正確

2然磷、業(yè)務(wù)數(shù)據(jù)是否寫入到DB:比如有分庫分表邏輯的時候,是否寫入到正確的庫和表

3刊驴、讀取是否正常:是否能查詢到正確的業(yè)務(wù)數(shù)據(jù)

3.4 Data正確性

四姿搜、接口測試目標(biāo)

1寡润、覆蓋要求:接口層邏輯、業(yè)務(wù)邏輯舅柜、數(shù)據(jù)存取邏輯

2梭纹、正確性要求:響應(yīng)結(jié)果、持久化數(shù)據(jù)存取正確致份、并發(fā)控制正確性变抽、業(yè)務(wù)處理原子性、業(yè)務(wù)處理的防重正確性

五氮块、接口測試方法

5.1 接口導(dǎo)向的集成測試—基本版

1绍载、以接口的方式access服務(wù)

2、組合接口參數(shù)取值以滿足功能覆蓋要求

3滔蝉、校驗接口返回結(jié)果以驗證服務(wù)的正確性

例子??


圖5-1 接口導(dǎo)向的集成測試舉例

5.2 接口導(dǎo)向的集成測試—進階版

1击儡、以接口的方式access服務(wù)

2、組合接口參數(shù)取值+外部參數(shù)(DB蝠引,依賴的服務(wù)返回)以滿足功能覆蓋要求

3阳谍、校驗接口返回結(jié)果+DB(或其他輸出形式)以驗證服務(wù)的正確性

5.3 接口導(dǎo)向的集成測試注意事項

1、服務(wù)的輸入?yún)?shù)不僅包括接口參數(shù)螃概,還包括一些接口不可見的參數(shù)矫夯,比如DB,比如依賴服務(wù)的返回

2吊洼、服務(wù)的處理接口不僅包含接口返回結(jié)果训貌,還包含一些接口不可見的處理結(jié)果,比如DB

六冒窍、接口測試工具

1递沪、HTTP接口測試工具:POSTMAN、SOAPUI超燃、curl命令

2区拳、Thrift測試、MQ測試:自定義接口client+測試框架(比如java的testng意乓、python的unittest)

七樱调、接口自動化

圖7-1 接口自動化

7.1 Java自動化測試框架——TestNG

1、使用注解來表示case

2届良、支持測試用例分組執(zhí)行

3笆凌、支持并發(fā)測試case編寫

4、提供了驗證函數(shù):Assertions

5士葫、生成測試結(jié)果報告

7.2 自動化執(zhí)行與報告

1乞而、整個測試項目目是基于maven構(gòu)建的,使用Maven-SureFire-Plugin插件來執(zhí)行case

2慢显、在maven構(gòu)建生命周期的test階段運行測試用例爪模,產(chǎn)生兩種不同形式的測試結(jié)果報告:純文本與.xml文件?

3欠啤、命令:mvn test

八、接口自動化與CI


圖8-1 接口自動化與CI
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末屋灌,一起剝皮案震驚了整個濱河市洁段,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌共郭,老刑警劉巖祠丝,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異除嘹,居然都是意外死亡写半,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門尉咕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來叠蝇,“玉大人,你說我怎么就攤上這事龙考◇∷粒” “怎么了矾睦?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵晦款,是天一觀的道長。 經(jīng)常有香客問我枚冗,道長缓溅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任赁温,我火速辦了婚禮坛怪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘股囊。我一直安慰自己,他們只是感情好居灯,可當(dāng)我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布怪嫌。 她就那樣靜靜地躺著柳沙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪噪径。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天膨更,我揣著相機與錄音缴允,去河邊找鬼练般。 笑死,一個胖子當(dāng)著我的面吹牛敞贡,可吹牛的內(nèi)容都是我干的摄职。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蛔垢,長吁一口氣:“原來是場噩夢啊……” “哼迫悠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起创泄,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎饭聚,沒想到半個月后搁拙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡端幼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年婆跑,在試婚紗的時候發(fā)現(xiàn)自己被綠了庭呜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡阴汇,死狀恐怖节槐,靈堂內(nèi)的尸體忽然破棺而出铜异,到底是詐尸還是另有隱情,我是刑警寧澤咆蒿,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布蚂子,位于F島的核電站,受9級特大地震影響蒂破,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜董瞻,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一寞蚌、第九天 我趴在偏房一處隱蔽的房頂上張望钠糊。 院中可真熱鬧,春花似錦壹哺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至岗喉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間炸庞,已是汗流浹背钱床。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留埠居,地道東北人查牌。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓事期,卻偏偏與公主長得像纸颜,于是被迫代替她去往敵國和親兽泣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容