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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

15408

標準將可信定義為:

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

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

可信計算組織(trusted

computing

group)認為:

如果一個實體總是按照其設定目標所期望的方式行事,

則稱這個實體為可信的;

從用戶體驗的角度,

微軟公司的比爾?蓋茨認為可信計算是一種可以隨時獲得的可靠安全的計算,

并包括人類信任計算機的程度,

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

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

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

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

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

異常行為可控制.

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

溫馨提示

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

評論

0/150

提交評論