<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          后端接口都測試什么?要怎么測?

          共 2647字,需瀏覽 6分鐘

           ·

          2021-11-15 05:04

          點(diǎn)擊關(guān)注公眾號(hào),Java干貨及時(shí)送達(dá)

          作者:Glen.He
          出處:http://www.cnblogs.com/puresoul/

          本文主要分為兩個(gè)部分:

          第一部分:

          主要從問題出發(fā),引入接口測試的相關(guān)內(nèi)容并與前端測試進(jìn)行簡單對(duì)比,總結(jié)兩者之前的區(qū)別與聯(lián)系。但該部分只交代了怎么做和如何做?并沒有解釋為什么要做?

          第二部分:

          主要介紹為什么要做接口測試,并簡單總結(jié)接口持續(xù)集成和接口質(zhì)量評(píng)估相關(guān)內(nèi)容。

          第一部分:

          首先,在做接口測試的過程中,經(jīng)常有后端開發(fā)會(huì)問:

          1、后端接口都測試什么?怎么測的?

          2、后端接口測試一遍 ,前端也測試一遍,是不是重復(fù)測試了?

          于是,為了向開發(fā)解釋上述問題,普及基本的測試常識(shí),特意梳理了接口測試的相關(guān)內(nèi)容以及其與前端測試的區(qū)別,使開發(fā)團(tuán)隊(duì)與測試團(tuán)隊(duì)在測試這件上達(dá)成基本的共識(shí),提高團(tuán)隊(duì)協(xié)作效率,從而更好的保證產(chǎn)品質(zhì)量。

          推薦一個(gè) Spring Boot 基礎(chǔ)教程及實(shí)戰(zhàn)示例:https://github.com/javastacks/spring-boot-best-practice

          然后,我們試著回答上面的問題:

          問題1.1、后端接口都測試什么?

          回答這個(gè)問題,我們可以從接口測試活動(dòng)內(nèi)容的角度下手,看一下面這張圖,基本反應(yīng)了當(dāng)前我們項(xiàng)目后端接口測試的主要內(nèi)容:

          問題1.2、我們怎么做接口測試?

          由于我們項(xiàng)目前后端調(diào)用主要是基于http協(xié)議的接口,所以測試接口時(shí)主要是通過工具或代碼模擬http請(qǐng)求的發(fā)送與接收。

          工具有很多如:postman、jmeter、soupUI、java+httpclient、robotframework+httplibrary等。最新 Java 開發(fā)工具建議你看下。

          問題2、后端接口測試一遍 ,前端也測試一遍,是不是重復(fù)測試了?

          回答這個(gè)問題,我們可以直接對(duì)比接口測試和app端測試活動(dòng)的內(nèi)容,如下圖為app測試時(shí)需要覆蓋或考慮內(nèi)容:

          從上面這兩張圖對(duì)比可以看出,兩個(gè)測試活動(dòng)中相同的部分有功能測試、邊界分析測試和性能測試,其它部分由于各自特性或關(guān)注點(diǎn)不同需要進(jìn)行特殊的測試,在此不做討論。最新面試題整理好了,點(diǎn)擊Java面試庫小程序在線刷題。

          接下來我們針對(duì)以上三部分相同的內(nèi)容再進(jìn)行分析:

          1、基本功能測試:

          由于是針對(duì)基本業(yè)務(wù)功能進(jìn)行測試,所以這部分是兩種測試重合度最高的一塊,開發(fā)同學(xué)通常所指的也主要是這部分的內(nèi)容。

          2、邊界分析測試:

          在基本功能測試的基礎(chǔ)上考慮輸入輸出的邊界條件,這部分內(nèi)容也會(huì)有重復(fù)的部分(比如業(yè)務(wù)規(guī)則的邊界)。但是,前端的輸入輸出很多時(shí)候都是提供固守的值讓用戶選擇(如下拉框),在這種情況下測試的邊界范圍就非常有限,但接口測試就不存在這方面的限制,相對(duì)來說接口可以覆蓋的范圍更廣,同樣的,接口出現(xiàn)問題的概率也更高。

          3、性能測試:

          這個(gè)比較容易區(qū)分,雖然都需要做性能測試,但關(guān)注點(diǎn)確大不相同。App端性能主要關(guān)注與手機(jī)相關(guān)的特性,如手機(jī)cpu、內(nèi)存、流量、fps等。而接口性能主要關(guān)注接口響應(yīng)時(shí)間、并發(fā)、服務(wù)端資源的使用情況等。

          兩種測試時(shí)的策略和方法都有很大區(qū)別,所以這部分內(nèi)容是需要分開單獨(dú)進(jìn)行測試的,理論上來說這也是不同的部分。

          點(diǎn)擊關(guān)注公眾號(hào),Java干貨及時(shí)送達(dá)

          綜論:

          1、接口測試和app測試的活動(dòng)有部分重復(fù)的內(nèi)容,主要集中在業(yè)務(wù)功能測試方面。除此之外,針對(duì)各自特性的測試都不一樣,需要分別進(jìn)行有針對(duì)性的測試,才能確保整個(gè)產(chǎn)品的質(zhì)量。

          2、接口測試可以關(guān)注于服務(wù)器邏輯驗(yàn)證,而UI測試可以關(guān)注于頁面展示邏輯及界面前端與服務(wù)器集成驗(yàn)證。

          推薦一個(gè) Spring Boot 基礎(chǔ)教程及實(shí)戰(zhàn)示例:https://github.com/javastacks/spring-boot-best-practice

          第二部分:

          1、什么是接口測試?

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

          2、為什么要做接口測試?

          a) 如今的系統(tǒng)復(fù)雜度不斷上升,傳統(tǒng)的測試方法成本急劇增加且測試效率大幅下降,接口測試可以提供這種情況下的解決方案。最新面試題整理好了,點(diǎn)擊Java面試庫小程序在線刷題。

          b) ?接口測試相對(duì)容易實(shí)現(xiàn)自動(dòng)化持續(xù)集成,且相對(duì)UI自動(dòng)化也比較穩(wěn)定,可以減少人工回歸測試人力成本與時(shí)間,縮短測試周期,支持后端快速發(fā)版需求。接口持續(xù)集成是為什么能低成本高收益的根源。

          c) ?現(xiàn)在很多系統(tǒng)前后端架構(gòu)是分離的,從安全層面來說:

          1、只依賴前端進(jìn)行限制已經(jīng)完全不能滿足系統(tǒng)的安全要求(繞過前面實(shí)在太容易), 需要后端同樣進(jìn)行控制,在這種情況下就需要從接口層面進(jìn)行驗(yàn)證。

          2、前后端傳輸、日志打印等信息是否加密傳輸也是需要驗(yàn)證的,特別是涉及到用戶的隱私信息,如身份證,銀行卡等。

          3、接口測試持續(xù)集成:

          對(duì)接口測試而言,持續(xù)集成自動(dòng)化是核心內(nèi)容,通過持自動(dòng)化的手段我們才能做到低成本高收益。目前我們已經(jīng)實(shí)現(xiàn)了接口自動(dòng)化,主要應(yīng)用于回歸階段,后續(xù)還需要加強(qiáng)自動(dòng)化的程度,包括但不限于下面的內(nèi)容:

          a) 流程方面:在回歸階段加強(qiáng)接口異常場景的覆蓋度,并逐步向系統(tǒng)測試,冒煙測試階段延伸,最終達(dá)到全流程自動(dòng)化。

          b) 結(jié)果展示:更加豐富的結(jié)果展示、趨勢分析,質(zhì)量統(tǒng)計(jì)和分析等

          c) 問題定位:報(bào)錯(cuò)信息、日志更精準(zhǔn),方便問題復(fù)現(xiàn)與定位。

          d) 結(jié)果校驗(yàn):加強(qiáng)自動(dòng)化校驗(yàn)?zāi)芰Γ鐢?shù)據(jù)庫信息校驗(yàn)。

          e) 代碼覆蓋率:不斷嘗試由目前的黑盒向白盒下探,提高代碼覆蓋率。

          f) 性能需求:完善性能測試體系,通過自動(dòng)化的手段監(jiān)控接口性能指標(biāo)是否正常。

          4、接口測試質(zhì)量評(píng)估標(biāo)準(zhǔn):

          a) 業(yè)務(wù)功能覆蓋是否完整

          b) 業(yè)務(wù)規(guī)則覆蓋是否完整

          c) 參數(shù)驗(yàn)證是否達(dá)到要求(邊界、業(yè)務(wù)規(guī)則)

          d) 接口異常場景覆蓋是否完整

          e) 接口覆蓋率是否達(dá)到要求

          f) ?代碼覆蓋率是否達(dá)到要求

          g) 性能指標(biāo)是否滿足要求

          h) 安全指標(biāo)是否滿足要求

          本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利。





          關(guān)注Java技術(shù)棧看更多干貨



          獲取 Spring Boot 實(shí)戰(zhàn)筆記!
          瀏覽 58
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产视频性高潮 | 婷婷国产无码 | 国产精品久久久久久久久久两年半 | 亚洲第97页| 中文无码日本高潮喷水 |