1. 程式人生 > 其它 >介面測試重點和難點總結

介面測試重點和難點總結

一、什麼是介面測試?

定義:介面測試是測試系統元件間介面的一種測試。介面測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的互動點。測試的重點是檢查介面引數傳遞的正確性,介面功能實現的正確性,輸出結果的正確性,對各種異常情況的容錯處理的完整性和合理性,以及不用介面間的相互依賴關係等。

二、為什麼要做介面測試?

1、介面測試位於測試的前期階段,越早接入測試,發現問題的成本越低。 2、介面測試相對容易實現自動化持續整合,且相對UI自動化也更加穩定,可以減少迴歸測試人力成本與時間,縮短測試周期,支援後端快速迭代需求。介面持續整合是為什麼能低成本高收益的根源。 3、現在多數系統採用前後端分離架構,從安全層面來說:
a. 為防止直接繞過前端,在篡改請求資料後發起請求,所以前後端有時需要進行同樣進行校驗,在這種情況下就需要從介面層面進行驗證。 b. 前後端敏感資料傳輸、日誌列印等資訊是否加密傳輸也是需要驗證的,特別是涉及到使用者的隱私資訊,如姓名、手機號、身份證、銀行卡、登入密碼等。 三、企業一般什麼時候需要做介面測試? a、專案初期,後端介面已開發完成,前端還沒有開發完成,一般要做介面測試,校驗後端邏輯。 b、版本迭代,專案新增需求,後端新開介面,需要做介面測試。 c、版本迭代,後端修改了介面,需要做介面測試。 四、介面測試需要具備的基本知識或能力 1、懂介面文件分析,會設計介面測試用例 2、懂常用協議,如http、 https
3、熟練使用一種介面測試工具,並能靈活運用,這裡推薦JMeter(適合介面自動化)、Postman(適合介面除錯) 4、會一門程式語言,推薦Java、Python3,有一定指令碼除錯能力。 五、如何做介面測試? 這就涉及到介面測試的具體流程: 1、找後端開發拿到介面文件,後端開發一般會使用swagger、smart-doc、Eolinker等工具線上生成介面文件。如果沒有介面文件,可以使用瀏覽器F12 或 抓包工具Fillder抓取介面,自己編寫介面文件。 2、熟悉需求說明書,分析介面文件。 3、編寫介面測試用例或指令碼。 4、進行介面測試,校驗響應資料。 5、分析測試結果,編寫介面測試報告。
六、標準的介面文件應該是什麼樣子? 標準的介面文件應該具備:介面名稱、介面地址、請求方式、請求引數說明、請求示例、響應資料格式、響應引數說明、響應示例等。示例如下: 介面名稱:查詢使用者手機號歸屬地 介面地址:http://apis.juhe.cn/mobile/get 響應格式:json/xml 請求方式:get 請求示例:http://apis.juhe.cn/mobile/get?phone=13429667914&key=您申請的KEY 介面備註:您也可以通過https://www.juhe.cn/market/product?id=10015下載歸屬地離線資料包 請求引數說明: 響應引數說明:

JSON響應示例:

{ "resultcode":"200", "reason":"Return Successd!", "result":{ "province":"浙江", "city":"杭州", "areacode":"0571", "zip":"310000", "company":"中國移動", "card":"" } }

七、介面測試的重點和難點是什麼? 1、會分析介面文件。(重點) 2、對前、後臺的資料互動過程、後端業務處理邏輯非常清楚。(難點) 3、對關聯介面,要清楚介面之間的資料依賴關係。(難點) 4、工具的靈活使用。(重點) 八、介面測試用例設計,需要考慮哪些點? 換句話說,介面測試,需要測試什麼呢?下面給大家畫了一個思維導圖,便於理解和記憶。

說明:一般測試需要在開發編碼階段完成介面用例設計或介面測試指令碼開發。對測試用例需要進行定期review,隨著對系統認識的加深,可以不斷提高用例或指令碼精度。另外,一旦測試需求發生變化,測試用例或指令碼必須重新維護。

九、介面質量評估標準有哪些?

1、業務功能覆蓋是否完整

2、業務規則覆蓋是否完整

3、引數驗證是否達到要求

4、介面異常場景覆蓋是否完整

5、介面覆蓋率是否達到要求

6、程式碼覆蓋率是否達到要求(這個可以讓運維部署靜態程式碼分析工具,如sonar解決)

7、效能指標是否滿足要求

8、安全指標是否滿足要求

十、介面測試持續整合

持續整合介面自動化測試是核心內容,只有做到持續整合才能真正做到低成本高收益。目前我們已經實現了介面自動化,主要應用於迴歸階段,後續還需要提高自動化的程度,包括但不限於下面的內容:

1、流程方面:在迴歸階段提高介面異常場景的覆蓋度,並逐步向系統測試,冒煙測試階段延伸,最終達到全流程自動化。

2、問題定位:報錯資訊、日誌更精準,方便問題復現與定位。

3、結果校驗:加強自動化校驗能力,如資料庫資訊校驗。

4、結果展示:更加豐富的結果展示、趨勢分析、質量統計和分析等。

5、程式碼覆蓋率:不斷嘗試由目前的黑盒向白盒下探,提高程式碼覆蓋率。

6、效能需求:完善效能測試體系,通過自動化的手段監控介面效能指標是否正常。

以上內容都需要一個展示平臺,所以,自動化測試平臺的開發將成為趨勢。

說明:本文部分內容引用自https://www.cnblogs.com/xiaowenshu/p/10346903.html ,轉載需說明出處,謝謝!