昨晚在某個測試交流群叹洲,聽了一個測試?yán)纤緳C分享接口自動化測試的內(nèi)容,對接口自動化有了更深的一些認(rèn)識工禾,也為接下來公司的接口自動化實施运提,提供了更多的思路。
這篇文章闻葵,就說說功能測試到接口自動化的進階民泵,以及接口自動化的一些事。笙隙。洪灯。
前言
自動化測試,算是近幾年比較火熱的一個話題竟痰,當(dāng)然签钩,更是軟件測試未來的一個發(fā)展趨勢。未來坏快,功能測試等非核心的測試工作铅檩,都將被外包。
想要在軟件測試這個行業(yè)繼續(xù)前行莽鸿,就必須擁有核心競爭力昧旨,掌握自動化測試技術(shù),是必不可少的一個技能祥得。
在《Google軟件測試之道》一書中有介紹到:在Google兔沃,70%的自動化測試工作集中于單元測試,20%集中于接口測試级及,剩下10%才是UI測試乒疏。
誠然,我們沒有Google那么完善的機制和工程師文化饮焦,沒必要一切照搬Google怕吴,但Google作為互聯(lián)網(wǎng)2.0時代最耀眼的一個公司,它的技術(shù)發(fā)展方向县踢,流程管理等可以說是不久的將來转绷,我們也要到達的方向。選擇適合自己的硼啤,落地應(yīng)用议经,是當(dāng)下我們應(yīng)該做的。
目前國內(nèi)的互聯(lián)網(wǎng)行業(yè),大環(huán)境來說爸业,還處在一個快速發(fā)展其骄,需要流程化標(biāo)準(zhǔn)化的時期亏镰,如何跟上不斷變幻發(fā)展的節(jié)奏扯旷,除了不斷了解接觸新的東西,還需要不斷學(xué)習(xí)索抓,提升自身钧忽,以內(nèi)在的驅(qū)動力,去緊跟時代浪潮逼肯。即使做不了弄潮兒耸黑,也不能變成時代淘汰的那一批。
01篮幢、接口測試的必要性和意義
接口大刊,即API,應(yīng)用程序編程接口三椿,關(guān)于接口的介紹缺菌。
這里主要說說接口測試的必要性和意義:
接口測試實施在多系統(tǒng)的平臺架構(gòu)下,有著極為高效的成本收益比(當(dāng)然搜锰,單元測試收益更高伴郁,但實施單元測試的成本投入更大,技術(shù)要求更高蛋叼,所以應(yīng)該選擇更適合自身的才是最好的方案)焊傅。
接口測試天生為高復(fù)雜性的平臺帶來高效的缺陷檢測和質(zhì)量監(jiān)督能力,平臺復(fù)雜狈涮,系統(tǒng)越龐大狐胎,接口測試的效果越明顯。
總的來說歌馍,接口測試是保證高復(fù)雜性系統(tǒng)質(zhì)量的內(nèi)在要求和低成本的經(jīng)濟利益驅(qū)動作用下的最佳方案握巢,主要體現(xiàn)在如下三個方面:
1、節(jié)省了測試成本
根據(jù)數(shù)據(jù)模型推算骆姐,底層的一個程序BUG可能引發(fā)上層的8個左右BUG镜粤,而且底層的BUG更容易引起全網(wǎng)的死機;接口測試能夠提供系統(tǒng)復(fù)雜度上升情況下的低成本高效率的解決方案玻褪。
2肉渴、接口測試不同于單元測試
接口測試是站在用戶的角度對系統(tǒng)接口進行全面高效持續(xù)的檢測。
3带射、效益更高
將接口測試實現(xiàn)為自動化和持續(xù)集成同规,當(dāng)系統(tǒng)復(fù)雜度和體積越大,接口測試的成本就越低,相對應(yīng)的券勺,效益產(chǎn)出就越高绪钥。
02、做接口測試需要哪些技能
做接口測試关炼,需要的技能程腹,基本就是以下幾點:
業(yè)務(wù)流:了解系統(tǒng)及內(nèi)部各個組件之間的業(yè)務(wù)邏輯交互;
數(shù)據(jù)流:了解接口的I/O(input/output:輸入輸出)儒拂;
協(xié)議:包括http協(xié)議寸潦,TCP/IP協(xié)議族(之前的博客有系統(tǒng)的介紹過協(xié)議,傳送門:http協(xié)議:菜鳥入門系列)
工具:工具可以輔助我們更好更高效的完成工作社痛,常用的接口測試工具有:jmeter见转、loadrunner、soapui蒜哀、postman等斩箫;
數(shù)據(jù)庫知識:無論是從數(shù)據(jù)庫獲取知識,還是確認(rèn)數(shù)據(jù)落地撵儿,抑或接口對數(shù)據(jù)執(zhí)行了哪些操作乘客,都需要確認(rèn),因此數(shù)據(jù)庫知識(其實就是增刪改查)就很有必要统倒;
補充:接口文檔的幾個必要點:完整性寨典、一致性、容錯性房匆;
整理了一些軟件測試方面的資料耸成、面試資料(接口自動化、web自動化浴鸿、app自動化井氢、性能安全、測試開發(fā)等)岳链,有需要的小伙可以加入我的qq學(xué)習(xí)交流群110685036花竞,無套路自行領(lǐng)取~?
03、接口自動化測試
1掸哑、如何開展
首先约急,調(diào)試單個接口,保證單個接口的正確和通暢(類似于性能測試中的基準(zhǔn)測試)苗分;
其次厌蔽,明確數(shù)據(jù)流,業(yè)務(wù)流摔癣;
最后奴饮,將N個接口測試腳本串起來纬向,執(zhí)行即可;
最重要的一點戴卜,別想太多太復(fù)雜逾条,先把最基礎(chǔ)最簡單的做起來,就成功一大半了投剥,至于擴展性的第三方接口师脂、https、定時任務(wù)薇缅、自動出測試報告危彩、自動發(fā)郵件等等功能攒磨,這都是不斷累計和優(yōu)化的泳桦,
行動起來就行,想太多不如行動起來娩缰,讓接口自動化測試落地灸撰,才是我們首先需要考慮的
2、開展之前需要知道的
現(xiàn)在的測試對象包含幾個頁面拼坎?
每個頁面涉及幾個接口浮毯?
分別在哪一步調(diào)用?
每個接口包含哪些字段泰鸡?
各個字段對應(yīng)數(shù)據(jù)庫哪張表债蓝?
每個表中各個字段是什么意思?
各個接口對表產(chǎn)生了怎樣的操作盛龄?
3饰迹、自動化框架
什么是框架?你可以理解為一個完整的環(huán)余舶,也可以理解為讓接口測試腳本運行的一整套環(huán)境啊鸭,平臺,隨便什么都可以匿值;一般一個自動化測試框架包含以下幾點:
數(shù)據(jù)池:即測試數(shù)據(jù)的存儲管理赠制,一般集成為一個data包,其中包括:
log(日志文件)挟憔、report(測試報告文件钟些,一般為xml格式)、case-data(單個接口的測試數(shù)據(jù)绊谭,一般為json格式)政恍、server-data(接口業(yè)務(wù)串聯(lián)的數(shù)據(jù),可以用excel管理)
腳本管理中心:接口測試腳本的統(tǒng)一管理龙誊、存儲抚垃、調(diào)度中心,常用的工具有maven、ant等鹤树,或者可以使用編程語言中的單元測試框架提供的功能铣焊,選擇自己適用的即可;
運行平臺:一般是借助工具來運行這些測試腳本罕伯,工具可以使用上面提及到的幾種(jemter曲伊、loadrunner、soapui等)追他,同樣坟募,選擇合適的很重要;
持續(xù)集成工具:最常見的就是Jenkins邑狸,它的作用就是監(jiān)控外部程序的調(diào)用執(zhí)行懈糯,定時或者觸發(fā)調(diào)度任務(wù),測試腳本執(zhí)行等功能单雾;
通信服務(wù):dubbo赚哗、spring_boot、thrift等RPC硅堆、REST同步調(diào)用服務(wù)屿储;
測試結(jié)果統(tǒng)計管理中心:比如testlink,目的是為了測試結(jié)果自動更新上傳渐逃,更好的統(tǒng)計測試結(jié)果够掠,以便后期的優(yōu)化;
上面說了這么多茄菊,實際上它的意義就是:數(shù)據(jù)與腳本分離疯潭,測試結(jié)果自動提交通知,提高測試腳本和測試數(shù)據(jù)的維護便利等等买羞。袁勺。。
我正在使用的框架為:jemter+maven+Jenkins+dubbo+MySQL......
關(guān)于接口自動化測試畜普,基本就是上述的內(nèi)容期丰,當(dāng)然,選擇適合自身實際情況的框架吃挑,落地實施钝荡,才是重點,行動起來舶衬,才能咸魚翻身埠通。。逛犹。
最后感謝每一個認(rèn)真閱讀我文章的人端辱,看著粉絲一路的上漲和關(guān)注梁剔,禮尚往來總是要有的,雖然不是什么很值錢的東西舞蔽,如果你用得到的話可以直接拿走
這些資料荣病,對于做【軟件測試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉庫,這個倉庫也陪伴我走過了最艱難的路程渗柿,希望也能幫助到你隧膏!凡事要趁早必盖,特別是技術(shù)行業(yè)怎栽,一定要提升技術(shù)功底剔宪。希望對大家有所幫助…….【可看個人介紹】