TCQAE2024嵌入式軟件白盒測試方法_第1頁
TCQAE2024嵌入式軟件白盒測試方法_第2頁
TCQAE2024嵌入式軟件白盒測試方法_第3頁
TCQAE2024嵌入式軟件白盒測試方法_第4頁
TCQAE2024嵌入式軟件白盒測試方法_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

ICS35.080

CCSL67

團(tuán)體標(biāo)準(zhǔn)

CQAE*****—2024

嵌入式軟件白盒測試方法

WhiteBoxTestingMethodforEmbeddedSoftware

(報批稿)

202X-XX-XX發(fā)布202X-XX-XX實施

中國電子質(zhì)量管理協(xié)會發(fā)布

CQAE*****—2024

目??次

前??言.................................................................................................................................................................I

嵌入式軟件白盒測試方法.....................................................................................................................................1

1范圍...................................................................................................................................................................1

2規(guī)范性引用文件...............................................................................................................................................1

3術(shù)語和定義.......................................................................................................................................................1

3.1嵌入式軟件....................................................................................................................................................1

3.2嵌入式系統(tǒng)....................................................................................................................................................1

3.3軟件白盒測試................................................................................................................................................1

3.4軟件黑盒測試................................................................................................................................................1

3.5軟件單元測試................................................................................................................................................2

3.6單元集成測試................................................................................................................................................2

3.7邏輯覆蓋率....................................................................................................................................................2

3.8語句覆蓋........................................................................................................................................................2

3.9判定覆蓋........................................................................................................................................................2

3.10條件覆蓋......................................................................................................................................................2

3.11判定/條件覆蓋.............................................................................................................................................2

3.12修正的條件判定覆蓋(MC/DC).............................................................................................................2

3.13條件組合覆蓋..............................................................................................................................................2

3.14路徑覆蓋......................................................................................................................................................3

3.15基本路徑覆蓋..............................................................................................................................................3

3.16控制流圖......................................................................................................................................................3

3.17LCSAJ密度.................................................................................................................................................3

4嵌入式軟件白盒測試方法.................................................................................................................................3

4.1文檔審查........................................................................................................................................................3

4.2靜態(tài)代碼分析................................................................................................................................................3

4.3代碼審查........................................................................................................................................................4

4.4代碼走查........................................................................................................................................................4

4.5邏輯測試........................................................................................................................................................4

4.6單元集成測試................................................................................................................................................5

5軟件白盒測試過程...........................................................................................................................................5

5.1測試需求分析與策劃....................................................................................................................................5

5.1.1輸入條件.................................................................................................................................................5

5.1.2活動要求.................................................................................................................................................6

5.1.3階段輸出.................................................................................................................................................6

5.2測試設(shè)計與實現(xiàn)............................................................................................................................................6

CQAE*****—2024

5.2.1輸入條件.................................................................................................................................................6

5.2.2活動要求.................................................................................................................................................6

5.2.3階段輸出.................................................................................................................................................7

5.3測試執(zhí)行........................................................................................................................................................7

5.3.1輸入條件.................................................................................................................................................7

5.3.2活動要求.................................................................................................................................................7

5.3.3階段輸出.................................................................................................................................................7

5.4測試總結(jié)........................................................................................................................................................7

5.4.1輸入條件.................................................................................................................................................7

5.4.2活動要求.................................................................................................................................................8

5.4.3階段輸出.................................................................................................................................................8

6測試要求...........................................................................................................................................................8

6.1靜態(tài)測試........................................................................................................................................................8

6.1.1測試對象...................................................................................................................................................8

6.1.2測試目的...................................................................................................................................................9

6.1.3進(jìn)入條件...................................................................................................................................................9

6.1.4內(nèi)容要求...................................................................................................................................................9

6.1.5測試環(huán)境...................................................................................................................................................9

6.1.6結(jié)束準(zhǔn)則...................................................................................................................................................9

6.1.7階段輸出.................................................................................................................................................10

6.2單元測試......................................................................................................................................................10

6.2.1測試對象...............................................................................................................................................10

6.2.2測試目的...............................................................................................................................................10

6.2.3進(jìn)入條件...............................................................................................................................................10

6.2.4內(nèi)容要求...............................................................................................................................................10

6.2.5測試環(huán)境...............................................................................................................................................11

6.2.6結(jié)束準(zhǔn)則...............................................................................................................................................11

6.2.7階段輸出...............................................................................................................................................11

6.3單元集成測試..............................................................................................................................................11

6.3.1測試對象.................................................................................................................................................11

6.3.2測試目的.................................................................................................................................................12

6.3.3進(jìn)入條件.................................................................................................................................................12

6.3.4內(nèi)容要求.................................................................................................................................................12

6.3.5測試環(huán)境.................................................................................................................................................12

6.3.6結(jié)束準(zhǔn)則.................................................................................................................................................12

6.3.7階段輸出.................................................................................................................................................13

6.4回歸測試......................................................................................................................................................13

6.4.1測試對象..................................................................................................................................................13

6.4.2測試目的..................................................................................................................................................13

6.4.3進(jìn)入條件..................................................................................................................................................13

6.4.4內(nèi)容要求..................................................................................................................................................13

6.4.5結(jié)束準(zhǔn)則..................................................................................................................................................14

I

CQAE*****—2024

6.4.6階段輸出..................................................................................................................................................14

附錄A(資料性附錄)設(shè)計文檔審查項...........................................................................................................15

附錄B(資料性附錄)靜態(tài)分析內(nèi)容及度量指標(biāo)...........................................................................................18

附錄C(資料性附錄)代碼審查單...................................................................................................................25

附錄D(資料性附錄)測試充分性指標(biāo)...........................................................................................................34

附錄E(資料性附錄)單元集成方法示例.......................................................................................................43

附錄G(資料性附錄)單元測試示例...............................................................................................................52

附錄H(資料性附錄)單元集成測試示例.......................................................................................................56

附錄I(資料性附錄)測試用例設(shè)計要求........................................................................................................60

附錄J(資料性附錄)代碼常見缺陷示例........................................................................................................63

CQAE*****—2024

嵌入式軟件白盒測試方法

1范圍

本文件規(guī)定了嵌入式軟件白盒測試的方法、過程以及要求。

本文件適用于嵌入式軟件產(chǎn)品的測試,三方評測機(jī)構(gòu)參照執(zhí)行。

2規(guī)范性引用文件

下列文件中的內(nèi)容通過文中的規(guī)范性引用而構(gòu)成本文件必不可少的條款。其中,標(biāo)注日期的引用文

件,僅該日期對應(yīng)的版本適用于本文件;不標(biāo)注日期的引用文件,其最新版本(包括所有的修改單)適

用于本文件。

GB/T9386-2008計算機(jī)軟件測試文檔編制規(guī)范

GB/T15532-2008計算機(jī)軟件測試規(guī)范

GB/T11457-2006信息技術(shù)軟件工程術(shù)語

GB/T17544-1998信息技術(shù)軟件包質(zhì)量要求和測試

GB/T18905.1-2002軟件工程產(chǎn)品評價第1部分:概述

GB/T25000.51-2016系統(tǒng)與軟件工程系統(tǒng)與軟件質(zhì)量要求和評價(SQuaRE)第51部分:就緒可

用軟件產(chǎn)品(RUSP)的質(zhì)量要求和測試細(xì)則

GJB/Z141-2004軍用軟件測試指南

3術(shù)語和定義

GB/T11457和GB/T9386確定的以及下列術(shù)語和定義適用于本文件。

3.1嵌入式軟件

嵌入式軟件,是指專門設(shè)計用于控制、監(jiān)視、或輔助操作機(jī)器和硬件設(shè)備的計算機(jī)程序。通常嵌

入在設(shè)備內(nèi)部,為設(shè)備提供智能和自動化功能。

3.2嵌入式系統(tǒng)

嵌入式系統(tǒng),是以應(yīng)用為中心、以計算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、功能、可靠性、成本、

體積、功耗要求嚴(yán)格的專用計算機(jī)系統(tǒng)。

3.3軟件白盒測試

軟件白盒測試,又稱透明盒測試、結(jié)構(gòu)測試,程序代碼對測試人員是可見的。測試人員清楚地了解

程序內(nèi)部邏輯結(jié)構(gòu)和處理過程,檢查程序內(nèi)部結(jié)構(gòu)和路徑是否達(dá)到了預(yù)期的要求。

3.4軟件黑盒測試

1

CQAE*****—2024

軟件黑盒測試,又稱不透明盒測試、基于規(guī)格說明的測試,程序代碼對測試人員是不可見的。測試

人員不需要了解程序的內(nèi)部結(jié)構(gòu)和處理過程,只需要依據(jù)需求規(guī)格說明書等文檔中軟件功能相關(guān)的輸入、

輸出和外部處理過程來進(jìn)行測試。

3.5軟件單元測試

軟件單元測試,又稱軟件模塊測試,在計算機(jī)編程中,針對軟件單元(軟件設(shè)計的最小單位)來進(jìn)

行正確性檢驗的測試工作。單元測試是在軟件開發(fā)過程中要進(jìn)行的最低級別的測試活動,軟件的獨立單

元將在與程序的其他部分相隔離的情況下進(jìn)行測試。

3.6單元集成測試

單元集成測試,又稱軟件組裝測試,依據(jù)軟件概要設(shè)計說明對計算機(jī)軟件部件進(jìn)行的測試,集成測

試主要關(guān)注軟件單元間的接口以及集成后部件的外部特性。

3.7邏輯覆蓋率

邏輯覆蓋率是單元測試的一種用例充分性度量,描述程序中源代碼被測試的比例和程度,常見的覆

蓋率標(biāo)準(zhǔn)包括:語句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋、修正的判定條件覆蓋、條件組合覆蓋、

路徑覆蓋等。

3.8語句覆蓋

語句覆蓋是指通過設(shè)計足夠多的測試用例,使得被測程序中每一個可執(zhí)行語句至少執(zhí)行一次。

3.9判定覆蓋

判定覆蓋,又稱分支覆蓋或判斷覆蓋,是指通過設(shè)計足夠多的測試用例,使得程序中每個判定的取

真分支和取假分支至少執(zhí)行一次。滿足了判定覆蓋的測試用例集一定滿足語句覆蓋。

3.10條件覆蓋

條件覆蓋是指通過設(shè)計足夠多的測試用例,使得程序中每個判定的每個條件的真值和假值至少執(zhí)行

一次。

3.11判定/條件覆蓋

判定/條件覆蓋是指通過設(shè)計足夠多的測試用例,使得程序中每個判定的每個條件的真值和假值至

少執(zhí)行一次,同時每個判定的取真分支和取假分支至少執(zhí)行一次。滿足了判定/條件覆蓋就一定滿足判

定覆蓋和條件覆蓋。

3.12修正的條件判定覆蓋(MC/DC)

修正的條件判定覆蓋(Modifiedcondition/decisioncoverage,簡稱MC/DC)是指通過執(zhí)行足夠多的

測試用例,使得程序除了滿足判定/條件覆蓋,還要求判定中的每一個條件都被證明可以獨立影響判定

的輸出。滿足了MC/DC覆蓋就一定滿足判定/條件覆蓋。

3.13條件組合覆蓋

條件組合覆蓋是指通過設(shè)計足夠多的測試用例,使得程序中每個判定的所有可能的條件取值組合至

少執(zhí)行一次。滿足了條件組合覆蓋就一定滿足修正的條件/判定覆蓋。

I

CQAE*****—2024

3.14路徑覆蓋

路徑覆蓋是指通過設(shè)計足夠多的測試用例,覆蓋程序中所有可能的路徑。

3.15基本路徑覆蓋

基本路徑覆蓋是指在程序控制流圖的基礎(chǔ)上,通過分析程序控制流圖的環(huán)路復(fù)雜度,導(dǎo)出基本可執(zhí)

行路徑的集合,然后據(jù)此設(shè)計測試用例,并且設(shè)計出的測試用例要保證被測程序的每一條可執(zhí)行語句至

少執(zhí)行一次。

3.16控制流圖

控制流圖也叫控制流程圖,是一個過程或程序的抽象表現(xiàn),是用在編譯器中的一個抽象數(shù)據(jù)結(jié)構(gòu),

由編譯器在內(nèi)部維護(hù),代表了一個程序執(zhí)行過程中會遍歷到的所有路徑。用圖的形式表示一個過程內(nèi)所

有基本塊執(zhí)行的可能流向,也能反映一個過程的實時執(zhí)行過程。

3.17LCSAJ密度

LCSAJ密度,是指每行代碼被多少個LCSAJ所包含的度量。用于評估代碼復(fù)雜度和可靠性的指標(biāo),

通過計算每一個代碼被LCSAJ包含的次數(shù)來得出。

4嵌入式軟件白盒測試方法

嵌入式軟件白盒測試是指通過文檔審查、靜態(tài)代碼分析、代碼審查、代碼走查、邏輯測試和單元集

成測試等手段對嵌入式軟件的結(jié)構(gòu)測試、邏輯測試或基于程序的測試,了解程序的內(nèi)部結(jié)構(gòu),并根據(jù)內(nèi)

部構(gòu)造設(shè)計測試用例。

4.1文檔審查

文檔審查是依據(jù)軟件開發(fā)文檔編寫要求,開展針對軟件白盒測試依據(jù)的軟件文檔進(jìn)行審核,如概要

設(shè)計說明、詳細(xì)設(shè)計說明等。

文檔審查的具體要求包括:

1)審查軟件文檔種類是否齊全,如是否包括軟件需求規(guī)格說明、軟件概要設(shè)計說明、軟件詳細(xì)設(shè)

計說明等;

2)審查軟件文檔內(nèi)容是否完整,如功能描述是否完整,軟件單元描述是否完整,數(shù)據(jù)流、控制流

和接口等描述是否清晰等;

3)審查軟件文檔描述是否準(zhǔn)確,如文檔內(nèi)容是否正確、準(zhǔn)確、可測試,文檔描述是否存在二義性、

錯別字等;

4)審查軟件文檔格式是否規(guī)范;

5)審查軟件文檔是否文文一致、設(shè)計文件與軟件程序邏輯相符。

為適應(yīng)不同軟件白盒測試文檔的審查,需要編制不同的文檔檢查單。同時應(yīng)考慮嵌入式軟件的開發(fā)

和應(yīng)用環(huán)境的具體要求。

文檔檢查要求見附錄A。

4.2靜態(tài)代碼分析

3

CQAE*****—2024

靜態(tài)代碼分析,又稱靜態(tài)分析,從被測代碼語法、結(jié)構(gòu)、過程、接口等方面著手,發(fā)現(xiàn)被測程序的

缺陷,驗證被測程序的質(zhì)量。靜態(tài)分析通常是使用代碼掃描工具來進(jìn)行的,代碼掃描工具內(nèi)部集成了靜

態(tài)代碼分析規(guī)則集,用于掃描和找出代碼的不符合項。

通過靜態(tài)分析對被測程序進(jìn)行質(zhì)量檢查,為其他人了解被測程序結(jié)構(gòu)以及復(fù)雜程度提供了快速概覽。

靜態(tài)分析的內(nèi)容通常包括程序結(jié)構(gòu)分析、數(shù)據(jù)結(jié)構(gòu)分析、控制流分析、數(shù)據(jù)流分析、接口分析、表達(dá)式

分析、語言使用分析、代碼度量指標(biāo)分析等,具體分析內(nèi)容見附錄B.1、B.2。

靜態(tài)代碼分析的重要工作之一就是統(tǒng)計被測代碼的度量元,確認(rèn)代碼質(zhì)量度量元是否符合要求。代

碼質(zhì)量度量的主要目標(biāo)是控制代碼的復(fù)雜度,使得代碼具有更好的可讀性、可重用性、可維護(hù)性等。一

般情況下,代碼度量通過工具獲取一組軟件的度量值,以衡量其代碼的復(fù)雜性和可維護(hù)性。代碼度量常

見的度量元包括:模塊行數(shù)、注釋率、扇入數(shù)、扇出數(shù)、圈復(fù)雜度、循環(huán)嵌套層數(shù)等,通常指標(biāo)要求內(nèi)

容見附錄B.3。

4.3代碼審查

代碼審查是一種對嵌入式系統(tǒng)中的代碼進(jìn)行細(xì)致分析和評估的過程。目的是確保代碼的質(zhì)量和安全

性,以及符合規(guī)范和最佳實踐。代碼審查主要從兩個方面進(jìn)行,一是合規(guī)性的審查,主要參考的依據(jù)為

各類通用規(guī)范、行業(yè)標(biāo)準(zhǔn)以及企業(yè)內(nèi)部的規(guī)范性文檔。二是符合性的審查,主要參考該項目的各種文檔

包括合同、需求、設(shè)計等內(nèi)容,通過軟件測試工具對代碼進(jìn)行規(guī)則掃描的同時加以人工審查。工作內(nèi)容

上包含編碼規(guī)范、代碼邏輯、程序結(jié)構(gòu)、需求滿足四個審查維度。具體的內(nèi)容如下:

1)編碼規(guī)范的檢查:根據(jù)編碼規(guī)范,對程序的編碼進(jìn)行符合性檢查。這個過程需要確定編碼規(guī)范

的檢查標(biāo)準(zhǔn)。確定測試工具并使用工具掃描,掃描結(jié)果應(yīng)經(jīng)過人工核實確認(rèn);最后需要對編碼規(guī)范問題

進(jìn)行分類、統(tǒng)計和量化分析;

2)代碼邏輯審查:審查程序代碼的條件判別、控制流程、數(shù)據(jù)處理等是否滿足設(shè)計要求。必要時

要對算法的可行性進(jìn)行推理驗證;

3)程序結(jié)構(gòu)審查:依據(jù)設(shè)計文檔,審查程序代碼的結(jié)構(gòu)設(shè)計,包括程序結(jié)構(gòu)設(shè)計和數(shù)據(jù)結(jié)構(gòu)設(shè)計,

接口設(shè)計,在程序設(shè)計層發(fā)現(xiàn)問題;

4)需求滿足審查:依據(jù)需求文檔及其他相關(guān)資料包括合同以及行業(yè)要求,審查程序代碼的具體功

能實現(xiàn),必要時要求對具體算法進(jìn)行推理以驗證該算法是否能夠滿足需求。

需要注意的是在軟件靜態(tài)測試開展的代碼審查時,應(yīng)根據(jù)軟件的特點及審查內(nèi)容,確定審查所用的

代碼審查單,通常不同編程語言的代碼審查單要求內(nèi)容見附錄C。

4.4代碼走查

代碼走查是由測試和開發(fā)人員共同組成走查小組以人腦模擬計算機(jī),沿程序邏輯執(zhí)行測試用例,形

成對代碼的集體闡述和理解,查找代碼中可能存在的缺陷。代碼走查的通常要求如下:

1)成立走查小組,集體對代碼進(jìn)行閱讀討論,集體扮演人腦計算機(jī)角色對代碼進(jìn)行走查;

2)針對需要走查的代碼,根據(jù)流程圖和代碼分支,設(shè)計具有代表性的測試用例,覆蓋走查內(nèi)容,

測試用例需明確輸入條件、走查步驟和執(zhí)行結(jié)果;

3)代碼走查過程應(yīng)具有完整的走查記錄,記錄測試用例執(zhí)行過程中每一步驟的走查結(jié)果。

4.5邏輯測試

邏輯測試是測試程序邏輯結(jié)構(gòu)的合理性、實現(xiàn)的正確性。通過對代碼控制流所表達(dá)出來的邏輯結(jié)構(gòu)

的遍歷,實現(xiàn)對代碼不同程度的覆蓋測試。邏輯測試應(yīng)由測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,

設(shè)計或選擇測試用例,對程序所有邏輯路徑進(jìn)行測試,通過在不同點檢查程序的狀態(tài),確定實際的狀態(tài)

是否與預(yù)期的狀態(tài)一致。邏輯測試一般需考慮進(jìn)行:

1)語句覆蓋;

2)判定覆蓋;

I

CQAE*****—2024

3)條件覆蓋;

4)判定/條件覆蓋;

5)條件組合覆蓋;

6)修正的判定/條件覆蓋;

7)路徑覆蓋。

單元級別的邏輯測試,可以借助單元測試工具便捷地實現(xiàn)各種覆蓋率信息的獲取,具體詳見附錄D。

4.6單元集成測試

單元集成測試是在單元測試之后,將多個已經(jīng)通過單元測試的模塊組合在一起進(jìn)行測試。目標(biāo)是驗

證這些模塊能夠正確地協(xié)同工作。單元集成測試可以通過測試整個軟件的不同組件之間的交互來發(fā)現(xiàn)可

能存在的問題,例如接口錯誤、數(shù)據(jù)傳遞錯誤等。單元集成測試需要確保各個模塊能夠正確地集成,并

且系統(tǒng)的整體功能能夠按照預(yù)期工作。單元集成測試的方法一般包括:一次性集成測試方法、自頂向下

集成測試方法、自底向上集成測試方法、混合集成測試方法,具體描述如下:

1)一次性集成測試方法:將經(jīng)過單元測試的所有單元一次性進(jìn)行集成,是一種非增量式的集成方

法。集成的結(jié)果是整個軟件,以驗證整個軟件的功能和性能。這種方法能夠快速驗證軟件是否正確實現(xiàn)

了所需的功能性能等指標(biāo),但當(dāng)測試過程出現(xiàn)缺陷時,不容易對缺陷進(jìn)行定位和修復(fù);

2)自頂向下集成測試方法:根據(jù)軟件的模塊結(jié)構(gòu)圖,按照調(diào)用層次從高到低的順序?qū)δK進(jìn)行集

成。也就是從最頂層模塊(往往為main函數(shù))向下逐步集成,并在集成的過程中進(jìn)行測試,直至組裝成

目標(biāo)系統(tǒng)。這種方法往往適用于控制類的模塊集合,由上層的控制模塊逐漸集成下層的執(zhí)行模塊,以驗

證控制邏輯的有效性,同時驗證執(zhí)行狀態(tài)和結(jié)果的獲取及處理邏輯的有效性;

3)自底向上集成測試方法:根據(jù)軟件的模塊結(jié)構(gòu)圖,按照調(diào)用層次從低到高的順序?qū)δK進(jìn)行集

成。也就是從最底層模塊(沒有再調(diào)用其他非庫模塊的模塊)向上逐步集成,并在集成的過程中進(jìn)行測

試,直至組裝成目標(biāo)系統(tǒng)。這種方法往往適用于執(zhí)行類的模塊集合,即最底層的模塊往往實現(xiàn)接口數(shù)據(jù)

收發(fā)、文件讀寫、數(shù)據(jù)處理計算等相關(guān)功能,應(yīng)首先驗證執(zhí)行單元模塊本身的正確性,再向上逐漸集成,

以驗證底層執(zhí)行模塊調(diào)用場景、執(zhí)行控制等邏輯的正確性;

4)混合集成測試方法:混合集成是一種結(jié)合多種集成方法的綜合性集成方法。在混合集成中,可

以根據(jù)具體需求和情況,靈活選擇自頂向下集成、自底向上集成,甚至是一次性集成的組合方式。通過

混合集成,可以充分利用不同方法的優(yōu)勢,有效地發(fā)現(xiàn)和解決問題,提高測試的全面性和效率。混合集

成,可以首先從主模塊開始,逐步集成整個程序的控制邏輯框架。

具體的單元集成測試方法示例見附錄E。

5軟件白盒測試過程

5.1測試需求分析與策劃

本階段主要是根據(jù)軟件研制過程中產(chǎn)生的相關(guān)文檔,進(jìn)行文檔審查,確定需要測試的內(nèi)容;確定測

試的充分性要求;提出測試的基本方法;確定測試的資源和技術(shù)需求;制定測試資源計劃和測試進(jìn)度計

劃;以及確定交付工作產(chǎn)品。

5.1.1輸入條件

開展軟件測試需求分析與策劃活動的輸入應(yīng)包括:

1)軟件白盒測試要求、合同或其他等效文件;

2)軟件開發(fā)文檔,例如,軟件詳細(xì)設(shè)計說明、軟件概要設(shè)計說明、接口設(shè)計說明等;

5

CQAE*****—2024

3)軟件運(yùn)行資源;

4)軟件源代碼、可執(zhí)行代碼;

5)建立受控庫和產(chǎn)品庫;

6)測試所需的硬件、軟件環(huán)境。

5.1.2活動要求

軟件測試需求分析與策劃要求一般包括:

1)確定項目測試內(nèi)容覆蓋的范圍及范圍所要求的覆蓋程度;

2)確定測試通過準(zhǔn)則和結(jié)束條件;

3)確定測試策略、技術(shù)和方法;

4)確定測試工具;

5)確定測試資源要求,包括軟硬件設(shè)備、環(huán)境條件、人員數(shù)量和技能等要求;

6)進(jìn)行項目風(fēng)險分析,列舉項目可能遇到的風(fēng)險,并制定風(fēng)險的緩解措施或應(yīng)急措施;

7)確定測試進(jìn)度及人員安排;

8)編寫軟件白盒測試計劃。

5.1.3階段輸出

1)測試環(huán)境確認(rèn);

2)測試對象和范圍確認(rèn);

3)測試通過準(zhǔn)則和結(jié)束條件確認(rèn);

4)測試策略、技術(shù)和方法確認(rèn);

5)測試工具確認(rèn);

6)風(fēng)險管理確認(rèn);

7)測試進(jìn)度及人員安排確認(rèn);

8)軟件白盒測試計劃。

5.2測試設(shè)計與實現(xiàn)

本階段主要是開展軟件測試設(shè)計與實現(xiàn)需要編制測試用例、設(shè)計測試數(shù)據(jù),準(zhǔn)備測試資源,以及確

定交付工作產(chǎn)品。

5.2.1輸入條件

開展軟件測試設(shè)計與實現(xiàn)的輸入應(yīng)包括但不限于以下內(nèi)容:

1)軟件白盒測試計劃;

2)測試工具;

3)測試腳本和程序;

4)測試數(shù)據(jù)。

5.2.2活動要求

軟件測試設(shè)計與實現(xiàn)的要求一般包括:

1)測試環(huán)境建立;

2)軟件白盒測試用例設(shè)計,包括輸入、期望測試結(jié)果、測試結(jié)果評估準(zhǔn)則、執(zhí)行步驟;

3)測試腳本和程序編寫;

4)測試數(shù)據(jù)獲取和驗證;

I

CQAE*****—2024

5)根據(jù)測試資源、風(fēng)險等約束條件,確定測試用例執(zhí)行順序;

6)編寫軟件白盒測試說明。

5.2.3階段輸出

1)測試環(huán)境建立記錄;

2)軟件白盒測試用例;

3)測試腳本和程序;

4)軟件白盒測試說明。

5.3測試執(zhí)行

本階段主要是根據(jù)軟件白盒測試計劃、測試說明執(zhí)行測試,包括靜態(tài)測試中文檔審查、靜態(tài)代碼分

析、代碼審查、代碼走查邏輯測試,單元測試、單元集成測試,以及確定交付工作產(chǎn)品。

5.3.1輸入條件

開展軟件測試執(zhí)行的輸入應(yīng)包括:

1)通過評審且問題歸零的軟件白盒測試計劃、測試說明、回歸測試說明;

2)已建立并通過驗證的軟件白盒測試環(huán)境、測試數(shù)據(jù)、測試工具等;

3)被測軟件已納入配置管理。

5.3.2活動要求

軟件白盒測試執(zhí)行要求一般包括:

1)靜態(tài)測試通常先于單元測試、單元集成測試執(zhí)行;

2)文檔審查、代碼審查應(yīng)按照審查單要求逐項進(jìn)行,記錄審查情況、存在的問題等信息;

3)應(yīng)按照軟件白盒測試說明的內(nèi)容和要求執(zhí)行測試用例,如實、具體、完整地記錄測試輸入

數(shù)據(jù)、測試結(jié)果。當(dāng)測試結(jié)果有量值要求時,應(yīng)準(zhǔn)確記錄實際的量值。根據(jù)每個軟件白盒

測試用例的期望測試結(jié)果、實際測試結(jié)果和評估準(zhǔn)則,分析并判定測試結(jié)果;

4)在執(zhí)行軟件白盒測試的過程中,可根據(jù)測試的進(jìn)展情況補(bǔ)充軟件白盒測試用例,變更軟件

白盒測試說明,必要時變更軟件白盒測試計劃;

5)當(dāng)所有的軟件白盒測試用例執(zhí)行完畢,應(yīng)對軟件白盒測試的充分性進(jìn)行分析。如果發(fā)現(xiàn)軟

件白盒測試工作不足,或軟件白盒測試未達(dá)到預(yù)期要求時,可增加新的軟件白盒測試用例

或測試數(shù)據(jù),直到達(dá)到充分性要求。執(zhí)行軟件白盒測試后,變更軟件白盒測試說明,必要

時變更軟件白盒測試計劃;

6)匯總軟件白盒測試中有異議的問題,組織問題確認(rèn)評審。

5.3.3階段輸出

1)軟件白盒測試執(zhí)行記錄;

2)軟件白盒問題報告單。

5.4測試總結(jié)

本階段主要是根據(jù)軟件測試執(zhí)行情況,分析評價測試工作,總結(jié)形成測試報告,以及確定交付工作

產(chǎn)品。

5.4.1輸入條件

7

CQAE*****—2024

開展軟件白盒測試總結(jié)的輸入應(yīng)包括:

1)軟件白盒測試要求、合同或其他等效文件;

2)被測軟件開發(fā)文檔,例如,軟件源代碼、詳細(xì)設(shè)計說明、概要設(shè)計說明、接口設(shè)計說明、

數(shù)據(jù)庫設(shè)計說明等;

3)軟件白盒測試文檔,包括軟件白盒測試計劃、軟件白盒測試說明、軟件白盒測試記錄、軟

件白盒問題報告、軟件白盒回歸測試方案(如需要)。

5.4.2活動要求

軟件測試總結(jié)要求一般包括:

1)分析和評價軟件白盒測試工作,一般包括:

a)總結(jié)軟件白盒測試計劃和軟件測試說明的變化情況及其原因;

b)分析軟件白盒測試工作完成情況,包括回歸測試;

c)分析軟件白盒測試環(huán)境與軟件實際運(yùn)行環(huán)境之間的差異及其對測試結(jié)果的影響;

d)對測試異常終止情況,分析未能被測試活動充分覆蓋的范圍及其理由。

2)分析和評價被測軟件,一般包括:

a)說明被測軟件對軟件研制過程中文檔規(guī)定的軟件功能、性能、接口及質(zhì)量特性,以及

對測試需求分析過程中的測試計劃等要求的滿足情況;

b)統(tǒng)計并分析所發(fā)現(xiàn)的軟件問題,對遺留的軟件問題說明不能解決的理由,給出其可能

給軟件和系統(tǒng)帶來的影響,可能時,推薦糾正方案或方法;

c)分析軟件設(shè)計、代碼中可能存在的缺陷和風(fēng)險;

d)根據(jù)測試結(jié)果評價被測軟件,給出評價意見和改進(jìn)建議。

3)分析測試產(chǎn)生的數(shù)據(jù)和文檔;

4)編制軟件白盒測試報告;

5)應(yīng)進(jìn)行軟件白盒測試總結(jié)評審;

6)軟件白盒測試報告應(yīng)受到變更控制和版本控制。

5.4.3階段輸出

1)軟件白盒測試報告。

6測試要求

6.1靜態(tài)測試

在本階段中主要依據(jù)軟件研制的已有文檔代碼以及在測試準(zhǔn)備階段中的工作輸出對軟件進(jìn)行文檔

審查、靜態(tài)代碼分析、代碼審查、代碼走查等工作內(nèi)容。

6.1.1測試對象

靜態(tài)測試的測試對象通常包括:

1)源代碼:對源代碼進(jìn)行靜態(tài)檢查,以發(fā)現(xiàn)潛在的錯誤、代碼質(zhì)量問題、潛在的安全漏洞等。

靜態(tài)測試可以包括代碼規(guī)范的檢查、代碼風(fēng)格的評估、命名約定的遵循性檢查等;

2)軟件需求類文檔:在靜態(tài)測試中對需求文檔進(jìn)行檢查,以驗證需求的準(zhǔn)確性、一致性、規(guī)范

性和完整性。可以檢查需求規(guī)范的清晰度、可追蹤性和可測試性等方面;

I

CQAE*****—2024

3)軟件設(shè)計類文檔:對設(shè)計文檔進(jìn)行審查,以確保設(shè)計滿足功能需求、軟件架構(gòu)的合理性和可

維護(hù)性等??梢詸z查設(shè)計的一致性、模塊接口的合理性、設(shè)計模式的正確使用等方面。

6.1.2測試目的

靜態(tài)測試的測試目的是發(fā)現(xiàn)軟件開發(fā)過程中潛在的問題、錯誤和缺陷,以提高軟件的質(zhì)量和可靠性。

主要關(guān)注于代碼和相關(guān)文檔的靜態(tài)分析、評審和檢查,而不涉及實際執(zhí)行代碼。

其主要測試目的一般包括:

1)問題檢測和修復(fù):發(fā)現(xiàn)代碼中的潛在問題、錯誤和缺陷,例如語法錯誤、邏輯錯誤、代碼質(zhì)

量問題等。通過及早發(fā)現(xiàn)和修復(fù)這些問題,可以防止在軟件交付后導(dǎo)致錯誤和故障;

2)質(zhì)量改進(jìn):靜態(tài)測試可以幫助提高代碼的質(zhì)量,通過檢查代碼規(guī)范、代碼風(fēng)格、代碼復(fù)雜度

等方面,確保代碼符合最佳實踐和標(biāo)準(zhǔn)。通過分析代碼度量指標(biāo),如代碼覆蓋率、代碼重復(fù)率等;

3)需求和規(guī)范驗證:對需求和規(guī)范文檔進(jìn)行審查,以確保其準(zhǔn)確性、一致性、規(guī)范性和完整性。

通過對文檔的靜態(tài)分析和評審,可以發(fā)現(xiàn)需求中存在的準(zhǔn)確性、一致性、規(guī)范性或完整性等問題。

6.1.3進(jìn)入條件

靜態(tài)測試的進(jìn)入條件可以根據(jù)具體的項目和組織而有所不同,通常包括以下條件:

1)代碼和文檔可用:靜態(tài)測試需要訪問的源代碼、文檔和相關(guān)資料等的可用性。包括軟件項目

的源代碼、需求文檔、設(shè)計文檔、測試文檔等;

2)靜態(tài)測試工具和環(huán)境:通常需要使用特定的工具和環(huán)境來進(jìn)行代碼和文檔的分析、評審和檢

查。可以包括靜態(tài)代碼分析工具、代碼度量工具、文檔評審工具等;

3)定義的靜態(tài)測試策略和計劃:在進(jìn)行靜態(tài)測試之前,應(yīng)該制定明確的靜態(tài)測試策略和計劃。

包括確定要進(jìn)行哪些類型的靜態(tài)測試、測試的范圍和目標(biāo),以及測試的時間安排和資源分配;

4)測試人員的培訓(xùn)和準(zhǔn)備:測試人員需要具備適當(dāng)?shù)呐嘤?xùn)和準(zhǔn)備,以了解靜態(tài)測試的目的、方

法和工具。

6.1.4內(nèi)容要求

靜態(tài)測試的內(nèi)容要求主要涉及以下幾個方面:

1)代碼規(guī)范和風(fēng)格要求:應(yīng)該包括對代碼是否符合特定的編碼規(guī)范和風(fēng)格要求的檢查;

2)代碼質(zhì)量要求:需要評估代碼的質(zhì)量特征,代碼質(zhì)量要求可以根據(jù)項目的特定需求和標(biāo)準(zhǔn)進(jìn)

行定義和制定;

3)安全性要求:檢查代碼中的安全漏洞和弱點,以滿足安全性要求;

4)需求和規(guī)范要求:審查需求和規(guī)范文檔,以確保其準(zhǔn)確性、一致性、規(guī)范性和完整性。

6.1.5測試環(huán)境

靜態(tài)測試通常不需要特定的測試環(huán)境,側(cè)重于對代碼和文檔進(jìn)行分析、評審和檢查,并不涉及實際

執(zhí)行代碼。在進(jìn)行一些特定類型的靜態(tài)測試時,需要一些特定的環(huán)境或工具支持。

1)集成開發(fā)環(huán)境(IDE):通常靜態(tài)測試在開發(fā)環(huán)境中進(jìn)行。開發(fā)人員使用集成開發(fā)環(huán)境(IDE)

來編寫、編輯和管理代碼;

2)靜態(tài)代碼分析工具:靜態(tài)代碼分析工具是用于自動分析源代碼的工具;

3)代碼度量工具:代碼度量工具用于對代碼進(jìn)行度量和評估,以衡量代碼的質(zhì)量特征;

4)文檔評審工具:在進(jìn)行文檔審查時,可能使用一些專門的文檔審查工具。

6.1.6結(jié)束準(zhǔn)則

9

CQAE*****—2024

靜態(tài)測試的結(jié)束準(zhǔn)則通常是根據(jù)預(yù)先定義的目標(biāo)和條件來判斷。以下是一些常見的靜態(tài)測試結(jié)束準(zhǔn)

則:

1)達(dá)到測試覆蓋率目標(biāo):可以有不同的覆蓋范圍,例如代碼覆蓋率、文檔覆蓋率等;

2)問題解決和修復(fù):通常會發(fā)現(xiàn)代碼或文檔中的問題、錯誤或缺陷;

3)符合質(zhì)量標(biāo)準(zhǔn)和要求:確保代碼和文檔符合特定的質(zhì)量標(biāo)準(zhǔn)和要求;

4)測試時間和資源耗盡:通常有時間和資源的限制。如果測試時間和資源已經(jīng)耗盡,且已經(jīng)達(dá)

到預(yù)期的測試目標(biāo),則可以結(jié)束靜態(tài)測試;

5)測試策略和計劃完成:按照制定的測試策略和計劃,所有測試活動都已完成時,可以視為結(jié)

束靜態(tài)測試;

6)問題已閉環(huán)處理,完成回歸測試。

6.1.7階段輸出

靜態(tài)測試的階段產(chǎn)品通常是關(guān)于代碼和文檔的分析和評審結(jié)果。以下是一些常見的靜態(tài)測試階段產(chǎn)

品:

1)軟件靜態(tài)測試報告:靜態(tài)測試通常涉及對源代碼進(jìn)行分析,以檢測潛在的問題、錯誤和缺陷;

2)文檔審查內(nèi)容:在進(jìn)行文檔審查時,可能會生成文檔審查內(nèi)容,記錄了對文檔的審查結(jié)果,

包括發(fā)現(xiàn)的問題描述、問題修改和意見;

3)代碼度量和統(tǒng)計報告:使用代碼度量工具來評估代碼的質(zhì)量特征,例如代碼復(fù)雜度、代碼覆

蓋率、代碼重復(fù)率等。

6.2單元測試

本階段主要工作內(nèi)容是根據(jù)相關(guān)文檔編寫單元測試用例,執(zhí)行單元測試用例。通過動態(tài)執(zhí)行測試用

例來驗證軟件的每一個單元是否與需求及設(shè)計一致,工作難點是保證測試用例的充分性。

6.2.1測試對象

單元測試的對象是具有輸入輸出、完成特定功能、可被調(diào)用使用的最小代碼集合的軟件單元。

注:在計算機(jī)編程語言中,通常將一個函數(shù)、一個模塊、一個過程、一個子程序視為一個軟件單元。

6.2.2測試目的

驗證軟件單元是否實現(xiàn)了軟件設(shè)計規(guī)定的功能、性能、接口和其他設(shè)計約束等要求,發(fā)現(xiàn)單元內(nèi)可

能存在的錯誤,并保證代碼質(zhì)量。

6.2.3進(jìn)入條件

單元測試進(jìn)入條件如下:

1)軟件單元代碼無錯誤地通過編譯或匯編;

2)被測軟件單元已納入配置管理且受控;

3)具備與被測軟件源代碼版本對應(yīng)的文檔(軟件需求類文檔、設(shè)計類文檔等);

4)具備滿足要求的測試環(huán)境及測試工具。

6.2.4內(nèi)容要求

單元測試具體要求如下:

1)單元測試應(yīng)列表說明被測單元的清單,對單元的剪裁應(yīng)說明理由,關(guān)鍵單元、重要單元不允

許被剪裁;

I

CQAE*****—2024

2)單元測試的直接依據(jù)應(yīng)是詳細(xì)設(shè)計文檔(軟件設(shè)計說明中的詳細(xì)設(shè)計部分),被測單元清單

中應(yīng)說明文檔依據(jù)的索引;

3)應(yīng)采用靜態(tài)測試和動態(tài)白盒測試的測試方法開展單元測試;

4)一般應(yīng)在動態(tài)測試前開展靜態(tài)測試,靜態(tài)測試發(fā)現(xiàn)的問題修改后再進(jìn)行動態(tài)測試;

5)在動態(tài)測試中,應(yīng)設(shè)計測試用例逐項驗證軟件單元的功能、性能、接口等設(shè)計要求;

6)測試用例的輸入應(yīng)覆蓋單元接口輸入變量的有效值、無效值和邊界值;

7)單元測試覆蓋率要求如下:

(1)所有單元的語句覆蓋率和分支覆蓋率應(yīng)達(dá)到100%;

(2)關(guān)鍵單元的MC/DC覆蓋率應(yīng)達(dá)到100%;

(3)對于覆蓋率未達(dá)到指標(biāo)要求的單元,應(yīng)說明原因,并通過附加驗證。

6.2.5測試環(huán)境

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論