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

核電DCS軟件開發中白盒測試的方法與實踐

2019-05-24 14:13:16王飛于凱華
電腦知識與技術 2019年11期

王飛 于凱華

摘要:軟件單元測試是軟件測試的基礎,是保證軟件質量的一個重要階段,同時也是發現軟件缺陷的關鍵步驟;該文首先介紹軟件單元測試中白盒測試的方法;然后以核電DCS歷史數據庫軟件為案例,具體研究了歷史數據庫軟件白盒測試的測試用例的設計方法,詳細介紹了白盒測試用例的設計步驟,并對幾種邏輯覆蓋準則進行了比較。

關鍵詞:核電DCS;軟件測試;白盒測試

中圖分類號:TP31 文獻標識碼:A

文章編號:1009-3044(2019)11-0095-02

Abstract: Software unit testing is the foundation of software testing and an important stage of software quality assurance. The white-box-testing method in the software testing is introduced; then it takes some history database software used in DCS of nuclear power plant as the case and studies the white-box-testing test cases design method. The design procedure of the white-box-testing test cases is summarized and several kinds of cover criteria are compared. At last the merits of MC/DC coverage and the white-box-testing coverage criterion of history database used in DCS of nuclear power plant are studied.

Key words: DCS of nuclear power plant; software testing; White-box-testing

自從數字計算機應用于核電站控制系統以來,軟件在核電廠控制系統中起著日益重要的作用,而有缺陷的軟件的確存在。核電站控制系統軟件的工作情況復雜,一旦軟件出現問題,往往造成災難性后果。因此,核電廠對核電廠控制系統軟件部分提出了相當高的要求。

軟件測試的方法可以分為黑盒測試和白盒測試,其中白盒測試是保證并提高軟件質量的常規手段之一,是發現軟件缺陷的關鍵步驟,是軟件測試的基礎。本文涉及的編程語言均為C/C++語言。

1 白盒測試方法

白盒測試又稱結構、邏輯測試或程序測試。這種測試需要了解程序的內部情況,并依據內部構造設計和執行測試用例。單元測試時一般采用白盒測試。白盒測試測試方法有邏輯覆蓋法和基本路徑法。

2 核電DCS歷史數據庫軟件測試白盒測試用例的設計

2.1 設計測試用例的步驟

通過對核電DCS歷史數據庫軟件的分析,得出相應白盒測試測試用例設計步驟如下:

1)首先采用等價類劃分、邊界值分析的方法進行用例設計,主要從以下幾個方面進行用例設計:

① 在數據允許范圍內;

② 在數據允許范圍外;

③ 數據的邊界;

④ 極限值;

⑤ 這些類型的綜合。

2)然后在語句覆蓋、組合條件方面進行考慮,檢查是否有沒有執行到的語句、組合條件,然后采用回溯的方法,考慮相應的數據參數。

3)基于以上兩種用例設計方法,還可以靠經驗和直覺推測程序中可能存在的各種錯誤,進行錯誤推測,從而有針對性地編寫檢查這些錯誤的測試用例。

2.2 測試用例設計實例

下面以核電DCS歷史數據庫中基于斜率比較的旋轉門壓縮算法模塊中程序為例,流程圖如圖1所示,具體研究白盒測試用例的設計。

1) 對程序流程圖的說明:如圖1所示,英文字母A、B、C、D、E、G表示程序分支的判定,其中的某個判定可能是一系列條件的組合,圖1中英文字母T、F表示程序分支的判定結果的真、假,小寫英文字母表示程序的路徑。

2) 對覆蓋準則進行選取,選為修正條件/判定覆蓋(MC/DC)。

3) 分析流程圖中的程序分支點,對分支點的判定進行提取,如表1所示。

4) 根據選取的準則來確定需要覆蓋的路徑,并進行測試用例的設計,如表2所示。

通過表2中的測試用例可以看出:測試用例1和測試用例2使判定A取真、假各一次,測試用例3和測試用例4使判定C取真、假各一次,測試用例2、測試用例3、測試用例4、測試用例5使判定B取真、假各一次,測試用例5、測試用例6、測試用例7使分支結構中條件斜率的取值取得了所有的可能的結果,并進行了轉換一次和單條件的變化,同時程序模塊的入口以及出口點都被調用了。由此可見,表2中測試用例達到了判定準則修正條件/判定覆蓋的標準,滿足測試要求。

3 核電DCS歷史數據庫軟件測試白盒測試覆蓋準則

通過對單元測試中白盒測試方法的研究,設計測試用例時需要滿足的幾種覆蓋準則存在以下特點:

設計測試用例(a,b,x)=(2,0,4) 就可達到語句覆蓋標準。若第一個條件語句中的邏輯與被錯誤地編寫成邏輯或,上面設計的測試用例是不能發現這個錯誤的;又如若第三個條件語句中x>1誤寫成x>0,這個測試用例也是不能發現這個錯誤的。

2) 判定覆蓋:在判定覆蓋中,判定語句基本是由多個邏輯條件組合而成,若只是判斷其整個最終結果,而忽略單個條件的取值情況,必然會導致部分測試路徑無法覆蓋。這樣的判定覆蓋并不全面。

3) 條件覆蓋:條件覆蓋中需要保證使一個判定中的每一個條件都取到兩個不同的結果,而判定覆蓋中對這一點并無要求,由此可見條件覆蓋相較判定覆蓋,其發現錯誤的能力較強。

4) 條件判定覆蓋:條件判定覆蓋要求測試用例使得條件語句中每個條件的所有可能都至少出現一次,同時判定條件可能的結果都至少出現一次,每一個條件能獨立影響判定結果的變化都至少出現一次(即:其他條件不變,只改變這個條件時判定結果變化)。

4 結論

對于數據庫軟件來說,其執行語句中可能包含布爾表達式,在進行軟件白盒測試用例設計時,其表達式的復雜性值得深入研究。由于數據庫軟件數據存儲的下一步動作受到多個條件的制約,在程序設計中分支判斷必然是一個多條件組合的布爾表達式,對于這樣的程序模塊,對其進行白盒測試,使用修正條件/判定覆蓋是一個比較有實效的折中辦法,這樣能有效的發現程序中的錯誤,又可以避免陷入煩瑣的用例設計中。

參考文獻:

[1] RTCA DO-178B Software Considerations in Airborne Systems and equipment certification [S]. Prepared by RTCA SC-167/EURO-CAE WG-12. 1,1992

[2] 鄭人杰. 計算機軟件測試技術 [M]. 北京:清華大學出版社,1992.

[3] 徐宏革. 郭慶. 白盒測試之道C++test [M]. 北京:北京航空航天大學出版社,2010.

【通聯編輯:梁書】

主站蜘蛛池模板: 国产视频资源在线观看| 秋霞国产在线| 黄色国产在线| 欧美午夜在线播放| 亚洲国产天堂久久综合| 在线精品欧美日韩| www成人国产在线观看网站| 色香蕉影院| 2021国产精品自产拍在线观看 | 99一级毛片| 中文成人在线视频| 国内精自线i品一区202| 国产69精品久久| 99999久久久久久亚洲| 国产精品对白刺激| 国产成人av一区二区三区| 天堂在线www网亚洲| 成人免费午夜视频| 婷婷色丁香综合激情| 久久这里只有精品8| 免费国产黄线在线观看| av手机版在线播放| 高清无码不卡视频| 国产一级无码不卡视频| 免费 国产 无码久久久| 一区二区欧美日韩高清免费| 国产精品妖精视频| 国产乱人激情H在线观看| 国产成人三级在线观看视频| 无码视频国产精品一区二区| 国产视频 第一页| 国产午夜不卡| 99热国产这里只有精品9九| 自拍欧美亚洲| 天堂成人av| 国产精品福利社| 日韩AV手机在线观看蜜芽| 青青草原国产精品啪啪视频| 亚洲综合九九| 人妻出轨无码中文一区二区| 美女国产在线| 亚洲第一色网站| 亚洲男人的天堂在线观看| 久久永久精品免费视频| 欧美日韩精品一区二区视频| 国产成人91精品| 午夜a视频| 国产打屁股免费区网站| 成人国产精品一级毛片天堂 | 国产精品亚洲一区二区三区z| 欧美日韩成人在线观看| av在线5g无码天天| 午夜精品区| 欧美精品v欧洲精品| 欧美国产精品不卡在线观看| 内射人妻无套中出无码| 九九热免费在线视频| 国内99精品激情视频精品| 久久黄色视频影| A级毛片高清免费视频就| 欧美一级在线播放| 亚洲视频三级| 亚洲人妖在线| 波多野结衣一区二区三视频| 亚洲伊人天堂| av一区二区三区高清久久| 色综合天天综合中文网| 亚洲男人的天堂在线观看| 亚洲色精品国产一区二区三区| 亚洲国产在一区二区三区| 高h视频在线| 国产色爱av资源综合区| 人妻丰满熟妇αv无码| 国产自产视频一区二区三区| 久久成人国产精品免费软件 | 亚洲欧美成人在线视频| 亚洲Va中文字幕久久一区| 亚洲丝袜中文字幕| 久久婷婷综合色一区二区| 9久久伊人精品综合| 亚洲精品天堂在线观看| 国产精品免费露脸视频|