作者:admin 時間:2022-08-22
本文為《軟件可靠性簡介》培訓課程中摘錄的公開內容。
本文目錄:
一、軟件可靠性測試的概念
二、軟件可靠性測試過程
三、軟件可靠性增長實驗
四、軟件可靠性驗證實驗
五、軟件可靠性驗證測試方案
一、軟件可靠性的概念
軟件可靠性測試,是指為了滿足用戶對軟件的可靠性要求,基于用戶使用模型對軟件進行測試,發現并糾正軟件中的缺陷提高軟件的可靠性水平,并驗證軟件能否達到用戶可靠性要求的軟件測試方法。
首要目標是尋找頻繁的、關鍵的失效,是面向失效的測試方法。
軟件可靠性測試目的:
◆驗證軟件可靠性滿足給定的要求
◆評估軟件可靠性水平
◆預計軟件可靠性水平
◆實現軟件可靠性增長
需要注意的是,軟件測試和軟件可靠性測試不同,在第5講會講軟件測試。
這里簡單提一下軟件可靠性測試與其它測試類型(比如白盒、黑盒,灰盒測試等)的關系:
1.其它測試類型關注與其相關聯的缺陷類型,發現和消除這些缺陷,對改進軟件可靠性有幫助。
2.每一種測試類型都有其針對性,各盡其責,相互補充,改進測試的充分性。
二、軟件可靠性測試過程
我們以一張圖來看軟件可靠性的測試過程:
這里不好理解的可能是操作剖面,怎么理解呢?我們可以理解為:操作及其發生概率組成的集合。用它來定量的描述軟件的實際使用情況。
剖面有很多種,如客戶剖面,用戶剖面,功能剖面等等。同一個軟件因為用戶不同,存在多個操作剖面。
在第2講時,我們給過這個例子,這里再次重復下,以實際案例講解剖面的構建。
虛擬維修訓練系統可實現在虛擬環境下對裝備進行維修和拆卸的功能。是一款集訓練、學習、自測于一身的學習訓練系系統,對受訓人員的維修保障能力有大的幫助,其構成如下。
a) 客戶剖面可以表示為:
客戶剖面= {P (院校),P(軍工廠),P(基地)};
本例中,一組模擬數據為:院校有5所,軍工廠10個,基地15個,則概率計算如下:
P (院校) =5/ (5+10+15) = 5/30
P (軍工廠) =10/ (5+10+15) = 10 / 30
P (基地) =15/ (5+10+15) = 15/30
b) 用戶剖面可以表示為:
用戶剖面= {P (管理員), P (受訓者) };
這里模擬一組用戶數據如下:
院校一共500人使用此軟件,其中10人為管理員,490人為受訓者;軍工廠一共50人使用此軟件,管理員5人,受訓者45人;基地一共100人使用此軟件,管理員5人,受訓者95人。
根據這些數據可計算用戶剖面概率:
P (管理員) = (5/30) ? (10/500) + (10/30) ? (5/ 50) + (15/30) ? (5/100) =37/600
P (受 訓 者) = (5/30) ? (490/500) + (10/30) ? (45/50) + (15/30) ? (95/100) =563/600
c) 功能剖面可以表示為:
功能剖面= {P (登錄), P (實施) , P (查詢) };
不同系統使用人員 (管理員和受訓者) 使用系統不同功能的情況如下所示:
P (登錄) =0?7?P (管理員) +0?2?P (受訓者) =0.7*37/600+0.2*563/600 = 0.2308
P (實施) =0?2?P (管理員) +0?6?P (受訓者) =0.2*37/600+0.6*563/600 = 0.5753
P (查詢) =0?1?P (管理員) +0?2?P (受訓者) = 0.1*37/600+0.2*563/600 = 0.1938
根據實際的使用情況對功能剖面中實施部分進行分解實施包括提示和訓練兩大功能,其概率分配比例為0.2,0.8。則:
P (提示) =0?2?P (實施)=0.11506
P (訓練) =0?8?P (實施)=0.46024
這樣我們就計算出了登錄、實施、查詢這三個功能的使用概率。按照同樣的道理,可以去計算再下層的功能剖面,如實施下面的調練,以及再往下的操作剖面:講解演示、引導訓練、自主訓練、自測。
構建完剖面后,接下來是準備測試用例。軟件可靠性測試所用的測試用例是根據操作剖面隨機選取的。整個過程可以用下面這個流程表示,可以根據情況進行適當調整:
比如上面這個例子中的“講解演示”測試用例:
測試用例可以用一些方法來幫助設計,我們在第5講介紹測試用例的設計。
接下來是準備測試環境,為了得到盡可能真實的結果,可靠性測試應該盡量在真實的環境下進行。這里就引申出考慮軟件工作載荷的可靠性綜合試驗剖面設計。
例如一個飛機的例子:
然后是測試運行,收集可靠性數據,進行數據分析等等。這些內容比較常規,不在此細講。
三、軟件可靠性增長實驗
軟件可靠性增長實驗的定義:
在軟件交付前進行,通過可靠性測試暴露軟件缺陷,采取有效措施排除失效率較大的缺陷,以提高交付軟件的可靠性。
軟件可靠性增長實驗的特點:
測試人員:通常由軟件研制方而非使用方進行;
測試階段:通常在軟件測試階段;
測試場所:一般在實驗室內進行;
測試對象:軟件產品研制的中后期,驗證測試之前;
測試方法:基于操作剖面的隨機測試方法;
測試特征:出現失效后即修改軟件,并驗證修正的正確性。
四、軟件可靠性驗證實驗
軟件可靠性驗證實驗的定義:
驗證在給定置信水平下,軟件的可靠性水平是否達到規定的可靠性指標的要求,驗證結果是軟件定型的依據。相當于硬件可靠性鑒定試驗,兩者都是統計實驗。
軟件可靠性驗證實驗的特點:
測試人員:通常由使用方參加測試;
測試階段:軟件確認(定型或驗收)階段;
測試對象:軟件產品的最終版本;
測試方法:基于軟件操作剖面的隨機測試方法;
測試特征:不進行軟件缺陷的剔除。
五、軟件可靠性驗證測試方案
工程實踐表明,軟件的失效分布一般也可以認為是指數分布,因此,軟件可靠性驗證測試方案也按GJB 899A-2009《可靠性鑒定和驗收實驗》分為定時截尾統計試驗方案、定數截尾統計試驗方案和序貫截尾統計試驗方案。
考慮到有的軟件可靠性要求很高,還有無失效考核測試方案。
書上給了個例題:
某控制系統的軟件的可靠性指標為MTBF=1000h,若生產方和使用方商定的風險α=β=20%,鑒定比d=3,問怎樣進行該軟件的可靠性驗證方案?
定時截尾,根據α=β=20% ,d=3 查GJB 899A-2009的試驗方案(課本178頁表4-9),采用方案17,即總測試時長T=4.3 θ1,
接收/拒收失效數≤2。即軟件應運行4.3 θ1即4300h,若期間發生的失效數≤2,則認為該軟件的MTBF= 1000h達到了。否則認為指標沒有達到。
以上文章來源于永恒之地 ,作者徐步陌上行
國可RFMEA
與傳統的FMEA分析方法和軟件相比,R-FMEA最大的特點是通過其七步的分析流程, 構建了關聯緊密的FMEA基礎數據關系,即FMEA主模型。通過FMEA主模型,工程人員可以根據需要構建簡單的或者復雜的FMEA分析, 并實現企業知識的積累和快速重用。
國可R-FMEA軟件支持免費在線使用,并保證數據。日前,R-FMEA V4.6已正式發布,歡迎感興趣的朋友在線申請
版權所有© 國可工軟科技有限公司 滬ICP備2020030271號