本技術(shù)涉及代碼自動化測試的,尤其涉及一種基于低代碼平臺的代碼自動化測試方法、設(shè)備及介質(zhì)。
背景技術(shù):
1、在當(dāng)今數(shù)字化快速發(fā)展的時代,低代碼平臺憑借其高效、便捷的應(yīng)用開發(fā)特性,受到眾多企業(yè)的青睞。然而,隨著低代碼平臺應(yīng)用的廣泛普及,如何確保這些快速開發(fā)出的應(yīng)用程序的質(zhì)量成為關(guān)鍵問題。傳統(tǒng)的軟件測試方式,無論是手動測試還是基于常規(guī)代碼的自動化測試,在面對低代碼平臺開發(fā)的應(yīng)用時,都暴露出諸多不足。手動測試效率低下,難以跟上應(yīng)用快速迭代的節(jié)奏;而常規(guī)自動化測試由于低代碼平臺獨特的開發(fā)模式和架構(gòu),存在適配性差的問題,無法充分利用低代碼平臺生成應(yīng)用的元數(shù)據(jù)等信息,導(dǎo)致測試不全面、不準(zhǔn)確。
2、因此,如何對低代碼平臺的代碼進行自動化測試成為一個亟待解決的技術(shù)問題。
技術(shù)實現(xiàn)思路
1、本技術(shù)實施例提供了一種基于低代碼平臺的代碼自動化測試方法、設(shè)備及介質(zhì),用以解決如下技術(shù)問題:如何對低代碼平臺的代碼進行自動化測試。
2、第一方面,本技術(shù)實施例提供了一種基于低代碼平臺的代碼自動化測試方法,應(yīng)用于低代碼平臺,其特征在于,方法包括:基于低代碼平臺的接口獲取目標(biāo)應(yīng)用的元數(shù)據(jù);其中,元數(shù)據(jù)包括頁面結(jié)構(gòu)、組件屬性以及業(yè)務(wù)邏輯層級化描述;基于預(yù)設(shè)的自然語言處理算法對元數(shù)據(jù)進行語義解析,以提取組件屬性的約束條件以及業(yè)務(wù)邏輯流程的分支路徑,并生成初始測試用例集合;基于預(yù)設(shè)的機器學(xué)習(xí)模型對初始測試用例集合進行覆蓋度優(yōu)化,根據(jù)預(yù)設(shè)的條件篩選出高優(yōu)先級測試用例;其中,預(yù)設(shè)的條件包括組件交互概率和路徑執(zhí)行頻率;通過模擬用戶操作解析高優(yōu)先級測試用例,以生成可執(zhí)行測試腳本;其中,可執(zhí)行測試腳本與設(shè)備類型和瀏覽器類型無關(guān),可執(zhí)行測試腳本包括動態(tài)元素定位和操作步驟調(diào)整規(guī)則;執(zhí)行可執(zhí)行測試腳本并采集操作日志、界面截圖以及性能指標(biāo)數(shù)據(jù),以構(gòu)建多維度測試結(jié)果數(shù)據(jù)集;基于預(yù)設(shè)的圖像識別算法對界面截圖進行異常區(qū)域檢測,并與操作日志中的事件序列構(gòu)建因果關(guān)系圖譜;基于因果關(guān)系圖譜定位故障根因,以生成故障報告。
3、在本技術(shù)的一種實現(xiàn)方式中,基于低代碼平臺的接口獲取目標(biāo)應(yīng)用的元數(shù)據(jù),具體包括:調(diào)用低代碼平臺提供的標(biāo)準(zhǔn)化接口,以獲取目標(biāo)應(yīng)用的可擴展標(biāo)記語言描述文件;解析可擴展標(biāo)記語言描述文件,以提取頁面結(jié)構(gòu)中的容器組件層級關(guān)系和嵌套規(guī)則;通過低代碼平臺的組件注冊表獲取每個組件的組件屬性配置信息;其中,屬性配置信息包括數(shù)據(jù)類型、取值范圍和事件綁定關(guān)系;基于目標(biāo)應(yīng)用的業(yè)務(wù)邏輯流程的配置信息,提取流程節(jié)點的輸入輸出參數(shù)及分支條件,并構(gòu)建業(yè)務(wù)邏輯層級化描述;整合容器組件層級關(guān)系、組件屬性配置信息和業(yè)務(wù)邏輯層級化描述,生成元數(shù)據(jù)。
4、在本技術(shù)的一種實現(xiàn)方式中,基于預(yù)設(shè)的自然語言處理算法對元數(shù)據(jù)進行語義解析,以提取組件屬性的約束條件以及業(yè)務(wù)邏輯流程的分支路徑,并生成初始測試用例集合,具體包括:對元數(shù)據(jù)中的業(yè)務(wù)邏輯描述文本進行分詞處理,以提取關(guān)鍵詞和上下文關(guān)聯(lián)關(guān)系;通過預(yù)設(shè)的依存句法分析算法識別業(yè)務(wù)邏輯流程中的條件分支語句,并解析條件分支語句中分支條件的邏輯運算符和變量;基于預(yù)設(shè)的語義角色標(biāo)注算法標(biāo)注組件屬性描述中的約束條件類型;其中,約束條件類型包括必填性、格式限制及和值范圍;將解析后的條件分支邏輯及組件約束類型映射至測試用例模板,生成初始測試用例集合;其中,初始測試用例集合包括輸入?yún)?shù)、操作步驟及預(yù)期結(jié)果的。
5、在本技術(shù)的一種實現(xiàn)方式中,基于預(yù)設(shè)的機器學(xué)習(xí)模型對初始測試用例集合進行覆蓋度優(yōu)化,根據(jù)預(yù)設(shè)的條件篩選出高優(yōu)先級測試用例,具體包括:確定歷史測試數(shù)據(jù);基于歷史測試數(shù)據(jù)訓(xùn)練機器學(xué)習(xí)模型,以學(xué)習(xí)組件交互概率與路徑執(zhí)行頻率的關(guān)聯(lián)規(guī)則;對初始測試用例集合中的每個測試用例進行特征提取;其中,特征包括覆蓋的組件類型、路徑復(fù)雜度及邊界條件數(shù)量;通過機器學(xué)習(xí)模型計算每個測試用例的優(yōu)先級評分,并根據(jù)評分結(jié)果篩選出高優(yōu)先級測試用例。
6、在本技術(shù)的一種實現(xiàn)方式中,通過模擬用戶操作解析高優(yōu)先級測試用例,以生成可執(zhí)行測試腳本,具體包括:將測試用例中的操作步驟轉(zhuǎn)換為抽象操作指令;其中,抽象操作指令包括點擊、輸入、選擇及滑動;基于預(yù)設(shè)的動態(tài)元素定位算法,根據(jù)目標(biāo)應(yīng)用的頁面元素的唯一標(biāo)識符和層級路徑生成與設(shè)備類型無關(guān)的元素定位表達式;配置瀏覽器類型模擬參數(shù);其中,瀏覽器類型模擬參數(shù)包括用戶代理字符串及視口分辨率,以便于適配不同運行環(huán)境;構(gòu)建操作步驟調(diào)整規(guī)則庫,當(dāng)檢測到頁面結(jié)構(gòu)變更時,基于元素定位表達式匹配度生成可執(zhí)行測試腳本。
7、在本技術(shù)的一種實現(xiàn)方式中,執(zhí)行可執(zhí)行測試腳本并采集操作日志、界面截圖以及性能指標(biāo)數(shù)據(jù),以構(gòu)建多維度測試結(jié)果數(shù)據(jù)集,具體包括:在可執(zhí)行測試腳本執(zhí)行過程中,記錄每個操作步驟的執(zhí)行時間戳、元素定位結(jié)果及響應(yīng)狀態(tài);基于瀏覽器驅(qū)動接口截取每個操作步驟完成后的界面截圖,并關(guān)聯(lián)對應(yīng)的測試用例標(biāo)識符;采集性能指標(biāo)數(shù)據(jù)并存儲為操作日志;其中,性能指標(biāo)數(shù)據(jù)包括內(nèi)存占用率、cpu使用率及網(wǎng)絡(luò)請求延遲;將操作日志、界面截圖及性能指標(biāo)數(shù)據(jù)按測試用例維度整合,生成多維度測試結(jié)果數(shù)據(jù)集。
8、在本技術(shù)的一種實現(xiàn)方式中,基于預(yù)設(shè)的圖像識別算法對界面截圖進行異常區(qū)域檢測,并與操作日志中的事件序列構(gòu)建因果關(guān)系圖譜,具體包括:通過圖像識別算法提取界面截圖中的關(guān)鍵區(qū)域特征;其中,關(guān)鍵區(qū)域特征包括按鈕、文本框及彈窗;將頁面截圖中的當(dāng)前截圖與預(yù)設(shè)的基準(zhǔn)截圖進行像素級差異比對,以確定異常區(qū)域的位置及面積占比;基于異常區(qū)域的形狀和顏色特征判斷異常類型;其中,異常類型包括元素缺失、布局偏移或顯示錯誤;將異常區(qū)域的坐標(biāo)和異常類型與操作日志中的事件序列進行時間戳匹配,以構(gòu)建因果關(guān)系圖譜。
9、在本技術(shù)的一種實現(xiàn)方式中,基于因果關(guān)系圖譜定位故障根因,以生成故障報告,具體包括:解析操作日志中的事件序列,以提取每個操作步驟的前置條件及執(zhí)行結(jié)果;將異常區(qū)域檢測結(jié)果與事件序列中的失敗操作步驟進行關(guān)聯(lián),以識別直接觸發(fā)異常的操作節(jié)點;基于因果關(guān)系圖譜回溯故障路徑,以定位業(yè)務(wù)流程分支和/或組件屬性配置錯誤,生成故障報告。
10、第二方面,本技術(shù)實施例還提供了一種基于低代碼平臺的代碼自動化測試設(shè)備,其特征在于,設(shè)備包括:至少一個處理器;以及,與至少一個處理器通信連接的存儲器;其中,存儲器存儲有可被至少一個處理器執(zhí)行的指令,指令被至少一個處理器執(zhí)行,以使至少一個處理器能夠:基于低代碼平臺的接口獲取目標(biāo)應(yīng)用的元數(shù)據(jù);其中,元數(shù)據(jù)包括頁面結(jié)構(gòu)、組件屬性以及業(yè)務(wù)邏輯層級化描述;基于預(yù)設(shè)的自然語言處理算法對元數(shù)據(jù)進行語義解析,以提取組件屬性的約束條件以及業(yè)務(wù)邏輯流程的分支路徑,并生成初始測試用例集合;基于預(yù)設(shè)的機器學(xué)習(xí)模型對初始測試用例集合進行覆蓋度優(yōu)化,根據(jù)預(yù)設(shè)的條件篩選出高優(yōu)先級測試用例;其中,預(yù)設(shè)的條件包括組件交互概率和路徑執(zhí)行頻率;通過模擬用戶操作解析高優(yōu)先級測試用例,以生成可執(zhí)行測試腳本;其中,可執(zhí)行測試腳本與設(shè)備類型和瀏覽器類型無關(guān),可執(zhí)行測試腳本包括動態(tài)元素定位和操作步驟調(diào)整規(guī)則;執(zhí)行可執(zhí)行測試腳本并采集操作日志、界面截圖以及性能指標(biāo)數(shù)據(jù),以構(gòu)建多維度測試結(jié)果數(shù)據(jù)集;基于預(yù)設(shè)的圖像識別算法對界面截圖進行異常區(qū)域檢測,并與操作日志中的事件序列構(gòu)建因果關(guān)系圖譜;基于因果關(guān)系圖譜定位故障根因,以生成故障報告。
11、第三方面,本技術(shù)實施例還提供了一種基于低代碼平臺的代碼自動化測試的非易失性計算機存儲介質(zhì),存儲有計算機可執(zhí)行指令,其特征在于,計算機可執(zhí)行指令設(shè)置為:基于低代碼平臺的接口獲取目標(biāo)應(yīng)用的元數(shù)據(jù);其中,元數(shù)據(jù)包括頁面結(jié)構(gòu)、組件屬性以及業(yè)務(wù)邏輯層級化描述;基于預(yù)設(shè)的自然語言處理算法對元數(shù)據(jù)進行語義解析,以提取組件屬性的約束條件以及業(yè)務(wù)邏輯流程的分支路徑,并生成初始測試用例集合;基于預(yù)設(shè)的機器學(xué)習(xí)模型對初始測試用例集合進行覆蓋度優(yōu)化,根據(jù)預(yù)設(shè)的條件篩選出高優(yōu)先級測試用例;其中,預(yù)設(shè)的條件包括組件交互概率和路徑執(zhí)行頻率;通過模擬用戶操作解析高優(yōu)先級測試用例,以生成可執(zhí)行測試腳本;其中,可執(zhí)行測試腳本與設(shè)備類型和瀏覽器類型無關(guān),可執(zhí)行測試腳本包括動態(tài)元素定位和操作步驟調(diào)整規(guī)則;執(zhí)行可執(zhí)行測試腳本并采集操作日志、界面截圖以及性能指標(biāo)數(shù)據(jù),以構(gòu)建多維度測試結(jié)果數(shù)據(jù)集;基于預(yù)設(shè)的圖像識別算法對界面截圖進行異常區(qū)域檢測,并與操作日志中的事件序列構(gòu)建因果關(guān)系圖譜;基于因果關(guān)系圖譜定位故障根因,以生成故障報告。
12、本技術(shù)實施例提供的一種基于低代碼平臺的代碼自動化測試方法、設(shè)備及介質(zhì),至少包括以下技術(shù)效果:
13、通過低代碼平臺接口自動獲取應(yīng)用元數(shù)據(jù)(包括頁面結(jié)構(gòu)、組件屬性及業(yè)務(wù)邏輯層級化描述),結(jié)合自然語言處理算法對元數(shù)據(jù)進行語義解析,實現(xiàn)測試用例的自動化生成,大幅減少人工編寫測試用例的工作量,縮短測試準(zhǔn)備周期。
14、基于機器學(xué)習(xí)模型對初始測試用例進行覆蓋度優(yōu)化,通過分析組件交互概率和路徑執(zhí)行頻率篩選高優(yōu)先級測試用例,確保關(guān)鍵功能模塊和高頻業(yè)務(wù)流程的充分覆蓋,有效避免測試遺漏。
15、生成的測試腳本通過動態(tài)元素定位規(guī)則和瀏覽器模擬參數(shù)配置,適配多種設(shè)備和瀏覽器環(huán)境,實現(xiàn)跨平臺自動化測試,降低環(huán)境適配成本。
16、利用圖像識別技術(shù)對界面截圖進行異常區(qū)域檢測,結(jié)合操作日志中的事件序列構(gòu)建因果關(guān)系圖譜,通過時間戳匹配和邏輯路徑回溯,快速定位業(yè)務(wù)流程分支錯誤或組件配置缺陷,提升問題診斷效率。
17、通過與持續(xù)集成工具的深度集成,實現(xiàn)代碼變更自動觸發(fā)測試流程,并根據(jù)模塊變更動態(tài)調(diào)整測試范圍,支持敏捷開發(fā)模式下的快速迭代,保障應(yīng)用質(zhì)量與交付速度的平衡。
18、通過采集操作日志、性能指標(biāo)及界面截圖等多維度測試數(shù)據(jù),結(jié)合機器學(xué)習(xí)與數(shù)據(jù)分析技術(shù),為測試策略優(yōu)化和性能瓶頸識別提供全面依據(jù),提升應(yīng)用穩(wěn)定性和用戶體驗。