1、C二 手 交 易 平 臺(轉 轉)交 易 服 務 自 動 化 測 試 實 踐目錄 交易業務與測試痛點 轉轉交易接口測試 基于接口測試的平臺建設二手交易平臺(轉轉)買賣交易業務用戶用戶商品商品下單下單訂單流轉訂單流轉打款打款普通商品普通商品自營商品自營商品虛擬商品虛擬商品紅包紅包活動活動服務服務保險保險運費運費分賬分賬運費運費支付方式支付方式正向正向部分退款部分退款全部退款全部退款仲裁部分仲裁部分仲裁全退仲裁全退清結算清結算打款打款 交易簡介C2C用戶用戶自營自營交易測試 交易測什么1)訂單與屬性的綁定(下單)2)訂單正常異常流轉、UI渲染(按鈕、OP、服務窗)3)訂單的清結算與打款4)冪等與失
2、敗重試5)離線程序下單狀態文案打款冪等離線測試痛點 交易測試的痛點1)訂單附加屬性多2)訂單流轉路徑多3)分賬公式復雜,分賬場景多4)回歸測試與數據兼容工作量大開始開始下單下單取消訂單取消訂單付款付款郵寄郵寄確認收貨確認收貨賣家拒絕賣家拒絕申請退款申請退款申請仲裁申請仲裁撤銷申請撤銷申請拒絕退款拒絕退款同意退款同意退款客服仲裁客服仲裁逆向完結逆向完結正向完結正向完結C2C無服務訂單流轉無服務訂單流轉紅包紅包活動活動服務服務保險保險運費運費分賬分賬運費運費支付方式支付方式下單下單付款付款郵寄質檢郵寄質檢新服務新服務Pad老服務手機老服務手機老服務老服務Pad新服務手機新服務手機質檢中質檢中質檢完
3、成質檢完成確認想要確認想要平臺發貨平臺發貨確認收貨確認收貨打款打款下單下單付款付款郵寄質檢郵寄質檢質檢中質檢中質檢完成質檢完成確認想要確認想要平臺發貨平臺發貨確認收貨確認收貨打款打款申請退款申請退款取消訂單取消訂單申請退款申請退款申請仲裁申請仲裁申請退款申請退款取消訂單取消訂單改價改價申請退款申請退款改價改價申請仲裁申請仲裁拒絕退款拒絕退款拒絕退款拒絕退款優品驗機主要流程優品驗機主要流程紅包紅包秒殺秒殺100%平臺平臺100%業務業務平臺業務分平臺業務分攤攤無分賬(老數據)無分賬(老數據)確認收貨分確認收貨分賬賬部分退款分部分退款分賬賬全退款不分全退款不分賬賬滿減滿減紅包紅包+秒殺秒殺紅包紅包
4、+滿減滿減無分賬無分賬紅包活動分賬紅包活動分賬交易接口測試 接口測試用例組成1)工具類2)操作3)通用校驗4)項目校驗單接口調用單接口調用接口組合接口組合按鈕文案校驗按鈕文案校驗服務窗校驗服務窗校驗訂單狀態校驗訂單狀態校驗C2C平賬校驗平賬校驗細分打款校驗細分打款校驗結算單校驗結算單校驗測試用例測試用例新環境匹配工具新環境匹配工具數據兼容工具數據兼容工具項目校驗項目校驗優品驗機操作優品驗機操作TestNG監聽監聽代理代理HttpClientSCFC交易接口測試InitAction1S1Action2擴展點S2擴展擴展HanlderAction3擴展擴展Hanlder擴展點Action4S3En
5、dThirdPartInsertUILockUnlockNotAllowedOpX開始開始清除配置清除配置插入配置插入配置執行操作執行操作命中加鎖加鎖未命中校驗未命中校驗結束結束擴展操作擴展操作插入插入UI鎖校驗鎖校驗操作校驗操作校驗UI校驗校驗YN結束結束狀態機擴展流程狀態機擴展流程狀態機擴展測試用例狀態機擴展測試用例開始開始活動審核活動審核發布商品發布商品報名報名商品審核商品審核報名報名不通過不通過通過通過無活動屬性無活動屬性商品附加活動屬性商品附加活動屬性不通過不通過通過通過無活動交易無活動交易結束結束有活動交易有活動交易活動測試用例活動測試用例 交易接口測試用例種類1)基于流程PS:運
6、營活動2)基于狀態PS:訂單流轉3)基于配置PS:狀態機擴展4)老數據兼容回歸PS:驗機流程數據遷移開始開始讀取新環境集群讀取新環境集群讀取老環境集群讀取老環境集群兼容開關寫入寫入SCF_Config開SCFClient初始化老環境初始化老環境切換點HttpClient老環境老環境host執行老環境操作執行老環境操作數據清洗數據清洗執行新環境操作執行新環境操作兼容校驗兼容校驗結束結束Client切換新環境切換新環境訂單創建訂單創建waitingforPaymentvirtualStock-1Trading付款付款paymentSuccessStock-1Traded發貨發貨delivered確
7、認收貨確認收貨confirmReceiptUIRefreshButton/TextCheckerUIRefreshButton/TextCheckerUIRefreshButton/TextCheckerUIRefreshButton/TextCheckerPaymentCashFlowChecker同意退款同意退款AgreeRefundX訂單流轉測試用例訂單流轉測試用例交易接口測試 問題1)業務模塊間交互無法覆蓋2)用例繁瑣TradeLogicActivityPaymentCenterPaymentCenter支付平臺B支付平臺A交易接口測試 解決1)mock2)動態代理托管校驗TradeL
8、ogic異常返回異常返回轉發轉發策略策略PaymentCenterRPCHTTPSCaseTextCheckerStatusCheckerPaymentCheckerServiceCheckerCreateOrderPayOrderDeliverConfirmReceiptServiceTypeOrderStatusPayTimeDeliverTime.ON-OFFON-OFFON-OFFON-OFFON-OFFtestCreateOrder2ConfirmR接口測試平臺 用例展示平臺1)接口用例可視化2)用例平臺執行3)流程打通性能測試用例性能測試用例冒煙測試用例冒煙測試用例業務測試用例業務
9、測試用例用例解析用例解析編譯執行編譯執行SVN工具工具日志抓取日志抓取報告工具報告工具定時器定時器報告報告用例展示平臺用例展示平臺CheckList測試環境平臺測試環境平臺部署平臺部署平臺申請環境初始化初始化完成通知執行環境檢測CheckList環境檢測通過執行業務檢測CheckList業務檢測通過產出報告環境初始化完成部署提測分支通知集群部署執行交易冒煙Checklist產出報告提測通過環境初始化成功提測部署成功觸發用例執行產出報告執行完成接口測試平臺 性能測試平臺1)數據收集分析2)可視化報告CasePlatformzzserveragentdbPerformance掃描casecase結
10、構生成xml讀取可用xml賦值測試量,啟動測試通知啟動存儲收集性能信息返回請求書/發出時間/成功數/失敗數計算/存儲zzserver信息定時讀取數據庫信息展示Proxylistenercorezzservertestcaseperformancechecklist用例展示平臺用例展示平臺性能測試平臺性能測試平臺Svn-toolsCaseparsercompilerrunnertimerRMIRMIHTTPAgentRMItimerORM接口測試平臺 數據構造平臺接口測試平臺 其他1)推進RD自測2)反推業務改進RD編碼聯調自測Bug修復自測QA用例編寫用例調試提交用例至RD測試階段文案PUSH
11、接口測試后續發展 接口測試后續發展1)推薦用例,執行反饋,輔助小需求自動上線2)自動全量覆蓋交易流程ProxylistenerZzserver-corezzservertestcaseperformancechecklist用例展示平臺用例展示平臺數據構造平臺數據構造平臺性能測試平臺性能測試平臺Svn-toolsCaseparsercompilerrunnertimerRMIRMIHTTPAgentRMIjacocodeployBug分析平臺分析平臺timerORM覆蓋率覆蓋率部署環境部署環境檢測檢測&冒煙冒煙測試策略測試策略環境檢測環境檢測交易主流交易主流程程check活動活動/紅包紅包check自營自營check退款退款仲裁仲裁推薦器推薦器Codediff