劉明珠 普達迪泰(天津)智能裝備科技有限公司
嵌入式系統(tǒng)軟件隨著嵌入式微處理器性能的提高而發(fā)展緩慢。近年來,嵌入式系統(tǒng)軟件的范圍因嵌入式系統(tǒng)軟件開發(fā)和嵌入式微處理器的應用日益復雜而擴大,促進內(nèi)置系統(tǒng)和軟件平臺的建設。
嵌入式系統(tǒng)具有悠久的發(fā)展歷史。它最初用于軍事、航空和工業(yè)控制。1990年代中期以來,在互聯(lián)網(wǎng)、通信和家用電器等領域采用了該系統(tǒng)。也就是說,通過計算機和嵌入式系統(tǒng)的結合,計算機產(chǎn)業(yè)從計算機時代發(fā)展到計算機時代,使人們的生活逐步應用該系統(tǒng)。而傳統(tǒng)嵌入式軟件設計因此得出結論,MCU,解除功能和對硬件的依賴是至關重要的,而傳統(tǒng)嵌入式軟件則主要用于設計過程中的功能。而不考慮代碼的重用。數(shù)據(jù)和接口是分開的,在很大程度上軟件的最終質(zhì)量取決于開發(fā)階段。隨著嵌入式系統(tǒng)軟件的進一步發(fā)展,當前嵌入式系統(tǒng)軟件的功能、大小和復雜性大大增加。從硬件角度來看,今天的嵌入式系統(tǒng)比幾年前的PC平臺大得多。從軟件的角度來看,顯然存在一個完善的操作系統(tǒng)。包括文字處理、圖像處理、視頻、音頻和游戲處理以及網(wǎng)頁瀏覽等應用程序。這些程序比PC軟件更復雜、更強大。大多數(shù)選擇專用硬件和系統(tǒng)的公司都開始改變轉換思路。可以使用經(jīng)濟實惠的硬件增強操作系統(tǒng),并使用軟件替換以前為硬件開發(fā)的所有功能。這大大降低了更改和維護成本。
本文將軟件接口設計、測試方案、設計、執(zhí)行、結果、故障管理和回歸測試合并到一個管理系統(tǒng)中。如圖1所示測試自動化和流程管理。
1.接口設計。開發(fā)者將接口設計模塊用于ICD設計。基于模塊性和重用將接口設計元素劃分為數(shù)據(jù)元素、數(shù)據(jù)塊、組、邏輯塊和消息接口模塊。數(shù)據(jù)項是最小的數(shù)據(jù)單元。一個數(shù)據(jù)塊由多個數(shù)據(jù)項組成(對于有意義的字段),這些數(shù)據(jù)項由多個數(shù)據(jù)塊或多個數(shù)據(jù)項組成(對于更重要)。消息接口模塊是一個完整的ICD。它由多個記錄、塊或數(shù)據(jù)元素組成,用于邏輯的特殊設計以限制不同元素之間的關系特殊。長期設計、高效設計等。根據(jù)項目的不同,可以配置一系列數(shù)據(jù)項和數(shù)據(jù)塊,以便開發(fā)人員可以根據(jù)項目的需要自定義設計。每個ICD必須包含數(shù)據(jù)的源ID和目標id以及相應的接口。CIM存儲保存于資料庫中,并在默認的XML文件中配置,顯示測試的自動化、分析和創(chuàng)建。

圖1 自動化測試及管理流程
2.測試計劃。測試程序根據(jù)ICD、軟件開發(fā)規(guī)范、軟件要求、用戶手冊等執(zhí)行測試計劃。測試計劃包括為測試交聯(lián)環(huán)境圖創(chuàng)建、定義測試類型、設計測試元素或測試對象、測試使用名稱和測試使用說明。自動測試系統(tǒng)中,測試人的主要任務是測試計劃和設計。在進行測試時,首先要建立交聯(lián)環(huán)境,確定每個測算的軟件組件之間的接口,并分配給每個軟件插件。創(chuàng)建交聯(lián)環(huán)境時,測試分解的功能并對其進行分析提取測試要求,根據(jù)測試軟件要求的文檔設計測試子項及試項。測試類型包括功能、性能、接口、強度等。
3.設計測試。測試用例特定測試輸出以供測試之用。在嵌入式軟件中,大多數(shù)測試輸入和輸出都是數(shù)據(jù)序列。因此,測試設計的主要內(nèi)容是針對每個用例設計不同的輸入和輸出數(shù)據(jù)。在設計用例之前,必須設置用例屬性,包括獨立用例和相關用例。新測試用例是獨立的用例,為場景或過程測試設計測試用例時,必須將其屬性設置為相關的用例。
4.執(zhí)行測試。測試環(huán)境圖、用例、總線路組成執(zhí)行平臺。測試分三步進行。第一步是分發(fā)數(shù)據(jù)。測試程序建立并運行測試實例后,總線路由控制器將根據(jù)計劃的連接環(huán)境方案和測試實例初始化相關模塊和接口類型,初始化相應的代理,并將導入的測試數(shù)據(jù)分發(fā)到相應的代理。在第二步,代理驅(qū)動接口將主接收的輸入測試數(shù)據(jù)發(fā)送到數(shù)據(jù)接口驅(qū)動模塊,該模塊根據(jù)通信環(huán)境圖將輸入測試數(shù)據(jù)發(fā)送到檢測到的軟件。第三步是監(jiān)控測試軟件的反應。響應消息,即測試數(shù)據(jù)的輸出,將返回到主控制終端。主控制器可以控制多個代理。代理程式數(shù)目與交聯(lián)環(huán)境圖中的相互連線模組數(shù)目有關。代理程序監(jiān)視點到點數(shù)據(jù)傳輸。
5.查看并記錄測試結果。主終端收到代理返回的數(shù)據(jù)后,將根據(jù)ICD自動顯示和分析這些數(shù)據(jù)。將顯示所有交互式數(shù)據(jù)。雙擊選定的數(shù)據(jù)可以查看數(shù)據(jù)分析,直觀地演示測試執(zhí)行情況,并支持過濾顯示的數(shù)據(jù)以進行觀察。
6.故障管理和回歸測試。測試人員必須確認測試結果。必須為每個Fail測試應用程序確認每個Fail的步驟,以解決未測試的軟件錯誤。如果測試確認軟件中存在錯誤,則應在相應的測試之后提交錯誤日志。提交記錄單后,軟件項目經(jīng)理可以查看信息,識別缺陷并對其分配。開發(fā)人員可以通過引用標準測試用例來重現(xiàn)問題并修改缺陷。已更正缺陷狀態(tài)將標記為已更正,對已更正的缺陷驗證回歸。
7.數(shù)據(jù)分析和知識庫。在測試結束時總結測試過程,并測試用例、測試成功率、錯誤率等統(tǒng)計,然后以指定格式導出報告。與此同時,我們在典型的測試環(huán)境中提供了一個設計良好、可重復使用的測試環(huán)境,該環(huán)境具有構成價值的缺陷庫。這樣,我們就加快了測試經(jīng)驗的積累,以適應后期的測試的借鑒。
本文運用工程化軟件概念,將接口設計、測試程序、測試、運行、結果、缺陷管理和回歸測試整合到一個管理系統(tǒng)中。測試人員主要關注測試的規(guī)劃和設計,以實現(xiàn)高效、集中的系統(tǒng)集成測試,將流程管理、信息傳遞、缺陷跟蹤、知識積累等功能結合起來。以簡化和加快測試過程的設計,提高軟件測試的效率和質(zhì)量。