介面測驗常見的問題了,
大家乍一看!

介面測驗面試題
這幾個問題,能答出來幾個?有沒有8個都能夠完美的答出來的?在留言區打出你的數字,(0~8)
這些問題你回答起來,不要吞吞吐吐只說幾個關鍵字,你要從多方面去給面試官總結分析那些場景,如何去做的,遇到的問題……
介面測驗的重要性,相信不用我多說了,介面測驗是現在軟體測驗工程師一個加分項,因為很多朋友一開始做了幾年的軟體測驗都是在做功能測驗,做界面UI的測驗,然而沒有做過介面測驗,(很正常很普遍)
那么介面測驗它在企業中,能達到非常好的收益,后端、服務端的測驗,特別是現在!像是前面幾年,物聯網公司沒有做一個前后端分離,現在基本上都是微服務架構,前后端分離,介面非常重要,現在2020年了,未來幾年你去做測驗,很多都是介面,
一個介面它可以支持安卓、IOS、H5、Web端,而且介面測驗可以測很多你在界面上無法去測驗的一些范圍和型別,
我們來看一看這幾個問題,從簡單的來,
第一題,大家絕大部分都能夠答得出來
1.目前市面上流行的介面大多有哪幾種協議的介面?
大家可能就非常了解,Http、Https、RPC、Websocket、還有一個Dubbo介面,這些型別百度一下也都能夠比較全面的得到答案,
所以我一直傳輸給大家一個觀念就是說,假如面試官問你這個問題,你不僅要說有Http、Https……說完這幾種型別,你還可以多說幾句,比如說我之前在專案中測驗過Http的,怎么測驗的,用什么測驗工具測驗的,這是我一直傳輸給大家的一個面試小技巧,因為我之前在企業中做為面試官的時候,當聽到這種面試題回答的時候,會更加分,
因為如果我問你一個問題,你答Http、Https就沒了,那么說明你這個人的積極性和你的一個綜合能力、見識都不是非常的亮眼突出,理解我的意思嗎?不管面試官問你什么問題,你都要非常全面的去解答,
比如說第二個問題
2.http協議有什么特點,能說說這些特點體現在哪些方面嗎?
可能會有朋友就說,安全,
Http就安全了嗎?(Https才相對安全)
a.無狀態
b.靈活
c.無連接
d.簡單快速
那么我又來問大家,這些狀態這些特點,具體體現在哪些方面?
可能問到這個問題的后面部分,有些朋友就要頭皮發麻了,
它為什么叫做無狀態,為什么靈活?可能像這種問題就又刷下去了一大批人,有很多朋友特點可能說了一個,但是這些特點具體體現在哪些方面,你如果沒有答出來,那面試官就覺得你沒有做過很多的介面測驗,你對介面根本不是很了解,那你對介面既然不了解,做過的測驗也不多,那你還說你做過介面測驗,那都只是片面的,
那首先它無狀態,靈活,說一個最簡單的,靈活,大家都知道,像Http型別的介面我們用Postman來做測驗,它為什么比較靈活?它支持的引數型別是任意型別

這個就是我之前搭建的介面專案
它來做測驗的時候,這個引數型別,表單,檔案上傳型別,還有JSON型別,Text文本,JS,XML,HTML

你的引數可以支持任意型別
你的引數可以支持任意型別,所以說它比較靈活,
那為什么說它簡單快速?你只需要傳一些介面的請求方法和請求路徑,通信速度非常快,它就能給到你回應的資料,
比如說很簡單,我之前寫的一個demo介面

你只需要告訴我,這個地址和這個介面的路徑,或者說介面的名稱,我就能請求這個介面了,就能快速的拿到下面的值,那是不是說它非常的簡單快速呢,不像Dubbo介面不像Websocket,不像其他的介面,稍微你要去測驗,去請求可能難一點,這就說明它簡單快速,
無狀態,比如說你現在要去支付一筆訂單,你要點一個外賣,那么你支付訂單的時候,那么我怎么知道你的購物車里面加了哪些東西呢?其實你加購物車、下訂單、登錄其實都是相應的介面,他們之間其實是沒有一個實物處理記憶能力的,Http協議它請求成功之后沒有記憶了,所以說你每次去請求新的介面,它都有一個新的請求,那么為什么現在這種下單、登錄加購物車能夠非常靈活的應用起來呢?這就還有它中間的一些機制,會用到一些Session、Cookie、和一些Token,所以這就是它的一個原理,
那么無連接,怎么理解?
那我自己的一個專案來說吧!這是之前搭建的一個測驗專案管理平臺


那么每次我們去請求的時候,Network重繪一下,它可能去請求了很多個介面,所以說每次連接它只處理一個請求,服務端當處理其中一個介面的時候,它只請求這一個,請求完之后,它就馬上斷開連接,節省這個傳輸的時間,所以這是一個無連接,
所以這些特點體現在哪些方面,你能說一說的話,說明你對這個介面你比較有心得了,有識訓記得點贊支持一下!
3.postman中如何實作介面之間的關聯?
我想這個可能還不是最難的問題,可能大家用過,像第二個問題比較綜合性的往往是大家比較薄弱的東西,

比如說這是一個正規的介面檔案,有哪些介面就用Postman全部寫一遍,然后如何介面之間的關聯,這里會用到這些東西,

怎么設定關聯,將資料決議成Json格式,獲取topic_id的值,設定成環境變數,等等,這就能實作介面之間的關聯,

然后你在這里會發現,這里有很多環境變數或者全域變數,這就是介面之間的關聯,
5.若請求的介面需要先登錄后方可請求,如何進行介面測驗?
比如說有些介面需要先登錄才請求,那如何來進行介面測驗?先登錄,比如我問你這個問題你怎么來回答?
因為很多需要請求的介面它需要先認證才能去請求,
Token?
這個回答不對,Token從哪里來?你需要去請求什么樣的介面,你的登錄介面或者去哪里去拿到,這個問題還是比較簡單的,大家可以做為作業區用心學習一下,
7.dubbo介面如何測驗?
那我們來看看像這種Dubbo如何去進行測驗?這個有了解過嗎?因為現在越來越多的公司可能不僅用Http他還會用到Dubbo介面,dubbo介面是我們(用的阿里云服務器)阿里巴巴開源的一個高性能的服務框架,Dubbo是經歷過雙十一的一個摧殘優秀的RPC框架,很多公司都在用了,但是你又沒有聽說過,額,怎么還會有這個介面啊?你聽都沒有聽說過,那么你在面試官那里……因為面試的公司很有可能就是做的Dubbo介面,那你來做介面測驗,你連Dubbo都不知道,那我是不是又要培養你一個月?告訴你什么是Dubbo,怎么測驗Dubbo,還說讓你來做Dubbo介面自動化,那更加,就算招你進去了,你也是一個新手,菜鳥的身份進去的,你的工資是很難提上去的,
比如他工資本來開的是15K-20K,那么就算你能面試進去了,你最多最多拿到15K,那還要看你的運氣,看你其他方面的一個加分項,來抵消這個暫時的短板,
面試官:什么是Dubbo?
我:我、我、我抓一抓后腦勺,摸摸手臂,扣一扣指甲,
然后就是說……吞吞吐吐答不出來(內心獨白:到底什么時候結束這個面試,你趕快把簡歷還給我吧,QAQ)
我還準備去下一家公司去“吹牛皮”也許下一家公司面試官不會問到我不會的問題,
大家不要抱著這樣的心態,我發現做測驗真的這樣一個現狀,很多朋友就覺得能混,我現在做功能測驗不用任何的技術,能拿個7.8K,一萬的工資,也可以,至少要比其他的行業的底薪是要高一些,
所以就存在這個現象,他不會很多的技術,沒有很多的技能他也能混,或者運氣好,在一線城市需求多,為什么很多測驗在一線城市能夠拿到10-15K,他不會任何的技術,因為一線城市的需求多很多,
但是你想要突破,想突破15K,突破18K那就難上加難了,而且如果你從大城市作業三到五年,你再回去到二線城市去做測驗,那么你還想來混,那么你的工資就可能只有5-6K了,而且你沒有任何的技術,你說你從大城市回來的,都覺得有點不好意思說,
你從大城市回來的,你帶回來了什么先進的概念,帶來了什么先進的技術,是不是?
說遠了,回歸正題,
文章首發于公眾號:程式員一凡
轉載請注明出處!

.
Dubbo的一個測驗關鍵,搭建消費者,你需要去理解的Dubbo介面的基礎架構基礎服務到底是一個什么樣的原理,(有一個介面測驗訓練營有講到這個原理以及如何去測驗,需要視頻教程可以免費領取)

我在這個服務器上搭建了一個Dubbo服務

最簡單的方式用,Telnet,我的IP地址,然后加一個埠,其實測驗起來和Http原理都一樣,
開啟服務之后,進去之后就是一個Dubbo
我們還可以用代碼來寫

這里封裝了一個Dubbo的方法,類,需要完整視頻版教學可以公眾號主頁點擊領取資料即可,
8.介面測驗斷言從哪些方面去設計?
如果我把這個介面測驗改成功能測驗,功能測驗斷言從哪些方面去設計?
你要怎么去校驗一個測驗用例,我覺得這個是很多做測驗的朋友最擅長的東西,那么我問介面測驗呢?
其實介面測驗也屬于功能測驗,也是黑盒測驗,

比如說這個介面,我去發送一個請求,你怎么去校驗這個介面,我怎么去判斷我這個用例到底是不是對的,我這個用例到底是驗證了什么東西

到底什么是401,什么情況下會401,或者是403 Forbidden到底是什么情況,
1.狀態碼
它會不會回傳200,會不會回傳401,403,回傳500等等
2.回傳值
回傳值比如我拿一個正確的吧,狀態碼200,回傳了一大堆的值,那么這個回傳值里面就有很多東西需要去校驗了,怎么去校驗這個回傳值?

3.而且回傳值里面很多資料是動態的,這個時候要怎么去設定?要考慮資料庫校驗吧,很多欄位的值來源于資料庫
非關系型資料庫(Mongo)
4.空校驗,例外校驗,
5.冪等性
冪等性的校驗在介面測驗是一個常見的校驗,比如說你一個介面我呼叫一次正常了,你能保證它之后呼叫都是正常的嗎?這些資料、引數幾百個不同型別的引數,我呼叫一百次,會是一個什么樣的情況?
冪等性,我重復執行一百次,它會回傳什么,
或者我去買一個外賣,下單,但是我不支付,是不是我點擊下單一百次,它會不會產生很多垃圾資料在我們資料庫里面,
其實還有很多需要你去測驗的,為什么介面測驗這么重要,要測驗的東西和功能測驗一樣方方面面都是需要考慮到的,
6.流程節點限制
舉一個例外例子吧,比如說你在支付的時候,我只下單沒有付錢,那么像這個介面的回傳值,我先呼叫下單的介面,我拿到一些資料再去呼叫別人正常支付后的介面,會是一個什么樣的場景,有沒有做一些限制,
介面測驗很容易做一個資料驅動,做一些自動化,我們都要去盡可能的全面的覆寫做一個介面自動化,那么你的效益是非常高的,而且你把這一套全部做成自動化,不管是后端開發人員還是前端開發人員還是測驗,你在企業中本人價值也是非常高的,
如果面試官覺得你答對了,再深入一點,什么是例外校驗?就是來評判你能不能達到一個高級測驗工程師,
例外校驗
資料例外,環境例外,前置條件例外,大家都知道做過介面測驗的朋友都知道介面有很多的前置條件,前置條件連接資料庫或者資料的預制,那么這些前置條件有沒有例外導致我們介面例外,
所以像這種問題,你如果沒有真實的專案經驗,你絕對總結不出來也回答不出來,
文章首發于公眾號:程式員一凡
轉載請注明出處!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/240375.html
標籤:其他
