李流麗
(國(guó)家知識(shí)產(chǎn)權(quán)局專利局專利審查協(xié)作廣東中心,廣東 廣州 510000)
嵌入式計(jì)算機(jī)軟件測(cè)試技術(shù)的緊密聯(lián)系體現(xiàn)在其廣泛涉及計(jì)算機(jī)系統(tǒng)的各個(gè)方面。這包括操作系統(tǒng)、應(yīng)用軟件、移動(dòng)通信和數(shù)據(jù)庫等多個(gè)組成部分,而這些部分之間必須展現(xiàn)出良好的兼容性,以確保整個(gè)系統(tǒng)的協(xié)同運(yùn)作[1]。嵌入式計(jì)算機(jī)軟件的使用范圍不斷擴(kuò)大,因此對(duì)軟件的質(zhì)量和性能提出了新的挑戰(zhàn)。在這個(gè)背景下,對(duì)測(cè)試工作的核心和關(guān)鍵技術(shù)進(jìn)行深入研究顯得尤為迫切。隨著社會(huì)大環(huán)境的不斷發(fā)展,在追求軟件質(zhì)量的同時(shí),需要測(cè)試方法和技術(shù)的不斷改進(jìn)和創(chuàng)新的迫切性[2]。在日益競(jìng)爭(zhēng)激烈的市場(chǎng)中,嵌入式計(jì)算機(jī)軟件的質(zhì)量和性能直接關(guān)系到產(chǎn)品的競(jìng)爭(zhēng)力和用戶體驗(yàn),因此不斷提升測(cè)試技術(shù)水平成為軟件開發(fā)領(lǐng)域的一項(xiàng)重要任務(wù)。
嵌入式技術(shù)是一種專注于特定應(yīng)用領(lǐng)域的計(jì)算機(jī)技術(shù),主要用于滿足應(yīng)用系統(tǒng)對(duì)性能的高要求[3]。這種技術(shù)通過設(shè)計(jì)嵌入式計(jì)算機(jī),使它在網(wǎng)絡(luò)、工業(yè)、視頻等領(lǐng)域中具有更多樣化的功能,以適應(yīng)不同用戶的需求。由于嵌入式計(jì)算機(jī)必須實(shí)現(xiàn)特定功能,因此對(duì)其性能有著極高的要求[4]。為了確保計(jì)算機(jī)能夠高效處理用戶問題,嵌入式技術(shù)需要對(duì)計(jì)算機(jī)軟件、硬件和系統(tǒng)進(jìn)行特殊處理。其專用性質(zhì)決定了其在實(shí)現(xiàn)特定功能方面的卓越性能。通過采用特定的嵌入式系統(tǒng),嵌入式計(jì)算機(jī)能夠適應(yīng)不同應(yīng)用場(chǎng)景,使其功能更為靈活多樣[5]。這種定制化的設(shè)計(jì)要求嵌入式技術(shù)對(duì)計(jì)算機(jī)的軟件、硬件和系統(tǒng)進(jìn)行精心調(diào)整,以確保系統(tǒng)能夠高效運(yùn)行。正是由于這種高度的定制和專業(yè)化,嵌入式計(jì)算機(jī)才能在網(wǎng)絡(luò)、工業(yè)、視頻等領(lǐng)域中發(fā)揮關(guān)鍵作用,為不同用戶提供定制化的解決方案,推動(dòng)科技在各個(gè)領(lǐng)域的不斷創(chuàng)新。
嵌入式計(jì)算機(jī)軟件是一種獨(dú)立操作能力的載體,用于實(shí)現(xiàn)嵌入式計(jì)算機(jī)專有功能。這些專有功能涵蓋監(jiān)控、管理、移動(dòng)計(jì)算、數(shù)據(jù)處理等多個(gè)領(lǐng)域,為電子設(shè)備的自動(dòng)化提供了必要支持[6]。簡(jiǎn)單嵌入式系統(tǒng)通常以單片機(jī)為代表,功能較為單一。相對(duì)而言,復(fù)雜嵌入式系統(tǒng)類似于普通計(jì)算機(jī),引入了嵌入式操作系統(tǒng)和應(yīng)用軟件,使其功能更加完備。這些特點(diǎn)使得嵌入式計(jì)算機(jī)成為電子設(shè)備領(lǐng)域?qū)崿F(xiàn)自動(dòng)化的關(guān)鍵技術(shù)。嵌入式操作系統(tǒng)為系統(tǒng)提供了更高層次的管理和調(diào)度,使得復(fù)雜嵌入式系統(tǒng)能夠處理多任務(wù)、多線程的情境。同時(shí),應(yīng)用軟件的加入為系統(tǒng)提供了更多的應(yīng)用領(lǐng)域,使其更適用于不同的電子設(shè)備[7]。這樣的設(shè)計(jì)和結(jié)構(gòu)使得復(fù)雜嵌入式計(jì)算機(jī)系統(tǒng)在滿足基本嵌入式功能的同時(shí),更具靈活性和適用性??傮w而言,嵌入式計(jì)算機(jī)軟件在電子設(shè)備領(lǐng)域的廣泛應(yīng)用,不僅提高了自動(dòng)化水平,也推動(dòng)了技術(shù)的不斷創(chuàng)新和發(fā)展。
嵌入式計(jì)算機(jī)軟件具備獨(dú)特的功能和屬性[8]。在軟件測(cè)試的工作原理方面,首先進(jìn)行初步編譯軟件,然后將其下載到目標(biāo)計(jì)算機(jī),完成數(shù)據(jù)傳輸,并最終引導(dǎo)軟件的運(yùn)行。在實(shí)際運(yùn)行中,宿主計(jì)算機(jī)負(fù)責(zé)利用操作系統(tǒng)開發(fā)軟件,而目標(biāo)計(jì)算機(jī)則接收數(shù)據(jù),導(dǎo)致測(cè)試在這兩者之間頻繁切換,增加了測(cè)試的難度。盡管宿主計(jì)算機(jī)對(duì)硬件和配置的要求較低,從而降低了軟件測(cè)試的成本,但這種頻繁切換仍然帶來了一定的挑戰(zhàn)。為了應(yīng)對(duì)這一挑戰(zhàn),科研人員致力于實(shí)現(xiàn)在宿主計(jì)算機(jī)中完成軟件測(cè)試。通過這一方法,可以更有效地利用宿主計(jì)算機(jī)的資源,減少與目標(biāo)計(jì)算機(jī)之間的切換,從而提高整體的測(cè)試效率[9]。這一創(chuàng)新性的方法有望為嵌入式計(jì)算機(jī)軟件的開發(fā)和維護(hù)提供更為經(jīng)濟(jì)和便捷的解決方案,為行業(yè)的發(fā)展注入新的活力。
靜態(tài)測(cè)試技術(shù)是一種通過自動(dòng)檢測(cè)和捕捉軟件錯(cuò)誤信息的方法,其特點(diǎn)在于通過嚴(yán)密的邏輯和編譯標(biāo)準(zhǔn),彌補(bǔ)了傳統(tǒng)人工檢測(cè)的不足,主要適用于嵌入式計(jì)算機(jī)軟件系統(tǒng)。這種技術(shù)具有高正確率和高效率的優(yōu)勢(shì),相較于人工檢測(cè),能夠?qū)崿F(xiàn)更高的正確率,并通過圖形轉(zhuǎn)換功能,高效地轉(zhuǎn)換框架圖、流程圖等[10]。其工作原理基于以數(shù)據(jù)為主的特性,無需逐一對(duì)所有機(jī)器進(jìn)行檢測(cè),可以判斷系統(tǒng)的錯(cuò)誤位置,從而縮短檢測(cè)時(shí)間。其原理是在軟件運(yùn)行過程中對(duì)實(shí)際開發(fā)目標(biāo)與預(yù)期開發(fā)目標(biāo)進(jìn)行對(duì)比,檢測(cè)差距,分析內(nèi)容差異,并判定被測(cè)對(duì)象的質(zhì)量與運(yùn)行效果,成功實(shí)施需要單元測(cè)試、集成測(cè)試等支持。這種技術(shù)主要針對(duì)軟件代碼,通過檢測(cè)軟件缺陷、分析軟件設(shè)置情況,并在軟件開發(fā)過程中提供支持。其進(jìn)展趨勢(shì)是環(huán)環(huán)相扣、層層遞進(jìn),使得軟件開發(fā)過程更為完善。
動(dòng)態(tài)測(cè)試技術(shù)與靜態(tài)測(cè)試技術(shù)有顯著區(qū)別。靜態(tài)測(cè)試無需運(yùn)行嵌入式計(jì)算機(jī)軟件即可檢測(cè)其代碼,而動(dòng)態(tài)測(cè)試則要在各個(gè)測(cè)試環(huán)境中運(yùn)行嵌入式計(jì)算機(jī)軟件,通過實(shí)際運(yùn)行與開發(fā)目標(biāo)對(duì)比,及時(shí)發(fā)現(xiàn)性能和運(yùn)行效果問題。動(dòng)態(tài)測(cè)試主要應(yīng)用以下技術(shù):(1)單元測(cè)試,檢測(cè)計(jì)算機(jī)軟件結(jié)構(gòu),發(fā)現(xiàn)邏輯錯(cuò)誤和基本單元問題;(2)集成測(cè)試,在單元測(cè)試后檢查內(nèi)部聯(lián)系是否正確,解決連接邏輯路徑和端口問題;(3)系統(tǒng)測(cè)試,對(duì)系統(tǒng)結(jié)構(gòu)、邏輯路徑、輸入輸出、功能等進(jìn)行全面測(cè)試;(4)驗(yàn)收測(cè)試,通過實(shí)際應(yīng)用測(cè)試各功能是否正常。動(dòng)態(tài)測(cè)試全面實(shí)際,但存在依賴高素質(zhì)測(cè)試人員和測(cè)試過程不細(xì)化的問題,需要與其他技術(shù)結(jié)合,以發(fā)揮最佳軟件測(cè)試能力。
在嵌入式軟件測(cè)試的全過程中,數(shù)據(jù)獲取被認(rèn)為是一項(xiàng)至關(guān)重要的步驟。相對(duì)于獲取源代碼而言,數(shù)據(jù)獲取任務(wù)更為復(fù)雜,但其重要性不可忽視[11]。不同的方法可用于數(shù)據(jù)獲取,包括內(nèi)存指數(shù)、虛擬I/O 指數(shù)和物理通道取數(shù)等。盡管獲取源代碼相對(duì)簡(jiǎn)單,但數(shù)據(jù)獲取卻是具有挑戰(zhàn)性的任務(wù),要求采用各種方式確保數(shù)據(jù)的完整性。為了應(yīng)對(duì)這一挑戰(zhàn),嵌入式軟件測(cè)試領(lǐng)域廣泛采用了仿真測(cè)試技術(shù)。通過改造測(cè)試工具,該技術(shù)確保了正確輸入,并在測(cè)試結(jié)束后將已緩存的數(shù)據(jù)保存至計(jì)算機(jī)系統(tǒng),以備將來使用。
嵌入式計(jì)算機(jī)軟件仿真建立在局域網(wǎng)絡(luò)為背景的數(shù)據(jù)處理系統(tǒng)上,主要分為仿真技術(shù)和仿真測(cè)評(píng)控制技術(shù)兩大部分[12]。在仿真測(cè)試技術(shù)方面,其特點(diǎn)主要包括數(shù)據(jù)仿真模擬,該模擬僅在特定技術(shù)下實(shí)現(xiàn),能夠針對(duì)不同對(duì)象進(jìn)行多種類型的數(shù)據(jù)仿真,以確保測(cè)試結(jié)果的真實(shí)可靠性。為了保持仿真測(cè)試數(shù)據(jù)的實(shí)時(shí)性,檢測(cè)過程中必須維持穩(wěn)定的運(yùn)輸信號(hào),這需要先進(jìn)的技術(shù)手段的支持。通過這些先進(jìn)的技術(shù)手段,嵌入式軟件測(cè)試能夠更全面地獲取數(shù)據(jù),在仿真環(huán)境中保證測(cè)試的準(zhǔn)確性和可靠性。這種綜合的方法不僅提高了測(cè)試的效率,而且確保了最終產(chǎn)品在不同環(huán)境中的穩(wěn)定性和可靠性。細(xì)致而有針對(duì)性的數(shù)據(jù)仿真模擬為測(cè)試提供了更多維度的信息,使得針對(duì)不同對(duì)象的多種數(shù)據(jù)仿真成為可能。因此,通過局域網(wǎng)絡(luò)為背景的數(shù)據(jù)處理系統(tǒng),嵌入式計(jì)算機(jī)軟件仿真技術(shù)成為確保軟件穩(wěn)定性和可靠性的關(guān)鍵步驟。
內(nèi)存分配錯(cuò)誤在嵌入式計(jì)算機(jī)軟件中是一個(gè)嚴(yán)重的問題,常常導(dǎo)致系統(tǒng)頻繁故障。這類錯(cuò)誤可能觸發(fā)下一次分布的終止,進(jìn)而威脅到數(shù)據(jù)信息的實(shí)效性。為了解決這一問題,內(nèi)存分析技術(shù)變得尤為關(guān)鍵[13]。由于嵌入式系統(tǒng)內(nèi)存較小的特性,傳統(tǒng)的內(nèi)存分析技術(shù)具備快速而準(zhǔn)確地檢測(cè)不合理內(nèi)存分配問題的優(yōu)勢(shì)。通過實(shí)施有針對(duì)性的解決方案,這些技術(shù)能夠有效降低嵌入式計(jì)算機(jī)軟件故障的頻率,從而確保系統(tǒng)的穩(wěn)定性和可靠性。在嵌入式計(jì)算機(jī)系統(tǒng)中,內(nèi)存分配錯(cuò)誤對(duì)軟件運(yùn)行的穩(wěn)定性產(chǎn)生重大影響,因此需要采用適當(dāng)?shù)氖侄蝸斫鉀Q。內(nèi)存分析技術(shù)成為解決方案中的關(guān)鍵因素,其優(yōu)勢(shì)在于能夠快速而準(zhǔn)確地檢測(cè)內(nèi)存分配問題。由于嵌入式系統(tǒng)通常具有較小的內(nèi)存容量,因此需要特定的解決方案來應(yīng)對(duì)這一問題。這種方法對(duì)于保障數(shù)據(jù)信息的實(shí)效性至關(guān)重要,有助于提高嵌入式計(jì)算機(jī)系統(tǒng)的整體性能。
硬件分析耗時(shí)較長(zhǎng),且成本較高,這在大型項(xiàng)目或緊急情況下可能顯得不切實(shí)際。更為重要的是,硬件分析工具可能在特定環(huán)境中無法充分發(fā)揮作用,甚至可能引發(fā)計(jì)算機(jī)代碼錯(cuò)誤或?qū)е聝?nèi)存運(yùn)行受阻[14]。因此,在實(shí)施內(nèi)存分析時(shí),測(cè)試團(tuán)隊(duì)需要權(quán)衡不同方法的利弊,根據(jù)具體需求做出明智的選擇,以確保整個(gè)測(cè)試過程既準(zhǔn)確又高效。軟件分析相對(duì)于硬件分析來說,通常具有更快的執(zhí)行速度和更低的成本,但在某些情況下可能無法提供硬件分析所具備的深度和全面性。因此,測(cè)試團(tuán)隊(duì)需要綜合考慮項(xiàng)目的特點(diǎn)、時(shí)間和預(yù)算等因素,以制定出最為合適的內(nèi)存分析策略,從而確保系統(tǒng)在運(yùn)行時(shí)能夠穩(wěn)定、高效地運(yùn)行。
這項(xiàng)關(guān)鍵技術(shù)的主要應(yīng)用領(lǐng)域是對(duì)嵌入式計(jì)算機(jī)系統(tǒng)軟件進(jìn)行全面的性能測(cè)試[15]。在這個(gè)過程中,性能分析技術(shù)的任務(wù)是深入了解和分析軟件的運(yùn)行性能,通過綜合考量系統(tǒng)的各個(gè)方面來評(píng)估其性能水平。通過對(duì)系統(tǒng)性能的綜合測(cè)試,我們能夠從表面上判斷軟件的好壞,但性能分析技術(shù)的價(jià)值在于提供深度分析,超越僅僅依賴用戶體驗(yàn)的評(píng)估。通過深入挖掘軟件系統(tǒng)內(nèi)部,性能分析技術(shù)能夠具體分析資源利用、執(zhí)行時(shí)間等方面的細(xì)節(jié),從而發(fā)現(xiàn)潛在問題并提供解決方案。這種深層次的技術(shù)分析為軟件開發(fā)者和維護(hù)人員提供了關(guān)鍵信息,幫助他們更好地理解和優(yōu)化系統(tǒng)性能。最終,性能分析技術(shù)的應(yīng)用有助于高效提升嵌入式計(jì)算機(jī)系統(tǒng)軟件的性能水平,確保其能夠持續(xù)保持高質(zhì)量,滿足用戶的需求。
嵌入式計(jì)算機(jī)軟件測(cè)試是一項(xiàng)涉及宿主機(jī)和目標(biāo)機(jī)協(xié)同作用的任務(wù)。在這個(gè)過程中,宿主機(jī)負(fù)責(zé)生成和發(fā)送測(cè)試數(shù)據(jù)信息,而目標(biāo)機(jī)則承擔(dān)接收和處理這些數(shù)據(jù)的責(zé)任。為了確保測(cè)試的準(zhǔn)確性,需要在計(jì)算機(jī)軟件運(yùn)行期間進(jìn)行精心設(shè)置,以便按照指定的時(shí)間和方式執(zhí)行測(cè)試。這些設(shè)置通常需要人工干預(yù),用于調(diào)整測(cè)試參數(shù)并確保測(cè)試過程的可重復(fù)性[16]。為確保故障注入技術(shù)的有效性,目標(biāo)機(jī)的各個(gè)組件都必須具有高質(zhì)量和性能,以確保注入的故障能夠準(zhǔn)確地模擬實(shí)際運(yùn)行中可能出現(xiàn)的問題。這種技術(shù)廣泛應(yīng)用于測(cè)試目標(biāo)機(jī)的特定性能。通過故障注入技術(shù),測(cè)試人員能夠清晰地了解嵌入式計(jì)算機(jī)內(nèi)部的運(yùn)行情況,方便觀察和記錄目標(biāo)機(jī)的實(shí)際運(yùn)行狀態(tài)。故障注入技術(shù)使測(cè)試人員能夠更全面地評(píng)估嵌入式計(jì)算機(jī)的性能和可靠性。
嵌入式計(jì)算機(jī)影響到了各個(gè)行業(yè),諸如電器和飛行控制器等領(lǐng)域,嵌入式計(jì)算機(jī)得到了廣泛的應(yīng)用,極大地提升了各種功能的性能。這一技術(shù)的普及和應(yīng)用使得人們?cè)谌粘I钪懈颖憬?、高效,并且拓展了各行各業(yè)的發(fā)展空間。然而,隨著社會(huì)的不斷發(fā)展,嵌入式技術(shù)變得越來越復(fù)雜,對(duì)從業(yè)者的技術(shù)素養(yǎng)提出了更高的要求。為適應(yīng)嵌入式技術(shù)環(huán)境的不斷變化,社會(huì)背景下迫切需要及時(shí)更新和完善嵌入式計(jì)算機(jī)測(cè)試技術(shù)。這包括對(duì)測(cè)試方法和工具的不斷創(chuàng)新與升級(jí),以確保嵌入式系統(tǒng)的穩(wěn)定性和可靠性。在這個(gè)快速變化的技術(shù)環(huán)境中,強(qiáng)調(diào)保持探索精神變得尤為重要,以便及時(shí)適應(yīng)嵌入式技術(shù)的發(fā)展趨勢(shì)。