国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于失效數(shù)據(jù)的軟件可靠性測試方法

2018-02-02 12:52顧吉堂
電腦知識與技術 2018年1期
關鍵詞:軟件可靠性

顧吉堂

摘要:結合軟件可靠性測試流程,分析了軟件可靠性數(shù)據(jù)獲取、處理辦法,最后提出一種基于軟件失效數(shù)據(jù)進行軟件可靠性測試的方法。

關鍵詞:軟件可靠性;軟件失效;可靠性測試

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)01-0122-02

Abstract:Combining software testing process, the paper studies software reliability data acquisition and processing methods, a way of testing software reliability Based on its failure data is proposed.

Key words:software reliability; software failure; reliability test

計算機軟件日趨復雜,影響其質量的因素也越來越多,盡管人們采用了軟件工程、軟件質量保證等一系列技術提高其可靠性水平,但在當前技術下做到軟件零缺陷幾乎是不可能的,用戶對運行穩(wěn)定、交互順暢、性能良好的計算機軟件的不斷追求為深入開展軟件可靠性測試研究提供了不竭動力。

可靠性作為衡量軟件質量的重要指標,越來越受到人們的重視,軟件可靠性測試已成為軟件可靠性工程的核心內容。

美國IEEE計算機學會軟件工程技術委員會于1983年對軟件可靠性作出如下的定義:

1) 在規(guī)定條件下和規(guī)定時間內不引起系統(tǒng)失效的概率;

2) 在規(guī)定的時間周期內,所述條件下程序執(zhí)行預定功能的能力。

其中,“規(guī)定條件”包括軟件運行環(huán)境、運行剖面;“規(guī)定時間”分為執(zhí)行時間、日歷時間和時鐘時間等。

當軟件失效時,就說明軟件不可靠,軟件失效次數(shù)越多或者發(fā)生失效時間間隔越短,認為軟件越不可靠。軟件失效的機理可用圖1表示。

其中:

錯誤(error):指軟件生存期內出現(xiàn)的不希望或不可接受的人為錯誤,其結果導致軟件缺陷產生,相對于軟件本身,錯誤是一種外部行為;

缺陷(defect):指存在于軟件文檔、數(shù)據(jù)、程序中的偏差導致軟件運行于特定條件下出現(xiàn)故障;

故障(fault):指軟件在運行過程中出現(xiàn)的系統(tǒng)不能夠執(zhí)行規(guī)定功能的狀態(tài),故障是一種動態(tài)行為,具有較強的不確定性;

失效(failure):指程序的運行偏離了需求,產生了一種不希望或不可接受的外部行為結果。

軟件失效機理可概括為:軟件錯誤通常是人為原因造成的,一個軟件錯誤必定會產生軟件缺陷;軟件缺陷被激活時,軟件故障就會隨之而來;軟件故障若未及時處理便會導致軟件失效。

1 軟件可靠性測試流程

軟件可靠性測試指的是對特定時間和環(huán)境下軟件無故障運行概率的分析判斷,一般情況下,可按軟件運行剖面隨機檢查其各項指標,通過收集測試數(shù)據(jù)并運用可靠性模型確定軟件的可靠性水平。

軟件可靠性測試流程通常分可靠性測試準備、可靠性測試執(zhí)行和可靠性結果分析三個階段,軟件可靠性測試的一般流程如圖2所示。

1) 構造運行剖面:“軟件的運行剖面”是指由軟件所有可能的輸入值構成的軟件運行的輸入空間及其分布概率。粗略地說,運行剖面是用來描述軟件實際使用情況的,可根據(jù)軟件的需求規(guī)格說明及設計文檔確定軟件功能點、提取操作點、明確操作點相互關系和操作概率等。

2) 選取測試用例:測試用例一般包括測試項功能、輸入數(shù)據(jù)和預期結果等,要使其輸入環(huán)境與軟件典型使用環(huán)境在統(tǒng)計特性上盡可能保持一致,也要根據(jù)軟件運行剖面隨機選取與用戶的使用概率分布相吻合的測試用例,確保軟件可靠性估計的準確性和客觀性。

3) 測試執(zhí)行:即在實裝真實條件下或模擬生成的仿真測試環(huán)境中,按軟件操作流程運行測試用例,記錄軟件運行期間的失效時間、失效間隔、累積失效數(shù)等測試數(shù)據(jù)。

4) 結果分析:根據(jù)軟件運行結果判斷被試軟件是否失效并對其中原因定位,除此之外,還要根據(jù)軟件失效數(shù)據(jù)評價其可靠性指標是否滿足預定要求,為管理決策提供依據(jù)。

5) 糾錯與回歸測試:在結果分析基礎上,針對導致軟件失效的程序要通過糾錯措施進行糾正,才能實現(xiàn)軟件可靠性的增長;回歸測試是指對修改錯誤程序后的軟件按照測試流程和運行剖面再次進行的測試,其目的是確認糾錯措施沒有產生新的錯誤。

2 軟件可靠性數(shù)據(jù)采集

軟件可靠性數(shù)據(jù)不僅要滿足軟件可靠性模型要求還要滿足軟件全壽命、全周期可靠性分析要求,數(shù)據(jù)采集的質量、數(shù)量直接影響到軟件可靠性測試結果的準確性和可信度。為便于研究,這里將軟件的錯誤、缺陷、故障及引起軟件差錯的其他數(shù)據(jù)統(tǒng)稱為軟件可靠性數(shù)據(jù)。

對于一個計算機軟件來說,發(fā)生軟件失效一般是因為運行了某一包含缺陷的軟件模塊的原因。為了討論方便,這里把那些驅動系統(tǒng)軟件模塊運行的因素為操作,并用操作序列來表達系統(tǒng)進行的所有活動。同時,軟件失效又具有相對獨立性,其發(fā)生的時間與系統(tǒng)先前工作狀態(tài)、運行時長及累積失效等因素均無關。

一般來說,可以把軟件在某一次可靠性測試過程中的所有操作用一個操作序列來表示,其失效時間序列為,這里為系統(tǒng)開機時間。為方便研究,我們在時間軸上用操作軸和操作序列、失效軸和失效序列來直觀反映軟件在一次測試過程中發(fā)生失效的情況,如圖3所示。

引入操作序列的概念,有利于按時間先后順序獲取軟件在實際使用中的失效數(shù)據(jù),該數(shù)據(jù)能直觀反映出測試周期中的軟件可靠性數(shù)據(jù),有利于開展軟件的可靠性分析。

所謂失效序列,通常認為其中的任意一次失效,意味著運行了某個包含缺陷的軟件模塊,測試中可以通過記錄失效時間來構建其失效序列。

當軟件進行修改后,其失效數(shù)據(jù)的獲取可以根據(jù)修改缺陷模塊的運行反推出該模塊操作可能失效現(xiàn)象,在先前失效序列中去掉已修改的失效數(shù)據(jù),加上該操作在更新后發(fā)生的失效數(shù)據(jù)就可以獲得新的、可利用的軟件可靠性數(shù)據(jù)了。

3 軟件可靠性測試模型

現(xiàn)有的軟件可靠性測試模型有很多種,這里采用G-O非齊次Poisson過程模型,根據(jù)軟件可靠性測試中采集的軟件失效數(shù)據(jù)預測其最終的失效總數(shù),為可靠性分析奠定基礎。

作如下假設:

1) 時刻t被發(fā)現(xiàn)的軟件失效數(shù)據(jù)服從泊松分布;

2) 軟件錯誤相互獨立且被發(fā)現(xiàn)概率基本相同;

3) 軟件糾錯過程中不會產生新的錯誤。

累積錯誤數(shù)m(t)為軟件運行到t時刻的累積錯誤總數(shù),a為最終可能被檢測出的錯誤總數(shù),則有:

對于一個被測軟件,在獲取軟件失效數(shù)及失效間隔時間基礎上,可通過上述模型計算出軟件累積錯誤,為該軟件的可靠性測試奠定基礎。

4 結束語

本文從軟件失效數(shù)據(jù)采集、分析入手,結合軟件可靠性評估模型,針對軟件可靠性測試技術進行了研究,對提高計算機軟件可靠性測試水平具有指導意義。

參考文獻:

[1] 李麗清.軟件缺陷數(shù)據(jù)的分析和預測[J].中國工程物理研究院科技年報,2003(6):160-162.

[2] 張廣梅.軟件測試與可靠性評估[D].北京:中國科學院研究生院,2006:21-22.

[3] 揚玥.軟件可靠性評測的多因素決策模型[J].計算機應用研究,2015(4):1110-1111.

[4] 喬輝.軟件缺陷預測技術研究[D]. 北京:信息工程大學,2013:3-4.endprint

猜你喜歡
軟件可靠性
軟件可靠性耦合度量的測試用例約簡優(yōu)化
嵌入式應用軟件可靠性自動測試方法研究
軟件可靠性工程綜合應用建模技術研究
軟件可靠性設計技術應用研究
數(shù)控系統(tǒng)軟件可靠性設計與故障分析技術
基于GQM的裝備軟件可靠性參數(shù)選取方法
簡談使用BoundsChecker進行計算機聯(lián)鎖系統(tǒng)人機界面軟件可靠性測試
基于多準則決策的軟件可靠性模型選擇方法
IEEE軟件可靠性系列標準分析*
軟件可靠性數(shù)據(jù)預處理研究
久治县| 郧西县| 台州市| 华蓥市| 壶关县| 宁德市| 台北市| 汕头市| 大宁县| 定结县| 淮北市| 祥云县| 保德县| 平原县| 茂名市| 疏勒县| 阳谷县| 衡南县| 双流县| 临泽县| 渭源县| 墨竹工卡县| 壶关县| 双城市| 昆山市| 星座| 司法| 班戈县| 桑植县| 松原市| 乌鲁木齐县| 共和县| 宣恩县| 富川| 南京市| 马龙县| 无棣县| 陆良县| 镇坪县| 久治县| 新竹市|