国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

EN50128在鐵路信號(hào)安全軟件測試中的應(yīng)用研究

2010-07-30 07:01:20徐登科朱艷軍
鐵道通信信號(hào) 2010年11期
關(guān)鍵詞:軟件測試設(shè)計(jì)者完整性

徐登科 王 鯤 朱艷軍 劉 雋

中國鐵道科學(xué)研究院通信信號(hào)研究所,100081 北京

*研究實(shí)習(xí)員 **助理研究員

1 歐洲鐵路標(biāo)準(zhǔn) EN50128

歐洲鐵路標(biāo)準(zhǔn)是歐洲電工標(biāo)準(zhǔn)委員會(huì) (CENELEC)根據(jù)列車安全控制系統(tǒng)的技術(shù)條件制定的一系列安全相關(guān)系統(tǒng)開發(fā)和評(píng)估的參考標(biāo)準(zhǔn)。EN50128標(biāo)準(zhǔn)是相關(guān)系列標(biāo)準(zhǔn)的一部分,它對(duì)鐵路控制和防護(hù)設(shè)備中使用的可編程電子系統(tǒng)的軟件開發(fā)和安全保障進(jìn)行了總體規(guī)范,并為開發(fā)不同安全完整性等級(jí)的系統(tǒng)軟件提供了相應(yīng)的技術(shù)和措施,適用于鐵路控制和防護(hù)系統(tǒng)開發(fā)和實(shí)現(xiàn)的軟件以及軟件和系統(tǒng)之間。主要內(nèi)容包括軟件安全完整性等級(jí)、軟件生命周期各階段的活動(dòng)細(xì)則和文檔規(guī)范,以及人員的分配和職責(zé)等。各階段的活動(dòng)包括軟件需求規(guī)范、軟件結(jié)構(gòu)、軟件設(shè)計(jì)與實(shí)現(xiàn)、軟件驗(yàn)證與測試、軟/硬件集成、軟件確認(rèn)、軟件評(píng)估、軟件質(zhì)量保障、軟件維護(hù)和軟件配置等。

在 EN50128標(biāo)準(zhǔn)中,為了確保開發(fā)各階段輸入條件的合理性與一致性,以及產(chǎn)品輸出的正確性與安全性,必須對(duì)某一特定階段的產(chǎn)品進(jìn)行測試。測試前應(yīng)先明確軟件安全完整性等級(jí),才能采取相應(yīng)的安全措施。在 EN50128中,將軟件安全完整性等級(jí)從 0級(jí)到 4級(jí)劃分為 5個(gè)等級(jí)。軟件安全完整性等級(jí)越高,軟件失效后的危險(xiǎn)性影響也就越大,軟件開發(fā)時(shí)所應(yīng)采取的安全保障技術(shù)和措施也就越復(fù)雜。因此,軟件安全完整性等級(jí)的高低,直接影響系統(tǒng)的安全性和資源的合理應(yīng)用。EN50128中并沒有給出哪些風(fēng)險(xiǎn)應(yīng)選取哪一級(jí)別的軟件安全完整性等級(jí),這就需要在確定軟件安全完整性等級(jí)時(shí),應(yīng)遵循 EN50126中獲得安全完整性等級(jí)的一般過程,并綜合考慮軟件應(yīng)用的特性、安全性功能的范圍劃分,以及社會(huì)經(jīng)濟(jì)等諸多因素。

另外,按照 EN50128規(guī)定的條件,需對(duì)軟件開發(fā)的每個(gè)階段進(jìn)行安全控制,要求各階段都有定義、活動(dòng)、審查,并形成文檔以供交流、備查和維護(hù)。因此,需要在軟件質(zhì)量保障計(jì)劃中明確所選取的軟件開發(fā)模型,以此來描述軟件開發(fā)的全部過程、活動(dòng)和任務(wù)。雖然 EN50128中推薦了 2種典型的模型,但是在軟件開發(fā)時(shí)還要根據(jù)自身項(xiàng)目和開發(fā)的特點(diǎn),在 EN50128的指導(dǎo)下設(shè)計(jì)出簡單、實(shí)用的軟件開發(fā)模型。

為了說明測試活動(dòng),以軟件安全完整性等級(jí)SIL4為例,根據(jù)軟件測試在軟件開發(fā)周期中的活動(dòng)分布情況,將軟件測試的主要活動(dòng)分為軟件模塊測試、軟件集成、軟/硬件集成。其中軟件集成測試由驗(yàn)證員完成,其他活動(dòng)都由設(shè)計(jì)者完成。驗(yàn)證員除了完成軟件集成測試,還要驗(yàn)證從需求、設(shè)計(jì)、一直到編碼的活動(dòng)過程。

2 EN 50128在鐵路信號(hào)安全軟件測試中的應(yīng)用

在執(zhí)行安全相關(guān)系統(tǒng)的軟件測試活動(dòng)時(shí),首先應(yīng)該在軟件需求規(guī)范和軟件質(zhì)量保障計(jì)劃中,分別獲取軟件安全完整性等級(jí)和軟件開發(fā)生命周期模型。在鐵路安全相關(guān)系統(tǒng)中,鐵路信號(hào)系統(tǒng)軟件通常具有較高的的安全完整性等級(jí)。在此,以鐵路信號(hào)計(jì)算機(jī)聯(lián)鎖系統(tǒng)的輸出控制子系統(tǒng)的軟件為例,軟件安全完整性等級(jí)為 SIL4,軟件開發(fā)周期模型為 V模型,利用 EN50128指導(dǎo)軟件測試活動(dòng)的執(zhí)行。標(biāo)準(zhǔn)的制定通常是起總體規(guī)范和指導(dǎo)的作用,因此,在引用的時(shí)候應(yīng)結(jié)合實(shí)際情況進(jìn)行適當(dāng)調(diào)整,使得整個(gè)過程更符合開發(fā)和管理流程。

2.1 軟件測試活動(dòng)及流程控制

按照軟件產(chǎn)品的定義范圍和安全功能劃分情況,在進(jìn)行測試時(shí),不僅要關(guān)心軟件內(nèi)部的關(guān)系和特性,還應(yīng)考慮軟件與系統(tǒng)之間的聯(lián)系。因此,從軟件工程的角度出發(fā),結(jié)合 EN50128對(duì)軟件測試的要求,將軟件測試相關(guān)的活動(dòng)劃分為軟件模塊測試、集成測試和系統(tǒng)測試 3個(gè)階段,并以圖1所示的流程執(zhí)行測試。

圖1 軟件測試活動(dòng)及流程控制

該應(yīng)用中將整個(gè)軟件開發(fā)流程分為設(shè)計(jì)、測試、驗(yàn)證和確認(rèn) 4個(gè)過程。在每個(gè)設(shè)計(jì)階段,測試員在設(shè)計(jì)者完成設(shè)計(jì)和調(diào)試后,按照相應(yīng)的測試要求執(zhí)行測試,并分析和總結(jié)測試結(jié)果,形成測試報(bào)告。驗(yàn)證員對(duì)每個(gè)設(shè)計(jì)階段和測試階段的正確性、一致性等進(jìn)行階段性驗(yàn)證。確認(rèn)員對(duì)每一階段的設(shè)計(jì)、測試和驗(yàn)證活動(dòng)進(jìn)行檢查,以確認(rèn)是否可以進(jìn)入下一階段的活動(dòng)。

1.軟件模塊測試。主要是驗(yàn)證每個(gè)模塊是否正確、合理地實(shí)現(xiàn)了設(shè)計(jì)規(guī)范所預(yù)定的功能,并盡可能早地找出軟件在設(shè)計(jì)與實(shí)現(xiàn)過程中可能存在的缺陷和不足。為此,需要嚴(yán)格按照測試計(jì)劃,對(duì)每個(gè)模塊依據(jù)設(shè)計(jì)的測試用例進(jìn)行測試,以證實(shí)各模塊都完成了其特定的功能并符合軟件編碼規(guī)則要求。在軟件模塊測試階段主要采用了靜態(tài)分析和動(dòng)態(tài)分析相結(jié)合的方法。

靜態(tài)分析是在軟件模塊不執(zhí)行的情況下進(jìn)行的測試活動(dòng),而動(dòng)態(tài)分析是在測試輸入的驅(qū)動(dòng)下執(zhí)行軟件模塊的測試方法。在 EN50128中按照不同的軟件安全完整性等級(jí),提供了許多靜態(tài)分析和動(dòng)態(tài)分析所采取的技術(shù)方法和措施。該應(yīng)用中根據(jù)SIL4推薦的要求,選取數(shù)據(jù)流分析、控制流分析和代碼走讀的技術(shù),以邊界值分析、等價(jià)類劃分和錯(cuò)誤猜測的方法設(shè)計(jì)測試用例,并對(duì)軟件模塊及整體的質(zhì)量進(jìn)行度量。在執(zhí)行軟件模塊測試時(shí),除了檢查每個(gè)模塊是否滿足規(guī)范需求之外,還以DO178B作為覆蓋率的要求標(biāo)準(zhǔn),采用自動(dòng)化測試工具,以保證所有源代碼以及條件的組合都至少有效執(zhí)行一次,大大提高了測試的效率和質(zhì)量。

2.軟件集成測試。通過一定的集成策略和方法,將完全通過模塊測試的軟件組合成一個(gè)整體,并根據(jù)軟件結(jié)構(gòu)設(shè)計(jì)的要求對(duì)軟件接口和功能進(jìn)行的測試活動(dòng)。其目的是證明各軟件模塊的接口以及接口之間都滿足規(guī)定的需求。

執(zhí)行集成測試時(shí),首先應(yīng)根據(jù)被測系統(tǒng)的特點(diǎn),指定合適的集成測試策略。常見的集成策略,如自頂向下的集成、自底向上的集成等。該應(yīng)用中,由于在模塊測試中已經(jīng)對(duì)每個(gè)模塊進(jìn)行了測試,所以選取自底向上的逐步爆炸式集成策略,并借助測試工具分析的軟件調(diào)用關(guān)系圖,完成模塊的集成。然后采用黑盒和灰盒測試技術(shù)設(shè)計(jì)測試用例,并將其作為輸入,借助自動(dòng)化測試工具在編譯和仿真環(huán)境下進(jìn)行測試。在進(jìn)行軟件集成測試時(shí),一定要遵循軟件測試的目標(biāo),即找出軟件中存在的缺陷和不足,以免和調(diào)試混淆。

3.系統(tǒng)測試。在完成了軟件的集成測試之后,對(duì)于比較復(fù)雜的系統(tǒng),還應(yīng)該完成軟/硬件的集成測試,以證明軟、硬件之間的相互作用能正確地完成它們預(yù)定的功能,然后再進(jìn)行系統(tǒng)測試。由于該輸出子系統(tǒng)的軟件相對(duì)比較簡單,所以在系統(tǒng)測試時(shí)兼做軟/硬件集成測試,以確保它們的相容性。

系統(tǒng)測試是在集成測試完成后,在正式的運(yùn)行環(huán)境中,將軟件、硬件、數(shù)據(jù)和人員等結(jié)合在一起,進(jìn)行的一種綜合性測試。在測試員完成系統(tǒng)測試并提交測試報(bào)告后,驗(yàn)證員對(duì)其結(jié)果和過程進(jìn)行檢查,并由確認(rèn)員進(jìn)行最終的軟件確認(rèn),產(chǎn)生軟件確認(rèn)報(bào)告。

系統(tǒng)測試可以分為功能性和非功能性二大類,其中功能測試是系統(tǒng)測試的基礎(chǔ),通常采用黑盒測試技術(shù),用來驗(yàn)證軟件系統(tǒng)是否嚴(yán)格按照需求規(guī)范的要求予以實(shí)現(xiàn);非功能性測試包含很多類型的測試,該應(yīng)用中主要選取性能測試和安全性測試。

2.2 軟件測試中的人員配置及其特點(diǎn)

為了體現(xiàn)整個(gè)評(píng)估過程的獨(dú)立性,EN50128中對(duì)于安全完整性等級(jí)為 SIL4的人員配置采取了2種結(jié)構(gòu):一種是驗(yàn)證員和確認(rèn)員可以是同一個(gè)人,而且獨(dú)立于設(shè)計(jì)者/實(shí)現(xiàn)者,不直接向項(xiàng)目經(jīng)理報(bào)告;另一種是驗(yàn)證員和確認(rèn)員必須是不同的人,驗(yàn)證員直接向項(xiàng)目經(jīng)理報(bào)告而確認(rèn)員獨(dú)立。因?yàn)椴徽摬扇∧姆N方式,驗(yàn)證員即承擔(dān)了驗(yàn)證的角色又完成了測試的任務(wù),所以在此應(yīng)用中,為了更加體現(xiàn)各階段活動(dòng)的獨(dú)立性,在 EN50128的基礎(chǔ)上,根據(jù)安全管理和控制要求,增加了集成者/測試員,對(duì)獨(dú)立性方面采取如圖2所示的組織結(jié)構(gòu)。

圖2 實(shí)際應(yīng)用的獨(dú)立性組織結(jié)構(gòu)

與 EN50128提供的軟件測試獨(dú)立性組織結(jié)構(gòu)相比,該結(jié)構(gòu)主要有以下特點(diǎn)。

首先,集成者/測試員和驗(yàn)證員獨(dú)立。在EN50128的軟件測試活動(dòng)中,軟件模塊測試、軟件集成、軟/硬件集成階段的驗(yàn)證環(huán)節(jié)無法監(jiān)控,加上在驗(yàn)證員和確認(rèn)員是同一人的情況下,測試過程的質(zhì)量更無法得到保障。另外,軟件測試屬于對(duì)軟件源代碼的驗(yàn)證活動(dòng),以找出軟件中存在缺陷和不足為主,而驗(yàn)證是檢查該階段輸出是否符合前一階段需求的行為。因此,該配置采取了測試和驗(yàn)證由不同人員完成的方式,充分保證了該階段活動(dòng)的獨(dú)立性。

其次,集成者/測試員和設(shè)計(jì)者獨(dú)立。在EN50128中,軟件模塊測試和軟/硬件集成都由設(shè)計(jì)者完成,在設(shè)計(jì)者和編程人員是同一人的情況下,設(shè)計(jì)者測試自身編寫的代碼,很容易造成測試盲區(qū)。對(duì)于安全相關(guān)系統(tǒng)的軟件,設(shè)計(jì)者通??紤]軟件完成了應(yīng)該完成的功能,而容易忽視軟件不應(yīng)該做的事情,并造成測試和調(diào)試混淆,導(dǎo)致在安全問題中埋下隱患。

最后,驗(yàn)證員和確認(rèn)員獨(dú)立。避免了驗(yàn)證員和確認(rèn)員是同一人的情況,驗(yàn)證員對(duì)設(shè)計(jì)和測試的活動(dòng)進(jìn)行初步的驗(yàn)證,再由確認(rèn)員對(duì)該階段的總體活動(dòng)進(jìn)行檢查,而且確認(rèn)員可以根據(jù)該階段設(shè)計(jì)、測試、驗(yàn)證的具體情況,決定是否可以開始下一階段的執(zhí)行,這樣有利于盡可能早的發(fā)現(xiàn)軟件錯(cuò)誤,并得到及時(shí)修正缺陷,大大減少了后期修復(fù)缺陷的費(fèi)用。

3 結(jié)束語

結(jié)合歐洲鐵路標(biāo)準(zhǔn) EN50128,指導(dǎo)鐵路信號(hào)安全相關(guān)系統(tǒng)的軟件測試的執(zhí)行。在整個(gè)測試應(yīng)用過程中,始終貫徹測試與設(shè)計(jì)獨(dú)立、驗(yàn)證與測試獨(dú)立、確認(rèn)與驗(yàn)證獨(dú)立的原則,采用靜態(tài)和動(dòng)態(tài)相結(jié)合、黑盒和白盒相結(jié)合、人工檢查和自動(dòng)測試相結(jié)合的測試技術(shù),完成了該輸出子系統(tǒng)的軟件測試,為其滿足安全完整性等級(jí)起到了重要的作用。通過分析和探討該應(yīng)用中測試的流程、組織結(jié)構(gòu)及其獨(dú)立性,總結(jié)出了一套適合鐵路信號(hào)安全相關(guān)系統(tǒng)通用的軟件測試方法,為以后測試其他安全相關(guān)系統(tǒng)的軟件提供了寶貴的技術(shù)積累和經(jīng)驗(yàn)。

[1] EN-50128-2001,Railway applications-Communications,signalling and processing systems-Software for railway control and protection systems[S],2001.

[2] 趙大偉,田小芳,譚永東.EN50129及其在鐵路安全相關(guān)系統(tǒng)中的應(yīng)用研究[J].中國安全科學(xué)學(xué)報(bào),2007,17(10):102-108.

[3] (美)Glenford J.Myers.The Art of Software Testing(Second Edition)[M].John Wiley&Sons,Inc.,2004.

猜你喜歡
軟件測試設(shè)計(jì)者完整性
稠油熱采水泥環(huán)完整性研究
云南化工(2021年9期)2021-12-21 07:44:00
基于OBE的軟件測試課程教學(xué)改革探索
2020德國iF設(shè)計(jì)獎(jiǎng)
2019德國IF設(shè)計(jì)大獎(jiǎng)
EXCEL和VBA實(shí)現(xiàn)軟件測試記錄管理
電子制作(2018年16期)2018-09-26 03:27:18
關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
電子測試(2017年15期)2017-12-18 07:19:20
莫斷音動(dòng)聽 且惜意傳情——論音樂作品“完整性欣賞”的意義
軟件測試工程化模型及應(yīng)用研究
精子DNA完整性損傷的發(fā)生機(jī)制及診斷治療
楊敬:深水區(qū)醫(yī)改設(shè)計(jì)者
改则县| 和政县| 罗山县| 莱芜市| 宜昌市| 天台县| 普宁市| 柘荣县| 石河子市| 尼玛县| 开原市| 沁源县| 郴州市| 都江堰市| 黔东| 嘉善县| 海城市| 嘉兴市| 石城县| 修武县| 白城市| 深泽县| 改则县| 平舆县| 扬中市| 阿合奇县| 岑巩县| 黄冈市| 江华| 罗甸县| 景德镇市| 屏东市| 北流市| 兰坪| 辽宁省| 安乡县| 黑水县| 雅江县| 兴山县| 铜陵市| 台南县|