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