版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公樓層日常保潔服務(wù)合同協(xié)議2025
- 古詩詞的特點及其美學(xué)特征
- 2025年招錄政府專職消防員筆試真題題庫多選題100道題及答案
- 2025年烏魯木齊一模試卷及答案
- 2025年部隊管理案例題庫及答案
- 英語考試題目解讀及答案
- 2025年編程理論知識題庫及答案
- 劉橋小學(xué)一模試卷及答案
- 文化遺產(chǎn)寫作真題及答案
- 高校教師合同范本
- 系統(tǒng)分析師技術(shù)面試題與解析
- 2025陜煤集團(tuán)神南產(chǎn)業(yè)發(fā)展有限公司社會招聘(120人)參考筆試試題及答案解析
- 不良事件上報中的“非懲罰性”文化推廣策略研究
- 2026年山西省政府采購從業(yè)人員核心備考題庫(含典型題、重點題)
- 2026浙江大學(xué)黨政管理人員、專職輔導(dǎo)員和行政專員招聘80人考試筆試備考試題及答案解析
- 2025年考研英語閱讀理解專項訓(xùn)練(附答案)
- 無人機(jī)打藥合同范本
- 已婚男人分手協(xié)議書
- 成人失禁相關(guān)性皮炎的預(yù)防與護(hù)理試題及答案
- 2025年GCP考試題庫及答案(網(wǎng)校專用)
- 2025年社區(qū)警務(wù)規(guī)范考試題庫及答案
評論
0/150
提交評論