文章目錄
一、什么是接口逞刷?
二阿蝶、軟件測(cè)試模型
三、接口測(cè)試的意義
1. 更早的發(fā)現(xiàn)問(wèn)題
2. 縮短產(chǎn)品周期
3. 發(fā)現(xiàn)更底層的問(wèn)題
四颂砸、接口測(cè)試策略
對(duì)于測(cè)試人員來(lái)說(shuō),掌握接口測(cè)試基本上已經(jīng)成為一個(gè)標(biāo)配的能力了,但是對(duì)于初學(xué)者來(lái)說(shuō)人乓,看著網(wǎng)上一大堆高大上的名詞解釋勤篮,總會(huì)認(rèn)為接口測(cè)試是一個(gè)很高深的東西(包括我剛開(kāi)始也這么認(rèn)為),所以今天我就盡量用簡(jiǎn)單通俗的表達(dá)告訴你色罚,接口測(cè)試其實(shí)很簡(jiǎn)單碰缔!
一、什么是接口戳护?
我扒遍了各種相關(guān)名詞解釋和百科詞條金抡,發(fā)現(xiàn)關(guān)于接口的解釋還真是多種多樣,這里我只列出一個(gè)相對(duì)更客觀更通用的定義腌且,雖然聽(tīng)起來(lái)也很別扭梗肝。
接口,泛指實(shí)體把自己提供給外界的一種抽象化物(可以為另一實(shí)體)铺董,用以由內(nèi)部操作分離出外部溝通方法巫击,使其能被內(nèi)部修改而不影響外界其他實(shí)體與其交互的方式。
通俗點(diǎn)說(shuō)精续,能夠把某個(gè)硬件或軟件模塊封裝起來(lái)供外部使用坝锰,都可以稱之為接口,可以存在于所有的軟硬件設(shè)備之間重付。
我們?cè)谏钪袩o(wú)時(shí)不刻不在使用各種接口顷级,比如我們乘坐電梯里面的按鈕就是一個(gè)接口,我們開(kāi)車一個(gè)踩油門它也是一個(gè)接口堪夭,我們計(jì)算機(jī)操作系統(tǒng)中也有很多接口愕把。
在 IT 行業(yè)中拣凹,我們通常所說(shuō)的接口指的都是 API 軟件接口森爽,即 Application Programming Interface,應(yīng)用程序接口嚣镜,簡(jiǎn)稱 API爬迟。本文中后面的部分中提到的接口都是指 API 接口。
對(duì)于 API 接口來(lái)說(shuō)菊匿,使用者只需要關(guān)心輸入和輸出付呕,不需要了解接口內(nèi)部的具體實(shí)現(xiàn)邏輯。
我們工作中常見(jiàn)的接口可以分為兩類:
系統(tǒng)內(nèi)部的接口:
同一個(gè)系統(tǒng)內(nèi)部不同模塊跌捆、不同服務(wù)之間的調(diào)用
如系統(tǒng)內(nèi)部注冊(cè)徽职、登錄接口的調(diào)用,查詢訂單佩厚、JDBC接口調(diào)用等姆钉。
系統(tǒng)外部的接口:
不同系統(tǒng)甚至不同公司之間的接口調(diào)用
如同一公司的系統(tǒng) A 和 系統(tǒng) B 之間的調(diào)用,第三方登錄時(shí)調(diào)用外部公司的微博登錄、微信登錄接口等潮瓶。
二陶冷、軟件測(cè)試模型
我們看一下針對(duì)接口的測(cè)試位于軟件測(cè)試模型中的位置。
關(guān)于測(cè)試模型毯辅,最出名的就是測(cè)試金字塔模型埂伦。
測(cè)試金字塔的概念是由敏捷開(kāi)發(fā)大師 Mike Cohn 首先提出的,主要包含以下幾點(diǎn):
把軟件測(cè)試分為 UI 界面測(cè)試思恐、接口測(cè)試沾谜、單元測(cè)試三層結(jié)構(gòu)
應(yīng)該進(jìn)行更多的單元測(cè)試,而不僅僅是通過(guò)用戶界面運(yùn)行的測(cè)試
單元測(cè)試穩(wěn)定性更高胀莹、更高效
但是在實(shí)際工作中类早,單元測(cè)試對(duì)技術(shù)專業(yè)性要求更高,很多情況下都是由開(kāi)發(fā)來(lái)實(shí)施嗜逻。雖然單元測(cè)試能夠盡早的發(fā)現(xiàn)問(wèn)題涩僻,減小修復(fù)成本,但對(duì)測(cè)試人員的高要求也意味著更高的人力成本栈顷,所以對(duì)接口測(cè)試層的投入顯得更加高效逆日、成本更低。
結(jié)合實(shí)際現(xiàn)狀萄凤,對(duì)接口測(cè)試和 UI 層測(cè)試以及單元測(cè)試進(jìn)行了比較室抽,最終認(rèn)定接口(API)測(cè)試可以獲得更高的投資回報(bào),所以有了金字塔模型的改進(jìn)版–橄欖模型(不倒翁模型):
三靡努、接口測(cè)試的意義
1. 更早的發(fā)現(xiàn)問(wèn)題
隨著敏捷測(cè)試的盛行坪圾,我們都知道測(cè)試工作要盡早的介入到項(xiàng)目開(kāi)發(fā)周期中,因?yàn)樵皆绲陌l(fā)現(xiàn) bug惑朦,修復(fù)的成本就越低兽泄。
然而功能測(cè)試一般都要等到系統(tǒng)提供可測(cè)試的 UI 界面后才能進(jìn)行,單元測(cè)試又要求較高的專業(yè)性和人力成本漾月,所以選擇接口測(cè)試來(lái)更早的介入測(cè)試病梢。
接口測(cè)試可以在功能界面未開(kāi)發(fā)出來(lái)之前對(duì)系統(tǒng)的接口進(jìn)行測(cè)試,從而更早的發(fā)現(xiàn)總是并以更低的成本修復(fù)問(wèn)題梁肿。
2. 縮短產(chǎn)品周期
接口測(cè)試更早的介入蜓陌,可以更早的發(fā)現(xiàn)并解決 bug,從而使得留到后期功能測(cè)試階段的 bug 數(shù)量減少吩蔑,最終縮短整個(gè)項(xiàng)目的上線時(shí)間钮热,有助于實(shí)現(xiàn)敏捷測(cè)試。
3. 發(fā)現(xiàn)更底層的問(wèn)題
系統(tǒng)中的有些 bug 如果想通過(guò) UI 層功能測(cè)試會(huì)比較困難烛芬,或者構(gòu)造測(cè)試數(shù)據(jù)和測(cè)試條件非常復(fù)雜隧期,而通過(guò)接口測(cè)試可以更簡(jiǎn)單痴奏、更全面的覆蓋到底層的代碼邏輯,從而發(fā)現(xiàn)一些隱藏 bug厌秒。
尤其是一些異常的读拆、極端的情況,可以用接口測(cè)試很容易的驗(yàn)證鸵闪。
四檐晕、接口測(cè)試策略
接口測(cè)試主要用于檢測(cè)外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn)。
測(cè)試的重點(diǎn)是檢查數(shù)據(jù)的交換蚌讼、傳遞和控制管理過(guò)程辟灰,以及系統(tǒng)間的相互邏輯依賴關(guān)系等。
具體來(lái)說(shuō)篡石,就是根據(jù)測(cè)試文檔編寫測(cè)試用例芥喇,執(zhí)行測(cè)試,查看不再的參數(shù)請(qǐng)求接口時(shí)返回的數(shù)據(jù)是否符合預(yù)期凰萨,跟普通的測(cè)試沒(méi)太大區(qū)別继控。
接口測(cè)試策略包括接口功能測(cè)試、接口性能測(cè)試和接口安全測(cè)試三方面胖眷,具體測(cè)試點(diǎn)包含但不局限于如下內(nèi)容:
最后武通,關(guān)于接口測(cè)試工具也有很多,常用的有 postman珊搀、soapUI冶忱、jmeter 等,具體使用方法都不復(fù)雜境析,后面有時(shí)間 再一一詳述囚枪。
這篇文章測(cè)重于對(duì)接口理論知識(shí)的理解,給出的只是方向性的指導(dǎo)劳淆,沒(méi)有詳細(xì)的具體實(shí)踐链沼,所以肯定還有同學(xué)不知道該怎么辦,不過(guò)沒(méi)關(guān)系呀憔儿,這都是正常的忆植,關(guān)于接口測(cè)試的內(nèi)容非常多放可,也不是一兩篇文章能夠全部講完谒臼,最重要的是先知道大概的方向,然后就去大膽實(shí)踐耀里,在做的過(guò)程中成長(zhǎng)最快
————————————————
版權(quán)聲明:本文為CSDN博主「媛測(cè)」的原創(chuàng)文章蜈缤,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明冯挎。
原文鏈接:https://blog.csdn.net/lijing742180/article/details/90789932