偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

理想中的接口自動(dòng)化項(xiàng)目,你了解嗎?

開發(fā) 項(xiàng)目管理
發(fā)票的接口自動(dòng)化在多年前是寫了的,用Java+TestNG+RPC本地化了一套框架來實(shí)現(xiàn),因?yàn)槿藛T離職和業(yè)務(wù)變更,這套自動(dòng)化到我手上的時(shí)候,已經(jīng)不能用了,本地化的接口自動(dòng)化項(xiàng)目也無法做數(shù)據(jù)度量,只有接口測(cè)試平臺(tái)寫的自動(dòng)化用例才會(huì)被統(tǒng)計(jì)到。

如何評(píng)價(jià)接口自動(dòng)化項(xiàng)目

我理想中的接口自動(dòng)化項(xiàng)目,是有一套腳本,能夠100%覆蓋核心業(yè)務(wù)場景,能夠回歸線上頻繁出現(xiàn)的問題,能夠支持手工無法驗(yàn)證的場景,能夠拋出偶現(xiàn)問題,能夠包含容易遺漏的邊界場景、異常場景,每天都能定時(shí)運(yùn)行,出具報(bào)告,給予反饋。用實(shí)際的「指標(biāo)量化」下:

  • 功能測(cè)試自動(dòng)化率 = 自動(dòng)化測(cè)試用例數(shù)/總測(cè)試用例數(shù)。
  • 自動(dòng)化發(fā)現(xiàn)bug占比 = 自動(dòng)化發(fā)現(xiàn)的bug/總bug數(shù)。
  • 自動(dòng)化發(fā)現(xiàn)bug有效性 = 自動(dòng)化發(fā)現(xiàn)的有效bug/自動(dòng)化提交的bug總數(shù)。
  • 自動(dòng)化執(zhí)行成功率 = 自動(dòng)化執(zhí)行成功的次數(shù)/自動(dòng)化執(zhí)行總次數(shù)。
  • 周活躍自動(dòng)化用例占比 = (∑每周執(zhí)行過的自動(dòng)化測(cè)試用例)/(∑周維度自動(dòng)化測(cè)試用例)。
  • 應(yīng)用維度自動(dòng)化代碼覆蓋率 = 自動(dòng)化用例覆蓋代碼行數(shù)/應(yīng)用維度代碼總行數(shù)。

現(xiàn)狀是什么(Situation)

我負(fù)責(zé)的業(yè)務(wù)是發(fā)票中臺(tái),數(shù)據(jù)流簡化后如下圖所示:

圖片

發(fā)票中臺(tái)對(duì)調(diào)用方提供RPC服務(wù),底層有讀寫MySQL、同步ES、消息隊(duì)列、異步任務(wù)等服務(wù),上游是用戶和訂單,需要賬號(hào)、增票資質(zhì)、訂單等物料;下游是財(cái)務(wù),推送申請(qǐng)單給財(cái)務(wù)開具發(fā)票等。發(fā)票的接口自動(dòng)化在多年前是寫了的,用Java+TestNG+RPC本地化了一套框架來實(shí)現(xiàn),因?yàn)槿藛T離職和業(yè)務(wù)變更,這套自動(dòng)化到我手上的時(shí)候,已經(jīng)不能用了,本地化的接口自動(dòng)化項(xiàng)目也無法做數(shù)據(jù)度量,只有接口測(cè)試平臺(tái)寫的自動(dòng)化用例才會(huì)被統(tǒng)計(jì)到。

任務(wù)是什么(Task)

我給自己定的績效是在Q2完成95條自動(dòng)化用例,按照一個(gè)標(biāo)準(zhǔn)化的自動(dòng)化項(xiàng)目來實(shí)現(xiàn)發(fā)票的接口自動(dòng)化,結(jié)合測(cè)試環(huán)境、測(cè)試物料、流水線、精準(zhǔn)分析,打造一個(gè)個(gè)人的穩(wěn)定的沉淀物,無論是晉升還是求職,都能拿來講點(diǎn)故事。

行動(dòng)是什么(Action)

「編寫自動(dòng)化用例的方式」

  • 最理想的方式,是能夠錄制線上流量直接轉(zhuǎn)換為自動(dòng)化用例,修修改改即可。雖然我們有流量錄制回放平臺(tái),但是它跟接口自動(dòng)化平臺(tái)并沒有打通,很可惜不能采取這種方式。
  • 參考線上流量日志,抓取接口、入?yún)?,人工轉(zhuǎn)化為自動(dòng)化用例。
  • 參考接口的代碼設(shè)計(jì),比如controller/provider/sdk都定義了應(yīng)用接口,能知道哪些覆蓋到了,哪些還需要補(bǔ)充。
  • 根據(jù)入?yún)⒛0遄孕袠?gòu)造參數(shù)。參數(shù)個(gè)數(shù)太多的話造起來很麻煩。我主要采用第2種和第3種方式結(jié)合來編寫自動(dòng)化用例。

「典型自動(dòng)化用例」

圖片

前置步驟:初始化數(shù)據(jù),將訂單發(fā)票類型更新為3。預(yù)設(shè)變量:提供參數(shù)化數(shù)據(jù)。執(zhí)行步驟:調(diào)用修改訂單發(fā)票類型接口,將發(fā)票類型3改為2,入?yún)⒁妙A(yù)設(shè)變量。財(cái)務(wù)接口:依賴測(cè)試物料無法滿足,通過Mock來返回模板數(shù)據(jù),讓接口繼續(xù)往下走?;A(chǔ)斷言:接口響應(yīng)狀態(tài)碼200。業(yè)務(wù)斷言:調(diào)用訂單列表查詢接口,用JSONPath提取響應(yīng)中的發(fā)票類型,斷言已經(jīng)改成了2。

場景用例

圖片數(shù)據(jù)準(zhǔn)備:通過物料工具造訂單數(shù)據(jù),寫入MySQL數(shù)據(jù)庫中。

更新MySQL數(shù)據(jù):更新訂單的部分字段數(shù)據(jù),觸發(fā)binlake,將數(shù)據(jù)同步至ES,因?yàn)樘峤婚_票申請(qǐng)是讀取的ES數(shù)據(jù);從預(yù)設(shè)變量獲取orderId。

提交開票申請(qǐng):從ES讀取訂單數(shù)據(jù),提交開票申請(qǐng);從預(yù)設(shè)變量獲取orderId和userId。

查詢申請(qǐng)單號(hào):根據(jù)訂單號(hào)查詢申請(qǐng)單號(hào);從預(yù)設(shè)變量獲取orderId和userId。用JSONPath提取申請(qǐng)單號(hào),存入動(dòng)態(tài)變量中。推送財(cái)務(wù):把申請(qǐng)單號(hào)推送給財(cái)務(wù);從動(dòng)態(tài)變量獲取applyId。

覆蓋更多代碼

①看代碼:

圖片

在Java工程里面的Controller/Provider找到所有接口,分析可以用來做自動(dòng)化的接口,設(shè)計(jì)自動(dòng)化用例進(jìn)行覆蓋。

②代碼覆蓋率:

圖片

借助于jacoco,在執(zhí)行自動(dòng)化用例后,把代碼覆蓋率跑出來,分析沒覆蓋的代碼,補(bǔ)充更多「正常/異常/邊界」的自動(dòng)化用例。也就是精準(zhǔn)測(cè)試。

自動(dòng)化巡檢

圖片

每天早上8點(diǎn),定時(shí)任務(wù)執(zhí)行用例集;發(fā)送郵件,抄送測(cè)試組、開發(fā)組、領(lǐng)導(dǎo),讓測(cè)試、開發(fā)和領(lǐng)導(dǎo)都知道自動(dòng)化建設(shè)情況;如果出現(xiàn)問題,一定要在當(dāng)天解決,并郵件回復(fù)問題原因;確保當(dāng)天的自動(dòng)化用例結(jié)果都是正確的;第二天接著繼續(xù)巡檢。

流水線

在持續(xù)集成中,引入自動(dòng)化用例環(huán)節(jié),把自動(dòng)化用例跑通作為提測(cè)卡點(diǎn),不通過可以駁回。

產(chǎn)出是什么(Result)

定性來看:「結(jié)合測(cè)試環(huán)境、測(cè)試物料、自動(dòng)化、流水線、精準(zhǔn)測(cè)試,完成了一個(gè)能對(duì)環(huán)境和業(yè)務(wù)進(jìn)行穩(wěn)定性巡檢,能對(duì)研發(fā)提測(cè)進(jìn)行質(zhì)量門禁,能對(duì)應(yīng)用進(jìn)行代碼覆蓋率分析的接口自動(dòng)化項(xiàng)目?!苟縼砜矗?/p>

  • 功能測(cè)試自動(dòng)化率 = 自動(dòng)化測(cè)試用例數(shù)/總測(cè)試用例數(shù)「95/100=95%」。
  • 自動(dòng)化發(fā)現(xiàn)bug占比 = 自動(dòng)化發(fā)現(xiàn)的bug/總bug數(shù)「2/53=3.7%」。
  • 自動(dòng)化發(fā)現(xiàn)bug有效性 = 自動(dòng)化發(fā)現(xiàn)的有效bug/自動(dòng)化提交的bug總數(shù)「2/2=100%」。
  • 自動(dòng)化執(zhí)行成功率 = 自動(dòng)化執(zhí)行成功的次數(shù)/自動(dòng)化執(zhí)行總次數(shù)「5396/5621=96%」。
  • 周活躍自動(dòng)化用例占比 = (∑每周執(zhí)行過的自動(dòng)化測(cè)試用例)/(∑周維度自動(dòng)化測(cè)試用例)「77%」。
  • 應(yīng)用維度自動(dòng)化代碼覆蓋率 = 自動(dòng)化用例覆蓋代碼行數(shù)/應(yīng)用維度代碼總行數(shù)「39%」。

這個(gè)Q主要完成了核心流程和重要接口的自動(dòng)化用例,還需要持續(xù)補(bǔ)充場景用例和異常/邊界的自動(dòng)化用例。

責(zé)任編輯:武曉燕 來源: 測(cè)試開發(fā)剛哥
相關(guān)推薦

2020-12-07 09:00:00

架構(gòu)開發(fā)技術(shù)

2016-01-13 10:09:49

自動(dòng)化運(yùn)維運(yùn)維思想

2020-04-22 17:09:04

Python自動(dòng)化開發(fā)

2016-01-08 13:19:30

開源自動(dòng)化運(yùn)維

2023-03-06 16:38:30

SQL數(shù)據(jù)庫

2022-09-14 10:00:12

前端自動(dòng)化測(cè)試

2021-10-14 06:52:47

自動(dòng)化開發(fā)環(huán)境

2023-11-09 08:22:38

2012-02-06 13:52:33

JavaScript

2017-06-14 08:08:40

運(yùn)維監(jiān)控自動(dòng)化

2018-02-25 19:29:49

自動(dòng)化數(shù)字化IT

2015-02-04 09:17:38

亞馬遜AWS云自動(dòng)化

2021-12-06 20:00:59

人工智能AI自動(dòng)化

2009-12-15 17:28:11

Ruby自動(dòng)化腳本框架

2021-11-26 08:07:16

MySQL SQL 語句數(shù)據(jù)庫

2021-07-27 06:49:11

C#存儲(chǔ)檢索

2017-12-17 21:58:18

2022-12-26 12:30:28

接口測(cè)試

2023-09-13 11:40:12

2017-12-19 08:50:56

UIJavaAWS Lambda
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)