<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>

          測試經(jīng)理:" 工作五年你連服務端接口測試還不知道?"

          共 1892字,需瀏覽 4分鐘

           ·

          2021-08-18 12:54



          服務端的接口測試我們一般從功能開始進行測試,比如請求參數(shù)和響應參數(shù)的校驗,業(yè)務邏輯或業(yè)務規(guī)則的校驗,數(shù)據(jù)庫操作的校驗。功能正常后會根據(jù)需要進行安全相關的檢查、性能測試以及系列擴展測試,比如與歷史版本的兼容性測試、接口的超時驗證以及設計合理性驗證等,用例設計也是從這幾個方面進行分析設計,下面的思維導圖是一個概要的測試關注方向



          詳細介紹如下:

          針對輸入

          輸入主要是指接口的入?yún)ⅲ覀兤匠5臏y試中,會先考慮正常的入?yún)ⅲ约爱惓5娜雲(yún)ⅲ惓G闆r包括:參數(shù)異常和數(shù)據(jù)異常,用例設計這塊使用較多的是等價類劃分和邊界值分析

          A、正常的入?yún)?/span>

          正常的入?yún)⒑芎美斫猓褪歉鶕?jù)接口設計文檔的入?yún)藴剩斎胝5膮?shù),響應按接口設計文檔的約定條件正常返回

          B、參數(shù)異常

          參數(shù)異常包括:參數(shù)為空,多參或少參,錯誤的參數(shù)

          C、數(shù)據(jù)異常

          數(shù)據(jù)異常:數(shù)據(jù)類型錯誤、非空參數(shù)為空,長度不符合設計,不在字典范圍內(nèi)的數(shù)據(jù),不合法的成員,特殊字符或敏感字符,存在關聯(lián)關系的參數(shù)數(shù)據(jù)異常等

          針對處理邏輯

          接口測試前一般研發(fā)會提供接口設計文檔或業(yè)務相關的設計圖、流程圖,針對業(yè)務流程的處理邏輯,我們可以從入?yún)⒌南拗茥l件、事件的操作對象、業(yè)務的狀態(tài)轉換

          A、 限制條件分析

          數(shù)值的限制:字典,等級,行業(yè)相關限制,金額限制,分數(shù)限制等

          狀態(tài)的限制:有效|無效,在線|離線,拉黑|洗白等

          關系的限制:存在或不存在,綁定或解綁等

          權限的限制:管理員,普通用戶等

          B、 對象分析

          對象分析主要是對合法和不合法的對象進行操作,比如銀行卡用戶對卡進行充值,則可能存在:用戶A使用非用戶A的卡充值;用戶A使用自己的卡進行充值,卡已過有效期;用戶A使用自己的卡進行充值,卡為黑名單或掛失等。

          C、 狀態(tài)轉換的分析

          比如支付類業(yè)務,先支付成功,撤單后會退款,再次支付如果支付未成功,則是支付失敗,狀態(tài)之間的切換是否正常,未按正常業(yè)務順利進行操作時,狀態(tài)怎么顯示,是否可控,是否出現(xiàn)異常狀態(tài),空狀態(tài)業(yè)務怎么處理等

          D、 時序分析

          一些復雜的活動中,一個活動是由一系列的動作按照指定順序進行,這些動作形成一個動作流,是有按照這個順序依次執(zhí)行,才能等到預期的結果,那么在執(zhí)行過程中發(fā)生的其他分支動作程序會作何處理

          比如斑馬停車風控業(yè)務,如果在入站后車輛直接掉頭不駛入高速業(yè)務如何處理?

          針對輸出

          在考慮異常時,通常我們都會想到正常情況,無效的情況,但是不一定能覆蓋所有錯誤碼,而接口定義返回的錯誤碼可以幫助我們補充這一部分的用例,比如網(wǎng)絡異常,無效的規(guī)則,無效的參數(shù),無效的業(yè)務ID,無效的任務,服務器異常等,把errorcode的值都補充上去可以設計更多的用例

          這種根據(jù)輸出進行設計用例,可以發(fā)現(xiàn)前后端是否正常輸出結果,提示是否友好,提示是否出現(xiàn)敏感信息等

          數(shù)據(jù)庫操作

          A、對數(shù)據(jù)庫操作是否頻繁,是否會在寫庫過程中占用大量的CPU,寫庫完成后進程是否釋放

          B、業(yè)務數(shù)據(jù)入庫是否正常,是否有重復數(shù)據(jù)入庫,是否出現(xiàn)亂碼;日志數(shù)據(jù)入庫是否正常

          C、數(shù)據(jù)更新是否正常,尤其是時間類字段,時間是否為24小時制的格式

          D、數(shù)據(jù)刪除、備份是否正常

          安全性

          敏感信息是否加密(如銀行賬號,密碼,轉賬金額)

          性能相關

          A、接口在什么情況下會出現(xiàn)并發(fā),并發(fā)場景是什么,什么情況下的并發(fā)會導致問題

          B、最大并發(fā),響應時間,吞吐量,資源消耗情況

          接口超時

          接口正常情況下是有返回的,那么如果接口不返回呢?所以接口超時后的處理也是測試需要考慮的部分,如果超時處理不當,可能會引起進程阻塞,或者超時后又接收到接口返回導致邏輯錯亂

          與歷史版本的兼容性分析

          已廢棄的協(xié)議或接口,代碼并未注釋,在某種特定的情況下可能會觸發(fā)歷史版本已廢棄的協(xié)議或接口,導致用戶使用或功能調(diào)用后出現(xiàn)意想不到的問題,損失

          同一套系統(tǒng),不同服務之間的接口相互調(diào)用時,新接口是否受歷史接口的影響,尤其是新舊接口都對某一個功能進行處理,是否存在業(yè)務不兼容的問題

          這一點需要測試人員是長期的測試一個系統(tǒng)的,那么可能會想到這種場景,會清楚的知道什么時候哪個版本進行了重構,廢棄了那些接口,新增了那些接口,哪些場景會觸發(fā)歷史接口的某個規(guī)則

          接口設計合理

          接口字段是否冗余,接口是否返回了調(diào)用方期望得到的信息,接口定義是否滿足所有調(diào)用者的需求,接口調(diào)用是否方便,接口是否可擴展,接口參數(shù)使用是否方便,接口的業(yè)務規(guī)則是否都正確,接口都整個服務的使用會產(chǎn)生那些影響



          瀏覽 30
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  人人爱人人模 | 无码精品一区二区三区免费久久 | 亚洲欧美日本视频 | 国产一区二区三区片 | 国产三级日本三级国产三级 |