作者 |劉艷青上海控安安全測(cè)評(píng)部測(cè)試經(jīng)理
版塊 |鑒源論壇· 觀通
引語(yǔ):第一篇對(duì)軌交信號(hào)系統(tǒng)從鐵路系統(tǒng)分類(lèi)和組成、城市軌交系統(tǒng)分類(lèi)和組成、城市軌交系統(tǒng)功能、城市軌交系統(tǒng)發(fā)展方面做了介紹;第二篇從信號(hào)基礎(chǔ)的講述了信號(hào)機(jī)、轉(zhuǎn)轍機(jī)、軌道電路等設(shè)置原則和含義;第三篇從軌交系統(tǒng)的安全性設(shè)計(jì)的必要性、控制設(shè)計(jì)、需求分析以及實(shí)現(xiàn)等方面進(jìn)行分析;第四篇重點(diǎn)從聯(lián)鎖系統(tǒng)的原理方面進(jìn)行闡述;第五篇從軌交軟件測(cè)試過(guò)程管理分析;本文將從軌交軟件的測(cè)試技術(shù)入手進(jìn)行講解。
01
軟件開(kāi)發(fā)過(guò)程簡(jiǎn)介
基本活動(dòng):為了保證開(kāi)發(fā)能夠?qū)崿F(xiàn)任務(wù)的要求而必須完成的工作活動(dòng)。
支持活動(dòng):為了保證開(kāi)發(fā)過(guò)程按照既定的體系要求而開(kāi)展的管理活動(dòng)。
其他管理活動(dòng):為了確保軟件開(kāi)發(fā)過(guò)程的風(fēng)險(xiǎn)、保密、安全,與利益相關(guān)方、體系持續(xù)改進(jìn)等工作而需要實(shí)施的管理活動(dòng)。
圖 1
項(xiàng)目策劃:
承辦方接收到交辦方的軟件研制任務(wù)書(shū)時(shí)為軟件立項(xiàng),應(yīng)為實(shí)施本規(guī)范所要求的活動(dòng)和軟件研制任務(wù)書(shū)中其他有關(guān)軟件需求所要求的各項(xiàng)活動(dòng)制定軟件開(kāi)發(fā)計(jì)劃。該計(jì)劃應(yīng)與系統(tǒng)級(jí)策劃一致,計(jì)劃應(yīng)以軟件項(xiàng)目估計(jì)為基礎(chǔ)。計(jì)劃包括估計(jì)工作產(chǎn)品和任務(wù)的屬性,確定需要的資源,協(xié)商承諾,產(chǎn)生進(jìn)度表,以及標(biāo)識(shí)和分析項(xiàng)目風(fēng)險(xiǎn),制定測(cè)量、數(shù)據(jù)管理、評(píng)審、和利益相關(guān)方的協(xié)調(diào)計(jì)劃等。
為了制定軟件開(kāi)發(fā)計(jì)劃可能有必要反復(fù)進(jìn)行這些活動(dòng)。根據(jù)軟件開(kāi)發(fā)計(jì)劃提供實(shí)施和控制軟件項(xiàng)目活動(dòng)的基礎(chǔ),而軟件項(xiàng)目活動(dòng)處理對(duì)項(xiàng)目交辦方的承諾。項(xiàng)目進(jìn)行中,軟件開(kāi)發(fā)計(jì)劃常因下列情況而需修訂:需求和承諾更改、不準(zhǔn)確的估計(jì)、糾正措施和過(guò)程更改。
其結(jié)果為承辦方負(fù)責(zé)完成的軟件開(kāi)發(fā)計(jì)劃,開(kāi)發(fā)計(jì)劃中應(yīng)包括估計(jì)報(bào)告。軟件質(zhì)量保證計(jì)劃和軟件配置管理計(jì)劃一般合并在軟件開(kāi)發(fā)計(jì)劃中,必要時(shí),可以分別編制,但應(yīng)在軟件開(kāi)發(fā)計(jì)劃中說(shuō)明理由。
支持活動(dòng):
a) 軟件配置管理;
b) 軟件產(chǎn)品評(píng)價(jià);
c) 軟件質(zhì)量保證;
d) 糾正措施;
e) 評(píng)審;
f) 測(cè)量與分析。
其他管理活動(dòng):
a) 風(fēng)險(xiǎn)管理;
b) 保密有關(guān)活動(dòng);
c) 分承辦方管理(即分承制方管理);
d) 與獨(dú)立驗(yàn)證和確認(rèn)機(jī)構(gòu)的聯(lián)系;
e) 與相關(guān)開(kāi)發(fā)方的協(xié)調(diào);
f) 項(xiàng)目過(guò)程的改進(jìn)。
這些活動(dòng)可以重疊或迭代應(yīng)用,不必按上面列出的次序執(zhí)行。針對(duì)具體軟件,可對(duì)這些活動(dòng)進(jìn)行裁剪,軟件開(kāi)發(fā)過(guò)程及對(duì)這些活動(dòng)進(jìn)行的裁剪,各單位組織級(jí)應(yīng)制定裁剪指南,項(xiàng)目級(jí)應(yīng)在軟件開(kāi)發(fā)計(jì)劃中描述。
02
軟件內(nèi)部測(cè)試
2.1 如何做軟件內(nèi)部測(cè)試
Why:
軟件測(cè)試的目的是為了節(jié)省后期修改軟件問(wèn)題資金和進(jìn)度。
第一,是為了確認(rèn)軟件的質(zhì)量是否滿(mǎn)足設(shè)計(jì)要求,一方面是為了確認(rèn)軟件做了期望做的事情;另一方面是確認(rèn)軟件是否以正確的方式來(lái)做了事情;(做了三級(jí)中規(guī)定的驗(yàn)證和確認(rèn)的測(cè)試部分的工作);
第二,提供質(zhì)量信息,為開(kāi)發(fā)組提供質(zhì)量相關(guān)信息;
第三,對(duì)軟件和開(kāi)發(fā)進(jìn)行評(píng)價(jià)。
When:
軟件測(cè)試一般是在完成軟件實(shí)現(xiàn)后進(jìn)行測(cè)試,但根據(jù)具體實(shí)施,最佳實(shí)踐是在軟件實(shí)現(xiàn)過(guò)程中完成了產(chǎn)品模塊的編碼后,及時(shí)進(jìn)行測(cè)試工作能有效提高軟件測(cè)試效率,集成測(cè)試工作可結(jié)合軟件代碼。
What:
軟件測(cè)試就是為了驗(yàn)證和確認(rèn)軟件是否按照設(shè)計(jì)要求完成了既定的要求。
Who:
單元測(cè)試和集成測(cè)試工作一般由軟件開(kāi)發(fā)人員進(jìn)行驗(yàn)證工作,配置項(xiàng)合格性測(cè)試和系統(tǒng)合格性測(cè)試一般由專(zhuān)業(yè)的測(cè)試隊(duì)伍進(jìn)行軟件測(cè)試,配置項(xiàng)合格性測(cè)試由項(xiàng)目開(kāi)發(fā)團(tuán)隊(duì)的測(cè)試組織進(jìn)行,系統(tǒng)合格性測(cè)試一般由軟件任務(wù)下達(dá)方組織實(shí)施。
How:
單元測(cè)試一般要開(kāi)展代碼審查、靜態(tài)分析、邏輯測(cè)試、功能測(cè)試、邊界測(cè)試;
集成測(cè)試一般要開(kāi)展功能測(cè)試、接口測(cè)試和邏輯測(cè)試;
配置項(xiàng)合格性測(cè)試一般要開(kāi)展文檔審查、代碼審查、靜態(tài)分析、功能測(cè)試、性能測(cè)試、接口測(cè)試和余量測(cè)試、邊界測(cè)試、人機(jī)界面測(cè)試、安全性測(cè)試、恢復(fù)性測(cè)試和安裝性測(cè)試等;系統(tǒng)合格性測(cè)試要求和配置項(xiàng)合格性測(cè)試的類(lèi)型基本一致。
圖 2
2.2 測(cè)試的工作流程
確定測(cè)試的對(duì)象和測(cè)試目的 →明確測(cè)試依據(jù) →確定進(jìn)入時(shí)機(jī) →確定測(cè)試類(lèi)型和測(cè)試策略 →規(guī)范測(cè)試步驟 →明確測(cè)試的技術(shù)要求 →建立結(jié)束準(zhǔn)則 →確定測(cè)試工作產(chǎn)品。
03
單元測(cè)試技術(shù)的要求
3.1 總體要求
a)應(yīng)建立測(cè)試軟件單元的環(huán)境,如樁模塊和驅(qū)動(dòng)模塊;
b)對(duì)軟件設(shè)計(jì)文檔規(guī)定的軟件單元的功能、性能、接口等逐項(xiàng)進(jìn)行測(cè)試;
c)軟件單元的每個(gè)特性應(yīng)至少被一個(gè)正常測(cè)試用例和一個(gè)異常測(cè)試用例覆蓋;
d)測(cè)試用例的輸入應(yīng)至少包括有效等價(jià)類(lèi)值、無(wú)效等價(jià)類(lèi)值和邊界數(shù)據(jù)值;
e)滿(mǎn)足語(yǔ)句覆蓋率要達(dá)到100%的要求;
f)滿(mǎn)足分支覆蓋率要達(dá)到100%的要求;
g)滿(mǎn)足輸出數(shù)據(jù)及其格式的要求。
3.2 單元測(cè)試-代碼審查的要求
a)代碼審查應(yīng)是人工閱讀代碼的結(jié)果,可以借助輔助工具予以輔助分析,但不應(yīng)以工具掃描結(jié)果作為代碼審查結(jié)果;
b)代碼審查的內(nèi)容包括:程序代碼的控制流程、數(shù)據(jù)處理是否滿(mǎn)足設(shè)計(jì)要求;程序代碼的編程語(yǔ)言使用是否正確、規(guī)范、安全、可靠;程序代碼是否滿(mǎn)足軟件可靠性安全性設(shè)計(jì)準(zhǔn)則的相關(guān)要求;
c)代碼審查應(yīng)建立代碼審查單,依據(jù)使用語(yǔ)言、軟件特點(diǎn),細(xì)化代碼審查內(nèi)容,檢查的內(nèi)容包括:命名規(guī)則檢查、代碼格式檢查、內(nèi)存使用檢查、表達(dá)式判斷邏輯檢查、程序可讀性檢查、程序多余物檢查、寄存器使用情況檢查等內(nèi)容。
表 1
3.3 單元測(cè)試-靜態(tài)分析的要求
靜態(tài)分析應(yīng)明確分析工具的名稱(chēng)和版本。
靜態(tài)分析的內(nèi)容包括:程序結(jié)構(gòu)分析;數(shù)據(jù)結(jié)構(gòu)分析;控制流程分析;程序質(zhì)量度量。
靜態(tài)分析結(jié)果的使用:為代碼審查提供必要的信息為單元測(cè)試提供必要的信息;提供程序代碼質(zhì)量度量信息。
質(zhì)量度量指標(biāo)要求:模塊的平均圈復(fù)雜度不大于10模塊圈復(fù)雜度大于20的比例不大于20%;模塊最大圈復(fù)雜度不大于80;源程序的總注釋率不小于20%模塊的平均規(guī)模不大于200行。
根據(jù)軟件編程語(yǔ)言的具體特點(diǎn)開(kāi)展控制流分析、數(shù)據(jù)流分析、表達(dá)式分析。
表 2
3.4 單元測(cè)試—邏輯測(cè)試
a)語(yǔ)句覆蓋率(SC)測(cè)試;
b)分支覆蓋率(DC)測(cè)試;
邏輯測(cè)試主要通過(guò)動(dòng)態(tài)運(yùn)行測(cè)試用例,統(tǒng)計(jì)測(cè)試用例的運(yùn)行路徑,計(jì)算覆蓋率。
語(yǔ)句覆蓋率是指在運(yùn)行完成所有設(shè)計(jì)的測(cè)試用例后,軟件程序?qū)γ恳粭l語(yǔ)句的覆蓋百分比;
注:語(yǔ)句覆蓋率 = (至少被執(zhí)行一次的語(yǔ)句數(shù)量)/(可執(zhí)行的語(yǔ)句總數(shù))
分支覆蓋率是指在運(yùn)行完成所有設(shè)計(jì)的測(cè)試用例后,使得程序中每個(gè)判斷至少取真分支和假分支一次,即判斷的真假值均曾被滿(mǎn)足的百分比。
注:分支覆蓋率=(判定結(jié)果被評(píng)價(jià)的次數(shù))/(判定結(jié)果的總數(shù))
3.5 單元測(cè)試—結(jié)束準(zhǔn)則
a)軟件功能與設(shè)計(jì)說(shuō)明一致;
b)控制流程正確;
c)語(yǔ)句覆蓋率和分支覆蓋率達(dá)到規(guī)定的覆蓋率;
d)質(zhì)量保證完成對(duì)內(nèi)部測(cè)試的文檔、程序是否符合規(guī)范的要求等符合性檢查;
e)單元測(cè)試文檔、代碼等配置項(xiàng)進(jìn)入受控庫(kù)管理。
04
總 結(jié)
本文從為什么要做測(cè)試、什么時(shí)候是合適的介入測(cè)試的時(shí)機(jī)、如何做單元測(cè)試幾個(gè)方面介紹了測(cè)試技術(shù)。測(cè)試不是一蹴而就,也不是可以跟著理論走一遍下了,就可以很好地做好測(cè)試這門(mén)技術(shù)。需要測(cè)試人員結(jié)合測(cè)試?yán)碚?,系統(tǒng)全面地了解項(xiàng)目,多方面地挖掘測(cè)試本身的側(cè)重點(diǎn),結(jié)合項(xiàng)目的實(shí)際,挖掘項(xiàng)目自身的風(fēng)險(xiǎn)點(diǎn)。
審核編輯 黃宇
-
軟件測(cè)試
+關(guān)注
關(guān)注
2文章
226瀏覽量
18544
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論