劉明珠 普達(dá)迪泰(天津)智能裝備科技有限公司
嵌入式系統(tǒng)軟件隨著嵌入式微處理器性能的提高而發(fā)展緩慢。近年來,嵌入式系統(tǒng)軟件的范圍因嵌入式系統(tǒng)軟件開發(fā)和嵌入式微處理器的應(yīng)用日益復(fù)雜而擴(kuò)大,促進(jìn)內(nèi)置系統(tǒng)和軟件平臺的建設(shè)。
嵌入式系統(tǒng)具有悠久的發(fā)展歷史。它最初用于軍事、航空和工業(yè)控制。1990年代中期以來,在互聯(lián)網(wǎng)、通信和家用電器等領(lǐng)域采用了該系統(tǒng)。也就是說,通過計算機(jī)和嵌入式系統(tǒng)的結(jié)合,計算機(jī)產(chǎn)業(yè)從計算機(jī)時代發(fā)展到計算機(jī)時代,使人們的生活逐步應(yīng)用該系統(tǒng)。而傳統(tǒng)嵌入式軟件設(shè)計因此得出結(jié)論,MCU,解除功能和對硬件的依賴是至關(guān)重要的,而傳統(tǒng)嵌入式軟件則主要用于設(shè)計過程中的功能。而不考慮代碼的重用。數(shù)據(jù)和接口是分開的,在很大程度上軟件的最終質(zhì)量取決于開發(fā)階段。隨著嵌入式系統(tǒng)軟件的進(jìn)一步發(fā)展,當(dāng)前嵌入式系統(tǒng)軟件的功能、大小和復(fù)雜性大大增加。從硬件角度來看,今天的嵌入式系統(tǒng)比幾年前的PC平臺大得多。從軟件的角度來看,顯然存在一個完善的操作系統(tǒng)。包括文字處理、圖像處理、視頻、音頻和游戲處理以及網(wǎng)頁瀏覽等應(yīng)用程序。這些程序比PC軟件更復(fù)雜、更強(qiáng)大。大多數(shù)選擇專用硬件和系統(tǒng)的公司都開始改變轉(zhuǎn)換思路??梢允褂媒?jīng)濟(jì)實(shí)惠的硬件增強(qiáng)操作系統(tǒng),并使用軟件替換以前為硬件開發(fā)的所有功能。這大大降低了更改和維護(hù)成本。
本文將軟件接口設(shè)計、測試方案、設(shè)計、執(zhí)行、結(jié)果、故障管理和回歸測試合并到一個管理系統(tǒng)中。如圖1所示測試自動化和流程管理。
1.接口設(shè)計。開發(fā)者將接口設(shè)計模塊用于ICD設(shè)計。基于模塊性和重用將接口設(shè)計元素劃分為數(shù)據(jù)元素、數(shù)據(jù)塊、組、邏輯塊和消息接口模塊。數(shù)據(jù)項(xiàng)是最小的數(shù)據(jù)單元。一個數(shù)據(jù)塊由多個數(shù)據(jù)項(xiàng)組成(對于有意義的字段),這些數(shù)據(jù)項(xiàng)由多個數(shù)據(jù)塊或多個數(shù)據(jù)項(xiàng)組成(對于更重要)。消息接口模塊是一個完整的ICD。它由多個記錄、塊或數(shù)據(jù)元素組成,用于邏輯的特殊設(shè)計以限制不同元素之間的關(guān)系特殊。長期設(shè)計、高效設(shè)計等。根據(jù)項(xiàng)目的不同,可以配置一系列數(shù)據(jù)項(xiàng)和數(shù)據(jù)塊,以便開發(fā)人員可以根據(jù)項(xiàng)目的需要自定義設(shè)計。每個ICD必須包含數(shù)據(jù)的源ID和目標(biāo)id以及相應(yīng)的接口。CIM存儲保存于資料庫中,并在默認(rèn)的XML文件中配置,顯示測試的自動化、分析和創(chuàng)建。
圖1 自動化測試及管理流程
2.測試計劃。測試程序根據(jù)ICD、軟件開發(fā)規(guī)范、軟件要求、用戶手冊等執(zhí)行測試計劃。測試計劃包括為測試交聯(lián)環(huán)境圖創(chuàng)建、定義測試類型、設(shè)計測試元素或測試對象、測試使用名稱和測試使用說明。自動測試系統(tǒng)中,測試人的主要任務(wù)是測試計劃和設(shè)計。在進(jìn)行測試時,首先要建立交聯(lián)環(huán)境,確定每個測算的軟件組件之間的接口,并分配給每個軟件插件。創(chuàng)建交聯(lián)環(huán)境時,測試分解的功能并對其進(jìn)行分析提取測試要求,根據(jù)測試軟件要求的文檔設(shè)計測試子項(xiàng)及試項(xiàng)。測試類型包括功能、性能、接口、強(qiáng)度等。
3.設(shè)計測試。測試用例特定測試輸出以供測試之用。在嵌入式軟件中,大多數(shù)測試輸入和輸出都是數(shù)據(jù)序列。因此,測試設(shè)計的主要內(nèi)容是針對每個用例設(shè)計不同的輸入和輸出數(shù)據(jù)。在設(shè)計用例之前,必須設(shè)置用例屬性,包括獨(dú)立用例和相關(guān)用例。新測試用例是獨(dú)立的用例,為場景或過程測試設(shè)計測試用例時,必須將其屬性設(shè)置為相關(guān)的用例。
4.執(zhí)行測試。測試環(huán)境圖、用例、總線路組成執(zhí)行平臺。測試分三步進(jìn)行。第一步是分發(fā)數(shù)據(jù)。測試程序建立并運(yùn)行測試實(shí)例后,總線路由控制器將根據(jù)計劃的連接環(huán)境方案和測試實(shí)例初始化相關(guān)模塊和接口類型,初始化相應(yīng)的代理,并將導(dǎo)入的測試數(shù)據(jù)分發(fā)到相應(yīng)的代理。在第二步,代理驅(qū)動接口將主接收的輸入測試數(shù)據(jù)發(fā)送到數(shù)據(jù)接口驅(qū)動模塊,該模塊根據(jù)通信環(huán)境圖將輸入測試數(shù)據(jù)發(fā)送到檢測到的軟件。第三步是監(jiān)控測試軟件的反應(yīng)。響應(yīng)消息,即測試數(shù)據(jù)的輸出,將返回到主控制終端。主控制器可以控制多個代理。代理程式數(shù)目與交聯(lián)環(huán)境圖中的相互連線模組數(shù)目有關(guān)。代理程序監(jiān)視點(diǎn)到點(diǎn)數(shù)據(jù)傳輸。
5.查看并記錄測試結(jié)果。主終端收到代理返回的數(shù)據(jù)后,將根據(jù)ICD自動顯示和分析這些數(shù)據(jù)。將顯示所有交互式數(shù)據(jù)。雙擊選定的數(shù)據(jù)可以查看數(shù)據(jù)分析,直觀地演示測試執(zhí)行情況,并支持過濾顯示的數(shù)據(jù)以進(jìn)行觀察。
6.故障管理和回歸測試。測試人員必須確認(rèn)測試結(jié)果。必須為每個Fail測試應(yīng)用程序確認(rèn)每個Fail的步驟,以解決未測試的軟件錯誤。如果測試確認(rèn)軟件中存在錯誤,則應(yīng)在相應(yīng)的測試之后提交錯誤日志。提交記錄單后,軟件項(xiàng)目經(jīng)理可以查看信息,識別缺陷并對其分配。開發(fā)人員可以通過引用標(biāo)準(zhǔn)測試用例來重現(xiàn)問題并修改缺陷。已更正缺陷狀態(tài)將標(biāo)記為已更正,對已更正的缺陷驗(yàn)證回歸。
7.數(shù)據(jù)分析和知識庫。在測試結(jié)束時總結(jié)測試過程,并測試用例、測試成功率、錯誤率等統(tǒng)計,然后以指定格式導(dǎo)出報告。與此同時,我們在典型的測試環(huán)境中提供了一個設(shè)計良好、可重復(fù)使用的測試環(huán)境,該環(huán)境具有構(gòu)成價值的缺陷庫。這樣,我們就加快了測試經(jīng)驗(yàn)的積累,以適應(yīng)后期的測試的借鑒。
本文運(yùn)用工程化軟件概念,將接口設(shè)計、測試程序、測試、運(yùn)行、結(jié)果、缺陷管理和回歸測試整合到一個管理系統(tǒng)中。測試人員主要關(guān)注測試的規(guī)劃和設(shè)計,以實(shí)現(xiàn)高效、集中的系統(tǒng)集成測試,將流程管理、信息傳遞、缺陷跟蹤、知識積累等功能結(jié)合起來。以簡化和加快測試過程的設(shè)計,提高軟件測試的效率和質(zhì)量。