日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

接口测试用例模板_ITest:京东数科接口自动化测试实践

發(fā)布時(shí)間:2023/12/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 接口测试用例模板_ITest:京东数科接口自动化测试实践 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ITest

作者:鄭琳

京東數(shù)科平臺(tái)開發(fā)團(tuán)隊(duì)原創(chuàng),轉(zhuǎn)載請(qǐng)獲得授權(quán)

導(dǎo)讀:你是否為每天“點(diǎn)點(diǎn)點(diǎn)”的工作而感到索然無味?你是否苦于沒有合適的工具而對(duì)復(fù)雜的測(cè)試任務(wù)望而卻步?頻繁變動(dòng)的接口,重復(fù)的功能測(cè)試,你,疲憊么?京東數(shù)科運(yùn)維部平臺(tái)開發(fā)組基于日常接口測(cè)試經(jīng)驗(yàn),開發(fā)了接口測(cè)試平臺(tái)——ITest。通過此平臺(tái)讓研發(fā)流程更高效,讓測(cè)試回歸測(cè)試本身,做適配數(shù)科場(chǎng)景的通用接口測(cè)試平臺(tái)。本文將從需求背景、平臺(tái)特性、架構(gòu)設(shè)計(jì)、未來規(guī)劃幾方面詳細(xì)闡述ITest助力接口自動(dòng)化測(cè)試在京東數(shù)科的最佳實(shí)踐與探索。一、需求背景接口測(cè)試位于測(cè)試金字塔的中間層,與業(yè)務(wù)關(guān)聯(lián)度較高,測(cè)試及運(yùn)行成本適中,同時(shí)能夠覆蓋到端對(duì)端測(cè)試所不能覆蓋的并發(fā),安全等,在測(cè)試過程中占據(jù)重要地位。接口自動(dòng)化測(cè)試因其能夠降低回歸成本,提高回歸效率,在回歸測(cè)試及冒煙測(cè)試階段應(yīng)用較為廣泛。但面對(duì)日益復(fù)雜的軟件設(shè)計(jì),做好接口自動(dòng)化工作并非易事,在此針對(duì)其中兩個(gè)痛點(diǎn)進(jìn)行闡述:1、復(fù)雜場(chǎng)景的接口自動(dòng)化編碼耗時(shí)多,接口測(cè)試工具無法滿足個(gè)性化需求自動(dòng)化測(cè)試能夠穩(wěn)定執(zhí)行的前提是,單個(gè)測(cè)試用例必須能夠重復(fù)成功運(yùn)行。這意味著完整的自動(dòng)化用例中必須包含測(cè)試數(shù)據(jù)準(zhǔn)備,測(cè)試調(diào)用,數(shù)據(jù)校驗(yàn)及數(shù)據(jù)清理工作等。在應(yīng)用逐漸微服務(wù)化的今天,A服務(wù)接口的數(shù)據(jù)準(zhǔn)備工作可能會(huì)依賴多個(gè)B服務(wù)的接口,接口測(cè)試用例的設(shè)計(jì)本身對(duì)于測(cè)試同學(xué)的業(yè)務(wù)能力就是不小的挑戰(zhàn),要完成高質(zhì)量的穩(wěn)定可重復(fù)運(yùn)行的自動(dòng)化用例的編碼,更是一件耗時(shí)的事情。而目前通用的接口測(cè)試工具能解決的多是通用性的需求,當(dāng)用戶的接口請(qǐng)求中包含自定義算法,加解密信息等情況時(shí),接口測(cè)試工具無法給予友好的支持。2、團(tuán)隊(duì)協(xié)作不易,開發(fā)和測(cè)試對(duì)齊用例有溝通成本在自動(dòng)化編碼的過程中,測(cè)試代碼維護(hù)在代碼倉(cāng)庫(kù)中,測(cè)試用例的管理也依賴于代碼倉(cāng)庫(kù)。項(xiàng)目中不同模塊的測(cè)試情況沒有一個(gè)總體的入口,較難對(duì)測(cè)試的情況進(jìn)行度量和總體評(píng)估,不同模塊間的用例復(fù)用也變得比較困難。同時(shí)因開發(fā)同學(xué)對(duì)測(cè)試情況了解不足,在冒煙階段,bug驗(yàn)證及測(cè)試回歸階段,往往需要測(cè)試和開發(fā)同學(xué)對(duì)代碼倉(cāng)庫(kù)中的用例進(jìn)行對(duì)齊,有一定的溝通成本。為提高測(cè)試效率,簡(jiǎn)化溝通成本,讓測(cè)試同學(xué)專注于測(cè)試策略選擇,測(cè)試用例設(shè)計(jì)、codeReview等更重要的工作,筆者所在團(tuán)隊(duì)研發(fā)了接口自動(dòng)化測(cè)試平臺(tái)ITest, 致力于提供簡(jiǎn)易、靈活,通用的接口自動(dòng)化測(cè)試服務(wù)。二、ITest特性1、靈活的用例組織,提高測(cè)試效率
  • 簡(jiǎn)潔的用例配置視圖,提供多協(xié)議支持(http, jsf, dubbo, jdbc 等)

ITest提供了簡(jiǎn)潔的可視化配置頁(yè)面,用戶通過對(duì)關(guān)鍵接口信息的配置、斷言項(xiàng)的選擇及預(yù)期結(jié)果配置即可完成單個(gè)接口測(cè)試用例的組織。目前平臺(tái)可支持http, jsf, dubbo, jdbc 等常用協(xié)議類的接口用例配置。

圖1??jdbc協(xié)議測(cè)試步驟配置

  • 通用的用例組織方式,可將測(cè)試結(jié)果特定信息提取為變量,在測(cè)試上下文中傳遞

ITest平臺(tái)將僅包含單個(gè)接口信息的測(cè)試形式定義為測(cè)試步驟,而將以before - test -after 這種通用方式組織的測(cè)試形式定義為測(cè)試用例。測(cè)試用例中的 before,after 可選擇多種協(xié)議類型的測(cè)試步驟,亦可選擇測(cè)試用例。通過這種方式來靈活組織單一接口用例和復(fù)雜場(chǎng)景用例,同時(shí)實(shí)現(xiàn)步驟和用例的復(fù)用。同一用例范圍內(nèi)可支持不同測(cè)試步驟間變量的相互應(yīng)用,同時(shí)支持將測(cè)試過程中測(cè)試步驟的關(guān)鍵結(jié)果信息提取為變量,在整個(gè)用例上下文中傳遞。圖2? 測(cè)試用例編輯頁(yè)面
  • 用例與數(shù)據(jù)分離

圖3? 用例參數(shù)化配置

  • 內(nèi)嵌常用的函數(shù)(時(shí)間戳,隨機(jī)數(shù),求和,常用加解密算法等)

圖4? ?常用函數(shù)支持

2、便利的項(xiàng)目協(xié)作&管理,簡(jiǎn)化溝通流程

  • 項(xiàng)目空間內(nèi)用例共享,利于項(xiàng)目?jī)?nèi)用例復(fù)用和對(duì)齊

  • 項(xiàng)目域內(nèi)測(cè)試執(zhí)行計(jì)劃靈活編排

圖5??測(cè)試計(jì)劃編排示意

  • 項(xiàng)目域管理多組測(cè)試計(jì)劃,用于不同迭代及測(cè)試目標(biāo)

圖6??測(cè)試工程詳情視圖

  • 測(cè)試計(jì)劃執(zhí)行情況可追溯,提供歷史測(cè)試報(bào)告及執(zhí)行詳情

圖7? 測(cè)試報(bào)告概覽

3、多維度運(yùn)行支持,提高測(cè)試運(yùn)行穩(wěn)定性

  • 用例在線快速調(diào)試

  • 測(cè)試計(jì)劃執(zhí)行,支持定時(shí)執(zhí)行,批量執(zhí)行等

  • 任務(wù)運(yùn)行狀態(tài)通知

4、持續(xù)集成

  • 與JCI & JAT 深度合作,嵌入JCI CI&CD流水線

  • 開放API,滿足業(yè)務(wù)線多樣化的CI&CD需求

圖8? 與通用接口測(cè)試工具功能對(duì)比

三、ITest架構(gòu)設(shè)計(jì)

1、核心概念

測(cè)試步驟,測(cè)試用例及測(cè)試計(jì)劃是ITest接口自動(dòng)化平臺(tái)的核心概念。其中,測(cè)試步驟和測(cè)試用例是兩個(gè)描述不同粒度測(cè)試行為的單位,測(cè)試步驟定義了單個(gè)接口測(cè)試行為,測(cè)試用例則可描述多個(gè)接口測(cè)試行為。測(cè)試用例可嵌套測(cè)試用例和測(cè)試步驟,滿足復(fù)雜測(cè)試場(chǎng)景的編排需求。

圖9? ?測(cè)試步驟,測(cè)試用例及參數(shù)化關(guān)系

測(cè)試計(jì)劃是多組測(cè)試步驟及測(cè)試用例的有序集合,beforeGlobal和afterGlobal 中的用例是整個(gè)計(jì)劃的前置用例和后置用例,beforeGlobal用例會(huì)先于整個(gè)測(cè)試計(jì)劃內(nèi)其他用例執(zhí)行,若執(zhí)行失敗,則直接跳過該測(cè)試計(jì)劃剩余用例。

測(cè)試計(jì)劃可包含多個(gè)group,同一group中用例可共享執(zhí)行上下文。在group中可定義beforeGroup 和afterGroup用例,做為group 內(nèi)的前置用例和后置用例。beforeGroup用例若執(zhí)行失敗,則直接跳過該group 中剩余用例。不同group間用例互不影響,可并行執(zhí)行。

圖 10??測(cè)試計(jì)劃組成示意

2、總體架構(gòu)及模塊簡(jiǎn)介

圖11?? ITest 總體架構(gòu)概覽

ITest由管理平臺(tái)和執(zhí)行引擎兩大模塊構(gòu)成。其中,管理平臺(tái)是面向用戶側(cè)的,負(fù)責(zé)測(cè)試用例的編輯及快速調(diào)試,測(cè)試計(jì)劃的編排及調(diào)度執(zhí)行,測(cè)試結(jié)果展示,消息通知,角色權(quán)限管理,項(xiàng)目空間和個(gè)人空間用例及計(jì)劃的維護(hù)等工作。執(zhí)行引擎則負(fù)責(zé)測(cè)試模板的解析及執(zhí)行工作。執(zhí)行引擎通過java編寫,可以通過ITest Agent,Jenkins,容器云輕松集成,當(dāng)前默認(rèn)環(huán)境托管在數(shù)科容器云lambda上,提供面向數(shù)科測(cè)試環(huán)境及公網(wǎng)的集成測(cè)試能力。

圖12??? ITest engine 功能邏輯示意

四、ITest未來規(guī)劃

為更好支持接口自動(dòng)化測(cè)試,ITest 接口自動(dòng)化測(cè)試平臺(tái)計(jì)劃在以下方面繼續(xù)豐富完善功能:

1、豐富測(cè)試用例及測(cè)試計(jì)劃的組織結(jié)構(gòu),在目前順序組織的基礎(chǔ)上,增加分支選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的組織方式,以應(yīng)對(duì)復(fù)雜測(cè)試邏輯的需求。

2、增加對(duì)腳本語(yǔ)言的支持,同時(shí)提供函數(shù)的上傳與編輯需求,滿足用戶多樣化自定義函數(shù)的需求。

3、自動(dòng)化測(cè)試的精準(zhǔn)度量:從代碼及接口數(shù)據(jù)層面對(duì)測(cè)試覆蓋率進(jìn)行度量,進(jìn)一步結(jié)合分布式服務(wù)跟蹤系統(tǒng)SGM與精準(zhǔn)測(cè)試的理念,實(shí)現(xiàn)源碼與用例的雙向綁定,繼而針對(duì)版本迭代的代碼變更為用戶回歸范圍提供建議。

互動(dòng)討論:你在日常工作中都遇到哪些接口測(cè)試的痛點(diǎn)?你覺得一個(gè)好的接口自動(dòng)化測(cè)試平臺(tái)是什么樣子的呢?歡迎在留言區(qū)分享你的困惑或你的見解。

往期好文推薦:>自動(dòng)化測(cè)試在京東數(shù)科的實(shí)踐與探索>只看這三點(diǎn)就夠:快速了解聯(lián)邦學(xué)習(xí)框架!> 京東數(shù)科七層負(fù)載 | HTTPS硬件加速 (Freescale加速卡篇)>?京東數(shù)科mPaaS:深度解讀京東金融App(Android)的秒開優(yōu)化實(shí)踐

總結(jié)

以上是生活随笔為你收集整理的接口测试用例模板_ITest:京东数科接口自动化测试实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。