亚洲国产日韩人妖另类,久久只有这里有精品热久久,依依成人精品视频在线观看,免费国产午夜视频在线

      
      

        接口測試該怎么做

        結(jié)合工作實際和學(xué)習(xí),梳理一下

        一、

        對于接口測試來說,項目測試用例的重復(fù)運行首先是表現(xiàn)在單個測試用例的獨立性方面的,也就是說,每一個測試用例的運行除了依賴被測對象和對應(yīng)的數(shù)據(jù)庫環(huán)境外,是不依賴于其他任何測試用例的,并且這個測試用例執(zhí)行完畢后,對系統(tǒng)來說,也是沒有任何痕跡的,這樣就保證了每個測試用例運行時,都在一個干凈的環(huán)境中運行。要實現(xiàn)測試用例的獨立性,就必須對被測系統(tǒng)的設(shè)計有詳細(xì)的了解,這樣,不會出現(xiàn)測試用例執(zhí)行后遺漏數(shù)據(jù),環(huán)境未改變,另外,還需要對測試用例進(jìn)行詳細(xì)的設(shè)計。另外,要保證測試用例的重復(fù)使用,還需要做到測試用例的及時更新,在這個方面,我們是做接口測試的人會維護(hù)對應(yīng)的系統(tǒng)的接口測試用例,要保證,代碼每次更新,測試用例都必須全部執(zhí)行通過。

        接口測試用例的設(shè)計方法其實和功能測試用例的設(shè)計方法是類似的,因為接口是需要滿足需求的,而接口測試所依賴的也是需求說明書,但是,因為接口測試畢竟是通過代碼去測試代碼,所以,為了保證覆蓋率,可能會使用到單元測試的方法,具體的測試用例設(shè)計,我考慮的如下,請參考,如果有錯誤,一起討論。

        輸入參數(shù)測試:針對輸入的參數(shù)進(jìn)行測試,也可以說是假定接口參數(shù)的不正確性進(jìn)行的測試,確保接口對任意類型的輸入都做了相應(yīng)的處理:輸入?yún)?shù)合法,輸入?yún)?shù)不合法,輸入?yún)?shù)為空,輸入?yún)?shù)為null,輸入?yún)?shù)超長。

        功能測試:接口是否滿足了所提供的功能,相當(dāng)于是正常情況測試,如果一個接口功能復(fù)雜時推薦對接口用例進(jìn)行結(jié)構(gòu)劃分,這樣子用例具有更好的可讀性和維護(hù)性。

        邏輯測試:邏輯測試嚴(yán)格講應(yīng)為單元測試,單元測試應(yīng)保持內(nèi)部邏輯的正確性,可單元測試和接口測試界限并不是那么清楚,所以我們也可以從給出的設(shè)計文檔中考慮內(nèi)部邏輯錯誤的分支情況和異常; 異常情況測試:接口實現(xiàn)是否對異常情況都進(jìn)行了處理,接口輸入?yún)?shù)雖然合法,但是在接口實現(xiàn)中,也會出現(xiàn)異常,因為內(nèi)部的異常不一定是輸入的數(shù)據(jù)造成的,而有可能是其他邏輯造成的,程序需要對任何的異常都進(jìn)行處理。

        二、

        接口測試作為集成測試的一部分,通過直接調(diào)用被測試的接口來確定系統(tǒng)在功能性、可靠性、安全性和性能方面是否能達(dá)到預(yù)期,有些情況是功能測試無法覆蓋的,所以接口測試是非常必要的。

          接口測試分為兩種,一種是webservice接口,走soap協(xié)議通過http傳輸,請求報文和返回報文都是xml格式的,測試時通過工具soapUI進(jìn)行測試。使用情況比較少;另一種http api接口,走h(yuǎn)ttp傳輸協(xié)議,通過路徑來區(qū)分調(diào)用的方法,最常用的是get和post請求。

          上面說過,get和post請求是通過路徑來區(qū)分的,get請求的請求參數(shù)都是寫在URL里的,格式為:http://url?param1&param2。而post的請求一般都是寫在body里的,可能是key-value格式,或者json串格式,也可能是上傳一個文件。。。那么問題來了,get請求和post請求的區(qū)別在哪里呢?我們百度時,大多數(shù)的答案是這樣的:

          1、get請求可以在瀏覽器中請求到,post請求的測試需要借助工具

          2、get請求使用url和cookie傳參,post的數(shù)據(jù)放在body中

          3、post比get更安全,因為傳遞的參數(shù)在url上是看不到的

          4、get請求的url會有限制,而post請求的數(shù)據(jù)可以非常大

          5、一般get請求是來獲取數(shù)據(jù),post請求是傳遞數(shù)據(jù)的

          其實,對于現(xiàn)在飛速發(fā)展的互聯(lián)網(wǎng)來說,上面的說法已經(jīng)不嚴(yán)謹(jǐn)了。首先,post請求的參數(shù)也可以寫在url里,但是這種情況不多見;其次表面上看起來,post利用body傳參,比get的url傳參安全,但其實只要用抓包工具(fiddler,Charles等),post的參數(shù)也是一覽無余;再次,現(xiàn)在的瀏覽器非常強大,可以輸入支持很長的URL,所以也不再有限制一說了。這么說來,種種區(qū)別只有最后一條是最根本的了。

          怎么來測試接口呢?根據(jù)什么來測呢?這就需要開發(fā)提供的接口文檔了,接口文檔和功能測試的需求說明書的功能是一樣的。包括:接口說明、調(diào)用的url,請求方式(get or post),請求參數(shù)、參數(shù)類型、請求參數(shù)說明,返回結(jié)果說明。有了接口文檔后,我們就可以設(shè)計用例了,一般接口測試的用例分為以下幾種:

          1、通過性驗證,說白了就是傳遞正確的參數(shù),是否返回正常的結(jié)果

          2、參數(shù)組合,因為參數(shù)有必傳和非必傳,參數(shù)的類型和長度,以及傳遞時可能業(yè)務(wù)上的一些限制,所以在設(shè)計用例時,就要排列組合這些情況,保證所有情況都能覆蓋到

          3、接口的安全性,這個又分為幾種情況:

          1)繞過驗證,比如提交訂單時,在傳遞商品價格參數(shù)時,修改商品價格,就要看后端有沒有驗證了。或者我支付時,抓個包將訂單金額一改,如果能以我改后的金額支付,那這個借口就有問題了。

          2)繞過身份驗證,就是某個功能只有有特殊權(quán)限的用戶才能操作,那我傳遞一個普通的用戶,是不是也能操作呢

          3)參數(shù)是否加密,這個關(guān)系到一些賬戶的安全,比如我們在登錄一些網(wǎng)站時,它要將我們的登錄信息進(jìn)行加密,如果不加密我們的信息就會暴露,危害性極大。

          4) 密碼安全規(guī)則,設(shè)置密碼時復(fù)雜程度的校驗。

          4、根據(jù)業(yè)務(wù)邏輯來設(shè)計用例

          用例設(shè)計完了,用什么來測試接口呢?我們可以借助一些工具,比如postman和jmeter。postman使用比較簡單,可以在列表中選擇請求方式,在輸入框中輸入URL,如果是get請求,直接點擊send就可以看返回結(jié)果了。

        三、

        1、什么是接口測試?接口測試是測試系統(tǒng)組件間接口的一種測試。接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個子系統(tǒng)之間的交互點。測試的重點是要檢查數(shù)據(jù)的交換,傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等

        2、為什么要做接口測試a)互聯(lián)網(wǎng)的快速發(fā)展,公司內(nèi)部系統(tǒng)或與外部系統(tǒng)的關(guān)聯(lián)越來越多,一個業(yè)務(wù)流程關(guān)聯(lián)多個后端系統(tǒng),它們的關(guān)聯(lián)都是基于接口來實現(xiàn),接口測試可以將復(fù)雜的系統(tǒng)關(guān)聯(lián)進(jìn)行簡化,只要做好每個接口的測試就能夠較好的保證系統(tǒng)質(zhì)量。b)單個系統(tǒng)的變更,是否會影響到關(guān)聯(lián)業(yè)務(wù)系統(tǒng),比較難用常規(guī)的測試方面來覆蓋相關(guān)的應(yīng)用系統(tǒng)(例如使用此接口的外部 系統(tǒng)有N個,不可能每個做功能兼容性測試)。但可以通過對接口功能的覆蓋來驗證是否影響它人對接口的調(diào)用。c)接口功能比較單一,能夠比較好的進(jìn)行測試覆蓋,也相對容易實現(xiàn)自動化持續(xù)集成,,可以減少人工回歸成本與時間,縮短測試周期。d)接口相對于界面功能,會更底層一些,測試覆蓋會更容易(如業(yè)務(wù)在調(diào)用接口時做了判斷,當(dāng)不滿足條件時鏈接就不顯示,此時從界面無法測試相關(guān)功能是否做好判斷,通過接口就比較容易)

        3、接口測試范圍a)業(yè)務(wù)功能(包括正常、異常場景是否實現(xiàn))b)業(yè)務(wù)規(guī)則(覆蓋度是否全面)c)參數(shù)驗證(邊界、業(yè)務(wù)規(guī)則是否達(dá)到要求)d)異常場景(重復(fù)提交、并發(fā)提交、事務(wù)中斷、多機環(huán)境、大數(shù)據(jù)量測試)e)性能測試(響應(yīng)時間、吞吐量、并發(fā)數(shù)、資源要求)f)安全測試(權(quán)限驗證、SQL注入等)

        4、接口測試的重點1、檢查接口返回的數(shù)據(jù)是否與預(yù)期結(jié)果一致。2、檢查接口的容錯性,假如傳遞數(shù)據(jù)的類型錯誤時是否可以處理。3、接口參數(shù)的邊界值。例如,傳遞的參數(shù)足夠大或為負(fù)數(shù)時,接口是否可以正常處理。4、接口的性能,http請求接口大多與后端執(zhí)行的SQL語句性能、算法等比較相關(guān)。5、接口的安全性,外部調(diào)用的接口尤為重要。

        做好接口測試的前提

        1、系統(tǒng)化的接口文檔傳統(tǒng)的接口文檔,一般采用word或wiki等系統(tǒng)來記錄,從單次使用上似乎比較簡單,因為大家會更習(xí)慣這樣的操作,但這種形式存在比較大的問題:a、接口文檔非標(biāo)準(zhǔn)化,無法直接與接口測試工具接口使用b、接口維護(hù)困難,接口有變化時比較難標(biāo)識清楚,溝通成本很高系統(tǒng)化接口文檔,例如rap(淘寶分源的一個系統(tǒng)),具備接口維護(hù)標(biāo)準(zhǔn)化、版本化管理、MOCK測試等功能;對標(biāo)準(zhǔn)化的接口內(nèi)容做二次開發(fā),可以直接導(dǎo)出Soapui等工具使用的格式,直接導(dǎo)入工具中使用,有以下好處:A、接口測試時不再需要手工輸入相關(guān)字段,節(jié)省時間成本B、版本化管理,能夠清晰的知道哪些接口有變化Rap參考 http://rapapi.org/org/index.do

        2、標(biāo)準(zhǔn)化的接口規(guī)范接口管理是做好接口測試很重要的前提,如果一個系統(tǒng)有哪些接口都不太清楚,測試就很難覆蓋到,接口管理建議采用以下方式:A、按接口提供方為單位進(jìn)行首次劃分,按接口使用方進(jìn)行二次劃分,再按業(yè)務(wù)模塊進(jìn)行細(xì)分,分類原則根據(jù)內(nèi)容多少進(jìn)行優(yōu)化,不需要固定,如本身接口較少就沒有必要分得過細(xì),較多時就需要多劃分模塊。如:系統(tǒng)A,提供有 1、2、3、4、5、6、7、8、9 這9個接口,接口分別給B系統(tǒng)、C系統(tǒng)使用,其中1、2為公用接口,3、4、5為B專用,6、7、8、9為C系統(tǒng)專用。B、按接口鏈接URL做為唯一,不同的接口參數(shù)做為接口變量,接口有參數(shù)變更時在原來接口上進(jìn)行維護(hù),而不是新增加接口C、為接口增加版本號,方便清楚哪些接口本次有變更,易于維護(hù)用例

        鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
        上一篇 2022年6月21日 06:45
        下一篇 2022年6月21日 06:45

        相關(guān)推薦

        聯(lián)系我們

        聯(lián)系郵箱:admin#wlmqw.com
        工作時間:周一至周五,10:30-18:30,節(jié)假日休息