2018-05-16

本文主要分為兩個部分:

  第一部分:主要從問題出發(fā)斑芜,引入接口測試的相關(guān)內(nèi)容并與前端測試進(jìn)行簡單對比肩刃,總結(jié)兩者之前的區(qū)別與聯(lián)系。但該部分只交代了怎么做和如何做杏头?并沒有解釋為什么要做树酪?

  第二部分:主要介紹為什么要做接口測試,并簡單總結(jié)接口持續(xù)集成和接口質(zhì)量評估相關(guān)內(nèi)容大州。

第一部分:

首先,在做接口測試的過程中垂谢,經(jīng)常有后端開發(fā)會問:

后端接口都測試什么厦画?怎么測的?

后端接口測試一遍 滥朱,前端也測試一遍根暑,是不是重復(fù)測試了?

????? 于是徙邻,為了向開發(fā)解釋上述問題排嫌,普及基本的測試常識,特意梳理了接口測試的相關(guān)內(nèi)容以及其與前端測試的區(qū)別缰犁,使開發(fā)團(tuán)隊(duì)與測試團(tuán)隊(duì)在測試這件上達(dá)成基本的共識淳地,提高團(tuán)隊(duì)協(xié)作效率怖糊,從而更好的保證產(chǎn)品質(zhì)量。

然后颇象,我們試著回答上面的問題:

問題1.1伍伤、后端接口都測試什么?

  --回答這個問題遣钳,我們可以從接口測試活動內(nèi)容的角度下手扰魂,看一下面這張圖,基本反應(yīng)了當(dāng)前我們項(xiàng)目后端接口測試的主要內(nèi)容:

問題1.2蕴茴、接口的業(yè)務(wù)邏輯測試用例設(shè)計(jì)(路徑測試)劝评?

--業(yè)務(wù)邏輯方面的用例設(shè)計(jì)與功能性用例設(shè)計(jì)不同,邏輯用例主要關(guān)注接口內(nèi)的各種判斷對應(yīng)的邏輯分支是否符合預(yù)期倦淀,這種用例不是針對某個具體的功能點(diǎn)蒋畜,而是去驗(yàn)證接口內(nèi)部的各種處理邏輯。這類用例晃听,往往需要以業(yè)務(wù)邏輯流程圖為依據(jù)進(jìn)行設(shè)計(jì)百侧。

舉個例子,畫出接口流程圖后有這樣的一個邏輯:

可以看到這一塊有兩個判斷能扒,那么 針對這一塊兒的處理邏輯佣渴,我們需要對不同的判斷分支都設(shè)計(jì)用例,以保證流程圖中涉及到的分支我們都有測試用例覆蓋初斑。圖中涉及到的不同的分支有:?

接口測試總結(jié)篇-博客-云棲社區(qū)-阿里云 1.abdf辛润;

2.acg;

3.abdeg见秤;

相應(yīng)的砂竖,我們的用例就應(yīng)該是:

1.userInfo != null && value(userGroup) != 0;

2.userInfo == null;

3.userInfo != null && value(userGroup) == 0;

業(yè)務(wù)邏輯的用例設(shè)計(jì)主要是以服務(wù)端接口內(nèi)部的邏輯流程圖為基礎(chǔ),針對流程圖中的判斷和分支進(jìn)行用例設(shè)計(jì)鹃答,保證服務(wù)端接口的每一種邏輯下都有測試用例覆蓋乎澄。設(shè)計(jì)盡可能少的用例,來保證各種業(yè)務(wù)場景下的數(shù)據(jù)是安全可操作的测摔。

問題1.3置济、我們怎么做接口測試?

  --由于我們項(xiàng)目前后端調(diào)用主要是基于http協(xié)議的接口锋八,所以測試接口時主要是通過工具或代碼模擬http請求的發(fā)送與接收浙于。工具有很多如:postman、jmeter挟纱、soupUI羞酗、java+httpclient、robotframework+httplibrary等紊服。

問題2檀轨、后端接口測試一遍 胸竞,前端也測試一遍,是不是重復(fù)測試了裤园?

  --回答這個問題撤师,我們可以直接對比接口測試和app端測試活動的內(nèi)容,如下圖為app測試時需要覆蓋或考慮內(nèi)容:

從上面這兩張圖對比可以看出拧揽,兩個測試活動中相同的部分有功能測試剃盾、邊界分析測試和性能測試,其它部分由于各自特性或關(guān)注點(diǎn)不同需要進(jìn)行特殊的測試淤袜,在此不做討論痒谴。接下來我們針對以上三部分相同的內(nèi)容再進(jìn)行分析:

1、基本功能測試:

  由于是針對基本業(yè)務(wù)功能進(jìn)行測試铡羡,所以這部分是兩種測試重合度最高的一塊积蔚,開發(fā)同學(xué)通常所指的也主要是這部分的內(nèi)容。

2烦周、邊界分析測試:

  在基本功能測試的基礎(chǔ)上考慮輸入輸出的邊界條件尽爆,這部分內(nèi)容也會有重復(fù)的部分(比如業(yè)務(wù)規(guī)則的邊界)。但是读慎,前端的輸入輸出很多時候都是提供固守的值讓用戶選擇(如下拉框)漱贱,在這種情況下測試的邊界范圍就非常有限,但接口測試就不存在這方面的限制夭委,相對來說接口可以覆蓋的范圍更廣幅狮,同樣的,接口出現(xiàn)問題的概率也更高株灸。

?3崇摄、性能測試:

  這個比較容易區(qū)分,雖然都需要做性能測試慌烧,但關(guān)注點(diǎn)確大不相同逐抑。App端性能主要關(guān)注與手機(jī)相關(guān)的特性,如手機(jī)cpu屹蚊、內(nèi)存泵肄、流量、fps等淑翼。而接口性能主要關(guān)注接口響應(yīng)時間、并發(fā)品追、服務(wù)端資源的使用情況等玄括。兩種測試時的策略和方法都有很大區(qū)別,所以這部分內(nèi)容是需要分開單獨(dú)進(jìn)行測試的肉瓦,理論上來說這也是不同的部分遭京。

綜論:

? ? ? 1胃惜、接口測試和app測試的活動有部分重復(fù)的內(nèi)容,主要集中在業(yè)務(wù)功能測試方面哪雕。除此之外船殉,針對各自特性的測試都不一樣,需要分別進(jìn)行有針對性的測試斯嚎,才能確保整個產(chǎn)品的質(zhì)量利虫。

  ?2、接口測試可以關(guān)注于服務(wù)器邏輯驗(yàn)證堡僻,而UI測試可以關(guān)注于頁面展示邏輯及界面前端與服務(wù)器集成驗(yàn)證糠惫。


第二部分:

1、什么是接口測試钉疫?

????? 接口測試是測試系統(tǒng)組件間接口的一種測試硼讽。接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個子系統(tǒng)之間的交互點(diǎn)。測試的重點(diǎn)是要檢查數(shù)據(jù)的交換牲阁,傳遞和控制管理過程固阁,以及系統(tǒng)間的相互邏輯依賴關(guān)系等。

2城菊、為什么要做接口測試?

  a) 如今的系統(tǒng)復(fù)雜度不斷上升备燃,傳統(tǒng)的測試方法成本急劇增加且測試效率大幅下降,接口測試可以提供這種情況下的解決方案役电。

  b) ?接口測試相對容易實(shí)現(xiàn)自動化持續(xù)集成赚爵,且相對UI自動化也比較穩(wěn)定,可以減少人工回歸測試人力成本與時間法瑟,縮短測試周期冀膝,支持后端快速發(fā)版需求。接口持續(xù)集成是為什么能低成本高收益的根源霎挟。

  c) ? 現(xiàn)在很多系統(tǒng)前后端架構(gòu)是分離的窝剖,從安全層面來說:

?????   1、只依賴前端進(jìn)行限制已經(jīng)完全不能滿足系統(tǒng)的安全要求(繞過前面實(shí)在太容易)酥夭, 需要后端同樣進(jìn)行控制赐纱,在這種情況下就需要從接口層面進(jìn)行驗(yàn)證。

?????   2熬北、前后端傳輸疙描、日志打印等信息是否加密傳輸也是需要驗(yàn)證的,特別是涉及到用戶的隱私信息讶隐,如身份證起胰,銀行卡等。

3巫延、接口測試持續(xù)集成:

????? 對接口測試而言效五,持續(xù)集成自動化是核心內(nèi)容地消,通過持自動化的手段我們才能做到低成本高收益。目前我們已經(jīng)實(shí)現(xiàn)了接口自動化畏妖,主要應(yīng)用于回歸階段脉执,后續(xù)還需要加強(qiáng)自動化的程度,包括但不限于下面的內(nèi)容:

  a) 流程方面:在回歸階段加強(qiáng)接口異常場景的覆蓋度戒劫,并逐步向系統(tǒng)測試半夷,冒煙測試階段延伸,最終達(dá)到全流程自動化谱仪。

  b) 結(jié)果展示:更加豐富的結(jié)果展示玻熙、趨勢分析,質(zhì)量統(tǒng)計(jì)和分析等

  c) 問題定位:報(bào)錯信息疯攒、日志更精準(zhǔn)嗦随,方便問題復(fù)現(xiàn)與定位。

  d) 結(jié)果校驗(yàn):加強(qiáng)自動化校驗(yàn)?zāi)芰闯撸鐢?shù)據(jù)庫信息校驗(yàn)枚尼。

  e) 代碼覆蓋率:不斷嘗試由目前的黑盒向白盒下探,提高代碼覆蓋率砂吞。

  f) 性能需求:完善性能測試體系署恍,通過自動化的手段監(jiān)控接口性能指標(biāo)是否正常。

4蜻直、接口測試質(zhì)量評估標(biāo)準(zhǔn):

  a) 業(yè)務(wù)功能覆蓋是否完整

  b) 業(yè)務(wù)規(guī)則覆蓋是否完整

  c) 參數(shù)驗(yàn)證是否達(dá)到要求(邊界盯质、業(yè)務(wù)規(guī)則)

  d) 接口異常場景覆蓋是否完整

  e) 接口覆蓋率是否達(dá)到要求

  f) ?代碼覆蓋率是否達(dá)到要求

  g) 性能指標(biāo)是否滿足要求

  h) 安全指標(biāo)是否滿足要求(如:在請求中需要攜帶用戶的敏感信息(比如電話號碼、身份證號碼概而、地址信息等)時呼巷,敏感信息一定是需要加密的,需要驗(yàn)證對這些數(shù)據(jù)加密的生效性)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末赎瑰,一起剝皮案震驚了整個濱河市王悍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌餐曼,老刑警劉巖压储,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異源譬,居然都是意外死亡集惋,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門踩娘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來刮刑,“玉大人,你說我怎么就攤上這事∥螅” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵厚脉,是天一觀的道長习寸。 經(jīng)常有香客問我,道長傻工,這世上最難降的妖魔是什么霞溪? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮中捆,結(jié)果婚禮上鸯匹,老公的妹妹穿的比我還像新娘。我一直安慰自己泄伪,他們只是感情好殴蓬,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蟋滴,像睡著了一般染厅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上津函,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天肖粮,我揣著相機(jī)與錄音,去河邊找鬼尔苦。 笑死涩馆,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的允坚。 我是一名探鬼主播魂那,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼屋讶!你這毒婦竟也來了冰寻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤皿渗,失蹤者是張志新(化名)和其女友劉穎斩芭,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乐疆,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡划乖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了挤土。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片琴庵。...
    茶點(diǎn)故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出迷殿,到底是詐尸還是另有隱情儿礼,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布庆寺,位于F島的核電站蚊夫,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏懦尝。R本人自食惡果不足惜知纷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望陵霉。 院中可真熱鬧琅轧,春花似錦、人聲如沸踊挠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽止毕。三九已至模蜡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間扁凛,已是汗流浹背忍疾。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谨朝,地道東北人卤妒。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像字币,于是被迫代替她去往敵國和親则披。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評論 2 355

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

  • 1.接口測試基礎(chǔ) 1.1.什么是接口測試洗出? 接口測試是測試系統(tǒng)組件間接口的一種測試士复。 接口測試主要用于檢測外部...
    玲小喵閱讀 423評論 0 0
  • #接口測試用例設(shè)計(jì)-博客-云棲社區(qū)-阿里云 #### 接口測試用例設(shè)計(jì)一 ##### 1、接口測試概念 接口...
    玲小喵閱讀 302評論 0 0
  • 六十 下課了 揖別講臺 撣撣筆灰 回家 謝幕 撕掉標(biāo)簽 卸去鉛華 端杯茶 看茶葉沉淀 搖椅上 開一樹繁華翩活? 含飴弄...
    Bernardxiao閱讀 286評論 3 1
  • 小幸福 很開心能在這里記錄文字阱洪,一切都是嶄新的開始,看什么都美菠镇,能夠遠(yuǎn)離八卦冗荸,靜心地穿梭于文字中,這真是件美麗的事...
    隨心的愛閱讀 240評論 3 0
  • 一利耍、對對子 歲月如風(fēng)小少女 江山似畫騷文人 歲月如風(fēng)小少女 八荒若磐木青龍 二蚌本、押韻 1盔粹、文章人情差強(qiáng)...
    茄子豇豆閱讀 192評論 2 1