




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、API測試在智能化測試時代的探索與實踐1百度API測試平臺發展背景2ITP通用接口測試服務摘要3測試智能化實踐及收益4總結與思考ITEST2011:Python開發代碼測試框架, 用于功能測試自動化書寫, 環境準備、Mock及測試執行廣泛應用于商業平臺檢索端 及大搜索等產品Robot+2012:Java開發代碼測試框架, 配置化管理用例, Junit驅動測試執行曾廣泛應用于商業平臺 業務端產品業務線自建平臺XTS2014:支持場景單一、各異公共問題被重復解決易用性和使用效率低資源占用多技術探索難以落地2015:基于Robot升級, 關鍵字封裝廣泛用于手百等 用戶產品測試, 后續融入ITP中IT
2、P2015:基于ITEST底層,集合各產品測試規范, 可視化用例開發與執行平臺12萬積累用例10萬次日均測試量43覆蓋部門205覆蓋產品百度API測試平臺 從百花齊放走向歸一ITP通用接口測試服務ITP通用接口測試服務 - 能力概覽HTTP/Socket/JsonRpc/Stargate/Protobuf/Mcpack/Dubbo XAPI測試測試類型在線IDE瀏覽器插件序列測試Diff測試原子操作APIMysqlESRedisShell參數傳遞特性支持擴展函數數據驅動質量評估度量驅動行為分析用例檢測登錄管理連接池管理序列化協議傳輸協議服務總線尋址API入口MongoITP通用接口測試服務 用
3、例組織與編寫用例樹:允許最小子目錄粒 度并發執行,支持單一環境測試 及多環境Diff測試Operation:定義具體的操作,包括API請求,Mysql、Redis、ES、Mongo訪問,執行遠程機器命 令參數傳遞:支持Setup、Teardown及同一 個Case內所有操作間傳遞數據$操作名.response.a.bx全局參數:支持按用例樹目錄的多層 級參數配置,可使用傳遞 參數和擴展函數擴展函數:支持通用及產品線自定義擴展 函數,函數內可引用請求相關 參數,可與傳遞參數、其他函數嵌套使用$ method(arg1,arg2)數據驅動:替換參數占位符,如$abc, 設置多組執行 數據,實現用例
4、的數據 驅動執行復制與引用:允許從已有請求復制 允許從模版復制或引 用Step:用于長流程時,組 織一組有業務意義 的組合版本控制:支持用例的多版本 控制,拉取、合入 等ITP通用接口測試服務 用例執行計劃計劃配置:包括環境信息、并發配置、重 試、用例篩選、用例集合等配置版本管理:選擇對應的執行版本ITP通用接口測試服務 檢測與度量用例檢測:支持通用規則的檢測和自動修復基本統計能力評估ITP通用接口測試服務 - 部署結構Web-IDEWeb-IDE分發器分發器Web-IDE執行器B執行器C執行器A執行器B執行器C執行器A機房A機房B機房C離線 執行包DataioDataio業務DB日志內存數據
5、庫Web執行器多租戶,根據實際需要上線產品線執行器ZK控制模塊連接, 實現無狀態節點Admin-Monitor用于私有化項目測試1.節點在線情況2.可用資源情況,用于動態調度3.異常恢復內存數據庫Thread Group測試智能化實踐及收益智能化測試時代的新挑戰 極致的成本與效率現狀:穩定性、效果損失。激增的用例數,維護不及時,都帶來流水線的穩定性問題,并進而導致效果可信的問題, 形成惡性循環現狀:發布周期:周期和質量保障手 段是矛盾雙方;大批量用例的 執行,在流水線中的時間占比 越來越高業務訴求現狀:保證高覆蓋、高質量用例的前提下, 用例書寫和維護成本變得不可接受, 自動化設計成本與書寫成本
6、, 占用QA過多人力,20%50%高質量高效率低成本智能化實踐 用例書寫效率提升API模版1參數類型與約束規則識別識別器參數組合計算Case數據逆向生成參數流量聚類參數對象組合信息、參數約束輸入:參數約束輸入:前置的參數組合23輸入:生成數據準備API信息識別識別訪問地址等基本信息識別參數類型,特別是枚舉類型的識別,尋找可能的取值識別參數的分組信息實時同步與變更提醒用例的生成計算最大入參覆蓋的用例組合改進:計算過程中,考慮日志中聚類得到的參數組合改進:計算過程中,考慮參數分組,避免生成大量無業務意義的參數組合SetUp&TearDown生成識別Restful接口中的 Add/Delete操作,
7、 自動生成數據準備基于SQL逆向生成, 生成數據準備智能化實踐 用例書寫效率提升 算法日志歸一后日志約束規則Top結果集-TT組合權重分組A 權重分組B權重分組C 權重權重信息預置組合分組APSSTt-Ts-At與Ts已有解均不重疊(回溯法)補全Ts-A,未覆蓋的兩 兩組合(貪心)分組B分組C加入初始 Ts-ATT-A - Ts-A初始化解空間Ts-A從Ts-A中去除TT-A結果集TT+Ts單原子組合Ts樹狀組織數組打平值替換20個接口原生PSST改進算法分支覆蓋57%55%用例量3015缺點1.難以從業務理解2.用例多一定覆蓋損失,但可 接受用例代碼映射數據更新 生命周期運轉智能化實踐 用例
8、執行選擇基準用例庫用例庫C用例庫C執行用例集合用例相似度精簡用例生命周期管理1基于代碼diff用例篩選新增用例準入23代碼變更相關用例去除不穩定的用例去除覆蓋重復的用例過濾不規范用例映射關系入庫智能化實踐 用例選擇執行 - 生命周期NewStableUnstableDeath持續失敗一次失敗執行準入多次成功自動檢測用例生命周期:準入智能化實踐 用例選擇執行 - 代碼與用例關系任務控制服務ITPKirin算子被測服務覆蓋率穩定性算力 海川iCode(Git)exec文件1)觸發收集單個用例覆蓋率數據2)向被測環境發請求3)生成單個文件覆蓋率中間文件4)獲取與被測環境對應代碼版本5)離線并行生成覆
9、蓋率文件6)上傳到HDFS7)向麒麟提交計算任務8)獲取覆蓋文件后, 提交到川平臺計算去重HDFS執行時間實現中智能策略中心覆蓋率文件用例與覆蓋率對應關系Setup校驗點請求 Teardown 智能化實踐 用例執行選擇 CI流程變化RDiCode(GIT)CI腳本Server端報告ITP計劃全量用例用例/代碼映射庫Agile插件關聯用例集合ITP計劃ITP_DB變更代碼commitId &主干最新commitIdcommitId客戶端修改計劃并觸發應用生命周期獲取用例集合生命周期管理用例相似度精簡映射關系生成過濾篩選后集合中 重復和不穩定用例引入用例智能化原有方案形成用例側生態閉環與構建系統用例生態閉環用例相似度精簡自動運轉用例生命周期自運轉用例和代碼映射入庫閉環, 為基于代碼變 更篩選不斷積累數據,也為精準測試不斷 提供基礎數據可擴展性強策略與框架側解耦,具備較強的可擴展性與構建系統無感知銜接感知銜接智能化實踐 用例執行選擇 收益效果穩定性從Q2初60%提升到80+%更少的時間投入,更多召回智能化實踐 流程類測試優化轉換為有向圖用例信息深度遍歷獲取路徑相似操作以隊列 形式附加保存, 并記錄與后置請 求的對應關系可優化建議(居多)自動優化(實現中)直接優化執行順序前置操作完全一致前置為寫、后置為讀操作總結與展望用例生成用例執行參數
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通協管員就業合同
- 浙江工業大學之江學院《醫用物理學》2023-2024學年第二學期期末試卷
- 新疆藝術學院《日語會話Ⅱ》2023-2024學年第二學期期末試卷
- 三亞學院《信息與網絡安全》2023-2024學年第二學期期末試卷
- 浙江省富陽二中2025年高三教學調研(二)物理試題試卷含解析
- 蘇州高博軟件技術職業學院《酒店服務心理學》2023-2024學年第二學期期末試卷
- 江蘇省蘇州昆山市2025屆初三6月熱身考化學試題含解析
- 長沙理工大學《生理學A》2023-2024學年第二學期期末試卷
- 三方合同共建企業的協議2025
- 江西省吉安市四校聯考2025年高三下學期期末調研測試語文試題含解析
- GB/T 2430-2008航空燃料冰點測定法
- 氣溫的分布和溫度帶
- 第6-2章生料粉磨和熟料粉磨
- 2023年廣東學位英語試題學位英語考試真題(含答案)
- 冒泡排序算法課件
- 粵教版五年級下冊科學知識點
- 文言文《守株待兔》說課稿課件
- 生物礦物課件
- GB∕T 36765-2018 汽車空調用1,1,1,2-四氟乙烷(氣霧罐型)
- DB34-T 4243-2022 智慧醫院醫用耗材SPD驗收規范
- 《覺醒年代》朗誦稿
評論
0/150
提交評論