- 接口自動(dòng)化測(cè)試持續(xù)集成:Postman+Newman+Git+Jenkins+釘釘
- Storm
- 1264字
- 2019-12-20 19:46:06
前言
軟件測(cè)試是軟件開發(fā)的重要組成部分,是貫穿整個(gè)軟件生命周期,對(duì)軟件產(chǎn)品進(jìn)行驗(yàn)證和確認(rèn)的活動(dòng)過(guò)程,其目的是盡早發(fā)現(xiàn)軟件產(chǎn)品中存在的各種問(wèn)題,如與用戶需求、預(yù)先定義不一致等問(wèn)題。隨著技術(shù)的發(fā)展,測(cè)試從手工向自動(dòng)化轉(zhuǎn)變,從用戶界面(User Interface,UI)層測(cè)試向單元測(cè)試靠攏。接下來(lái),先回顧幾個(gè)概念。
單元測(cè)試:對(duì)軟件中的最小可測(cè)試單元進(jìn)行檢查和驗(yàn)證。具體來(lái)說(shuō)就是開發(fā)者編寫一小段代碼,用于檢驗(yàn)被測(cè)代碼的一個(gè)很小的、很明確的功能是否正確。通常而言,一個(gè)單元測(cè)試是用于判斷某個(gè)特定條件(或者場(chǎng)景)下某個(gè)特定函數(shù)的行為。
集成測(cè)試:它是在單元測(cè)試的基礎(chǔ)上,將所有的軟件單元按照概要設(shè)計(jì)規(guī)格說(shuō)明的要求組裝成模塊、子系統(tǒng)或系統(tǒng),并測(cè)試該過(guò)程中各部分工作是否達(dá)到或?qū)崿F(xiàn)相應(yīng)技術(shù)指標(biāo)及要求。也就是說(shuō),在集成測(cè)試之前,單元測(cè)試應(yīng)該已經(jīng)完成。這一點(diǎn)很重要,因?yàn)槿绻唤?jīng)過(guò)單元測(cè)試,那么集成測(cè)試的效果將會(huì)受到很大影響,并且會(huì)大幅增加軟件單元代碼糾錯(cuò)的代價(jià)。
系統(tǒng)測(cè)試:將需測(cè)試的軟件,作為整個(gè)基于計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與計(jì)算機(jī)硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素及環(huán)境結(jié)合在一起測(cè)試。系統(tǒng)測(cè)試的目的在于通過(guò)與系統(tǒng)的需求定義作比較,發(fā)現(xiàn)軟件與系統(tǒng)定義不符合或與之矛盾的地方。
再來(lái)看看經(jīng)典的測(cè)試分層金字塔圖。
其中Unit代表單元測(cè)試,Service代表服務(wù)集成測(cè)試(或接口集成測(cè)試),UI代表頁(yè)面系統(tǒng)測(cè)試。單元測(cè)試需要強(qiáng)大代碼能力,很多測(cè)試人員還沒有能力去執(zhí)行,因此目前大多數(shù)公司還處于開發(fā)自測(cè)的階段;隨著開源UI自動(dòng)化測(cè)試框架Selenium的發(fā)展,Web UI自動(dòng)化測(cè)試近幾年已趨于成熟(Appium是移動(dòng)端UI自動(dòng)化測(cè)試的代表框架),但其有3個(gè)明顯的缺點(diǎn):第一,UI測(cè)試介入測(cè)試時(shí)機(jī)較晚,修復(fù)發(fā)現(xiàn)的漏洞成本較大;第二,UI測(cè)試很難發(fā)現(xiàn)底層邏輯問(wèn)題;第三,頁(yè)面元素經(jīng)常變換,導(dǎo)致自動(dòng)化產(chǎn)出、投入比偏低;而這些恰恰是接口自動(dòng)化測(cè)試所能解決的問(wèn)題。關(guān)于接口自動(dòng)化測(cè)試,目前在業(yè)內(nèi)有兩大類解決方案,一類是通過(guò)代碼編寫接口測(cè)試框架,實(shí)現(xiàn)接口自動(dòng)化測(cè)試,其要求測(cè)試人員掌握扎實(shí)的編程基礎(chǔ);另一類是借助接口測(cè)試工具,配合Postman等集成工具實(shí)現(xiàn)接口自動(dòng)化測(cè)試持續(xù)集成。前者更靈活,但后者的學(xué)習(xí)成本更低,適合新人上手。接口測(cè)試工具有很多,其中Postman安裝簡(jiǎn)單、使用方便、功能強(qiáng)大,另外,這也是開發(fā)人員常用的接口調(diào)試工具,使用相同的工具測(cè)試出來(lái)的問(wèn)題就更有說(shuō)服力了。本書將借助該工具,帶領(lǐng)大家了解接口測(cè)試持續(xù)集成的流程。
目前,很多項(xiàng)目都需要執(zhí)行接口測(cè)試,很多讀者也想了解接口測(cè)試方面的知識(shí),但市面上與接口測(cè)試相關(guān)的書卻很少,于是我根據(jù)自己的學(xué)習(xí)經(jīng)驗(yàn)和工作積累寫了這本書。
讀者在了解了基本概念,理解了接口測(cè)試原理后,下載并安裝Postman工具,跟隨書中的示例進(jìn)行練習(xí),并把自己所學(xué)知識(shí)應(yīng)用到目前從事的項(xiàng)目中。
由于本人水平有限,廣大讀者在學(xué)習(xí)過(guò)程中,如發(fā)現(xiàn)任何疑問(wèn),可發(fā)郵件至apitest100@163.com,期待得到你的真摯反饋,讓我們?cè)诩夹g(shù)之路上共同進(jìn)步。
感謝天怡和其他編輯老師的耐心指導(dǎo);感謝讀者的信任;感謝BestTest測(cè)試培訓(xùn)機(jī)構(gòu)提供的接口項(xiàng)目示例;感謝安大叔的教導(dǎo);感謝家人的大力支持。
Storm
- Instant Testing with CasperJS
- Visual C++串口通信開發(fā)入門與編程實(shí)踐
- 算法大爆炸:面試通關(guān)步步為營(yíng)
- Java開發(fā)入行真功夫
- JavaScript前端開發(fā)與實(shí)例教程(微課視頻版)
- PostgreSQL 11從入門到精通(視頻教學(xué)版)
- Learning Laravel 4 Application Development
- 小學(xué)生C++創(chuàng)意編程(視頻教學(xué)版)
- Learning OpenCV 3 Computer Vision with Python(Second Edition)
- Java網(wǎng)絡(luò)編程實(shí)戰(zhàn)
- The Professional ScrumMaster’s Handbook
- Programming with CodeIgniterMVC
- 分布式架構(gòu)原理與實(shí)踐
- 前端架構(gòu)設(shè)計(jì)
- JBoss AS 7 Development