可信軟件及測試_第1頁
可信軟件及測試_第2頁
可信軟件及測試_第3頁
可信軟件及測試_第4頁
可信軟件及測試_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

可信軟件及測試內(nèi)容1.軟件面臨問題2.問題分析3.從軟件質(zhì)量到可信4.可信軟件主要特征5.可信軟件測試1.軟件面臨的問題從與軟件相關(guān)的一些重大事故談起軟件事故典型案例2011年7月23日20時(shí)30分05秒,甬溫線發(fā)生動(dòng)車列車追尾事故,造成40人死亡、172人受傷,中斷行車32小時(shí)35分,直接經(jīng)濟(jì)損失19371.65萬元。原因分析:經(jīng)國務(wù)院調(diào)查組調(diào)查后證實(shí)是因?yàn)長KD2-T1型列控中心設(shè)備系統(tǒng)存在嚴(yán)重設(shè)計(jì)缺陷和重大安全隱,導(dǎo)致本應(yīng)顯示為紅燈的區(qū)間信號(hào)機(jī)錯(cuò)誤地顯示為綠燈。2007年10月30日,奧運(yùn)門票第二階段預(yù)售首日2006年3月2日14點(diǎn)10分,滬深大盤忽然發(fā)生罕見大跳水,7分鐘之內(nèi)上證指數(shù)跌去近20點(diǎn)。原因分析:當(dāng)日下午剛上市的招商銀行認(rèn)股權(quán)證成交量巨大,導(dǎo)致其行情顯示時(shí)總成交量字段溢出,使其價(jià)格在股票分析軟件上成為一條不再波動(dòng)的直線,讓市場產(chǎn)生了恐慌。原因:銀聯(lián)新近準(zhǔn)備上線的某外圍設(shè)備的隱性缺陷誘發(fā)了跨行交易系統(tǒng)主機(jī)的缺陷,使主機(jī)發(fā)生故障2005年4月20日上午10時(shí)56分,中國銀聯(lián)系統(tǒng)通信網(wǎng)絡(luò)和主機(jī)出現(xiàn)故障,造成轄內(nèi)跨行交易全部中斷。這是2002年中國銀聯(lián)成立以來,首次全國性因系統(tǒng)故障造成的跨行交易全面癱瘓。2003年8月14日下午4時(shí)10分,美國及加拿大部分地區(qū)發(fā)生歷史上最大的停電事故。15日晚逐步恢復(fù)。后果:經(jīng)濟(jì)損失250億到300億之間原因分析俄亥俄州的第一能源(FirstEnergy)公司x下屬的電力監(jiān)測與控制管理系統(tǒng)軟件XA/21出現(xiàn)錯(cuò)誤,系統(tǒng)中重要的預(yù)警部分出現(xiàn)嚴(yán)重故障,負(fù)責(zé)預(yù)警服務(wù)的主服務(wù)器與備份服務(wù)器連接失控,錯(cuò)誤沒有得到及時(shí)通報(bào)和處理,最終多個(gè)重要設(shè)備出現(xiàn)故障,導(dǎo)致大規(guī)模停電。原因分析:

ADA語言編寫的一段程序,將一個(gè)64位浮點(diǎn)整數(shù)轉(zhuǎn)換為16位有符號(hào)整數(shù)時(shí),產(chǎn)生溢出,導(dǎo)致系統(tǒng)慣性參考系統(tǒng)完全崩潰1996年6月4日,歐洲空間局的阿麗亞娜火箭,發(fā)射后37秒爆炸。損失6億美元2.問題分析1).什么是軟件質(zhì)量?2).為什么軟件質(zhì)量保障困難?從軟件質(zhì)量談起1).什么是軟件質(zhì)量?GB/T11457-2006<<軟件工程術(shù)語>>中定義軟件質(zhì)量為:(1)軟件產(chǎn)品中能滿足給定需要的性質(zhì)和特性的總體。(2)軟件具有所期望的各種屬性的組合程度。(3)顧客和用戶覺得軟件滿足其綜合期望的程度。(4)確定軟件在使用中將滿足顧客預(yù)期要求的程度。2).為什么軟件質(zhì)量保障困難(1)軟件產(chǎn)品與需求(2)軟件的本質(zhì)(3)軟件度量困難(1)軟件產(chǎn)品與需求需求與成本之間的矛盾 需求是永無止境的 成本是永遠(yuǎn)有限的(2)軟件的本質(zhì)規(guī)模、復(fù)雜性、演化性網(wǎng)絡(luò)環(huán)境軟件研發(fā)過程缺乏基礎(chǔ)理論支撐軟件產(chǎn)品的驗(yàn)證缺乏基礎(chǔ)理論支持(3)軟件度量困難軟件的度量,不像長度、容積和重量那樣有統(tǒng)一的標(biāo)準(zhǔn),采用不同的軟件度量標(biāo)準(zhǔn),可以得到不同的結(jié)果,這使得軟件的度量增加了難度。3.從軟件質(zhì)量到可信軟件(1)什么是可信?(2)什么軟件的是可信軟件?(1)什么是可信?ISO/IEC

15408

標(biāo)準(zhǔn)將可信定義為:

一個(gè)可信(trusted)的組件、操作或過程的行為在任意操作條件下是可預(yù)測的,

并能很好地抵抗應(yīng)用軟件、病毒以及一定的物理干擾造成的破壞;

可信計(jì)算組織(trusted

computing

group)認(rèn)為:

如果一個(gè)實(shí)體總是按照其設(shè)定目標(biāo)所期望的方式行事,

則稱這個(gè)實(shí)體為可信的;

從用戶體驗(yàn)的角度,

微軟公司的比爾?蓋茨認(rèn)為可信計(jì)算是一種可以隨時(shí)獲得的可靠安全的計(jì)算,

并包括人類信任計(jì)算機(jī)的程度,

就像使用電力系統(tǒng)、電話那樣自由、安全;

從網(wǎng)絡(luò)行為的角度,

林闖等認(rèn)為可信的網(wǎng)絡(luò)應(yīng)該是網(wǎng)絡(luò)系統(tǒng)的行為及其結(jié)果是可以預(yù)期的,

能夠做到行為狀態(tài)可監(jiān)測,

行為結(jié)果可評估,

異常行為可控制.

綜上所述:如果一個(gè)軟件系統(tǒng)的行為總是與預(yù)期相一致,稱之為可信(trustworthy)。(2)什么是可信軟件?軟件是可信的,如果其服務(wù)總是與用戶的預(yù)期相符,即使在運(yùn)行過程中出現(xiàn)一些特殊情況。特殊情況包括:1、硬件環(huán)境(計(jì)算機(jī)、網(wǎng)絡(luò))發(fā)生故障2、底層軟件(操作系統(tǒng)、數(shù)據(jù)庫)出現(xiàn)錯(cuò)誤3、其它軟件(病毒軟件、流氓軟件)對其產(chǎn)生影響4、出現(xiàn)有意(攻擊)、無意(誤操作)的錯(cuò)誤操作4.可信軟件主要特征根據(jù)可信軟件的定義,對可信軟件的研究主要從以下幾個(gè)方面進(jìn)行闡述(1)可靠性(2)可用性(3)安全性(4)可維護(hù)性(5)完整性(1)可靠性可信軟件的可靠性是指系統(tǒng)在規(guī)定的條件、環(huán)境及時(shí)間區(qū)間內(nèi)連續(xù)正確地運(yùn)行以提供所期望服務(wù)的能力,即計(jì)算機(jī)系統(tǒng)和軟件能正常運(yùn)行的概率。規(guī)定的條件包括環(huán)境、使用、維護(hù)、和維修等條件和操作技術(shù)。規(guī)定的時(shí)間是指軟件系統(tǒng)的可靠性是相對于一定的時(shí)間間隔而言的,即人們要求在規(guī)定的時(shí)間誒軟件系統(tǒng)有一定的可靠性。正確運(yùn)行是指系統(tǒng)具有規(guī)定的各項(xiàng)技術(shù)性能,運(yùn)行的程序不會(huì)被破壞或停止,能完成規(guī)定的任務(wù),即程序按照規(guī)定的要求運(yùn)行,在規(guī)定的時(shí)間限度范圍之內(nèi)執(zhí)行并且運(yùn)行的結(jié)果正確。提高軟件可靠性的技術(shù)途徑有避錯(cuò)法和容錯(cuò)法。避錯(cuò)技術(shù):采用正確的設(shè)計(jì)和質(zhì)量控制方法盡量避免把錯(cuò)誤引進(jìn)系統(tǒng)。容錯(cuò)技術(shù):利用外加資源的冗余技術(shù)是系統(tǒng)中發(fā)生故障時(shí)仍能提供正常的服務(wù)。(2)可用性可信軟件的可用性是指在給定時(shí)間內(nèi)系統(tǒng)可運(yùn)行的概率??捎眯?MTTF/(MTTF+MTTR)*100%其中MTTF(meantimetofailure,平均無故障時(shí)間)是指系統(tǒng)平均能夠正常運(yùn)行多長時(shí)間,才發(fā)生一次故障。(系統(tǒng)的可靠性越高,平均無故障時(shí)間越長。)MTTR(meantimetorestoration,平均維修時(shí)間)是指系統(tǒng)發(fā)生故障后維修和重新恢復(fù)正常運(yùn)行平均花費(fèi)時(shí)間。(系統(tǒng)的可維護(hù)性越好,平均維修時(shí)間越短。)(3)安全性安全性指系統(tǒng)防止敏感信息與數(shù)據(jù)被未授權(quán)用戶非法讀寫的能力,包括防止授權(quán)用戶抵賴已進(jìn)行過的訪問。安全性一般分為兩個(gè)層次:在應(yīng)用程序級別,包括對數(shù)據(jù)或業(yè)務(wù)功能的訪問,可確保在預(yù)期的安全情況下,操作者只能訪問特定的功能或用例,或者只能訪問有限的數(shù)據(jù);在系統(tǒng)級別,包括對系統(tǒng)的登錄或遠(yuǎn)程登錄,確保只有具備系統(tǒng)訪問權(quán)限的用戶才能訪問應(yīng)用程序,而且只能通過相應(yīng)的入口才能訪問。(4)可維護(hù)性可信軟件的可維護(hù)性是指系統(tǒng)具有易于修改和可進(jìn)化的能力,包括理解、改正、改動(dòng)和改進(jìn)軟件的難易程度。運(yùn)行時(shí)期的主要任務(wù)是使軟件持久地滿足用戶的需求。具體地說,當(dāng)軟件在使用過程中發(fā)現(xiàn)錯(cuò)誤時(shí),應(yīng)該加以改正;當(dāng)環(huán)境改變時(shí),應(yīng)該修改軟件以適應(yīng)新的環(huán)境;當(dāng)用有新要求時(shí),應(yīng)該及時(shí)的改進(jìn)軟件滿足用的新需求。(5)完整性可信計(jì)算組織(TrustedComputingGroup,TCG)將完整性定義為一個(gè)實(shí)體為了實(shí)現(xiàn)特定的目標(biāo)而按照特定的方式進(jìn)行工作的一種期望。軟件的的完整性是指軟件不發(fā)生不適當(dāng)?shù)男薷男畔⒌默F(xiàn)象,也就是軟件在運(yùn)行的過程中按照軟件設(shè)計(jì)者的本意進(jìn)行,不受其他應(yīng)用的任何影響。5.可信軟件測試可信軟件測試是指在保證軟件可信性的前提下運(yùn)行軟件來發(fā)現(xiàn)軟件中的錯(cuò)誤而執(zhí)行程序的過程??尚跑浖y試的原因:隨著人們對軟件測試重要性認(rèn)識(shí)的提高,在整個(gè)軟件生命周期中軟件測試階段所占的比重越來越大,同時(shí)對軟件質(zhì)量要求越來越高,故提出可信軟件的測試。目前對可信軟件的測試主要集中在對其進(jìn)行可靠性、可用性、安全性、容錯(cuò)性、動(dòng)態(tài)測試方法及錯(cuò)誤注入測試方法。1.可靠性測試可信軟件的可靠性測試是評估軟件的可靠性水平,驗(yàn)證軟件產(chǎn)品是否達(dá)到軟件可靠性要求的重要且有效的途徑。目前的測試方法主要有白盒測試、黑盒測試和灰盒測試。白盒測試也稱結(jié)構(gòu)測試,它是按照程序內(nèi)部的結(jié)構(gòu)測試程序,通過檢測來測試產(chǎn)品內(nèi)部動(dòng)作是否按照設(shè)計(jì)規(guī)格說明書的規(guī)定正常進(jìn)行,檢驗(yàn)程序中的每條通路是否能夠按預(yù)定要求正確工作。黑盒測試又稱功能測試,是把測試對象看做一個(gè)黑盒子來測試軟件產(chǎn)品的功能,不測試其內(nèi)部結(jié)構(gòu)和處理過程?;液袦y試:是介于白盒測試與黑盒測試之間的,可以這樣理解,灰盒測試關(guān)注輸出對于輸入的正確性,同時(shí)也關(guān)注內(nèi)部表現(xiàn),但這種關(guān)注不象白盒那樣詳細(xì)、完整,只是通過一些表征性的現(xiàn)象、事件、標(biāo)志來判斷內(nèi)部的運(yùn)行狀態(tài),有時(shí)候輸出是正確的,但內(nèi)部其實(shí)已經(jīng)錯(cuò)誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會(huì)很低,因此需要采取這樣的一種灰盒的方法。2.可用性測試軟件的可用性測試包括以用戶為主的測試和以專家為主的測試方式。以用戶為主的測試叫用戶測試(usertesting);以專家為主的測試有認(rèn)知預(yù)演(cognitivewalkthrough)和探索式評估(heuristicevaluation)。用戶測試法:就是讓用戶真正地使用軟件系統(tǒng),由實(shí)驗(yàn)人員對實(shí)驗(yàn)過程進(jìn)行觀察、記錄和測量。這種方法可以準(zhǔn)確地反饋用戶的使用表現(xiàn)、反映用戶的需求,是一種非常有效的方法。用戶測試可分為實(shí)驗(yàn)室測試和現(xiàn)場測試。實(shí)驗(yàn)室測試是在可用性測試實(shí)驗(yàn)室里進(jìn)行的,而現(xiàn)場測試是由可用性測試人員到用戶的實(shí)際使用現(xiàn)場進(jìn)行觀察和測試。認(rèn)知預(yù)演:首先要定義目標(biāo)用戶、代表性的測試任務(wù)、每個(gè)任務(wù)正確的行動(dòng)順序、用戶界面,然后進(jìn)行行動(dòng)預(yù)演并不斷地提出問題,包括用戶能否建立達(dá)到任務(wù)目的,用戶能否獲得有效的行動(dòng)計(jì)劃,用戶能否采用適當(dāng)?shù)牟僮鞑襟E,用戶能否根據(jù)系統(tǒng)的反饋信息評價(jià)是否完成任務(wù),最后進(jìn)行評論,諸如要達(dá)到什么效果,某個(gè)行動(dòng)是否有效,某個(gè)行動(dòng)是否恰當(dāng),某個(gè)狀況是否良好。優(yōu)點(diǎn)在于:能夠使用任何低保真原型,包括紙?jiān)汀H秉c(diǎn)在于:評價(jià)人不是真實(shí)的用戶,不能很好地代表用戶。探索式評估由多位評價(jià)人(通常4至6人)根據(jù)可用性原則反復(fù)瀏覽系統(tǒng)各個(gè)界面,獨(dú)立評估系統(tǒng),允許各位評價(jià)人在獨(dú)立完成評估之后討論各自的發(fā)現(xiàn),共同找出可用性問題。優(yōu)點(diǎn)是:在于專家決斷比較快、使用資源少,能夠提供綜合評價(jià),評價(jià)機(jī)動(dòng)性好,缺點(diǎn)是:一是會(huì)受到專家的主觀影響,二是沒有規(guī)定任務(wù),會(huì)造成專家評估的不一致,三是評價(jià)后期階段由于評價(jià)人的原因造成信度降低,四是專家評估與用戶的期待存在差距,所發(fā)現(xiàn)的問題僅能代表專家的意思。3.安全性測試可信軟件的安全性測試是確定軟件的安全性實(shí)現(xiàn)是否與預(yù)期設(shè)計(jì)一致的過程。軟件主要的安全功能需求包括數(shù)據(jù)機(jī)密性、完整性、可用性、不可否認(rèn)性、身份認(rèn)證、授權(quán)、訪問控制、委托、隱私保護(hù)、安全管理等。安全性測試用例安全性測試的主要方法形式化安全測試:形式化方的基本思想是建立軟件的數(shù)據(jù)學(xué)模型,并在形式規(guī)格說明書的支持下,提供軟件的形式規(guī)格說明書。形式化安全測試方法可分為兩類,即定理證明和模型檢測。定理證明方法將程序轉(zhuǎn)換為邏輯公式,然后使用公理和規(guī)則證明程序是一個(gè)合法的定理。模型檢測用狀態(tài)遷移系統(tǒng)S描述軟件的行為用時(shí)序邏輯、計(jì)算樹邏輯或演算公式F表示軟件執(zhí)行必須滿足的性質(zhì),通過自動(dòng)搜索S中不滿足公式F的狀態(tài)來發(fā)現(xiàn)軟件中的漏洞。語法測試:是根據(jù)被測試軟件的功能接口的語法生成測試輸入,檢測被檢測軟件對各類輸入的響應(yīng)。模糊測試:是一種發(fā)現(xiàn)安全漏洞的有效的測試方法,將隨機(jī)的壞數(shù)據(jù)插入程序,觀察程序是否能夠容忍雜亂輸入?;谀P偷陌踩δ軠y試:是對軟件的行為和結(jié)構(gòu)進(jìn)行建模。生成測試模型,由測試模型生成測試用例,驅(qū)動(dòng)軟件測試。4.容錯(cuò)性測試可信軟件的容錯(cuò)性測試是一種對抗性的測試過程測試軟件出現(xiàn)故障時(shí),如何進(jìn)行故障的轉(zhuǎn)移與恢復(fù)有用的數(shù)據(jù)。容錯(cuò)性測試包括兩個(gè)方面:A)輸入異常數(shù)據(jù)或進(jìn)行異常操作,以檢驗(yàn)系統(tǒng)的保護(hù)性。如果系統(tǒng)容錯(cuò)性好,系統(tǒng)只給出提示或內(nèi)部消化,而不會(huì)導(dǎo)致系統(tǒng)出錯(cuò)甚至崩潰。B)災(zāi)難恢復(fù)性測試。通過各種手段,讓軟件強(qiáng)制性地發(fā)生故障,然后驗(yàn)證系統(tǒng)以保存的用戶數(shù)據(jù)是否丟失,系統(tǒng)和數(shù)據(jù)是否能很快恢復(fù)。容錯(cuò)性測試5.可信軟件動(dòng)態(tài)測試軟件動(dòng)態(tài)測試就是通過運(yùn)行軟件來檢驗(yàn)軟件的動(dòng)態(tài)行為和運(yùn)行結(jié)果的正確性。它可以分為隨機(jī)測試和選擇性測試兩大類。隨機(jī)測試方法以數(shù)理統(tǒng)計(jì)理論為基礎(chǔ),根據(jù)軟件在使用中輸入數(shù)據(jù)空間的概率分布,隨機(jī)選擇測試數(shù)據(jù)。但這種測試的不足之處是測試具有盲目性并且工作量比較大。選擇性測試則是根據(jù)程序的內(nèi)部結(jié)構(gòu)和軟件功能規(guī)約,有目的地選擇測試數(shù)據(jù)。根據(jù)動(dòng)態(tài)測試在軟件開發(fā)過程中所處的階段和作用,動(dòng)態(tài)測試可分為如下幾個(gè)步驟:A)單元測試:是對軟件中的基本組成單位進(jìn)行測試,其目的是檢驗(yàn)軟件基本組成單位的正確性。B)集成測試:在軟件系統(tǒng)集成過程中所進(jìn)行的測試,其主要目的是檢查軟件單位之間的接口是否正確。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論