版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
PAGEPAGE8計算機(jī)軟件測試中關(guān)于可靠性測試的一些看法
一.軟件可靠性1.1軟件可靠性定義軟件可靠性是軟件質(zhì)量因素中最基本、最重要的因素。1983年,IEEE計算機(jī)學(xué)會對“軟件可靠性”這一術(shù)語作了專門的定義:在規(guī)定的條件下,在規(guī)定的時間內(nèi),軟件不引起系統(tǒng)失效的概率,該概率是系統(tǒng)輸入和輸出的函數(shù),也是軟件中存在的缺陷的函數(shù);系統(tǒng)輸入將確定是否會遇到已存在的錯誤(如果錯誤存在的話):在規(guī)定的時間周期內(nèi),在規(guī)定的條件下程序執(zhí)行所要求的功能的能力。根據(jù)定義,軟件可靠性包含了以下3個要素:規(guī)定的時間、規(guī)定的條件、所要求的功能。規(guī)定的時間:軟件可靠性只是體現(xiàn)在其運(yùn)行階段,所以將“運(yùn)行時間”作為“規(guī)定時間"的度量。“運(yùn)行時間”包括軟件系統(tǒng)運(yùn)行后工作與掛起(開啟但空閑)的累計時間。由于軟件運(yùn)行的環(huán)境與程序路徑選取的隨機(jī)性,軟件的失效為隨機(jī)事件,所以運(yùn)行時間屬于隨機(jī)變量。規(guī)定的條件:條件指軟件的運(yùn)行環(huán)境。它涉及軟件系統(tǒng)運(yùn)行時所需的各種支持要素,如支持硬件、操作系統(tǒng)、其他支持軟件、輸入數(shù)據(jù)格式和范圍以及操作規(guī)程等。不同的環(huán)境條件下軟件的可靠性是不同的。具體地說,規(guī)定的環(huán)境條件主要是描述軟件系統(tǒng)運(yùn)行時計算機(jī)的配置情況以及對輸入數(shù)據(jù)的要求,并假定其他一切因素都是理想的。有了明確規(guī)定的環(huán)境條件,還可以有效判斷軟件失效的責(zé)任在用戶方還是研制方。所要求的功能:軟件可靠性還與規(guī)定的任務(wù)和功能有關(guān)。由于要完成的任務(wù)不同,軟件的運(yùn)行剖面會有所區(qū)別,則調(diào)用的子模塊就不同(即程序路徑選擇不同),其可靠性也就可能不同。所以要準(zhǔn)確度量軟件系統(tǒng)的可靠性必須首先明確它的任務(wù)和功能。1.2軟件可靠性度量軟件可靠性度量是指對軟件產(chǎn)品具有可靠性程度的定量評價。軟件可靠性度量參數(shù)是描述軟件可靠性的依據(jù),確定其指標(biāo)要求是評估軟件可靠性的必要步驟,一般的軟件可靠性參數(shù)有:可靠度:是指軟件在規(guī)定的條件下、規(guī)定的時間段內(nèi)完成預(yù)定的功能的概率。或者說是軟件在規(guī)定時間內(nèi)無失效發(fā)生的概率。該參數(shù)是關(guān)于軟件失效行為的概率描述,是軟件可靠性的基本定義。失效概率:失效概率是失效時間少于或等于t的概率。失效強(qiáng)度:失效強(qiáng)度是失效概率的密度函數(shù)。失效率:失效率是指在t時刻尚未發(fā)生失效的條件下,在t時刻后單位時間內(nèi)發(fā)生失效的概率。失效率是失效概率F(t)的條件概率密度,又稱條件失效強(qiáng)度。平均失效時間:平均失效時間次失效時間的均值。平均失效間隔時間:平均失效間隔時間是指2次相鄰失效時間間隔的均值。二.軟件可靠性測試2.1軟件可靠性測試定義軟件可靠性測試是指在預(yù)期的使用環(huán)境中,為檢出軟件缺陷,驗(yàn)證和評估是否達(dá)到用戶對軟件可靠性需求而組織實(shí)施的一種軟件測試。軟件可靠性測試是面向故障的測試,每一次測試均代表用戶將要完成的一組操作,使得測試成為最終軟件產(chǎn)品運(yùn)行的預(yù)演。軟件可靠性測試包括可靠性增長測試和可靠性驗(yàn)證測試??煽啃栽鲩L測試和可靠性驗(yàn)證測試從不同的角度理解、分析和處理故障數(shù)據(jù)。在可靠性增長測試中,測試以迭代方式進(jìn)行,根據(jù)測試過程中所檢出和跟蹤到的故障,使用基于軟件可靠性增長模型和統(tǒng)計推理的可靠性評估方法進(jìn)行故障強(qiáng)度估計和測試進(jìn)展跟蹤。可靠性驗(yàn)證測試是軟件產(chǎn)品發(fā)放前進(jìn)行的最后測試,它是最終檢驗(yàn)而不是調(diào)試??煽啃则?yàn)證測試的目標(biāo)是確定一個軟件產(chǎn)品在風(fēng)險限度之內(nèi)的可接收程度。軟件可靠性測試是在預(yù)期的使用環(huán)境中或仿真環(huán)境下,按照運(yùn)行剖面組織實(shí)施的測試。在使用中發(fā)生概率高的缺陷通常最先得以暴露,而實(shí)際高發(fā)生概率的缺陷即是影響軟件可靠性的主要缺陷,排除這些缺陷可以有效地實(shí)現(xiàn)可靠性增長,提高軟件可靠性。軟件可靠性測試過程中,可以根據(jù)用戶給定的可靠性要求確定測試方案,生成測試用例,進(jìn)行可靠性驗(yàn)證測試。軟件可靠性測試及其失效數(shù)據(jù)分析,不僅可以驗(yàn)證軟件可靠性是否滿足給定需求,跟蹤軟件可靠性的增長情況,指導(dǎo)軟件測試和交付,而且可以預(yù)測未來可能達(dá)到的可靠性水平,從而為軟件開發(fā)及其管理提供決策依據(jù)。軟件可靠性測試是指為了保證和驗(yàn)證軟件的可靠性要求而對軟件進(jìn)行的測試。其采用的是按照軟件運(yùn)行剖面(對軟件實(shí)際使用情況的統(tǒng)計規(guī)律的描述)對軟件進(jìn)行隨機(jī)測試的測試方法。通過軟件可靠性測試可以達(dá)到以下目的:(1)有效地發(fā)現(xiàn)程序中影響軟件可靠性的缺陷,從而實(shí)現(xiàn)可靠性增長:軟件可靠性是指“在規(guī)定的時間內(nèi),規(guī)定的條件下,軟件不引起系統(tǒng)失效的能力,其概率度量稱為軟件可靠度。軟件的“規(guī)定的條件”主要包括相對不變的條件和相對變化的條件,相對不變的條件如計算機(jī)及其操作系統(tǒng):相對變化的條件是指輸入的分布,用軟件的運(yùn)行剖面來描述。按照軟件的運(yùn)行剖面對軟件進(jìn)行測試一般先暴露在使用中發(fā)生概率高的缺陷,然后是發(fā)生概率低的缺陷。而高發(fā)生概率的缺陷是影響產(chǎn)品可靠性的主要缺陷,通過排除這些缺陷可以有效地實(shí)現(xiàn)軟件可靠性的增長。(2)驗(yàn)證軟件可靠性滿足一定的要求:通過對軟件可靠性測試中觀測到的失效情況進(jìn)行分析,可以驗(yàn)證軟件可靠性的定量要求是否得到滿足。(3)估計、預(yù)計軟件可靠性水平:通過對軟件可靠性測試中觀測到的失效數(shù)據(jù)進(jìn)行分析,可以評估當(dāng)前軟件可靠性的水平,預(yù)測未來可能達(dá)到的水平,從而為開發(fā)管理提供決策依據(jù)。軟件可靠性測試中暴露的缺陷既可以是影響功能需求的缺陷也可以是影響性能需求的缺陷。軟件可靠性測試方法從概念上講是一種黑盒測試方法,因?yàn)樗敲嫦蛐枨蟆⒚嫦蚴褂玫臏y試,它不需要了解程序的結(jié)構(gòu)以及如何實(shí)現(xiàn)等問題。2.2軟件可靠性測過程軟件可靠性測試活動包括:測試數(shù)據(jù)、測試環(huán)境的準(zhǔn)備、測試運(yùn)行、可靠性數(shù)據(jù)收集、可靠性數(shù)據(jù)分析和失效糾正。(1)構(gòu)造運(yùn)行剖面:軟件的運(yùn)行剖面“是指對系統(tǒng)使用條件的定義。即系統(tǒng)的輸入值用其按時間的分布或按它們在可能輸入范圍內(nèi)的出現(xiàn)概率的分布來定義”。粗略地說,運(yùn)行剖面是用來描述軟件的實(shí)際使用情況的。運(yùn)行剖面是否能代表、刻畫軟件的實(shí)際使用取決于可靠性工程人員對軟件的系統(tǒng)模式、功能、任務(wù)需求及相應(yīng)的輸入激勵的分析,取決于他們對用戶使用這些系統(tǒng)模式、功能、任務(wù)的概率的了解。運(yùn)行剖面構(gòu)造的質(zhì)量將對測試、分析的結(jié)果是否可信產(chǎn)生最直接的影響。(2)選取測試用例:軟件可靠性測試采用的是按照運(yùn)行剖面對軟件進(jìn)行可靠性測試的方法。因此,可靠性測試所用的測試用例是根據(jù)運(yùn)行剖面隨機(jī)選取得到的。(3)測試環(huán)境的準(zhǔn)備:為了得到盡可能真實(shí)的可靠性測試結(jié)果,可靠性測試應(yīng)盡量在真實(shí)的環(huán)境下進(jìn)行,但是在許多情況下,在真實(shí)的環(huán)境下進(jìn)行軟件的可靠性測試很不實(shí)際,因此需要開發(fā)軟件可靠性仿真測試環(huán)境。比如,對于多數(shù)嵌入式軟件,由于與之交聯(lián)的環(huán)境的開發(fā)常常與軟件的開發(fā)是同步甚至是滯后的,因此無法及時進(jìn)行軟件可靠性測試:有些系統(tǒng)中,由于交聯(lián)的環(huán)境非常昂貴而無法用于需要進(jìn)行大量運(yùn)行的可靠性測試。(4)可靠性測試運(yùn)行:即在真實(shí)的測試環(huán)境中或可靠性仿真測試環(huán)境中,用按照運(yùn)行剖面生成的測試用例對軟件進(jìn)行測試。(5)數(shù)據(jù)收集:收集的數(shù)據(jù)包括軟件的輸入數(shù)據(jù)、輸出結(jié)果,以便進(jìn)行失效分析和進(jìn)行回歸測試:軟件運(yùn)行時間數(shù)據(jù),可以是CPU執(zhí)行時間、日歷時間、時鐘時間等:可靠性失效數(shù)據(jù)包括每次失效發(fā)生的時間或一段時間內(nèi)發(fā)生的失效數(shù),失效數(shù)據(jù)可以實(shí)時分析得到,也可以事后分析得到。數(shù)據(jù)收集的質(zhì)量對于最終的可靠性分析結(jié)果有著很大的影響,應(yīng)盡可能采用自動化手段進(jìn)行數(shù)據(jù)的收集,以提高效率、準(zhǔn)確性和完整性。(6)數(shù)據(jù)分析:主要包括失效分析和可靠性分析。失效分析是根據(jù)運(yùn)行結(jié)果判斷軟件是否失效,以及失效的后果、原因等:而可靠性分析主要是指根據(jù)失效數(shù)據(jù),估計軟件的可靠性水平,預(yù)計可能達(dá)到的水平,評價產(chǎn)品是否已經(jīng)達(dá)到要求的可靠性水平。為管理決策提供依據(jù)。(7)失效糾正:如果軟件的運(yùn)行結(jié)果與需求不一致,則稱軟件發(fā)生失效。通過失效分析,找到并糾正引起失效的程序中的缺陷,從而實(shí)現(xiàn)軟件可靠性的增長。軟件可靠性增長測試是為了滿足用戶對軟件的可靠性要求、提高軟件可靠性水平而對軟件進(jìn)行的測試。是為了滿足軟件的可靠性指標(biāo)要求,對軟件進(jìn)行測試一可靠性分析一修改一再測試—再分析一再修改的循環(huán)過程。2.3軟件可靠性評估離開了準(zhǔn)確的評價方法,可靠性保證措施的有效性難以判斷。目前在軟件可靠性評價技術(shù)中,受到關(guān)注的主要有兩種評價方法:(1)基于軟件可靠性測試的評估方法軟件可靠性驗(yàn)證方法是為了驗(yàn)證在給定的統(tǒng)計置信度下,軟件當(dāng)前的可靠性水平是否滿足用戶的要求而進(jìn)行的測試,即用戶在接收軟件時,確定它是否滿足軟件規(guī)格說明書中規(guī)定的可靠性指標(biāo)。該種方法一般是在軟件驗(yàn)收階段進(jìn)行的,在軟件需求方參與的情況下實(shí)施。其主要過程是根據(jù)現(xiàn)場測試(注意測試中不再進(jìn)行故障剔除)的故障情況,利用某種或某些軟件供需雙方都認(rèn)可的可靠性驗(yàn)收模型(比如Nelson模型㈨)進(jìn)行可靠性的定量評價,以判斷該軟件是否達(dá)到了其需求說明書中約定的可靠度。圖3-1介紹了基于軟件可靠性測試的評估方法的步驟。確定驗(yàn)證測試方案確定驗(yàn)證測試方案生成測試用例測試運(yùn)行結(jié)果分析可靠性運(yùn)行圖3-1軟件可靠性測試的評估方法(2)基于軟件可靠性建模的評估方法傳統(tǒng)的軟件可靠性估計方法一般是用可靠性增長模型(RGM)對軟件可靠性進(jìn)行評估和預(yù)測,因此可靠性建模是傳統(tǒng)的軟件可靠性估計過程的基礎(chǔ)。它確定產(chǎn)品是否達(dá)到了可靠性指標(biāo)。它要求根據(jù)系統(tǒng)測試中收集的失效數(shù)據(jù).(如失效報告和測試時間),運(yùn)用可靠性模型估計作為測試時間函數(shù)的各種產(chǎn)品可靠性參量。圖3-2顯示了基于軟件可靠性建模的可靠性評價的主要步驟。確定可靠性目標(biāo)確定可靠性目標(biāo)開發(fā)測試模型進(jìn)行系統(tǒng)測試?yán)^續(xù)測試心集失效數(shù)據(jù)軟件可靠性建模選擇適當(dāng)?shù)能浖煽啃阅P陀绍浖目煽啃阅P凸烙嫯?dāng)前的可靠性開始推廣批準(zhǔn)現(xiàn)場的可靠性達(dá)到可靠性目標(biāo)反饋到下一版本 圖3-2基于可靠性建模的軟件可靠性評估2.4軟件可靠性模型的局限性如果將七十年代初出現(xiàn)的第一個有影響的軟件可靠性模型作為開端,對軟件可靠性模型進(jìn)行系統(tǒng)化研究,所建立的軟件可靠性模型已不下百余種。然而,由于軟件可靠性模型本身存在很多不足,使得模型的應(yīng)用受到限制。下面本文將給出軟件可靠性模型存在的兩個主要問題。(1)沒有通用的軟件可靠性模型:造成軟件可靠性模型評價精度不高的原因之一是在沒有通用模型的情況下,使用者選擇模型時存在相當(dāng)?shù)睦щy。他們常常憑經(jīng)驗(yàn)做取舍,從而不可避免地導(dǎo)致有些模型的應(yīng)用環(huán)境與建模者的建模假設(shè)相去甚遠(yuǎn),因而客觀上影響了模型的評價精度。(2)軟件可靠性模型的不足使軟件可靠性模型并不能完全描述軟件的故障行為主要是因?yàn)椋?1)軟件可靠性模型的假設(shè)本身就存在一定的失實(shí)情況由于人們對軟件失效的內(nèi)在機(jī)理的認(rèn)識還不完全,在建模時難免會做出大量不切實(shí)際的假設(shè)。以隨機(jī)過程軟件可靠性模型為例,這類模型建模所涉及的主要假設(shè)有:a)故障間隔時間具有獨(dú)立性;b)軟件失效相互獨(dú)立;c)軟件所有缺陷暴露率相同;d)一旦發(fā)現(xiàn)軟件缺陷就立即被清除掉,而且清除過程中不會引起新的軟件缺陷:e)測試用例的選取是隨機(jī)的。顯然這些假設(shè)與現(xiàn)實(shí)相悖。(2)軟、硬件故障的差別盡管軟件、硬件故障的發(fā)生都具有隨機(jī)性的特點(diǎn),但它們的產(chǎn)生機(jī)理是不一樣的。軟件的故障常常是由軟件的缺陷或錯誤引起的,具有離散性,與硬件相比,它更適合用集合、格、群等數(shù)學(xué)工具而不是某種分布來表達(dá);硬件故障卻是由硬件部件的物理或化學(xué)變化造成的,即所謂的“行動損耗",有一定的連續(xù)性和規(guī)律性,其行為常??捎闷⒎址匠堂枋觯梅植记€來表達(dá)。所以從硬件技術(shù)借鑒而來的軟件可靠性模型與軟件的故障之間是有縫接口。(3)測試的隨機(jī)性就軟件而言,不可忽視測試的隨機(jī)性。軟件故障具有離散性,因此樣本空間中,某輸入數(shù)據(jù)的輸出很難用以代表相鄰輸入數(shù)據(jù)的輸出。而硬件則不同,它的故障行為有一定的連續(xù)性,可以用樣本點(diǎn)的值來代表相鄰點(diǎn)的值。因此與硬件相比,軟件的測試結(jié)果常常會隨樣本空間選擇的不同而發(fā)生較大的變化。影響樣本空間選擇的隨機(jī)因素諸如測試工具、測試人員的素質(zhì)、計算機(jī)環(huán)境、故障收集的時間標(biāo)準(zhǔn)等通過樣本空間間接影響軟件的測試結(jié)果。這些測試結(jié)果直接決定了軟件可靠性模型參數(shù),然而軟件的可靠性模型卻沒有考慮這些隨機(jī)性。三.結(jié)論從軟件測試和軟件可靠性理論入手,對現(xiàn)有的軟件可靠性技術(shù)進(jìn)行了系統(tǒng)的研究。總結(jié)出現(xiàn)有可靠性模型的特
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版現(xiàn)代化辦公室租賃場地合同樣本3篇
- 二零二五版精制粉原料供應(yīng)鏈風(fēng)險管理合同3篇
- 二零二五版地震監(jiān)測基站場地租賃與應(yīng)急救援合同3篇
- 2025年度醫(yī)療健康產(chǎn)業(yè)園區(qū)承包經(jīng)營合同范本3篇
- 二零二五版溫泉度假酒店SPA服務(wù)人員勞動合同3篇
- 二零二五年度離婚經(jīng)濟(jì)補(bǔ)償協(xié)議范本及調(diào)解服務(wù)合同3篇
- 二零二五年度能源項目合作開發(fā)PPP模式合同范本3篇
- 物業(yè)管理公司2025年度招投標(biāo)代理合同3篇
- 二零二五年度車位租賃合同:住宅小區(qū)車位使用權(quán)協(xié)議2篇
- 2025廠房買賣合同模板:高端裝備制造廠房交易3篇
- 扣款通知單 采購部
- 湖北教育出版社三年級下冊信息技術(shù)教案
- 鐵路工程主要建材碳排放因子、常用施工機(jī)械臺班能源用量、類運(yùn)輸方式、能源碳排放因子、不同植栽方式綠化固碳量
- 設(shè)計基礎(chǔ)全套教學(xué)課件
- 藥品養(yǎng)護(hù)記錄表
- IATF16949包裝方案評審表
- 食堂服務(wù)外包投標(biāo)方案(技術(shù)標(biāo))
- 綠建評分報告模板
- 1 運(yùn)行方案說明
- 大骨節(jié)病專業(yè)知識講座課件
- PHILIPS HeartStart XL+操作培訓(xùn)課件
評論
0/150
提交評論