您的位置:軟件測試 >> 測試技術(shù) >> 測試精品文章
大型驗(yàn)證項(xiàng)目中的數(shù)據(jù)管理
作者:Eduardo Lluna/Maximiliano Mannise(澤眾軟件原創(chuàng)翻譯) 發(fā)布時(shí)間:[ 2014/7/29 13:20:22 ] 推薦標(biāo)簽:數(shù)據(jù)管理 軟件測試
Eduardo Lluna擁有巴倫西亞大學(xué)的物理學(xué)位和巴倫西亞大學(xué)理工學(xué)院電子工程系的博士學(xué)位。他一向?qū)τ谲浖䴗y試,電子測量設(shè)備和感測網(wǎng)路方面的研究都很積極。Lluna有20多年的關(guān)于交通控制,公眾視野,支付,電信系統(tǒng)領(lǐng)域的即時(shí)嵌入系統(tǒng)的軟件的專業(yè)經(jīng)驗(yàn)。他曾在SICE, Telvent還有 Design of Systems on Silicon (DS2)公司任過職。他是巴倫西亞大學(xué)計(jì)算機(jī)科學(xué)部的副教授,且自2011年1月起,已在ITI公司的軟件質(zhì)量部擔(dān)任協(xié)助不同研發(fā)項(xiàng)目的項(xiàng)目經(jīng)理。更多詳細(xì)資料,見:www.linkedin.com/in/elluna。
Maximiliano Mannise擁有烏拉圭天主教大學(xué)的計(jì)算機(jī)工程學(xué)位。他是西班牙巴倫西亞ITI公司軟件質(zhì)量部的負(fù)責(zé)人。Maximiliano在烏拉圭蒙得維的亞大學(xué)擔(dān)任過教授,還參與過西班牙政府或業(yè)內(nèi)所創(chuàng)建的關(guān)于軟件質(zhì)量和軟件測試的調(diào)研項(xiàng)目。 自2007年起,他一直在ITI公司從事與軟件質(zhì)量測試,研究及傳播活動(如:VLCTESTING)相關(guān)的項(xiàng)目。之前,他還在烏拉圭IBM工作過9年多,包括2年多的測試項(xiàng)目經(jīng)理。Maximiliano對實(shí)際測試過程提升及用于測試項(xiàng)目的項(xiàng)目管理很感興趣。更多詳細(xì)資料,見:www.linkedin.com/in/mmannise。

 

 

  代碼驗(yàn)證包括檢查一些規(guī)則,并且隨著項(xiàng)目安全水平的提升,需要檢查的規(guī)則的數(shù)量也要增加?梢杂貌煌墓ぞ邫z查,驗(yàn)證團(tuán)隊(duì)獨(dú)立于開發(fā)團(tuán)隊(duì)之外的情況在安全關(guān)鍵系統(tǒng)中并不常見。集中式系統(tǒng)需要處理所有的缺陷信息并輕松生成報(bào)告。本文展示了一個(gè)開發(fā)用以管理大型項(xiàng)目的驗(yàn)證結(jié)果的數(shù)據(jù)管理系統(tǒng)。解決方案基于一個(gè)商務(wù)智能引擎。

  1.引言
  代碼驗(yàn)證過程包括檢查特定規(guī)則被遵守且特定代碼如指定的執(zhí)行。可以手工檢查,但這是一件很累,易錯(cuò)的事,所以使用自動化工具才是佳選擇。要接受檢查的規(guī)則數(shù)量是可變的且依賴項(xiàng)目安全水平。隨著項(xiàng)目變大且安全水平增加,需要檢查的規(guī)則的數(shù)量及要執(zhí)行的代碼變得很高,使用自動化驗(yàn)證工具勢在必行。
  驗(yàn)證任務(wù)由一個(gè)團(tuán)隊(duì)或一個(gè)不同于通常負(fù)責(zé)開發(fā)安全關(guān)鍵系統(tǒng)的公司執(zhí)行時(shí),所有檢查結(jié)果都必須被管理以生成缺陷報(bào)告并計(jì)算可以被及時(shí)交付給開發(fā)團(tuán)隊(duì)的項(xiàng)目進(jìn)展指標(biāo)。一般情況下,不同的工具要進(jìn)行所有的檢查(通常是靜態(tài)和動態(tài)分析),因此信息將來自于不同源頭并且是不同的形式。管理來源不同的大量信息產(chǎn)生了問題,工具要匯總所有缺陷信息并管理它們以計(jì)算指標(biāo)并以集中方式生成報(bào)告。
  本文展現(xiàn)了按嚴(yán)格安全要求創(chuàng)建以管理大型項(xiàng)目驗(yàn)證任務(wù)的數(shù)據(jù)管理系統(tǒng)。解決方案是基于一個(gè)商務(wù)智能引擎的。
  本文結(jié)構(gòu)如下。第二部分簡要概述了驗(yàn)證任務(wù)。第三部分介紹了推薦的驗(yàn)證流程,描述了不同活動和產(chǎn)品。第四部分講了內(nèi)部執(zhí)行和商務(wù)智能引擎。第五部分展示了一些使用工具的真實(shí)案例結(jié)果。后,第六部分做了一些總結(jié)。

  2.驗(yàn)證任務(wù)
  驗(yàn)證包括檢查任務(wù)中創(chuàng)造的產(chǎn)品滿足要求且正確。有各種驗(yàn)證技術(shù),項(xiàng)目定義中的一項(xiàng)重要任務(wù)是為制定項(xiàng)目選擇正確的驗(yàn)證技術(shù)。安全關(guān)鍵的開發(fā)是按標(biāo)準(zhǔn)管理的,比如:IEC 61508-3, EN-50128, DO-178B,且根據(jù)項(xiàng)目的安全水平,它們提供一系列可以考慮的技術(shù)。一般情況下,可以認(rèn)為,所有標(biāo)準(zhǔn)中都需要有兩個(gè)基本類型的代碼分析驗(yàn)證技術(shù):靜態(tài)和動態(tài)分析。靜態(tài)分析包括檢查源代碼而不運(yùn)行,并尋找被認(rèn)為是危險(xiǎn)的或易錯(cuò)的結(jié)構(gòu)。檢查有很多規(guī)則,包括代碼標(biāo)準(zhǔn),但是一系列非常重要的規(guī)則是來自使用一個(gè)不安全語言的情況中的語言子集定義。大多數(shù)安全關(guān)鍵系統(tǒng)是用C或C++編碼的,且兩種語言都被認(rèn)為是不安全的,所以使用它們的方法是只使用一種被認(rèn)為安全的語言子集。對于C和C++,有兩種被廣泛使用的子集:MISRA C/C++和JSF。兩種子集都制定一系列必須遵守且必須檢查的規(guī)則。動態(tài)分析包含執(zhí)行部分代碼以檢查它如預(yù)期進(jìn)行。過程包括定義一系列通過它的界面和(結(jié)果與規(guī)范中一致的)檢查去執(zhí)行的代碼測試用例。一般來說,驗(yàn)證任務(wù)可以自動或手工執(zhí)行。優(yōu)先選自動化方法,但不可能總這樣。靜態(tài)分析可以是自動的,且有商用工具。動態(tài)分析不容易自動化,一般而言,它要求手工定義測試用例。另一個(gè)限制自動化使用的問題是:在安全關(guān)鍵系統(tǒng)中,工具必須被認(rèn)證可以安全使用,因此可用工具的數(shù)量被減少了。另一個(gè)出現(xiàn)在一個(gè)真實(shí)項(xiàng)目中的問題是,通常,沒有一個(gè)單獨(dú)的工具可以檢查項(xiàng)目要求的所有的規(guī)則。認(rèn)證工具很貴,有時(shí)不會選擇去買一些工具。還有一些項(xiàng)目或公司依賴的規(guī)則,比如檢查主文件格式,對這些任務(wù)進(jìn)行腳本特別檢查。一般情況下,驗(yàn)證任務(wù)必須包括開發(fā)這些特殊腳本的計(jì)劃。即使是挑選了工具,開發(fā)了腳本去執(zhí)行特殊檢查后,一些規(guī)則因?yàn)樗鼈兊膹?fù)雜性而無法自動化,所以驗(yàn)證過程必須包括一些將被驗(yàn)證和驗(yàn)證工程師執(zhí)行的手動檢查。無論如何,手動檢查的結(jié)果必須被輸入管理系統(tǒng)。驗(yàn)證過程中的另一個(gè)重要因素是度量計(jì)算。一些度量是由工具計(jì)算的且如果值超出范圍時(shí)它們可被當(dāng)做一個(gè)缺陷(圈復(fù)雜,嵌套級別,函數(shù)長度等)。但也有其他度量是關(guān)于追蹤基于隨版本而變化的參數(shù)的過程演變的,所以有必要保存所有的信息并可隨時(shí)用于計(jì)算這些度量。這些度量的一個(gè)實(shí)例是Stability Index,它提供了一個(gè)版本間變化的指示,每個(gè)版本的既定類型的缺陷數(shù)量,等。

  3.建議流程
  驗(yàn)證流程必須考慮一些可以自動執(zhí)行的任務(wù)及及其他手動執(zhí)行的任務(wù),但是所有情況下,都要把信息存到信息系統(tǒng)中;竟ぷ髁鞒倘鐖D1所示。流程開始輸入源代碼,后輸出關(guān)于代碼質(zhì)量的報(bào)告,基本是一大堆沒達(dá)到的規(guī)則。獲取數(shù)據(jù)的流程包括使用各種工具執(zhí)行所有要求進(jìn)行的檢查。數(shù)據(jù)輸入模塊是數(shù)據(jù)存儲的進(jìn)入點(diǎn)它獲取不同來源不同形式的信息并存入數(shù)據(jù)庫。數(shù)據(jù)來源有三個(gè)基本類型:商業(yè)分析工具,特別編寫的腳本,和手工檢查。手工檢查中,有一個(gè)搜集數(shù)據(jù)并創(chuàng)建一個(gè)(給數(shù)據(jù)輸入模塊使用的文件的)特別腳本。數(shù)據(jù)輸入功能使用一個(gè)固定格式的XML文件。開發(fā)的腳本以正確的文件格式創(chuàng)建輸出,但是用轉(zhuǎn)化層將商業(yè)工具的輸出轉(zhuǎn)化為正確的格式。存儲和處理系統(tǒng)也能充分利用接收到的所有數(shù)據(jù)并生成報(bào)告。

圖1.流程概貌

  數(shù)據(jù)庫不允許刪除缺陷,但是當(dāng)算沒有滿足規(guī)定也有正當(dāng)理由可以違背時(shí),有一個(gè)機(jī)制接受缺陷。接受機(jī)制要求一個(gè)人的識別要負(fù)責(zé)接受并包含接受的具體理由?杀唤邮艿娜毕菘梢员豢偨Y(jié)并列在報(bào)告中。圖2展示了具體流程。如之前所見,靜態(tài)分析包括自動化和手動任務(wù)。自動化任務(wù)直接提供一個(gè)如輸出所示的XML文件,但是手動分析的結(jié)果也必須被處理以生成一個(gè)XML文件。動態(tài)分析并不是完全自動化的。測試用例必須手動定義,但其執(zhí)行是自動的,結(jié)果被存入XML文件中。也要給數(shù)據(jù)庫提供關(guān)于度量和檢查規(guī)則的信息。

上一頁123下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd