在信息化與智能化浪潮的推動(dòng)下,人工智能技術(shù)于態(tài)勢(shì)感知、指揮決策、行動(dòng)控制等領(lǐng)域,正發(fā)揮著日益關(guān)鍵的作用。因此,智能軟件的測(cè)試工作愈發(fā)顯得不可或缺。然而,傳統(tǒng)的測(cè)試流程和方法在面對(duì)智能軟件的復(fù)雜性與創(chuàng)新性時(shí),顯得力不從心。本文先深入剖析智能軟件的核心技術(shù)、應(yīng)用及其獨(dú)特特性,再對(duì)智能軟件的測(cè)試流程進(jìn)行設(shè)計(jì),最后,從智能算法測(cè)試、智能算力測(cè)試等多個(gè)維度,對(duì)測(cè)試類型進(jìn)行深入分析,旨在為智能軟件的測(cè)試工作給出有益建議。
目前人工智能、大數(shù)據(jù)和高性能計(jì)算等前沿技術(shù)已成功用于指揮控制、數(shù)據(jù)處理、輔助決策等領(lǐng)域,不僅攻克了諸多技術(shù)難題,還顯著提升了裝備的性能,推動(dòng)裝備從機(jī)械信息化向智能化的跨越發(fā)展。未來(lái),人工智能技術(shù)與裝備的深度融合將是國(guó)防裝備發(fā)展的重要方向,智能軟件的測(cè)試工作因此就顯得尤為重要。然而,傳統(tǒng)軟件的測(cè)試流程、測(cè)試類型及方法在面對(duì)智能軟件的獨(dú)特性和復(fù)雜性時(shí),已顯露出其局限性,無(wú)法滿足測(cè)試的需求,故對(duì)其展開深入研究顯得尤為迫切。
智能軟件,作為一類能夠模擬人類智能行為,輔助或替代人類完成特定任務(wù)的軟件系統(tǒng)。該軟件深度集成了機(jī)器學(xué)習(xí)、大數(shù)據(jù)處理等前沿技術(shù),具備了態(tài)勢(shì)感知、信息融合、自主決策等多項(xiàng)高級(jí)功能。智能軟件的核心在于其先進(jìn)的智能模型或算法,這些模型或算法基于機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、自然語(yǔ)言處理以及計(jì)算機(jī)視覺等核心技術(shù)而構(gòu)建,使得智能軟件能夠高效地處理復(fù)雜信息,實(shí)現(xiàn)精準(zhǔn)決策與智能控制。
(一)測(cè)試需求分析與策劃
1.測(cè)試需求分析
根據(jù)測(cè)評(píng)任務(wù)書、合同、被測(cè)軟件的需求規(guī)格說(shuō)明或設(shè)計(jì)文檔等效文件,對(duì)測(cè)評(píng)任務(wù)進(jìn)行測(cè)試需求分析。分析的主要內(nèi)容包括:1)確定需要的測(cè)試類型及其測(cè)試要求,并進(jìn)行清晰的標(biāo)識(shí),以便于后續(xù)的識(shí)別和管理;2)確定測(cè)評(píng)類型中的各個(gè)測(cè)評(píng)項(xiàng)及其優(yōu)先級(jí);3)根據(jù)被測(cè)軟件的重要性、測(cè)評(píng)目標(biāo)和約束條件,確定每個(gè)測(cè)評(píng)項(xiàng)的測(cè)評(píng)充分性要求;4)確定每個(gè)測(cè)評(píng)項(xiàng)應(yīng)覆蓋的范圍及其覆蓋程度;5)制定每個(gè)測(cè)評(píng)項(xiàng)的測(cè)評(píng)終止要求,包括正常終止的條件,可能導(dǎo)致測(cè)評(píng)過程異常終止的情況。
2.測(cè)試策劃
根據(jù)測(cè)評(píng)任務(wù)書、合同、被測(cè)軟件的需求規(guī)格說(shuō)明或設(shè)計(jì)文檔等效文件,策劃一般包括:1)確定測(cè)試策略;2)確定測(cè)試需要的技術(shù)或方法;3)確定要受控制的測(cè)試工作產(chǎn)品,列出清單;4)確定用于測(cè)試的資源要求,包括軟硬件設(shè)備、環(huán)境條件、人員數(shù)量和技能等要求;5)進(jìn)行測(cè)試風(fēng)險(xiǎn)分析;6)確定測(cè)試任務(wù)的結(jié)束條件;7)確定被測(cè)軟件的評(píng)價(jià)準(zhǔn)則和方法;8)確定需采集的度量及采集要求;9)將測(cè)評(píng)策劃結(jié)果按要求形成測(cè)評(píng)大綱。
(二)測(cè)試設(shè)計(jì)與實(shí)現(xiàn)
根據(jù)測(cè)試大綱進(jìn)行測(cè)試設(shè)計(jì)和實(shí)現(xiàn),一般包括如下工作:1)按需要分解測(cè)試項(xiàng);2)說(shuō)明最終分解后的每個(gè)測(cè)試項(xiàng);3)設(shè)計(jì)測(cè)試用例;4)確定測(cè)試用例的執(zhí)行順序;5)準(zhǔn)備和驗(yàn)證所有測(cè)試用數(shù)據(jù);6)準(zhǔn)備并獲取測(cè)試資源;7)建立和校核測(cè)試環(huán)境,記錄校核結(jié)果,說(shuō)明測(cè)試環(huán)境的偏差。
(三)測(cè)試執(zhí)行
按照測(cè)試大綱和測(cè)試說(shuō)明的內(nèi)容和要求執(zhí)行測(cè)試,如實(shí)填寫測(cè)試原始記錄,一般包括以下方面:根據(jù)每個(gè)測(cè)試用例的期望測(cè)試結(jié)果、實(shí)際測(cè)試結(jié)果和評(píng)估準(zhǔn)則,判定測(cè)試用例是否通過;當(dāng)測(cè)試用例不通過時(shí),應(yīng)根據(jù)不同的缺陷類型,采取相應(yīng)的措施;所有的測(cè)試用例都執(zhí)行完畢后,應(yīng)根據(jù)測(cè)試的充分性要求和有關(guān)原始記錄,分析測(cè)試工作是否充分,是否需要進(jìn)行補(bǔ)充測(cè)試。
在測(cè)試執(zhí)行階段,智能軟件測(cè)試不僅沿襲了傳統(tǒng)的手動(dòng)設(shè)計(jì)測(cè)試場(chǎng)景、編寫測(cè)試數(shù)據(jù)、執(zhí)行測(cè)試用例的方法,更引入了機(jī)器學(xué)習(xí)和人工智能的先進(jìn)技術(shù)。這些技術(shù)能夠自動(dòng)生成測(cè)試用例和測(cè)試數(shù)據(jù),通過模擬用戶操作或調(diào)用接口調(diào)用等方式,實(shí)現(xiàn)測(cè)試用例自動(dòng)執(zhí)行,并實(shí)時(shí)收集和分析測(cè)試結(jié)果,利用大數(shù)據(jù)分析和機(jī)器學(xué)習(xí)算法,對(duì)測(cè)試數(shù)據(jù)進(jìn)行深度挖掘和分析,自動(dòng)識(shí)別異常模式和潛在問題,從而更快速、更準(zhǔn)確地定位故障。
(一)智能算法測(cè)試
智能算法測(cè)試旨在驗(yàn)證與評(píng)估算法性能,確保其在實(shí)際應(yīng)用中準(zhǔn)確、可靠且高效。測(cè)試內(nèi)容涵蓋代碼規(guī)范性、正確性、收斂性、魯棒性等多個(gè)方面,確保算法性能全面達(dá)標(biāo)。
代碼規(guī)范性測(cè)試采用工具和人工模型設(shè)計(jì)審查相結(jié)合的方式,識(shí)別算法模型潛在缺陷以指導(dǎo)動(dòng)態(tài)測(cè)試。
算法正確性測(cè)試是指算法正確預(yù)測(cè)結(jié)果的概率,與模型的功能需求直接相關(guān)。正確性評(píng)估要素主要包括數(shù)據(jù)精度滿足性、模型設(shè)計(jì)正確性、代碼實(shí)現(xiàn)正確性、計(jì)算結(jié)果正確性等。
算法收斂性測(cè)試用于評(píng)估影響算法收斂的相關(guān)要素,主要包括優(yōu)化參數(shù)數(shù)量、優(yōu)化目標(biāo)函數(shù)數(shù)量、擬合程度、是否收斂及收斂值、收斂穩(wěn)定性等。
算法魯棒性測(cè)試用于評(píng)估算法避免由于異常和極端等情況的危害導(dǎo)致自身失效的能力,一般包括數(shù)據(jù)干擾魯棒性、數(shù)據(jù)分布遷移魯棒性、離群數(shù)據(jù)魯棒性、對(duì)抗數(shù)據(jù)魯棒性等。
(二)智能算力測(cè)試
訓(xùn)練算力測(cè)試是指對(duì)機(jī)器學(xué)習(xí)模型訓(xùn)練過程中所使用的計(jì)算資源進(jìn)行性能測(cè)試和評(píng)估的過程。測(cè)試指標(biāo)包括訓(xùn)練時(shí)間、訓(xùn)練速度、資源利用率、每秒浮點(diǎn)運(yùn)算次數(shù)(FLOPs)、模型的參數(shù)量等。
推理算力測(cè)試關(guān)注模型在實(shí)際應(yīng)用中的響應(yīng)速度、準(zhǔn)確性以及資源利用效率。通過采用一系列標(biāo)準(zhǔn)數(shù)據(jù)集,模擬真實(shí)應(yīng)用場(chǎng)景中的數(shù)據(jù)輸入,并觀察模型的推理時(shí)間和準(zhǔn)確率,以及在推理過程中所使用的計(jì)算資源(如CPU、GPU等)以及內(nèi)存和存儲(chǔ)的占用情況等。
(三)數(shù)據(jù)質(zhì)量測(cè)試
數(shù)據(jù)完整性測(cè)試關(guān)注以下幾個(gè)方面:數(shù)據(jù)在軟件中的輸入、處理和輸出過程中的完整性,關(guān)注數(shù)據(jù)是否被污染、各類樣本的數(shù)量是否均衡完整;數(shù)據(jù)在存儲(chǔ)過程中的穩(wěn)定性,確保數(shù)據(jù)在存儲(chǔ)介質(zhì)中不會(huì)被破壞或丟失,以及在需要時(shí)能夠完整地恢復(fù)出來(lái);數(shù)據(jù)之間的關(guān)聯(lián)性和一致性。
數(shù)據(jù)準(zhǔn)確性測(cè)試關(guān)注以下幾個(gè)方面:實(shí)際數(shù)據(jù)與預(yù)期數(shù)據(jù)是否存在偏差或錯(cuò)誤;數(shù)據(jù)間的邏輯關(guān)系,確保數(shù)據(jù)的準(zhǔn)確性;數(shù)據(jù)集標(biāo)注信息是否完備并準(zhǔn)確無(wú)誤。
數(shù)據(jù)安全性測(cè)試關(guān)注以下幾個(gè)方面:加密算法的可靠性;訪問控制的嚴(yán)格性;數(shù)據(jù)備份和恢復(fù)的有效性。
(四)智能體測(cè)試
智能體的測(cè)試聚焦于完整集成的軟硬件系統(tǒng),由軟件配置項(xiàng)(含智能部件和非智能部件)和硬件組成,主要驗(yàn)證智能系統(tǒng)是否滿足運(yùn)行方案、系統(tǒng)/子系統(tǒng)規(guī)格所規(guī)定的任務(wù)能力、功能、性能、接口等各項(xiàng)要求,確保系統(tǒng)實(shí)現(xiàn)與需求一致。測(cè)試類型包括功能測(cè)試、性能測(cè)試、接口測(cè)試、安全性測(cè)試、可靠性測(cè)試、復(fù)雜性測(cè)試、覆蓋率測(cè)試、兼容性測(cè)試和維護(hù)性測(cè)試。
隨著人工智能技術(shù)的日新月異和智能軟件應(yīng)用場(chǎng)景的日益豐富,智能軟件測(cè)試正迎來(lái)前所未有的機(jī)遇和挑戰(zhàn)。在汲取傳統(tǒng)測(cè)試技術(shù)精華的同時(shí),我們必須持續(xù)深入研究智能軟件測(cè)試的核心技術(shù),強(qiáng)化測(cè)試數(shù)據(jù)的生成和處理能力,提高測(cè)試的自動(dòng)化和智能化水平。
作者單位:中國(guó)軟件評(píng)測(cè)中心