接口測試基礎(chǔ)

1 什么是接口測試?

接口測試是測試系統(tǒng)組件間接口的一種測試锋玲。接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個

子系統(tǒng)之間的交互點仗哨。測試的重點是要檢查數(shù)據(jù)的交換桥言、傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等谋国。

2 為什么要做接口測試载矿?

接口測試介于單元測試與系統(tǒng)測試之間,單元測試一般由開發(fā)完成(不要相信開發(fā))

接口是各種系統(tǒng)功能的基礎(chǔ),一旦接口出現(xiàn)問題可能會引起許多系統(tǒng)功能的問題并且不容易定位

開展接口測試可以及早發(fā)現(xiàn)問題闷盔,有效降低測試成本

接口一般較UI相對穩(wěn)定弯洗,利于進行自動化和持續(xù)集成

3 接口測試都測什么?

接口測試一般有以下崗位實施:

手工測試崗:先提測接口再提出功能逢勾,兼做接口自動化

服務(wù)端測試崗:梳理代碼牡整,審核接口實現(xiàn)邏輯是否與業(yè)務(wù)設(shè)計一致,技術(shù)實現(xiàn)邏輯的合理性溺拱,異常流測試逃贝,接口壓測及安全性測試

測試開發(fā)崗:專職做接口(或UI)的自動化用例開發(fā),測試工具開發(fā)

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


4 怎樣掌握接口測試迫摔?

1 了解OSI網(wǎng)絡(luò)模型沐扳,TCP/UDP協(xié)議,掌握HTTP/HTTPS協(xié)議句占,了解RPC, Web Service及REST沪摄,理解Session和Cookie

2 掌握常用的接口測試工具如curl命令,Postman,Jmeter,LR,SoupUI,AB等

3 掌握基本的抓包工具如Chrome開發(fā)者工具,Fiddler,Charles,Wireshark,tcpdumps等

4掌握一門編程語言Python或Java

5 了解Nginx, Apache, Tomcat等服務(wù)器中間件

6 掌握數(shù)據(jù)庫基本查詢命令,及一些NoSQL(如Redis)操作纱烘,用于檢查響應(yīng)結(jié)果

7 掌握基本的Linux日子查詢和篩選命令

5 接口測試重難點

動態(tài)變量參數(shù)化

接口依賴及中間變量問題

異步接口結(jié)果驗證問題

相應(yīng)參數(shù)及嵌套很多的驗證問題

接口測試框架的穩(wěn)定性問題

資源清理問題

多接口場景測試

6? 常見軟件默認端口

Apache/Nginx(HTTP服務(wù)): 80? https:443

Tomcat: 8080

Oracle: 1521

MySQL: 3306

SQL Server: 1433

PostgreSQL: 5432

MongoDB: 27017

Redis: 6379

Memcached: 11211

查看端口命令

Windows: netstat -ano|findstr 端口號

Linux: netstat -ano|grep 端口號

7 常見接口類型杨拐?

HTTP接口,RPC接口擂啥,Web Service接口哄陶, Dubble接口,RESTful接口哺壶,其中RESTful接口是基于HTTP接口的屋吨,Web Service及Dubble屬于RPC接口

HTTP接口:通過HTTP協(xié)議傳輸?shù)慕涌冢梢詡鬏斘谋颈韱螖?shù)據(jù)山宾,也可以傳輸Json類型的對象數(shù)據(jù)或xml類型的數(shù)據(jù)

RPC: 遠程方法調(diào)用至扰,隨著分布式系統(tǒng)的出現(xiàn),當(dāng)你需要調(diào)用部署到其他服務(wù)器上的方法時塌碌,需要用到RPC渊胸。RPC只是提出了這樣一個問題,有很多種解決方案台妆,比如WebService(基于SOAP協(xié)議)翎猛, REST(基于HTTP協(xié)議)。

SOAP: 簡單面向?qū)ο髤f(xié)議接剩,基于HTTP切厘,使用xml作為默認傳輸格式

Web Service: 基于SOAP協(xié)議的一種RPC實現(xiàn)方案。相比傳統(tǒng)的HTTP接口只傳輸文本請求和文本相應(yīng)懊缺,通過Web Service可以直接拿到遠程的一個對象疫稿,并能夠直接調(diào)用該對象的屬性和方法培他,比HTTP更高級。

REST/RESTful API: REST遗座,表述性狀態(tài)轉(zhuǎn)移舀凛。一種HTTP接口的設(shè)計風(fēng)格,將一切接口視為資源途蒋,要求接口路徑同意管理猛遍,分版本管理,規(guī)定了GET/POST等請求以及HTTP狀態(tài)碼的使用規(guī)范号坡,默認使用JSON格式傳輸懊烤。RESTful API即滿足REST風(fēng)格即設(shè)計規(guī)范的API接口


8 接口測試的流程

1 熟悉API接口文檔

2 編寫測試用你

3? 利用接口測試工具,根據(jù)測試用例進行API手工測試或者接口自動化測試

注意事項:沒有接口文檔宽堆,讓開發(fā)提供

9 接口測試文檔

增加課程接口

用來創(chuàng)建一個新的培訓(xùn)課程

請求語法

POST /api/mgr/sq_mgr/ HTTP/1.1

Content-Type:?? application/x-www-form-urlencoded

url請求參數(shù)

無url請求參數(shù)

請求體內(nèi)容

action?? 必填???? 填寫add_course腌紧,表明是為了創(chuàng)建課程

data???? 必填???? 存儲創(chuàng)建課程的信息,包括名稱畜隶、描述壁肋、顯示次序。

為json格式代箭。例如:

{

? "name":"初中化學(xué)",

?"desc":"初中化學(xué)課程",

? "display_idx":"4"

}

響應(yīng)語法

HTTP/1.1 200 OK

Content-Type: application/json

頭部信息

Content-Type 必填 正常情況下該值將被設(shè)為application/json墩划,表示返回 JSON 格式的文本信息涕刚。

響應(yīng)內(nèi)容

如果請求成功嗡综,返回json格式的消息體,如下所示杜漠,retcode值為0表示添加成功极景,id是新加課程對應(yīng)的ID號

{

??? "retcode": 0

??? "id" : 1212

}

說明

增加課程的名稱如果已經(jīng)存在,則會創(chuàng)建失敗返回結(jié)果為

{

??? "retcode": 2,

??? "reason": "同名課程已經(jīng)存在"

}

10 接口測試樣例

11 第三方接口測試庫(python)

內(nèi)置庫:httplib,urllib2

第三方庫:cn.python-requests.org/zh-CN/latest/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末驾茴,一起剝皮案震驚了整個濱河市盼樟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌锈至,老刑警劉巖晨缴,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異峡捡,居然都是意外死亡击碗,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門们拙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來稍途,“玉大人,你說我怎么就攤上這事砚婆⌒蹬模” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長坷虑。 經(jīng)常有香客問我甲馋,道長,這世上最難降的妖魔是什么迄损? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任摔刁,我火速辦了婚禮,結(jié)果婚禮上海蔽,老公的妹妹穿的比我還像新娘共屈。我一直安慰自己,他們只是感情好党窜,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布拗引。 她就那樣靜靜地躺著,像睡著了一般幌衣。 火紅的嫁衣襯著肌膚如雪矾削。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天豁护,我揣著相機與錄音哼凯,去河邊找鬼。 笑死楚里,一個胖子當(dāng)著我的面吹牛断部,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播班缎,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼蝴光,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了达址?” 一聲冷哼從身側(cè)響起蔑祟,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎沉唠,沒想到半個月后疆虚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡满葛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年径簿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纱扭。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡牍帚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出乳蛾,到底是詐尸還是另有隱情暗赶,我是刑警寧澤鄙币,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站蹂随,受9級特大地震影響十嘿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜岳锁,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一绩衷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧激率,春花似錦咳燕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至嘉冒,卻和暖如春曹货,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背讳推。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工顶籽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人银觅。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓礼饱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親设拟。 傳聞我的和親對象是個殘疾皇子慨仿,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

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

  • 一久脯、接口測試簡介 1.1 接口的定義及分類 ??接口測試是測試系統(tǒng)組件間接口的一種測試纳胧。接口測試主要用于檢測外部系...
    Ricsy閱讀 842評論 1 2
  • 接口測試的地位 采用金字塔型和橄欖球型來形象說明一下 金字塔型從上到下:UI測試、接口測試帘撰、單元測試橄欖球型:接口...
    想當(dāng)米蟲閱讀 673評論 0 0
  • 1跑慕、接口測試范圍 是否所有的接口都需要測試?不是的摧找,覆蓋所有的接口是一件很難的事情核行,通常情況下,主要測試最外層兩類...
    我吃小蝦米閱讀 368評論 0 4
  • 大家一直都在說接口自動化蹬耘,但對于接口測試的基礎(chǔ)HTTP協(xié)議芝雪,你了解多少呢? HTTP協(xié)議采用了請求/響應(yīng)模型综苔〕拖担客戶...
    曉莫莫閱讀 4,910評論 3 88
  • 有時候在想位岔,我們是否存在于真實的世界。既然堡牡,人類可以編程抒抬,為何現(xiàn)有的世界不是被未知的生命所編譯?既然晤柄,有夢這樣的東...
    精衛(wèi)移山閱讀 675評論 0 0