999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

核電站安全級DCS應用軟件邏輯的自動化測試研究

2020-12-10 05:20:08李紹棟
儀器儀表用戶 2020年12期

李紹棟

(北京廣利核系統(tǒng)工程有限公司,北京 100094)

0 引言

近年來,許多計算機軟件應用于關鍵領域,從醫(yī)療電子設備、空中交通管制系統(tǒng)到核電站。盡可能杜絕軟件系統(tǒng)一切可能存在的缺陷,是保護人類生命和財產(chǎn)安全的重要保障。然而,由于軟件中存在無法預知的錯誤,通常通過人為的方式判斷出可能存在錯誤的地方,并對此處進行相應修改。但是在軟件測試結束后,仍不能確保軟件系統(tǒng)中已不再存在錯誤。盡管如此,軟件測試還是能夠準確地估算出軟件出錯的可能性及其可能導致事故后果的嚴重程度,并將其控制在可接受的范圍內。由此可見,軟件測試絕不是一個簡單輕松的過程,除了要占用大量的資源,還需要投入大量的人力、消耗大量的時間。對于核電DCS 應用軟件測試更是如此,人力資源約占整個測試階段的30%~40%,測試時間會占到整個軟件開發(fā)周期的20%~30%,由此可見軟件測試工作的繁重,同時由于種種原因,人因失誤難以避免。因此,如何實現(xiàn)核電DCS 應用軟件測試的自動化以提高軟件測試效率、減少人工重復性工作,是一個亟待解決的問題。

1 人工測試方法介紹

1.1 核電站安全級DCS應用軟件測試介紹

1983 年,IEEE 提出軟件工程的標準術語,將軟件測試定義為:“使用人工或自動手段來運行或測試某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預期結果與實際結果之間的差別”[1]。該定義中明確地提出軟件測試的目標是檢驗被測軟件是否滿足需求。

核電DCS 應用軟件測試的目的是證明軟件設計到軟件實現(xiàn)的一致性,邏輯測試的對象是配置管理的工程組態(tài)。根據(jù)程序執(zhí)行的方式,可以將軟件測試方法分為人工測試和自動化測試兩類。根據(jù)測試過程中程序的執(zhí)行狀態(tài),可以將軟件測試分為靜態(tài)測試和動態(tài)測試[2]。根據(jù)測試過程對系統(tǒng)內部結構和具體實現(xiàn)算法細節(jié)的關心情況,軟件測試方法可分為黑盒測試和白盒測試。核電應用軟件邏輯傳統(tǒng)測試方法按照分類來說,屬于人工的、靜態(tài)或動態(tài)的白盒測試。

1.2 基于MELTAC平臺人工測試方法

核電站安全級DCS 應用軟件邏輯測試是為了驗證工程軟件組態(tài)與功能圖的輸入變量和輸出變量名稱、類型及邏輯組態(tài)的一致性。其主要檢查安全級DCS 組態(tài)文件是否正確實現(xiàn)了工程設計圖紙要求的控制功能,測試過程中需確認點名、邏輯功能塊選擇、跳轉頁面的名稱、邏輯功能塊的輸入輸出信息和邏輯組態(tài)實現(xiàn)的功能及信號流向與FD功能圖一致性。

測試人員通過在維護工具上強制的方法來產(chǎn)生信號,信號經(jīng)過相應的算法塊會產(chǎn)生相應的操作結果,將通過算法塊的運算結果與算法塊的功能加以比較,就能得出該算法塊的功能是否正確,信號流向是否正常等一系列結果,通過驗證的使用記號筆進行涂抹標記。具體測試方法流程如圖1 所示。

1.3 人工測試方法存在的問題

由于核能的特殊性,一個小誤差經(jīng)過累計可能導致一次核事故。因此,核電軟件對每個數(shù)據(jù)的精度要求都比較高。核電站一旦爆發(fā)事故,便會引起不堪設想的嚴重后果。因而在核電軟件的測試過程中需要特別關注如何檢測和更正發(fā)生的軟件故障,同時又能保證其按預定的成本、進度、質量順利地執(zhí)行并完成,顯得尤為重要。

圖1 人工邏輯測試流程圖Fig.1 Flow chart of manual logic test

基于以上幾點,上述測試方式在實踐過程中,往往存在以下問題:

1)測試周期長、通用性差

涂抹測試方法在A 項目安全級DCS 應用軟件邏輯測試一個版本5100 余張大約需要投入10 人大約需要2 個月工期,占用了20%的測試周期40%的人力資源,且后續(xù)多個版次及后續(xù)項目應用軟件邏輯測試仍需大量人力和時間,所以現(xiàn)有測試方法周期長、效率低。

2)自動化程度低,人因失誤

人工測試過程中,測試人員往往采用手動加載工程、手動使用工程師站軟件強制信號、人工讀取工程師站軟件反饋信號的方式進行測試。這種主要依靠手工測試方式效率較低,一個DCS 項目1 個版次就將近5100 多張功能圖,按10 人10 張/天的工作量計算,測試時間往往長達2 個月。測試人員采用手動加載工程、手動使用工程師站軟件強制信號、人工讀取工程師站軟件反饋信號,在功能圖上進行涂抹確認的方式進行測試,由于測試人員知識、狀態(tài)差異,難免會由于人因出現(xiàn)錯誤或遺漏。

3)測試結果的可追溯性差

測試人員采用在功能圖上進行涂抹確認的方式形成測試記錄,當發(fā)生錯測、漏測時,僅僅依靠涂抹不足以分析錯測、漏測的原因。如果測試人員的能力達不到規(guī)定的要求,軟件測試的過程失去控制,從而導致軟件測試結果的重現(xiàn)性差,不同的測試人員對同一個軟件的測試結果經(jīng)常是不同的,導致測試結果的可追溯性差。

2 自動化測試方法設計和實現(xiàn)

軟件邏輯測試的目標是盡可能多地發(fā)現(xiàn)軟件中存在的問題,軟件測試是軟件質量保證的關鍵步驟。針對人工比對涂抹的測試方法存在測試周期長、測試效率低、人因失誤無法避免等問題。為了提升應用軟件邏輯測試的自動化率水平,減少測試人力投入,縮短測試工期,減少和避免人工測試引入的人因失誤,引入了一種通過因果圖分析法,將輸入文件轉化因果圖進而轉化為真值表測試用例,然后提出需要,開發(fā)相應的自動化測試工具。最終,通過自動化測試工具,使得測試用例能夠自動讀取、自動執(zhí)行、自動生成測試記錄。還可以將大量的測試用例收集到測試用例庫中,經(jīng)過合理分類,供測試人員復用,有利于提高后續(xù)項目的測試效率。

2.1 測試用例優(yōu)化

影響軟件邏輯測試的因素很多,例如軟件本身的復雜程度,組態(tài)人員(包括分析、設計、測試人員)的素質,測試方法和技術的運用等。測試用例是測試工作的指導,可以把人為的因素減少到最小,而且會隨著測試的進行日趨完善,是軟件測試質量穩(wěn)定的根本保障。測試用例是為特定目標開發(fā)的測試輸入、執(zhí)行條件和預期結果的集合[3]。測試用例屬于軟件測試工作的指導性文件,測試用例的優(yōu)劣直接影響軟件測試的質量。

軟件測試中的邏輯測試是從用戶的角度出發(fā),以功能圖和算法塊手冊為依據(jù)來設計測試用例,執(zhí)行測試活動的。為了盡可能多地發(fā)現(xiàn)系統(tǒng)中的缺陷,驗證系統(tǒng)實現(xiàn)與需求之間一致性,邏輯測試用例需要設計的非常具體、詳細,包括每一操作步驟的執(zhí)行動作、輸入數(shù)據(jù)等。僅憑個人的工作經(jīng)驗來設計測試用例,測試質量無法保證,因此有必要尋找一種經(jīng)濟有效的用例設計方法,以期用最少的人力和資源投入,在最短的時間內完成測試,并發(fā)現(xiàn)軟件的問題,進而保證軟件的品質。

在核電DCS 軟件測試領域,因果圖是一種較好地檢測應用軟件問題或缺陷的方法。因果圖法是一種根據(jù)條件組合生成測試用例的系統(tǒng)性方法,它利用圖解法分析輸入的各種組合情況,從而設計測試用例,適合于檢查程序輸入條件的各種組合情況。因果圖通過將不同條件組合轉換為圖表的形式來獲得需求中額外的情況,以最有效率的方式來驗證軟件程序。

使用因果圖處理邏輯關系的技巧如下(T 代表“Ture”,F(xiàn) 代表“False”,effect 代表“作用”):

如果輸入條件是N 個“因”通過“or”組成的邏輯關系,那么就要用到N +1 個測試用例:

①如果輸入1T or 2F...or NF ',輸出為T;

②如果輸入1F or 2T...or NF ',輸出為T;

......

圖2 因果關系圖Fig.2 Causality diagram

N.如果輸入1F or 2F...or NT ',輸出為T;

N+1.如果輸入1F or 2F...or NF ',輸出為F;

同理,如果輸入條件是N 個“因”通過“and”組成的邏輯關系,那么也要用到N +1 個測試用例:

①如果輸入1F and 2T...and NT ',輸出為F;

②如果輸入1T and 2F...and NT ',輸出為F;

......

N.如果輸入1T and 2T...and NF ',輸出為F;

N+1.如果輸入1T and 2T...and NT ',輸出為T;

按照此原理,每個“果”所需要的測試用例數(shù)量通常是“因”的數(shù)量加1。經(jīng)過實踐發(fā)現(xiàn),每個“果”所需要的測試用例必須至少等于這個“果”所對應“因”的數(shù)量加1。

基于以上基本理論,某核電項目改進邏輯測試用例,通過真值表模板來制作應用軟件邏輯測試用例,具體用例設計方法如下:

1)分析軟件規(guī)格說明描述中,哪些是原因(即輸入條件或輸入條件的等價類),哪些是結果(即輸出條件),并給每個原因和結果賦予一個標識符。

2)分析軟件規(guī)格說明描述中的語義。找出原因與結果之間,原因與原因之間對應的關系。根據(jù)這些關系,得出因果圖,如圖2 所示。

3)標記約束或限制條件,由于語法或環(huán)境限制,有些原因與原因之間、原因與結果之間的組合情況下不可能出現(xiàn)。為表明這些特殊情況,在因果圖上用一些記號表明約束或限制條件。

4)把因果圖轉換為判定表,用判定表中的每一項生成測試用例。

5)按照邏輯對應關系得出一個單獨完整的測試用例,該測試用例覆蓋了所有需求,詳見表1。

此例不考慮設計因素的情況下僅用了10 步就將“003KS”的需求包含在內,保證了測試用例滿足需求。由此可見,因果圖能幫助人們按一定步驟,高效率地選擇測試用例,并且以最小覆蓋的范圍來盡可能地找出程序中的缺陷或錯誤。

表1 測試用例Table 1 Test cases

測試用例設計時,需從以下幾個方面考慮測試覆蓋率是否滿足要求:

1)功能圖頁中所有輸入變量、輸出變量需納入測試覆蓋率。

2)以測試用例為單位,統(tǒng)計所有變量類型的數(shù)量。

3)統(tǒng)計測試步驟中變量數(shù)值變化的數(shù)量和名稱。

4)按照下面的公式計算覆蓋率:覆蓋率=執(zhí)行過程中變化的變量數(shù)量/變量總數(shù)量。

5)用例第一步執(zhí)行完成后,記錄變量數(shù)值作為統(tǒng)計基準值,后續(xù)發(fā)生變化的認為是變化。

2.2 自動化測試工具

測試用例完成設計之后,為了進一步減少測試人力投入,縮短測試工期,減少和避免人工測試引入的人因失誤,提高自動化率。經(jīng)過對多項目邏輯測試數(shù)據(jù)的分析,對自動化測試工具提出了具體的需求,以滿足軟件邏輯自動化測試:

1)獨立運行,具備仿真功能,按照測試用例中的步驟,執(zhí)行強制和取消強制輸入變量的操作,讀取輸出變量的結果。

2)組態(tài)文件中每個算法塊都有唯一的名稱,自動化工具能夠支持算法塊輸入引腳和輸出引腳的強制和讀取。

3)測試用例中輸出變量回讀時間與組態(tài)中算法塊延時時間一致,軟件能夠根據(jù)控制站周期與回讀時間計算仿真周期計數(shù),回讀結果按照周期計數(shù)總數(shù)執(zhí)行。

4)測試用例中能通過“-”表示空白信息,軟件加載時遇到“-”不進行校驗處理。

5)測試執(zhí)行完成后,結果為“√”的代表執(zhí)行通過,結果為“×”的標記執(zhí)行不通過,通過紅色高亮顯示。

圖3 自動化邏輯測試流程圖Fig.3 Flow chart of automated logic test

經(jīng)定制開發(fā)的自動化測試工具能夠正常執(zhí)行自動化仿真測試,并且生成執(zhí)行結果和測試報告。

2.3 自動化測試的實現(xiàn)

邏輯測試用例設計完成之后,通過自動化測試工具,加載工程文件和自動化邏輯測試用例文件后,選擇自動執(zhí)行測試用例,工具讀取試驗條件變量的在線值,依次判斷試驗條件是否滿足,滿足則進行下一步;試驗時,工作區(qū)顯示當前正在進行的邏輯測試用例,并更新執(zhí)行完成的每一步驟的結果,試驗失敗則更新為紅色顯示的實驗失敗的數(shù)據(jù)(預期值后加括號顯示失敗數(shù)據(jù))和試驗結果(“×”),試驗成功則表示預期值與試驗數(shù)據(jù)一致,只更新為綠色顯示的實驗結果(“√”);自動化邏輯測試試驗項結束時對所有變量數(shù)值進行記錄,最終輸出試驗結果和形成測試記錄。

自動化測試流程如圖3 所示。顯而易見,自動化邏輯測試是一種高效的、動態(tài)的、黑盒自動測試方法。

3 實施應用情況及效果

自動化邏輯測試方法適用于所有核電站項目安全級DCS 項目應用軟件邏輯測試。通過相應平臺的自動化測試工具,能夠大幅提升測試效率。結合在某核電項目DCS 工廠測試應用的效果來看,對于傳統(tǒng)的上述測試項目,相比原有的人工確認涂抹測試方式,單項測試的耗時平均縮短80%;測試期間人力投入可減少50%。自動化邏輯測試方法不僅提高了效率,還減少了人因失誤,具體效果詳見表2。

表2 人工測試與自動化測試效果對照表Table 2 Comparison table of manual test and automated test effect

4 結語

本文以核電站安全級DCS 自主化開發(fā)為研究背景,對比了自動化邏輯測試方法與人工測試方法之間的差異,并結合工程實踐,自動化測試方法不僅能提升測試效率與準確率,同時降低了人因失誤,及早發(fā)現(xiàn)并解決DCS 存在的問題,降低后續(xù)工程測試階段以及現(xiàn)場改造成本。另外需要特別指出的是,人工邏輯測試方法仍然有效,但需要投入大量有經(jīng)驗測試人員去執(zhí)行測試,測試效率、用例復用性、可追溯性方面不如自動化邏輯測試方法有效。

主站蜘蛛池模板: 婷婷久久综合九色综合88| 成人精品在线观看| 国产精品视频第一专区| 五月激激激综合网色播免费| 日韩精品亚洲精品第一页| 精品国产一区二区三区在线观看 | 在线观看免费人成视频色快速| 在线播放91| 99激情网| 亚洲欧洲综合| 一区二区三区高清视频国产女人| 在线欧美一区| a级毛片免费网站| 久青草网站| 国产小视频a在线观看| 欧美三级自拍| 久久青草视频| 色偷偷综合网| 69综合网| 萌白酱国产一区二区| 欧美精品亚洲二区| 日韩久草视频| 亚洲最黄视频| 日韩 欧美 小说 综合网 另类| 久久精品视频亚洲| av在线无码浏览| 午夜成人在线视频| 色丁丁毛片在线观看| 日本福利视频网站| 国内精品自在欧美一区| 国产97视频在线| a天堂视频在线| 欧美亚洲国产精品久久蜜芽| 被公侵犯人妻少妇一区二区三区| 99热这里只有精品5| 日韩av在线直播| 日韩中文无码av超清| 亚洲无限乱码| 中文天堂在线视频| a级毛片免费看| 国产精品片在线观看手机版| 日本在线欧美在线| 六月婷婷综合| 亚洲第一极品精品无码| 亚洲女同欧美在线| 欧美区国产区| 国内精品久久久久鸭| 狠狠做深爱婷婷久久一区| 久久精品亚洲专区| 国产精品自在自线免费观看| 国产成人综合欧美精品久久| 在线观看av永久| 精品国产aⅴ一区二区三区| 99er这里只有精品| 国产在线精品网址你懂的| 精品一区二区三区无码视频无码| 亚洲人成网7777777国产| 亚洲国产理论片在线播放| 波多野结衣在线se| 99在线国产| 久久人人97超碰人人澡爱香蕉| 国产裸舞福利在线视频合集| 欧美日韩国产高清一区二区三区| 成人在线天堂| 免费无码在线观看| 毛片卡一卡二| 台湾AV国片精品女同性| 97se亚洲综合在线天天| 免费无码AV片在线观看国产| 国产高清在线观看| 亚洲91精品视频| 老司机久久99久久精品播放| 国产美女自慰在线观看| av一区二区人妻无码| a毛片免费在线观看| 伊人网址在线| 国产色爱av资源综合区| 国产午夜精品鲁丝片| 国产成人精品无码一区二 | 18禁影院亚洲专区| 亚洲性日韩精品一区二区| 亚洲无码久久久久|