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.

【通聯編輯:梁書】

主站蜘蛛池模板: 亚洲va欧美ⅴa国产va影院| 99re视频在线| 综合天天色| 中文字幕波多野不卡一区| 无码内射在线| 亚洲AV永久无码精品古装片| 香蕉eeww99国产精选播放| 亚洲婷婷丁香| 欧美激情视频一区二区三区免费| 亚洲精品国产成人7777| 国产波多野结衣中文在线播放| 亚洲欧美一区二区三区图片| 欧洲高清无码在线| 国产丝袜无码一区二区视频| 亚洲无码高清免费视频亚洲 | 国产精品污视频| 五月天丁香婷婷综合久久| 播五月综合| 91亚瑟视频| 国产粉嫩粉嫩的18在线播放91| 国产丝袜第一页| 久久精品国产免费观看频道| 国产福利小视频高清在线观看| 色色中文字幕| 在线色综合| 国产欧美视频在线| 国产真实乱了在线播放| 黄色网在线| 国产主播在线一区| 国产玖玖玖精品视频| 亚洲无码熟妇人妻AV在线| 69av在线| 无码中字出轨中文人妻中文中| 真实国产精品vr专区| 99手机在线视频| 999精品在线视频| 久久久久国产精品嫩草影院| 99久久精品国产自免费| 国产福利在线免费观看| 欧美另类一区| 99精品在线视频观看| 亚洲欧美不卡视频| 国产精品99在线观看| 久久性视频| 精品自拍视频在线观看| 亚洲男人的天堂在线观看| 亚洲人成影院在线观看| 亚洲最大看欧美片网站地址| 九九热视频在线免费观看| 欧美精品1区| 国产日韩欧美在线播放| 国产99在线| 六月婷婷综合| 亚洲色图另类| 国产麻豆aⅴ精品无码| 久久国产精品影院| 亚洲水蜜桃久久综合网站 | 中文字幕色站| 国产精品污视频| 99热这里只有精品2| 国产精品亚洲а∨天堂免下载| 国产一级视频久久| 久久国产精品国产自线拍| 久久精品人妻中文视频| 欧美视频在线第一页| 久久中文字幕2021精品| 国产麻豆福利av在线播放| 国产精品男人的天堂| 免费一级毛片| 在线播放国产一区| 91九色国产在线| 亚洲经典在线中文字幕| 欧美午夜在线观看| 久综合日韩| 亚洲av无码人妻| 欧美中文字幕一区| 无码精品福利一区二区三区| 精品1区2区3区| 波多野吉衣一区二区三区av| 色悠久久久久久久综合网伊人| 网友自拍视频精品区| 日本不卡在线播放|