本發(fā)明涉及軟件開發(fā),尤其涉及一種基于人工智能的零代碼軟件開發(fā)及測(cè)試系統(tǒng)。
背景技術(shù):
1、隨著軟件技術(shù)的不斷發(fā)展,軟件開發(fā)的復(fù)雜度和規(guī)模不斷增加,傳統(tǒng)的軟件開發(fā)方法需要開發(fā)者具備較高的編程技能,并耗費(fèi)大量時(shí)間進(jìn)行代碼編寫、調(diào)試、優(yōu)化和測(cè)試。此外,軟件需要在不同操作系統(tǒng)和硬件平臺(tái)上運(yùn)行,給開發(fā)和部署帶來了額外的兼容性挑戰(zhàn)。為了降低開發(fā)門檻、提升開發(fā)效率和質(zhì)量,零代碼開發(fā)平臺(tái)逐漸受到關(guān)注,零代碼開發(fā)是一種無需編程或僅需極少編程的開發(fā)方法,通過圖形化界面和配置化操作,用戶可以快速構(gòu)建和部署應(yīng)用。然而,目前大多數(shù)零代碼平臺(tái)功能有限,無法處理復(fù)雜的應(yīng)用需求,尤其在高效的代碼生成、自動(dòng)化測(cè)試、代碼優(yōu)化及跨平臺(tái)部署方面仍存在不足。傳統(tǒng)的零代碼平臺(tái)主要依賴于預(yù)定義的組件庫和模板,缺乏對(duì)用戶自然語言需求的深度理解與轉(zhuǎn)化能力,無法靈活應(yīng)對(duì)多樣化的業(yè)務(wù)場(chǎng)景。
2、例如授權(quán)公告號(hào)為cn116301811b的中國(guó)專利涉及一種零代碼可視化的軟件開發(fā)平臺(tái),包括存儲(chǔ)單元,用于存儲(chǔ)功能邏輯單元,其可被分為啟動(dòng)邏輯單元、中部邏輯單元以及目的邏輯單元;操作單元,用于主動(dòng)輸入啟動(dòng)邏輯單元以及目的邏輯單元;處理單元,用于將存儲(chǔ)的功能邏輯單元進(jìn)行相互匹配,在明確啟動(dòng)邏輯單元以及目的邏輯單元后,能自動(dòng)生成完整中部邏輯鏈;顯示單元,用于提供給用戶一可視化操作模塊。通過設(shè)計(jì)的軟件開發(fā)平臺(tái),利用設(shè)置的處理單元,其能夠在用戶確定啟動(dòng)邏輯單元以及目的邏輯單元后,能夠自動(dòng)的進(jìn)行中部邏輯鏈的構(gòu)建,并通過關(guān)鍵詞組的方式于顯示單元中展示,以便用戶更高效的實(shí)現(xiàn)軟件的開發(fā)。
3、以上專利均存在本背景技術(shù)提出的問題:傳統(tǒng)的零代碼平臺(tái)主要依賴于預(yù)定義的組件庫和模板,缺乏對(duì)用戶自然語言需求的深度理解與轉(zhuǎn)化能力,無法靈活應(yīng)對(duì)多樣化的業(yè)務(wù)場(chǎng)景,為解決以上問題,本發(fā)明設(shè)計(jì)了一種基于人工智能的零代碼軟件開發(fā)及測(cè)試系統(tǒng)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明所要解決的技術(shù)問題是針對(duì)現(xiàn)有技術(shù)的不足,提供了一種基于人工智能的零代碼軟件開發(fā)及測(cè)試系統(tǒng),所述系統(tǒng)包含自然語言解析模塊、代碼生成模塊、代碼優(yōu)化模塊、智能測(cè)試模塊和跨平臺(tái)部署模塊。自然語言解析模塊將用戶輸入的自然語言描述解析為軟件開發(fā)需求文檔;代碼生成模塊基于需求文檔生成源代碼,并可選擇編程語言和框架;代碼優(yōu)化模塊對(duì)生成的代碼進(jìn)行靜態(tài)分析和重構(gòu)優(yōu)化;智能測(cè)試模塊通過界面模型提取、用例生成和用例分析邏輯,自動(dòng)生成測(cè)試腳本、執(zhí)行測(cè)試并反饋測(cè)試結(jié)果;跨平臺(tái)部署模塊實(shí)現(xiàn)軟件的自動(dòng)化打包、兼容性檢查、部署配置和發(fā)布管理。本發(fā)明旨在簡(jiǎn)化軟件開發(fā)流程,提升開發(fā)效率和質(zhì)量。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
3、一種基于人工智能的零代碼軟件開發(fā)及測(cè)試系統(tǒng),所述系統(tǒng)包括:
4、自然語言解析模塊、代碼生成模塊、代碼優(yōu)化模塊、智能測(cè)試模塊和跨平臺(tái)部署模塊;
5、所述自然語言解析模塊配置有需求處理策略,所述需求處理策略用于解析用戶輸入的自然語言描述,轉(zhuǎn)換為軟件開發(fā)需求文檔;
6、所述代碼生成模塊,連接所述自然語言解析模塊,根據(jù)所述軟件開發(fā)需求文檔生成對(duì)應(yīng)的源代碼,所述代碼生成模塊配置有代碼生成引擎,用于選擇編程語言、框架和庫,并根據(jù)需求生成相應(yīng)的代碼;
7、所述智能測(cè)試模塊配置有代碼測(cè)試策略,所述代碼測(cè)試策略用于通過機(jī)器學(xué)習(xí)方法生成測(cè)試用例、定位錯(cuò)誤位置和預(yù)測(cè)代碼故障率。
8、所述自然語言解析模塊,包括:
9、語義識(shí)別單元,用于通過nlp技術(shù)對(duì)所述自然語言描述進(jìn)行分詞、詞性標(biāo)注、句法分析,提取關(guān)鍵的意圖、動(dòng)詞和目標(biāo)對(duì)象,輸出語義信息;
10、上下文分析單元,用于分析所述語義信息之間的關(guān)聯(lián)性,進(jìn)行同義詞替換和代詞指代,將語義信息進(jìn)行合并,輸出段落語義信息;
11、需求映射單元,用于將所述段落語義信息通過知識(shí)圖譜映射到預(yù)定義的規(guī)范化需求模板,輸出軟件開發(fā)需求文檔;
12、所述需求處理策略包括語義識(shí)別邏輯、語義融合邏輯和語義轉(zhuǎn)化邏輯;
13、所述語義識(shí)別邏輯用于將用戶的自然語言描述分解為功能需求和意圖,所述語義識(shí)別邏輯配置于所述語義識(shí)別單元內(nèi);
14、所述語義融合邏輯用于分析所述功能需求和意圖之間的重合性,將相似度高的功能需求和意圖進(jìn)行融合,所述語義融合邏輯配置于所述上下文分析單元內(nèi);
15、所述語義轉(zhuǎn)化邏輯用于將融合后的功能需求和意圖轉(zhuǎn)化為技術(shù)需求文檔,所述語義轉(zhuǎn)化邏輯配置于所述需求映射單元內(nèi)。
16、所述語義識(shí)別邏輯,包括:
17、根據(jù)pkuseg工具包對(duì)自然語言描述進(jìn)行分詞和詞性標(biāo)注,獲取候選詞序列,通過詞嵌入模型將所述候選詞序列進(jìn)行向量化表示;
18、通過注意力機(jī)制計(jì)算候選詞序列中每個(gè)詞向量的詞權(quán)重,根據(jù)卷積運(yùn)算對(duì)所述詞權(quán)重進(jìn)行增強(qiáng),計(jì)算語義權(quán)重;
19、對(duì)所述詞向量進(jìn)行張量分解,構(gòu)造高階語義張量,并對(duì)所述高階語義張量進(jìn)行奇異值分解,計(jì)算動(dòng)態(tài)語義;
20、通過貝葉斯推理對(duì)所述詞向量、語義權(quán)重和動(dòng)態(tài)語義進(jìn)行意圖推理,根據(jù)級(jí)聯(lián)分類器篩選詞向量對(duì)應(yīng)的輸出概率,將所述輸出概率與預(yù)定義的開發(fā)需求進(jìn)行對(duì)比,輸出語義信息。
21、所述語義融合邏輯,包括:
22、根據(jù)所述語義信息計(jì)算窗口大小,通過構(gòu)造上下文窗口分析語義信息之間的關(guān)聯(lián)度;
23、根據(jù)所述關(guān)聯(lián)度對(duì)每個(gè)上下文窗口內(nèi)的語義信息進(jìn)行依存關(guān)系解析,構(gòu)建依存樹,將句子中每個(gè)詞的依賴關(guān)系以邊的形式連接,形成一個(gè)有向圖;
24、檢查所述依存樹中每一個(gè)分支的核心意圖是否匹配,如果匹配,將分支的語義信息進(jìn)行融合,如果不匹配,將語義信息進(jìn)行隔離。
25、所述代碼優(yōu)化模塊用于對(duì)所述代碼生成模塊生成的代碼進(jìn)行優(yōu)化,獲取待測(cè)代碼,包括:
26、代碼分析單元,用于對(duì)所述源代碼進(jìn)行靜態(tài)分析,識(shí)別代碼中格式問題和潛在漏洞;
27、性能優(yōu)化單元,用于識(shí)別代碼中的數(shù)據(jù)處理函數(shù)、循環(huán)函數(shù)和遞歸函數(shù),通過對(duì)函數(shù)進(jìn)行復(fù)雜度分析,并根據(jù)動(dòng)態(tài)規(guī)劃算法對(duì)高復(fù)雜度的函數(shù)進(jìn)行自動(dòng)重構(gòu);
28、代碼重構(gòu)單元,用于提升代碼的可讀性和可維護(hù)性,通過重構(gòu)技術(shù)優(yōu)化代碼結(jié)構(gòu)。
29、所述智能測(cè)試模塊,包括:
30、元素提取單元,用于根據(jù)所述待測(cè)代碼,獲取軟件的界面元素圖,提取軟件界面模型;
31、用例生成單元,用于根據(jù)所述軟件界面模型,生成測(cè)試腳本;
32、用例執(zhí)行單元,用于將測(cè)試腳本轉(zhuǎn)化為自動(dòng)化測(cè)試工具可執(zhí)行的格式,通過自動(dòng)化測(cè)試工具執(zhí)行測(cè)試腳本,并收集測(cè)試結(jié)果數(shù)據(jù);
33、代碼反饋單元,用于對(duì)所述測(cè)試結(jié)果數(shù)據(jù)進(jìn)行分析,生成測(cè)試報(bào)告并反饋至代碼生成引擎,代碼生成引擎根據(jù)所述測(cè)試報(bào)告對(duì)待測(cè)代碼進(jìn)行修改;
34、所述代碼測(cè)試策略包括界面模型提取邏輯、用例生成邏輯和用例分析邏輯;
35、所述界面模型提取邏輯用于從待測(cè)代碼生成的界面中提取ui元素,構(gòu)建軟件的界面模型;
36、所述用例生成邏輯用于根據(jù)提取的界面模型自動(dòng)生成測(cè)試用例和測(cè)試腳本;
37、所述用例分析邏輯用于對(duì)測(cè)試執(zhí)行結(jié)果進(jìn)行分析,并生成反饋報(bào)告,還包括對(duì)測(cè)試過程中收集到的執(zhí)行數(shù)據(jù)進(jìn)行分析,識(shí)別出功能錯(cuò)誤和性能瓶頸問題,生成測(cè)試報(bào)告;
38、所述界面模型提取邏輯配置于所述元素提取單元內(nèi),所述用例生成邏輯配置于所述用例生成單元內(nèi),所述用例分析邏輯配置于所述代碼反饋單元內(nèi)。
39、所述界面模型提取邏輯,包括:
40、調(diào)用所述待測(cè)代碼的界面運(yùn)行部分,生成界面元素圖;
41、通過圖像處理技術(shù)提取界面元素圖的框架匹配特征,通過人工智能算法對(duì)所述框架匹配特征進(jìn)行識(shí)別,獲取界面元素類別;
42、通過語義識(shí)別技術(shù)提取界面元素圖的文本匹配特征,通過人工智能算法對(duì)所述文本匹配特征進(jìn)行提取,獲取界面文本含義;
43、根據(jù)所述界面元素類別和界面文本含義生成軟件界面模型。
44、所述用例生成邏輯,包括:
45、根據(jù)所述軟件界面模型使用組合測(cè)試方法自動(dòng)生成不同的測(cè)試場(chǎng)景,所述測(cè)試場(chǎng)景包括正向測(cè)試、逆向測(cè)試和邊界測(cè)試;
46、根據(jù)所述測(cè)試場(chǎng)景,通過腳本生成算法將測(cè)試場(chǎng)景轉(zhuǎn)化為可執(zhí)行的自動(dòng)化測(cè)試腳本;
47、在自動(dòng)化測(cè)試腳本生成過程中,通過靜態(tài)分析和動(dòng)態(tài)分析相結(jié)合,確定最優(yōu)用例執(zhí)行順序。
48、所述跨平臺(tái)部署模塊通過自動(dòng)化的方式管理軟件代碼的打包、兼容性檢查、部署配置和反饋過程,所述模塊包括:
49、打包檢驗(yàn)單元:用于將軟件源代碼和依賴文件打包為適合目標(biāo)平臺(tái)的安裝包,并在打包前后執(zhí)行兼容性檢查;
50、配置管理單元,用于根據(jù)目標(biāo)平臺(tái)的特點(diǎn)和需求,自動(dòng)生成部署所需的配置文件,并支持動(dòng)態(tài)配置調(diào)整;
51、監(jiān)控反饋單元,用于實(shí)時(shí)監(jiān)控部署過程中的步驟,收集日志信息并生成反饋報(bào)告。
52、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
53、1.本發(fā)明通過自然語言解析模塊,用戶可以使用自然語言描述需求,系統(tǒng)自動(dòng)將其轉(zhuǎn)化為軟件開發(fā)需求文檔并生成源代碼,無需具備專業(yè)的編程技能,降低了軟件開發(fā)的技術(shù)門檻;
54、2.本發(fā)明能夠自動(dòng)生成測(cè)試用例和測(cè)試腳本,執(zhí)行測(cè)試并分析測(cè)試結(jié)果,自動(dòng)識(shí)別代碼中的功能錯(cuò)誤和性能瓶頸,并提供反饋建議,減少人工測(cè)試工作量,提高軟件質(zhì)量和可靠性。
55、3.本發(fā)明通過各模塊間的協(xié)同工作,實(shí)現(xiàn)了從需求輸入到代碼生成、優(yōu)化、測(cè)試和部署的全流程自動(dòng)化,支持快速迭代開發(fā)。監(jiān)控反饋機(jī)制確保部署過程中的問題能夠及時(shí)發(fā)現(xiàn)和修復(fù),進(jìn)一步加快了軟件的開發(fā)周期。