亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于大數(shù)據(jù)計(jì)算模型的CBTC軟件智能測(cè)試系統(tǒng)技術(shù)研究

        2020-07-24 07:35:26張德明
        關(guān)鍵詞:質(zhì)量

        王 超 ,張德明 ,徐 偉 ,宋 欣

        (1.中國(guó)鐵道科學(xué)研究院集團(tuán)有限公司 通信信號(hào)研究所,北京 100081;2.軌道交通系統(tǒng)國(guó)家測(cè)試工程實(shí)驗(yàn)室,北京 100081)

        隨著鐵路行業(yè)的快速發(fā)展,相關(guān)軟件的安全性問題已經(jīng)成為人們關(guān)注的重點(diǎn)。鐵路行業(yè)發(fā)生的一些重大事故,大部分與相關(guān)系統(tǒng)的軟件缺陷有關(guān)。而系統(tǒng)的缺陷會(huì)隨著軟件復(fù)雜度的增加呈指數(shù)級(jí)上升,這也直接提高了軟件測(cè)試的難度和成本。軟件測(cè)試的實(shí)際應(yīng)用和理論研究都有廣闊的市場(chǎng)前景。

        美國(guó)軟件工程實(shí)驗(yàn)室制定了軟件度量模型與標(biāo)準(zhǔn)[1-3],用于指導(dǎo)美國(guó)航空航天局(NASA)的軟件開發(fā)并作為產(chǎn)品軟件安全與任務(wù)的保障。城市軌道交通領(lǐng)域的國(guó)產(chǎn)列車自動(dòng)控制系統(tǒng)(CBTC,Communication Based Train Control System)軟件有其自身的度量特性,并不完全適合應(yīng)用此標(biāo)準(zhǔn)?,F(xiàn)階段,國(guó)產(chǎn)CBTC 軟件測(cè)試存在大量頻繁迭代和建模過程,會(huì)產(chǎn)生海量的計(jì)算任務(wù),缺少針對(duì)相應(yīng)軟件測(cè)試系統(tǒng)的大數(shù)據(jù)[4-5]分布式計(jì)算[6-7]領(lǐng)域的研究。此外,國(guó)產(chǎn)CBTC 軟件測(cè)試系統(tǒng)對(duì)于復(fù)雜度各異的測(cè)試項(xiàng)目,存在測(cè)試方案繁瑣,測(cè)試成本過高,測(cè)試與開發(fā)溝通效率過低等諸多問題,缺少一種集成度較高的智能解決方案。本文提出的基于大數(shù)據(jù)計(jì)算模型的CBTC 軟件智能測(cè)試系統(tǒng)可以較好地解決上述問題。

        1 軟件度量模型

        本文基于多元線性回歸構(gòu)建軟件度量模型[8-10]。本模型采用國(guó)產(chǎn)CBTC 應(yīng)用項(xiàng)目的歷史數(shù)據(jù),參考鐵路控制和防護(hù)系統(tǒng)軟件標(biāo)準(zhǔn)EN50128,鐵路應(yīng)用可靠性、可用性、可維護(hù)性、安全性技術(shù)條件和驗(yàn)證標(biāo)準(zhǔn)EN50126,工業(yè)標(biāo)準(zhǔn)化編程規(guī)范MISRA-C。利用統(tǒng)計(jì)學(xué)方法,制定滿足國(guó)產(chǎn)CBTC 的軟件代碼質(zhì)量參數(shù)標(biāo)準(zhǔn),并對(duì)其中每個(gè)參數(shù)的影響因子與影響系數(shù)進(jìn)行定量分析,實(shí)現(xiàn)對(duì)實(shí)際工程項(xiàng)目軟件質(zhì)量各項(xiàng)指標(biāo)的細(xì)化評(píng)價(jià),便于測(cè)試與開發(fā)人員對(duì)影響軟件代碼質(zhì)量的參數(shù)進(jìn)行預(yù)測(cè)與調(diào)整。

        1.1 度量模型原理

        多元線性回歸度量模型由使用因數(shù)、度量項(xiàng)、度量結(jié)果3 級(jí)結(jié)構(gòu)構(gòu)成,通過選擇各級(jí)評(píng)價(jià)因素及其加權(quán)值的方法來(lái)考察多個(gè)變量間的相關(guān)性與強(qiáng)度,對(duì)被測(cè)軟件及其子程序進(jìn)行評(píng)價(jià)。評(píng)價(jià)軟件質(zhì)量特性公式為:

        其中,Q為質(zhì)量特性;M表示軟件質(zhì)量特性的使用因數(shù)數(shù)量;Vj為第j個(gè)使用因數(shù)的權(quán)重;Nj表示屬于第j個(gè)使用因數(shù)的質(zhì)量度量項(xiàng)的總項(xiàng)數(shù);Wi表示當(dāng)前度量項(xiàng)i的權(quán)重,同一特征下所有度量元權(quán)重之和為1;Xi表示當(dāng)前度量項(xiàng)i的度量結(jié)果。

        在實(shí)際的軟件測(cè)試項(xiàng)目中,往往需要對(duì)多個(gè)軟件模塊或?qū)浖K內(nèi)部的多函數(shù)質(zhì)量特性進(jìn)行評(píng)估,發(fā)現(xiàn)強(qiáng)耦合等軟件質(zhì)量問題,需要引入多級(jí)軟件質(zhì)量評(píng)估。評(píng)價(jià)軟件質(zhì)量特性公式為:

        其中,Qg為多級(jí)軟件質(zhì)量特性;1 ≤g≤m;m為多級(jí)評(píng)估模塊的數(shù)量;M、N、P分別為軟件質(zhì)量特性的使用因數(shù)數(shù)量;R、S、T分別為當(dāng)前使用因數(shù)的質(zhì)量度量項(xiàng)的項(xiàng)數(shù)。

        1.2 度量模型參數(shù)標(biāo)準(zhǔn)

        1.2.1 度量分類

        本文根據(jù)EN50128、EN50126、MISRA-C 標(biāo)準(zhǔn)的要求,結(jié)合CBTC 的實(shí)際軟件設(shè)計(jì)需求和項(xiàng)目測(cè)試數(shù)據(jù)的影響分析,制定模型的軟件質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn),分類為可測(cè)試性、可維護(hù)性、清晰性。表1 為廣州7號(hào)線CBTC 車載軟件質(zhì)量部分度量標(biāo)準(zhǔn)。

        表1 廣州7號(hào)線CBTC車載軟件質(zhì)量部分度量標(biāo)準(zhǔn)

        1.2.2 度量結(jié)果

        本文以廣州7 號(hào)線CBTC 車載軟件的filter.c 模塊為例,對(duì)其中9 個(gè)函數(shù)的10 項(xiàng)軟件質(zhì)量度量參數(shù)進(jìn)行分析,如表2 所示,表中,P 表示該項(xiàng)符合標(biāo)準(zhǔn),F(xiàn) 表示該項(xiàng)不符合標(biāo)準(zhǔn)。

        2 大數(shù)據(jù)分布式計(jì)算

        由于開發(fā)測(cè)試階段存在的迭代過程,在軟件實(shí)際測(cè)試過程中,需要頻繁修改代碼,這些并行處理的測(cè)試任務(wù)的代碼量甚至可以達(dá)到百萬(wàn)級(jí)代碼行。由軟件質(zhì)量度量模型的構(gòu)建過程可知,涉及到的評(píng)估參數(shù)數(shù)量和評(píng)估對(duì)象的數(shù)量巨大,對(duì)這些評(píng)估參數(shù)的計(jì)算過程會(huì)占用大量的運(yùn)算資源。

        表2 廣州7號(hào)線CBTC車載軟件filter.c模塊軟件質(zhì)量度量結(jié)果

        把測(cè)試任務(wù)運(yùn)行在單一服務(wù)器組的傳統(tǒng)工作方式已經(jīng)不能滿足海量數(shù)據(jù)的運(yùn)算與測(cè)試需求。所以本文針對(duì)軟件測(cè)試中存在的海量數(shù)據(jù)復(fù)雜計(jì)算問題,基于開源Hadoop 軟件體系架構(gòu)[11-14],提出Distributed_Metrics 方法,并搭建Hadoop 服務(wù)器測(cè)試集群[15-16],將業(yè)務(wù)處理邏輯在集群內(nèi)并行執(zhí)行,實(shí)現(xiàn)高效快速的軟件質(zhì)量度量模型運(yùn)算。

        2.1 數(shù)據(jù)分布式解析

        2.1.1 測(cè)試數(shù)據(jù)切片

        用戶提交測(cè)試文件到Hadoop 服務(wù)器集群目錄文件中,集群中的客戶端程序會(huì)掃描磁盤中的目錄文件,遍歷其中需要測(cè)試的每個(gè)文件,并根據(jù)預(yù)先配置的參數(shù),進(jìn)行測(cè)試數(shù)據(jù)切片。本文以廣州7 號(hào)線CBTC 車載軟件filter.c 模塊為例進(jìn)行測(cè)試數(shù)據(jù)切片,如圖1 所示。

        圖1 CBTC車載軟件測(cè)試數(shù)據(jù)切片

        集群中的MRAppMaster 節(jié)點(diǎn)會(huì)根據(jù)切片文件的大小自動(dòng)啟動(dòng)集群中的maptask,并把切片按照規(guī)則分組到指定的maptask 中去,如圖2 所示。

        圖2 數(shù)據(jù)切片劃分

        Distributed_Metrics-Map 方法對(duì)數(shù)據(jù)進(jìn)行分布式切片分組的流程如下。輸入?yún)?shù):待處理文件f。輸出結(jié)果:分組數(shù)據(jù)m。開始:

        (1)上傳文件f到測(cè)試服務(wù)器集群;

        (2)服務(wù)器集群?jiǎn)?dòng)客戶端程序掃描磁盤目錄;

        (3)遍歷目錄,查看是否存在新的需要切片的文件,如果不存在,則流程結(jié)束,否則繼續(xù)下一步;

        (4)根據(jù)配置參數(shù)遍歷f文件,對(duì)其進(jìn)行切片,如果切片完成,則轉(zhuǎn)到步驟(3),否則繼續(xù)下一步;

        (5)利用MRAppMaster 節(jié)點(diǎn)將切片文件分配到相應(yīng)的maptask 中去;

        (6)轉(zhuǎn)到步驟(4);流程結(jié)束。

        2.1.2 測(cè)試數(shù)據(jù)緩存區(qū)優(yōu)化

        軟件質(zhì)量度量評(píng)估的運(yùn)算復(fù)雜度主要取決于評(píng)估矩陣中各元素的統(tǒng)計(jì)方式和其相應(yīng)的計(jì)算,而評(píng)估矩陣主要的工作是計(jì)算各階段的向量?jī)?nèi)積并進(jìn)行累加。針對(duì)該情況,本文采用key-value 鍵值對(duì)的方式模擬軟件質(zhì)量評(píng)估矩陣的內(nèi)積累加操作。矩陣中每個(gè)元素的位置具有唯一性,標(biāo)記為key 值,相應(yīng)的元素值標(biāo)記為value。每個(gè)矩陣向量都是針對(duì)模塊中某具體函數(shù)進(jìn)行分析,其相應(yīng)的函數(shù)名標(biāo)記為function,則統(tǒng)計(jì)的數(shù)據(jù)格式為(function){key1:value1,key2:value2,…,key n:value n}。

        在集群中啟動(dòng)多個(gè)maptask 會(huì)統(tǒng)計(jì)出大量的key-value 鍵值對(duì),為便于后續(xù)的運(yùn)算,本文對(duì)Hadoop 環(huán)形內(nèi)存區(qū)進(jìn)行優(yōu)化,具體優(yōu)化過程如圖3所示。

        圖3 環(huán)形內(nèi)存區(qū)優(yōu)化過程

        在第1 次寫入點(diǎn)位置將key-value 鍵值對(duì)寫入到環(huán)形緩沖區(qū)中,此時(shí)寫入的鍵值對(duì)是無(wú)序且沒有進(jìn)行分區(qū)處理的。為了最大化利用分布式系統(tǒng)的計(jì)算效率,需要對(duì)環(huán)形內(nèi)存區(qū)的鍵值對(duì)進(jìn)行標(biāo)記分區(qū),對(duì)于不同分區(qū)的數(shù)據(jù)可以分配給集群中的不同節(jié)點(diǎn),從而達(dá)到最大化并行計(jì)算處理的效果。在環(huán)形內(nèi)存區(qū)設(shè)置一個(gè)臨界區(qū)間,例如,將內(nèi)存數(shù)據(jù)達(dá)到總內(nèi)存數(shù)據(jù)量的80%及以上的區(qū)間設(shè)置為臨界區(qū)間,為防止數(shù)據(jù)溢出,會(huì)啟動(dòng)數(shù)據(jù)分區(qū)線程任務(wù)對(duì)鍵值對(duì)進(jìn)行標(biāo)記分區(qū)。

        將已經(jīng)處理好的標(biāo)記分區(qū)內(nèi)容寫入本地磁盤并清空分區(qū)數(shù)據(jù)緩沖區(qū)。以第1 次分區(qū)結(jié)束點(diǎn)的位置為起始點(diǎn)開始第2 次寫入數(shù)據(jù),在未進(jìn)入臨界區(qū)間前可以循環(huán)寫入鍵值對(duì)到環(huán)形內(nèi)存區(qū)中。

        2.1.3 測(cè)試數(shù)據(jù)哈希分區(qū)

        2.1.2 中為每組鍵值對(duì)標(biāo)記了函數(shù)名function,本文提出一種特定的哈希算法對(duì)其進(jìn)行分區(qū)歸類。函數(shù)經(jīng)過分片以后,每個(gè)分片的計(jì)算量很小,不同分片的耗時(shí)差別可以忽略不計(jì),最終影響計(jì)算性能指標(biāo)的是集群中每臺(tái)服務(wù)器的函數(shù)分片總數(shù)量。而對(duì)于同一函數(shù)的不同分片在經(jīng)過哈希算法分區(qū)后必須分到同一分區(qū)進(jìn)行處理,以保持?jǐn)?shù)據(jù)的有效性。這就要求哈希算法盡可能把函數(shù)分片按照合理的方法均分到每臺(tái)服務(wù)器中。由于key-value 中function是非重復(fù)的,本文根據(jù)字母表A-Z、a-z 與ASCII碼表的對(duì)應(yīng)關(guān)系,把所有的函數(shù)名轉(zhuǎn)換為十六進(jìn)制序列,每組序列可以唯一標(biāo)識(shí)函數(shù)名。在哈希分區(qū)的過程中,會(huì)對(duì)每位字母的十六進(jìn)制序列進(jìn)行累加,確保擁有相同function 的分片數(shù)據(jù)可以分到同一分區(qū)中,并盡可能保證集群中分區(qū)的平衡性。廣州7號(hào)線CBTC 車載軟件filter.c 模塊數(shù)據(jù)分區(qū)如表3所示。

        表3 廣州7號(hào)線CBTC車載軟件filter.c模塊數(shù)據(jù)分區(qū)

        本文對(duì)數(shù)據(jù)切片進(jìn)行哈希分區(qū)的方法Distributed_Metrics-Hash_Partition 流程如下。

        輸入?yún)?shù):待處理分組數(shù)據(jù)m。輸出結(jié)果:哈希分區(qū)數(shù)據(jù)h。

        開始:

        (1)將m寫入到環(huán)形緩沖區(qū);

        (2)按照既定順序掃描環(huán)形緩沖區(qū)數(shù)據(jù);

        (3)若環(huán)形緩沖區(qū)數(shù)據(jù)未達(dá)到臨界點(diǎn),轉(zhuǎn)到步驟(1),若緩沖區(qū)進(jìn)程結(jié)束,則流程結(jié)束,否則繼續(xù)下一步;

        (4)按照ASCII 碼表對(duì)環(huán)形緩沖區(qū)內(nèi)的function進(jìn)行哈希分區(qū);

        (5)把分區(qū)完成的數(shù)據(jù)寫入磁盤并清除已完成分區(qū)的數(shù)據(jù);

        (6)標(biāo)記環(huán)形緩沖區(qū)新的寫入起始點(diǎn),轉(zhuǎn)到步驟(1);

        流程結(jié)束。

        2.2 數(shù)據(jù)聚合計(jì)算

        經(jīng)過哈希分區(qū)存儲(chǔ)在磁盤中的中間數(shù)據(jù),還需要進(jìn)行key-value 鍵值對(duì)的匯總計(jì)算。因服務(wù)器集群中每臺(tái)機(jī)器都是多線程運(yùn)行的,在進(jìn)行maptask與哈希分區(qū)任務(wù)時(shí),可以在匯總服務(wù)器啟動(dòng)獨(dú)立的reducetask,對(duì)磁盤中的中間結(jié)果數(shù)據(jù)進(jìn)行匯總統(tǒng)計(jì)。

        分布式計(jì)算從磁盤文件中按分區(qū)號(hào)一次性讀取相應(yīng)文件到內(nèi)存中,從而避免將相同分區(qū)號(hào)的文件提交給不同reducetask 導(dǎo)致數(shù)據(jù)統(tǒng)計(jì)異常的情況。

        本文對(duì)數(shù)據(jù)分布式匯總統(tǒng)計(jì)的方法Distributed_Metrics-Hash_ Reduce 流程如下。

        輸入?yún)?shù):待處理的分區(qū)數(shù)據(jù)h。

        輸出結(jié)果:軟件質(zhì)量特性Q。

        開始:

        (1)服務(wù)器啟動(dòng)reducetask;

        (2)遍歷磁盤中待處理的分區(qū)數(shù)據(jù)h,如果不存在待處理的分區(qū)數(shù)據(jù)則結(jié)束,否則繼續(xù)下一步;

        (3)對(duì)磁盤中待處理的分區(qū)數(shù)據(jù)h進(jìn)行逐行累加計(jì)算;

        (4)輸出軟件質(zhì)量特性Q到磁盤,轉(zhuǎn)到步驟(2);

        流程結(jié)束。

        3 智能測(cè)試系統(tǒng)

        3.1 智能測(cè)試系統(tǒng)測(cè)試流程

        (1)各子系統(tǒng)的開發(fā)團(tuán)隊(duì)上傳測(cè)試數(shù)據(jù)到各自的SVN 數(shù)據(jù)服務(wù)器。智能測(cè)試系統(tǒng)通過局域網(wǎng)連接到各子系統(tǒng)的SVN 數(shù)據(jù)服務(wù)器并下載相應(yīng)的測(cè)試代碼。

        (2)測(cè)試服務(wù)器集群調(diào)用多元線性回歸軟件質(zhì)量度量模型,采用Distributed_Metrics 方法,對(duì)下載的測(cè)試代碼進(jìn)行評(píng)估。對(duì)于不滿足度量模型評(píng)估的測(cè)試代碼,開發(fā)團(tuán)隊(duì)可通過測(cè)試服務(wù)器平臺(tái)提供的可視化圖形交互界面進(jìn)行查詢與修改,對(duì)于滿足評(píng)估指標(biāo)的代碼可進(jìn)行下一階段的測(cè)試。

        3.2 智能測(cè)試系統(tǒng)架構(gòu)

        系統(tǒng)在軟件測(cè)試服務(wù)器中部署的5 類測(cè)試服務(wù)分別為:靜態(tài)測(cè)試服務(wù)、單元測(cè)試服務(wù)、集成測(cè)試服務(wù)、文檔管理服務(wù)和Linux 系統(tǒng)服務(wù)。根據(jù)預(yù)先編寫的服務(wù)器端自動(dòng)化測(cè)試應(yīng)用軟件,智能化地完成大部分的軟件測(cè)試工作并生成測(cè)試文檔。系統(tǒng)架構(gòu)如圖4 所示。

        圖4 智能軟件測(cè)試系統(tǒng)架構(gòu)

        4 結(jié)束語(yǔ)

        本文構(gòu)建了適用于CBTC 軟件的多元線性回歸軟件度量模型,解決了NASA 的軟件度量標(biāo)準(zhǔn)并不完全適用于國(guó)產(chǎn)CBTC 軟件的問題;提出一種將Map_Reduce 分組聚合與哈希分區(qū)相結(jié)合的、高效的Distributed_Metrics 方法,可以把海量、復(fù)雜的計(jì)算任務(wù)分配到Hadoop 服務(wù)器集群中進(jìn)行高效并行處理,提高了整個(gè)軟件測(cè)試集群的運(yùn)行效率;搭建了一套涵蓋軟件測(cè)試全生命周期的集成測(cè)試系統(tǒng),可以實(shí)現(xiàn)CBTC 軟件測(cè)試的智能化運(yùn)行。通過實(shí)驗(yàn)分析,該系統(tǒng)能夠合理生成軟件度量模型,對(duì)測(cè)試任務(wù)進(jìn)行分布式并行處理,減少測(cè)試人員重復(fù)性勞動(dòng),提高測(cè)試人員的工作質(zhì)量與效率。下一階段的工作方向是設(shè)計(jì)出適用性更強(qiáng),具有自學(xué)習(xí)能力的軟件度量模型,智能化地發(fā)現(xiàn)軟件質(zhì)量缺陷。

        猜你喜歡
        質(zhì)量
        聚焦質(zhì)量守恒定律
        “質(zhì)量”知識(shí)鞏固
        “質(zhì)量”知識(shí)鞏固
        質(zhì)量守恒定律考什么
        做夢(mèng)導(dǎo)致睡眠質(zhì)量差嗎
        焊接質(zhì)量的控制
        關(guān)于質(zhì)量的快速Q(mào)&A
        初中『質(zhì)量』點(diǎn)擊
        質(zhì)量投訴超六成
        汽車觀察(2016年3期)2016-02-28 13:16:26
        你睡得香嗎?
        民生周刊(2014年7期)2014-03-28 01:30:54
        妺妺跟我一起洗澡没忍住| 精品人妻中文字幕一区二区三区| 亚洲国产一区二区,毛片| 国产18禁黄网站免费观看| av无码精品一区二区三区宅噜噜| xxxx国产视频| 伊人影院在线观看不卡| 六月婷婷亚洲性色av蜜桃| 国产精品中文久久久久久久| 18禁美女裸体网站无遮挡| 国产精品国产三级国产在线观| 日韩av一区二区三区高清| 日韩国产精品无码一区二区三区| 男女边吃奶边做边爱视频| 精品久久免费一区二区三区四区| 与最丰满美女老师爱爱视频| 樱桃视频影院在线播放| 五月天激情小说| 一片内射视频在线观看| 日本系列中文字幕99| 免费观看的av毛片的网站| 国产精品亚洲А∨天堂免下载| 国内精品久久人妻性色av| 国产自拍av在线观看视频| a级毛片无码免费真人| 无码在线观看123| 亚洲乱熟妇一区二区三区蜜桃| 国产成a人亚洲精品无码樱花| 国产精品无套内射迪丽热巴| 亚洲男人在线无码视频| 不卡一区二区三区国产| 亚洲国产精品久久人人爱| 99久久综合精品五月天| 亚洲国产一区中文字幕| 五十六十日本老熟妇乱| 专干老熟女视频在线观看 | 人人妻人人澡人人爽久久av | 亚洲av无码成人精品区在线观看| 中国产无码一区二区三区| 色久悠悠婷婷综合在线| 国产一极内射視颍一|