歡迎你們前往騰訊雲+社區,獲取更多騰訊海量技術實踐乾貨哦~php
本文由 elyyan 發表於 雲+社區專欄
敏捷模式下迭代頻繁,迴歸測試時老是不知道變更的範圍。Devlop 有的時候也不知道他改了哪些東西,影響到哪些節點,或者是不少人改的,彼此不知道。遇到有代碼潔癖的,改了別人的代碼,你們都不知道。一般狀況是,要麼測試範圍定小了,遺漏了;要麼測試範圍過大,付出過多代價。每次迴歸,測試內心總沒底,生怕漏了哪裏。如何才能準肯定位到變動範圍呢?python
1.迭代更新快,人力有限git
2.多分支代碼合入到主幹分支,修改哪一個文件哪一個行,測試不可控。json
3.代碼更新影響哪些功能無感知api
4.盲測,上線風險大安全
5.沒法更加精準監控代碼質量微信
6.不能作到高效精準,不可衡量ROI架構
1流程圖:函數
總體架構圖單元測試
2錄製自動化測試+phpcoverage 配合落地XDEBUG文件,解析覆蓋率文件,生成文件-行號/函數-用例 映射關係表【phpcover_process.py】
XDEBUG_IP服務ip_DATE日期.txt 文件以下:
一個case涉及到的文件遍歷明細
1個api->n個file->line_no集合->n個testcase集合
1個api->n個file->n個functionName->n個testcase集合
3基於git diff 針對版本號之間的差別化分析.【git_diff.py】
2.1過濾相關文件(phpunit,js,test文件,vendor公共庫)
2.2記錄當前代碼分支版本號(分支-舊版本-新版本-系統-環境)
2.3針對新版本號和舊版本號 文件中行變化的明細入庫(版本號-文件-舊行號-新行號-變動類型class fun)
diff 文件
項目-分支-舊版本-新版本-環境
版本號修改的文件(文件,舊行號,新行號,類,函數名,系統)
4生成命中的測試用例【down_accurate_case.py】
原理圖:
待測json文件
生成須要執行的apiList 對應的caseId
5插樁-自動化測試(指定case_id順序執行)-缺陷數量回寫DB【accurate_runcase.py】
自動化測試執行日誌
版本-執行的api-數據統計(執行數-發現bug數)
生成自動化測試報告
6統計精準測試效果數據統計【accurate_stat_image.py】
精準測試報告
7.最新跑完的測試覆蓋率數據新增/更新/刪除 文件-用例-行/函數 覆蓋率關係表,造成閉環爲下次精準測試作鋪墊【phpcover_process.py】
·精細化測試基於自動化覆蓋率到達必定量的基礎上去作比較有意義。
·經過這個探索能讓咱們更加深刻的去了解被測系統及架構,在保障質量的前提下,在不斷的版本迭代過程當中更加高效、可靠、自信地制定合理的測試計劃和執行咱們的測試工做。
·被測系統php 語言+ git代碼管理,暫不包含js的精準性測試,測試解析語言:python。
問答
相關閱讀
安全報告 | 2018上半年互聯網惡意爬蟲分析:從全景視角看爬蟲與反爬蟲
此文已由做者受權騰訊雲+社區發佈,原文連接:https://cloud.tencent.com/dev...
歡迎你們前往騰訊雲+社區或關注雲加社區微信公衆號(QcloudCommunity),第一時間獲取更多海量技術實踐乾貨哦~
海量技術實踐經驗,盡在雲加社區!