電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 1877|回復(fù): 0
收起左側(cè)

蘇州嵌入式系統(tǒng)培訓(xùn)_高質(zhì)量嵌入式系統(tǒng)開(kāi)發(fā)的集成測(cè)試技術(shù)

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級(jí)會(huì)員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-7-28 14:36:12 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
蘇州嵌入式系統(tǒng)培訓(xùn)_高質(zhì)量嵌入式系統(tǒng)開(kāi)發(fā)的集成測(cè)試技術(shù),   

高質(zhì)量嵌入式系統(tǒng)開(kāi)發(fā)的集成測(cè)試技術(shù)

 探測(cè)故障的最佳時(shí)機(jī)是在開(kāi)發(fā)過(guò)程的早期。如果使用統(tǒng)一建模語(yǔ)言(UML),甚至在分析和設(shè)計(jì)期間就可以發(fā)現(xiàn)故障。  

  然而,軟件的集成和測(cè)試十分困難,嵌入式系統(tǒng)更困難,由于輸入和輸出少,系統(tǒng)的可操作性和可見(jiàn)性都很有限。反常的系統(tǒng)狀態(tài)尤其難以測(cè)試,因?yàn)樵诖_定系統(tǒng)在某一狀態(tài)下的行為前,必須使系統(tǒng)進(jìn)入該狀態(tài)。

  本文提出將測(cè)試儀器(instrumentaTIon)代碼注入U(xiǎn)ML模型實(shí)現(xiàn)中的觀點(diǎn),目的是提升系統(tǒng)的可控性、可觀察性和易測(cè)性。測(cè)試儀器可應(yīng)用在開(kāi)發(fā)和目標(biāo)環(huán)境中,并可在模型級(jí)進(jìn)行交互式系統(tǒng)調(diào)試。在批處理模式下,測(cè)試儀器是數(shù)據(jù)采集、初始化和測(cè)試自動(dòng)化的基礎(chǔ)。本文旨在:簡(jiǎn)要介紹基于模型的軟件工程以及這些模型的實(shí)現(xiàn);概述基于模型的軟件的集成測(cè)試方法;確定模型系統(tǒng)內(nèi)重要的運(yùn)行時(shí)間數(shù)據(jù)和執(zhí)行關(guān)鍵點(diǎn);闡述在運(yùn)行時(shí)間采集和操作模型數(shù)據(jù)的幾種方案;使測(cè)試儀器能自動(dòng)進(jìn)行測(cè)試。

  軟件故障是指程序中的錯(cuò)誤指令或計(jì)算,軟件故障的執(zhí)行將導(dǎo)致軟件狀態(tài)出錯(cuò)。當(dāng)錯(cuò)誤傳到輸出,并作為一個(gè)異常結(jié)果呈現(xiàn)在系統(tǒng)外時(shí),故障就會(huì)發(fā)生。程序的可控性是指一套測(cè)試系統(tǒng)強(qiáng)迫被測(cè)程序遵循一個(gè)特定執(zhí)行路徑的能力,也有可能沿這條路徑的執(zhí)行出錯(cuò)。程序的可觀察性是指這套測(cè)試系統(tǒng)發(fā)現(xiàn)錯(cuò)誤狀態(tài)繼而指出故障所在的能力。

  系統(tǒng)的內(nèi)部狀態(tài)對(duì)于確定測(cè)試的正確性至關(guān)重要。系統(tǒng)的輸出是由系統(tǒng)的初始狀態(tài)及其輸入決定的。初始狀態(tài)不同的系統(tǒng),即便輸入相同,輸出也會(huì)不同。系統(tǒng)的最終狀態(tài)也必須作為評(píng)估測(cè)試正確性的一部分予以考慮,因?yàn)椴徽_的內(nèi)部狀態(tài)最終會(huì)傳到系統(tǒng)的輸出,并導(dǎo)致錯(cuò)誤。系統(tǒng)的復(fù)雜性也使得預(yù)測(cè)系統(tǒng)的正確輸出變得愈加困難。

  初始狀態(tài)+輸入--->最終狀態(tài)+輸出

  在“黑匣子”測(cè)試方法中,只有系統(tǒng)的外部輸入和輸出可知。需要用一個(gè)特殊的測(cè)試激勵(lì)序列將錯(cuò)誤傳給輸出,以便區(qū)分錯(cuò)誤和正確的程序。所需的特殊序列越長(zhǎng),程序的可測(cè)性就越小。與“黑匣子”相似,嵌入式系統(tǒng)的可控性和可觀察性也較低。評(píng)估最終系統(tǒng)內(nèi)部狀態(tài)的結(jié)果能縮短檢測(cè)誤差所需的特殊輸入序列,從而產(chǎn)生更小、更易處理的測(cè)試案例。測(cè)試儀器力求同時(shí)提高軟件程序的可控性和可觀察性,以獲得更具可測(cè)性的程序。

  

  在應(yīng)用代碼中使用測(cè)試支持儀器的技術(shù)是一種“玻璃匣”測(cè)試方法。在開(kāi)發(fā)系統(tǒng)的UML模型時(shí),開(kāi)發(fā)者必須了解系統(tǒng)將要完成的任務(wù)。基于測(cè)試儀器的錯(cuò)誤隔離策略可以將UML模型的知識(shí)運(yùn)用于集成測(cè)試。系統(tǒng)的操作和狀態(tài)在分析級(jí)比在編碼級(jí)更具可見(jiàn)性,因?yàn)楹笳呤艿綄?shí)現(xiàn)細(xì)節(jié)的影響。

  僅從外部輸入設(shè)置測(cè)試的初始系統(tǒng)狀態(tài)需要特定的外部激勵(lì)序列。異常狀態(tài)下的系統(tǒng)操作是很多嵌入式應(yīng)用中驗(yàn)證的關(guān)鍵,但生成這些初始狀態(tài)并不簡(jiǎn)單。本文所描述的技術(shù)可利用測(cè)試手段,大大提高可控性和可觀察性。

  集成測(cè)試的步驟

  集成測(cè)試可分成兩個(gè)重要階段,即動(dòng)態(tài)驗(yàn)證和目標(biāo)集成。動(dòng)態(tài)驗(yàn)證是在開(kāi)發(fā)環(huán)境下運(yùn)行UML模型,其目的在于確定模型的正確性。目標(biāo)集成涉及到在目標(biāo)環(huán)境中集成軟件和硬件。動(dòng)態(tài)驗(yàn)證和目標(biāo)集成兩者都是在分析級(jí)上進(jìn)行的,均使用同樣的工具,即測(cè)試支持儀器。

  要盡可能多地進(jìn)行動(dòng)態(tài)驗(yàn)證測(cè)試,其原因有很多:硬件的可用性、硬件/軟件的分離、更短的調(diào)試周期,以及工具的使用。如果在動(dòng)態(tài)驗(yàn)證的運(yùn)行測(cè)試后,可以確信模型沒(méi)有問(wèn)題,目標(biāo)集成的調(diào)試就可以集中在系統(tǒng)組件之間的接口上,或特定平臺(tái)問(wèn)題上。

  a.用UML建立嵌入式系統(tǒng)模型嵌入式任務(wù)調(diào)度類型, 嵌入式攝像頭拆解, 車載嵌入式安卓開(kāi)發(fā), 嵌入式設(shè)計(jì)需求, 嵌入式硬盤讀取, 嵌入式適合的語(yǔ)言, 嵌入式架構(gòu)培訓(xùn)課程, 嵌入式什么書好, 北風(fēng)網(wǎng)嵌入式網(wǎng)盤, 三級(jí)嵌入式模擬軟件, 開(kāi)發(fā)嵌入式軟件自賣, 嵌入式開(kāi)發(fā)技術(shù)教材, 嵌入式思維怎么解釋, 嵌入式u32, 嵌入式培訓(xùn)講師, 康寶嵌入式消毒樣品, 嵌入式端蓋怎么固定, 亮點(diǎn)嵌入式的板子, 嵌入式mmap, 嵌入式軟件的作用, 二維碼掃描嵌入式, 嵌入式中的msp,

  將UML模型有效地用于嵌入式應(yīng)用的軟件工程,要求開(kāi)發(fā)進(jìn)程能確保:模型是嚴(yán)格而完整的;在不影響模型的情況下優(yōu)化所生成的系統(tǒng)實(shí)現(xiàn);系統(tǒng)的整體結(jié)構(gòu)由進(jìn)程通過(guò)多個(gè)版本及要求的升級(jí)來(lái)維持。

  為達(dá)到這些目標(biāo),基于模型的軟件工程采用一種轉(zhuǎn)換方法,重點(diǎn)討論采用這種轉(zhuǎn)換方法在代碼中添加測(cè)試支持,但該技術(shù)也可應(yīng)用于手工實(shí)現(xiàn)的UML模型。這種轉(zhuǎn)換方法的特點(diǎn)將在下文介紹。

 b.分析模型  

  分析是針對(duì)問(wèn)題本身為其建立與實(shí)現(xiàn)無(wú)關(guān)的模型方案的過(guò)程。有效的分析模型是嚴(yán)密而完整的,而且與實(shí)現(xiàn)方法無(wú)關(guān)。UML是由OMG定義的一種標(biāo)準(zhǔn)符號(hào),主要用于表達(dá)分析建模。分析過(guò)程可以產(chǎn)生:

  域(domain)模型:這是一種UML類圖,它將系統(tǒng)分解成獨(dú)立的主題區(qū)域,稱為域。這些域由包和從屬箭頭顯示橋表示,其中后者是域之間的需求流(flowofrequirement)?梢詫(duì)域進(jìn)行分析,或者用其它方法開(kāi)發(fā),如人工編寫的代碼、繼承代碼、從其它源生成、從某個(gè)庫(kù)導(dǎo)入等等。域服務(wù)是組成域接口的方法。由于域?yàn)槟硞(gè)問(wèn)題區(qū)定義了完整的規(guī)范,所以可以獨(dú)立對(duì)其測(cè)試,然后再與其它域結(jié)合以便進(jìn)一步測(cè)試。

  信息模型:對(duì)于每一個(gè)要分析的域來(lái)說(shuō),UML類圖可用于定義組成該域結(jié)構(gòu)的類(class)。類之間互相關(guān)聯(lián),還可繼承其它類。

  情境(scenario)模型:UML序列表或UML協(xié)作圖捕獲某個(gè)特定域的主要情境,用于表現(xiàn)域服務(wù)(操作)、類服務(wù)(方法)、類事件消息及該域引用的域外服務(wù)之間的相互作用。
  

  狀態(tài)模型:對(duì)于接受事件消息的每一個(gè)類來(lái)說(shuō),UML狀態(tài)圖可用于捕捉類周期,并定義該類與狀態(tài)有關(guān)的特性。

  行為模型:對(duì)于每個(gè)域服務(wù)、類服務(wù)和狀態(tài)行為,都會(huì)生成一個(gè)詳細(xì)而明確的行為描述。這由一種行為語(yǔ)言來(lái)表達(dá),這種分析級(jí)“編程”語(yǔ)言提供了完整的分析級(jí)執(zhí)行基元,而不會(huì)影響實(shí)現(xiàn)。用行為語(yǔ)言來(lái)表示行為細(xì)節(jié),可以在實(shí)現(xiàn)分析基元的轉(zhuǎn)換階段之前保留極大的自由度,這對(duì)于優(yōu)化至關(guān)重要。

  c.設(shè)計(jì)

  設(shè)計(jì)是產(chǎn)生可將分析構(gòu)造映射到運(yùn)行時(shí)間環(huán)境中的策略和機(jī)制的過(guò)程。其概念與分析不同,大部分初步設(shè)計(jì)工作可以在與分析活動(dòng)無(wú)關(guān)的情況下進(jìn)行。

  d.轉(zhuǎn)換

  轉(zhuǎn)換是用設(shè)計(jì)策略將每一個(gè)要分析域的UML模型映射到實(shí)現(xiàn)的過(guò)程。設(shè)計(jì)分兩個(gè)階段進(jìn)行:

  結(jié)構(gòu)設(shè)計(jì):識(shí)別系統(tǒng)的執(zhí)行單元(線程/任務(wù)/進(jìn)程),將其分配至處理器,并將域分配至單元。

  機(jī)械設(shè)計(jì):開(kāi)發(fā)將分析映射到實(shí)現(xiàn)的詳細(xì)模式(用模板描述),并建立基本機(jī)制以支持這一實(shí)現(xiàn)。

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表