国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

嵌入式軟件測試筆記12 | 什么是狀態(tài)轉(zhuǎn)換測試?如何開展?

這篇具有很好參考價值的文章主要介紹了嵌入式軟件測試筆記12 | 什么是狀態(tài)轉(zhuǎn)換測試?如何開展?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1 狀態(tài)轉(zhuǎn)換測試簡介

  • 嵌入式系統(tǒng)有些表現(xiàn)出基于狀態(tài)的行為,設(shè)計此系統(tǒng)可使用基于狀態(tài)的建模;
  • 在設(shè)計過程中,創(chuàng)建的模型可作為測試設(shè)計的基礎(chǔ);
  • 以下將描述基于狀態(tài)的模型來導(dǎo)出測試用例的技術(shù)。

1.1 基于狀態(tài)的測試設(shè)計技術(shù)

  • 此技術(shù)目標是:驗證事件、動作、行為與轉(zhuǎn)臺轉(zhuǎn)換之間的關(guān)系;
  • 通過此技術(shù),可判定系統(tǒng)基于狀態(tài)的行為是否滿足系統(tǒng)的規(guī)范集合。

1.2 系統(tǒng)行為

分三種類型:

  • 簡單行為;
  • 連續(xù)行為;
  • 基于狀態(tài)的行為。

2 故障類別

基于狀態(tài)的行為出現(xiàn)錯誤的三種原因:

  • 狀態(tài)圖無法表示系統(tǒng)功能規(guī)范的正確轉(zhuǎn)換;
  • 狀態(tài)去的語法不一致或不正確;
  • 從狀態(tài)圖到代碼的轉(zhuǎn)換。

以下是狀態(tài)圖和軟件中可能發(fā)生的故障。

2.1 狀態(tài)

  • 沒有進入轉(zhuǎn)換的狀態(tài);
  • 遺漏初始狀態(tài),需定義狀態(tài)圖中的所有路徑;
  • 額外狀態(tài)(系統(tǒng)生成比狀態(tài)圖中多的狀態(tài));
  • 遺漏狀態(tài)(系統(tǒng)中沒有給出狀態(tài)圖中給出的狀態(tài));
  • 破壞性生態(tài)(轉(zhuǎn)換到無效狀態(tài)而導(dǎo)致系統(tǒng)崩潰)。

2.2 防護

  • 防護必須指向轉(zhuǎn)換而不是狀態(tài);
  • 完成事件轉(zhuǎn)換上的防護;
  • 初始轉(zhuǎn)換上的防護;
  • 重疊防護;
  • 防護為false但仍有轉(zhuǎn)換發(fā)生;
  • 錯誤的防護實現(xiàn)。

2.3 轉(zhuǎn)換

  • 必須有一個接收狀態(tài)與一個最終狀態(tài);
  • 相互矛盾的轉(zhuǎn)換;
  • 遺漏或錯誤轉(zhuǎn)換;
  • 遺漏或錯誤動作。

2.4 事件

  • 遺漏事件;
  • 隱含路徑;
  • 一個沒有定義的事件做出響應(yīng)。

2.5 其它

  • 在正交區(qū)域使用同步;
  • 規(guī)范故障可使用審查清單進行覆蓋,如下:
    嵌入式軟件測試筆記12 | 什么是狀態(tài)轉(zhuǎn)換測試?如何開展?,# 嵌入式軟件測試,嵌入式,嵌入式硬件,嵌入式軟件,嵌入式測試

3 狀態(tài)轉(zhuǎn)換測試技術(shù)

3.1 編寫狀態(tài)-事件表

  • 狀態(tài)圖是編寫狀態(tài)-事件表的起點;
  • 編寫狀態(tài)-事件表給出狀態(tài)與事件的關(guān)系;
  • 如下是一個簡化的錄音機(VCR)狀態(tài)圖:
    嵌入式軟件測試筆記12 | 什么是狀態(tài)轉(zhuǎn)換測試?如何開展?,# 嵌入式軟件測試,嵌入式,嵌入式硬件,嵌入式軟件,嵌入式測試
  • 由上述狀態(tài)圖可編寫出狀態(tài)-事件表:
    嵌入式軟件測試筆記12 | 什么是狀態(tài)轉(zhuǎn)換測試?如何開展?,# 嵌入式軟件測試,嵌入式,嵌入式硬件,嵌入式軟件,嵌入式測試

3.2 編寫轉(zhuǎn)換樹

  • 狀態(tài)-事件表被用于編寫轉(zhuǎn)換樹;
  • 初始狀態(tài)為轉(zhuǎn)換樹的根;
  • 以下為VCR的轉(zhuǎn)換樹:
    嵌入式軟件測試筆記12 | 什么是狀態(tài)轉(zhuǎn)換測試?如何開展?,# 嵌入式軟件測試,嵌入式,嵌入式硬件,嵌入式軟件,嵌入式測試

3.3 編寫合法測試用例的測試腳本

  • 借助以上轉(zhuǎn)換樹和狀態(tài)-事件表可編寫合法測試用例的測試腳本;
  • 轉(zhuǎn)換樹中每一條路徑是一個測試用例;
  • 如下是部分從VCR狀態(tài)圖導(dǎo)出的測試用例:
    嵌入式軟件測試筆記12 | 什么是狀態(tài)轉(zhuǎn)換測試?如何開展?,# 嵌入式軟件測試,嵌入式,嵌入式硬件,嵌入式軟件,嵌入式測試

3.4 編寫非法測試用例的測試腳本

  • 可從狀態(tài)-事件中得到非法的狀態(tài)-事件組合;
  • 非法的狀態(tài)-事件是指在該特定狀態(tài)時,系統(tǒng)沒有指定要對該事件做出響應(yīng);
  • 部分非法測試用例的測試腳本如下:
    嵌入式軟件測試筆記12 | 什么是狀態(tài)轉(zhuǎn)換測試?如何開展?,# 嵌入式軟件測試,嵌入式,嵌入式硬件,嵌入式軟件,嵌入式測試

3.5 編寫測試腳本防護

  • 以下為防護編寫的測試用例的測試腳本:
    嵌入式軟件測試筆記12 | 什么是狀態(tài)轉(zhuǎn)換測試?如何開展?,# 嵌入式軟件測試,嵌入式,嵌入式硬件,嵌入式軟件,嵌入式測試

4 廣泛性和實用性

4.1 廣泛性

  • 測試深度被用于計算測試覆蓋率;
  • 有關(guān)公式如下:
n:表示轉(zhuǎn)換次數(shù)(也用于測試深度)
1次轉(zhuǎn)換覆蓋率/0次切換覆蓋率 = 執(zhí)行的轉(zhuǎn)換數(shù)/狀態(tài)模型中的轉(zhuǎn)換總數(shù)
2次轉(zhuǎn)換覆蓋率/1次切換覆蓋率 = 執(zhí)行的兩次轉(zhuǎn)換的序列數(shù)/狀態(tài)模型中兩次轉(zhuǎn)換的序列總數(shù)
狀態(tài)-事件覆蓋程度 = (狀態(tài)數(shù)-執(zhí)行的事件對)/(狀態(tài)數(shù)*事件數(shù))

4.2 故障檢測

  • 測試深度是指測試基于狀態(tài)的行為所需的最少工作;
  • 測試效果與故障檢測的關(guān)系:
故障類別 合法測試用例 非法測試用例 邊界值分析 更深層次的測試
額外狀態(tài) + + + +
遺漏狀態(tài) + - - -
破壞性狀態(tài)* - +/- +/- +
重復(fù)防護 - - +/- -
防護為false的轉(zhuǎn)換 - - + -
相互矛盾的轉(zhuǎn)換 + - - -
遺漏或錯誤轉(zhuǎn)換 + + + +/-
遺漏或錯誤動作 + - - +/-
遺落或錯誤事件 + - - +/-
隱含路徑 - + + +/-
-:檢測出故障的希望很渺茫
+:檢測出故障的概率很大
+-:檢測出故障的概率很小
*:進行更深層次的測試可能不足以檢測出破壞性狀態(tài)

4.3 實用性和可用性

  • 影響實用性的因素:

步進方式;
重置選項;
狀態(tài)設(shè)置;
狀態(tài)、轉(zhuǎn)換、輸入、輸出與事件進行唯一性編碼;
轉(zhuǎn)換跟蹤。文章來源地址http://www.zghlxwxcb.cn/news/detail-582282.html

到了這里,關(guān)于嵌入式軟件測試筆記12 | 什么是狀態(tài)轉(zhuǎn)換測試?如何開展?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 科普:嵌入式代碼軟件在環(huán)(SiL)測試的可靠性

    ?? : 嵌入式系統(tǒng)、軟件在環(huán)(SiL)、測試、生命周期 01. 簡介 當前,嵌入式系統(tǒng)開發(fā)的大趨勢為通過軟件實現(xiàn)大量的硬件功能,這導(dǎo)致軟件的復(fù)雜程度顯著上升——代碼開發(fā)成本和風(fēng)險也成倍增加。復(fù)用已有系統(tǒng)中的軟件組件是改進嵌入式系統(tǒng)生命周期的一種可能

    2024年04月26日
    瀏覽(23)
  • 嵌入式軟件開發(fā)常用的編輯代碼工具、比較工具和測試工具的使用說明和操作步驟

    嵌入式軟件開發(fā)常用的編輯代碼工具有: Eclipse Eclipse是一款開源的集成開發(fā)環(huán)境,支持多種編程語言和插件,適用于多種嵌入式開發(fā)平臺。以下是Eclipse的使用說明和操作步驟: 步驟1:創(chuàng)建新工程 單擊“File”菜單,選擇“New”→“Project”選項,選擇工程類型和開發(fā)平臺。

    2024年02月02日
    瀏覽(29)
  • 系統(tǒng)架構(gòu)設(shè)計師筆記第7期:嵌入式系統(tǒng)及軟件

    嵌入式系統(tǒng)是一種特殊的計算機系統(tǒng),它被設(shè)計用于執(zhí)行特定的功能或控制特定的設(shè)備。與一般的計算機系統(tǒng)不同,嵌入式系統(tǒng)通常是嵌入到其他設(shè)備或系統(tǒng)中,以完成特定的任務(wù),如家電、汽車、醫(yī)療設(shè)備、工業(yè)控制系統(tǒng)等。嵌入式系統(tǒng)通常具有小型、低功耗、實時性要求

    2024年02月08日
    瀏覽(81)
  • 【筆記】ARM M3-M4權(quán)威指南第二章《嵌入式軟件開發(fā)介紹》

    【筆記】ARM M3-M4權(quán)威指南第二章《嵌入式軟件開發(fā)介紹》

    2.1 ARM微控制器是由哪些構(gòu)成的 2.2 開始時需要準備什么 2.2.1 開發(fā)組件,C 編譯器組件產(chǎn)品如下 2.2.2 開發(fā)板 2.2.3 調(diào)試適配板(Keil – ULINK;IAR-- I-Jet;STM Value Line Discover;JTAG/SW仿真器/在線仿真器(ICE);開源板 – ARM的CMSIC-DAP和Coocox的CoLink) 2.2.4 軟件設(shè)備驅(qū)動 2.2.5 示例(Samp

    2024年04月13日
    瀏覽(109)
  • C/C++|物聯(lián)網(wǎng)開發(fā)入門+項目實戰(zhàn)|空間讀寫|非字符空間|返回值內(nèi)部實現(xiàn)|嵌入式C語言高級|C語言函數(shù)的使用(2)-學(xué)習(xí)筆記(12)

    C/C++|物聯(lián)網(wǎng)開發(fā)入門+項目實戰(zhàn)|空間讀寫|非字符空間|返回值內(nèi)部實現(xiàn)|嵌入式C語言高級|C語言函數(shù)的使用(2)-學(xué)習(xí)筆記(12)

    參考: 麥子學(xué)院-嵌入式C語言高級-C語言函數(shù)的使用 空間的讀寫 void fun(char *p); const char *p 只讀空間,只為了看 char *p;該空間可能修改,幾乎都要變 strcpy(); 定義:char *strcpy(char *dest,const char *src); sprintf(); 作用 1、修改 int * short * long * 2、空間傳遞 2.1 子函數(shù)看看空間里的情況

    2023年04月22日
    瀏覽(33)
  • 嵌入式軟件調(diào)試與驗證4自動重現(xiàn)和分析嵌入式軟件中的Bug

    嵌入式軟件調(diào)試與驗證4自動重現(xiàn)和分析嵌入式軟件中的Bug

    嵌入式軟件的重要性逐年增加。ISO26262標準的最高安全級別要求十個9小時內(nèi)無故障運行。然而,歷史上的一些項目表明,即使進行了全面的測試,多年來仍有許多錯誤未被發(fā)現(xiàn)。航天飛機的控制計算機僅有50萬行源代碼,卻經(jīng)過了長達8年的測試,每行源代碼耗資1000美元,即總

    2024年02月08日
    瀏覽(19)
  • 《嵌入式 – GD32開發(fā)實戰(zhàn)指南》第12章 ADC

    《嵌入式 – GD32開發(fā)實戰(zhàn)指南》第12章 ADC

    開發(fā)環(huán)境: MDK:Keil 5.30 開發(fā)板:GD32F207I-EVAL MCU:GD32F207IK GD32F2系列有 3 個逐次逼近型的ADC,精度為 12 位,有18個多路復(fù)用通道,可以轉(zhuǎn)換來自16個外部通道和2個內(nèi)部通道的模擬信號。其中ADC0 和 ADC1都有 16 個外部通道, ADC2 根據(jù) CPU 引腳的不同通道數(shù)也不同,一般都有8 個外部

    2023年04月08日
    瀏覽(22)
  • 嵌入式軟件架構(gòu)

    嵌入式軟件架構(gòu)

    總目錄鏈接== AutoSAR入門和實戰(zhàn)系列總目錄 總目錄鏈接== AutoSAR BSW高階配置系列總目錄 嵌入式軟件架構(gòu)設(shè)計意圖通常伴隨著基于個人經(jīng)驗的假設(shè)。軟件開發(fā)人員可能會從資源受限的基于微控制器的系統(tǒng)的角度來看待架構(gòu)設(shè)計。系統(tǒng)人員可能會從應(yīng)用處理器的角度考慮架構(gòu)。如

    2023年04月10日
    瀏覽(18)
  • 嵌入式軟件學(xué)習(xí)路線(入門)

    嵌入式軟件學(xué)習(xí)路線(入門)

    大家不要只收藏不關(guān)注啊,哪怕點個贊都行哇。?? 剛工作兩年,推薦的學(xué)習(xí)路線只做一家之言,如果有那里有人覺得不合適,可以根據(jù)自身的需求尋找更合適的路線,大學(xué)的時候?qū)W習(xí)過單片機,對于單片機也算是入門級,能做一些畢業(yè)設(shè)計級別的東西,能夠應(yīng)付大學(xué)所需。

    2023年04月15日
    瀏覽(27)
  • 嵌入式軟件常用工具概覽

    “工欲善其事,必先利其器”,選擇高質(zhì)量并適合自己工具可以提高效率,這里介紹一下一些嵌入式軟件開發(fā)過程中常用工具。 VSCode :Visual Studio Code 出自微軟的代碼編輯器,需要的功能可以通過安裝插件獲得,插件非常豐富。相對于VS更輕量靈活、適合嵌入式開發(fā)場景。

    2024年02月11日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包