加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專(zhuān)業(yè)用戶(hù)
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 1 測(cè)試基礎(chǔ)知識(shí)
    • 2 測(cè)試用例設(shè)計(jì)
    • 3 總結(jié)
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

嵌入式基礎(chǔ)知識(shí)-測(cè)試基礎(chǔ)概念

01/22 12:00
2912
閱讀需 7 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

本篇來(lái)介紹嵌入式項(xiàng)目開(kāi)發(fā)中,軟件測(cè)試的相關(guān)基礎(chǔ)知識(shí)。

1 測(cè)試基礎(chǔ)知識(shí)

測(cè)試是指:在規(guī)定的條件下對(duì)程序進(jìn)行操作,以發(fā)現(xiàn)錯(cuò)誤,對(duì)軟件質(zhì)量進(jìn)行評(píng)估

測(cè)試的對(duì)象包括程序、數(shù)據(jù)和文檔

對(duì)于測(cè)試,并不是只有測(cè)試人員才需要了解,需要了解測(cè)試的人員包括:

用戶(hù):參與需求驗(yàn)證和驗(yàn)收測(cè)試

項(xiàng)目經(jīng)理:參與測(cè)試計(jì)劃指定

程序員:完成單元測(cè)試

測(cè)試員:設(shè)計(jì)和執(zhí)行測(cè)試

1.1 測(cè)試原則

系統(tǒng)測(cè)試的原則包括:

軟件測(cè)試的目的是發(fā)現(xiàn)軟件的錯(cuò)誤

應(yīng)盡早地、不斷地進(jìn)行測(cè)試

避免由原開(kāi)發(fā)軟件的人或小組承擔(dān)

設(shè)計(jì)測(cè)試方案時(shí),不僅要確定輸入數(shù)據(jù),還要根據(jù)根據(jù)系統(tǒng)功能確定預(yù)期結(jié)果

既要包含有效、合理的測(cè)試用例,也要包含失效、不合理的用例

檢測(cè)程序是否做了該做的事,且是否做了不該做的事

嚴(yán)格按照測(cè)試計(jì)劃進(jìn)行

妥善保存測(cè)試計(jì)劃和測(cè)試用例

測(cè)試用例可重復(fù)使用或追加測(cè)試

1.2 測(cè)試方法

測(cè)試方法可以分為靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試兩大類(lèi):

1.2.1 靜態(tài)測(cè)試

靜態(tài)測(cè)試可以由人工進(jìn)行,也可以借助軟件工具自動(dòng)進(jìn)行。

桌面檢查:程序員自己檢查編寫(xiě)的程序

代碼審查:若干程序員與測(cè)試人員組成評(píng)審小組,召開(kāi)程序評(píng)審會(huì)進(jìn)行審查

代碼走查:由測(cè)試人員提供測(cè)試用例,程序員在大腦中運(yùn)行測(cè)試用例,檢查代碼邏輯

1.2.2 動(dòng)態(tài)測(cè)試

動(dòng)態(tài)測(cè)試的主要特征是必須真正執(zhí)行被測(cè)試的程序,通過(guò)輸入測(cè)試用例,對(duì)其運(yùn)行情況進(jìn)行分析。

動(dòng)態(tài)測(cè)試包括:

黑盒測(cè)試:把待測(cè)軟件當(dāng)作一個(gè)內(nèi)部結(jié)構(gòu)不可見(jiàn)的黑盒,根據(jù)軟件功能設(shè)計(jì)用例,測(cè)試軟件功能。

白盒測(cè)試:明確軟件內(nèi)部代碼流程,根據(jù)軟件代碼邏輯設(shè)計(jì)用例,進(jìn)行用例覆蓋。

灰盒測(cè)試:黑盒與白盒測(cè)試的結(jié)合

1.3 測(cè)試策略

在進(jìn)行軟件測(cè)試時(shí),如果軟件比較龐大復(fù)雜,就要考慮一定的測(cè)試策略:

自底向上:從底層驅(qū)動(dòng)模塊開(kāi)始測(cè)試,然后逐漸合并模塊測(cè)試

自頂向下:?先測(cè)試整個(gè)系統(tǒng),再逐步向下測(cè)試底層模塊

三明治:自底向上與自頂向下的結(jié)合

1.4 測(cè)試階段

在整個(gè)的軟件開(kāi)發(fā)周期中,會(huì)有不同階段的軟件測(cè)試,測(cè)試的側(cè)重點(diǎn)也不同。

對(duì)比軟件的開(kāi)發(fā)流程,軟件的測(cè)試階段分為單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試:

單元測(cè)試:對(duì)應(yīng)編碼階段,程序自己對(duì)單個(gè)模塊測(cè)試,測(cè)試模塊內(nèi)部的接口、信息和功能

集成測(cè)試:對(duì)應(yīng)詳細(xì)設(shè)計(jì),將模塊組合起來(lái)測(cè)試,可以一次全部組裝,也可以增量式組裝

系統(tǒng)測(cè)試:對(duì)應(yīng)概要設(shè)計(jì),用于檢驗(yàn)軟件產(chǎn)品是否與系統(tǒng)的其它部分協(xié)調(diào)工作,系統(tǒng)測(cè)試適用于評(píng)估系統(tǒng)的非功能需求,如性能、可靠性和安全性

驗(yàn)收測(cè)試:對(duì)應(yīng)需求階段,是軟件部署前的一個(gè)測(cè)試操作,其測(cè)試范圍類(lèi)似于系統(tǒng)測(cè)試,通常由系統(tǒng)提供者和客戶(hù)共同完成

2 測(cè)試用例設(shè)計(jì)

在進(jìn)行測(cè)試前,需要先設(shè)計(jì)好測(cè)試用例,這里主要介紹動(dòng)態(tài)測(cè)試中的黑盒測(cè)試與白盒測(cè)試的測(cè)試用例。

2.1 黑盒測(cè)試用例設(shè)計(jì)

在黑盒測(cè)試時(shí),根據(jù)軟件需求規(guī)格說(shuō)明書(shū)進(jìn)行測(cè)試用例的設(shè)計(jì)。

黑盒測(cè)試用例設(shè)計(jì)包括:

等價(jià)類(lèi)劃分:將數(shù)據(jù)按照某種特性歸類(lèi),然后在每類(lèi)數(shù)據(jù)中選取一個(gè)即可。通過(guò)設(shè)計(jì)一個(gè)新的測(cè)試用例,使其僅覆蓋一個(gè)尚未被覆蓋的無(wú)效等價(jià)類(lèi)。

邊界值劃分:將邊界值作為測(cè)試用例,邊界值一般為范圍的兩端值和此范圍之外的兩端最小間隔的值

錯(cuò)誤推測(cè):根據(jù)經(jīng)驗(yàn)推測(cè)可能有問(wèn)題的地方

因果圖:由一個(gè)結(jié)果反推原因,具體結(jié)果具體分析

2.2 白盒測(cè)試用例設(shè)計(jì)

在白盒測(cè)試時(shí),確定測(cè)試數(shù)據(jù)應(yīng)根據(jù)程序的功能文檔指定的覆蓋標(biāo)準(zhǔn),當(dāng)根據(jù)程序的功能文檔確定的測(cè)試數(shù)據(jù)不能滿(mǎn)足指定的覆蓋標(biāo)準(zhǔn)時(shí),可參考程序的內(nèi)部邏輯分析未滿(mǎn)足覆蓋標(biāo)準(zhǔn)的原因,并修改文檔或增加測(cè)試數(shù)據(jù)。

白盒測(cè)試包括:

基本路徑測(cè)試循環(huán)覆蓋測(cè)試邏輯覆蓋測(cè)試

其中,邏輯覆蓋又包括:

語(yǔ)句覆蓋(Statement Coverage, SC):設(shè)計(jì)足夠的測(cè)試用例,讓程序中

所有的語(yǔ)句至少執(zhí)行一次

判定覆蓋(Decision Coverage, DC):設(shè)計(jì)足夠的測(cè)試用例,讓程序中

每個(gè)判定的每一種可能結(jié)果至少出現(xiàn)一次

條件覆蓋(Condition Coverage, CC):設(shè)計(jì)足夠的測(cè)試用例,讓程序中

每個(gè)判定的每個(gè)條件的可能取值至少經(jīng)歷一次

路徑覆蓋(Path Coverage, PC):設(shè)計(jì)足夠的測(cè)試用例,覆蓋程序中

所有可能的路徑

例如如下的程序流程圖中:

語(yǔ)句、判定、條件和路徑的對(duì)應(yīng)關(guān)系如下

在這些準(zhǔn)則覆蓋層級(jí)中:

最弱的準(zhǔn)則是語(yǔ)句覆蓋,因?yàn)閳?zhí)行了所有語(yǔ)句,并不一定執(zhí)行了所有的條件判定最強(qiáng)的準(zhǔn)則是路徑覆蓋

另外,還有一些復(fù)雜的邏輯覆蓋:

條件判斷覆蓋(Condition/Decision Coverage, C/DC):使得判定中每個(gè)條件的真和假至少出現(xiàn)一次,并且每個(gè)判定本身的真和假也至少出現(xiàn)一次。

條件組合覆蓋(Multiple Condition Coverage, MCC):使得每個(gè)判定中條件的各種可能組合都至少出現(xiàn)一次;一定滿(mǎn)足DC、CC和C/DC。

修正的條件判斷覆蓋(Modified Condition/Decision Coverage, MC/DC):每個(gè)程序模塊的入口和出口都要考慮至少被調(diào)用一次,每個(gè)程序的判定到所有可能的結(jié)果值至少轉(zhuǎn)換一次。

3 總結(jié)

本篇介紹了軟件測(cè)試的相關(guān)基礎(chǔ)知識(shí),包括靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試、測(cè)試策略、測(cè)試階段、白盒測(cè)試與黑盒測(cè)試等。下篇將根據(jù)實(shí)例,繼續(xù)介紹白盒測(cè)試,各種語(yǔ)句覆蓋的實(shí)操設(shè)計(jì)。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
SN74LVC2T45DCUR 1 Texas Instruments 2-Bit Dual Supply Transceiver with Configurable Voltage-Level Shifting and 3-State Outputs 8-VSSOP -40 to 85

ECAD模型

下載ECAD模型
$0.79 查看
AFBR-57R5APZ 1 Agilent Technologies Inc Fiber Optic Device
$40.94 查看
MOC3021SR2M 1 Rochester Electronics LLC 1 CHANNEL TRIAC OUTPUT OPTOCOUPLER, SURFACE MOUNT, DIP-6
$0.68 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

控制科學(xué)與工程碩士,日常分享單片機(jī)、嵌入式、C/C++、Linux等學(xué)習(xí)經(jīng)驗(yàn)干貨~