軟件的評估理論是進行評估的理論依據(jù),評估方法是評估理論的實際應用和處理測試數(shù)據(jù)的方法。對于評估指標體系中的不同指標,應該根據(jù)測試數(shù)據(jù)的不同,選取相應的評估理論和方法。軟件評估(Software assessment)的實質(zhì)是對軟件質(zhì)量的度量與評價。
我們對軟件質(zhì)量評估的定義是:“為了確定一特定的軟件模塊、軟件包或軟件產(chǎn)品是否驗收合格或發(fā)布而把特定的評估準則應用到該軟件模塊、軟件包或軟件產(chǎn)品上去的活動”。
可見,軟件評估的對象是“軟件模塊、軟件包或軟件產(chǎn)品”,軟件評估的目的是“確定被評對象是否驗收合格或發(fā)布”。定義中提到的評估準則是“根據(jù)特定的軟件產(chǎn)品和質(zhì)量需求,確定產(chǎn)品是否通過驗收或發(fā)布的一組成文的規(guī)則和條件的集合”。從廣泛意義上講,評估準則已經(jīng)包括了評估方法和指標體系,即如何處理獲得的測試數(shù)據(jù)與如何應用評估準則到被評估軟件上。
軟件可靠性評估(Software reliability assessment)的完整含義是:根據(jù)軟件系統(tǒng)可靠性結構(單元與系統(tǒng)間可靠性關系)、壽命類型和各單元的可靠性試驗信息,利用概率統(tǒng)計方法,評估出系統(tǒng)的可靠性特征量。
目前,軟件可靠性工程是一門雖然得到普遍承認,但還處于不成熟的正在發(fā)展確立階段的新興工程學科。國外從60年代后期開始加強軟件可靠性的研究工作,經(jīng)過20年左右的研究推出了各種可靠性模型和預測方法,于1990年前后形成較為系統(tǒng)的軟件可靠性工程體系。同時,從80年代中期開始,西方各主要工業(yè)強國均確立了專門的研究計劃和課題,如英國的AIVEY(軟件可靠性和度量標準)計劃、歐洲的ESPRIT(歐洲信息技術研究與發(fā)展戰(zhàn)略)計劃、SPMMS(軟件生產(chǎn)和維護管理保障)課題、Eureka(尤里卡)計劃等。每年,都有大量人力物力投入軟件可靠性研究項目,并取得一定成果。
國內(nèi)對于軟件可靠性的研究工作起步較晚,在軟件可靠性量化理論、度量標準(指標體系)、建模技術、設計方法、測試技術等方面與國外差距較大。國內(nèi)多數(shù)軟件的生產(chǎn)方式還處于計算機時代的早期階段,缺點很明顯,主要表現(xiàn)在:1、透明度差;2、軟件交付系統(tǒng)聯(lián)調(diào)前只靠自檢,質(zhì)量得不到保證;3、用戶對交付的軟件可靠性缺乏信心。多數(shù)所謂的“軟件測試”僅僅對幾個預先指定的用例進行一下表演就算通過。目前還沒有像硬件那樣完善的檢驗體系,交付軟件的質(zhì)量不高。典型統(tǒng)計表明,“開發(fā)階段平均每千行代碼有50-60個缺陷,交付后平均每千行代碼有15-18個缺陷”,有時會留下嚴重隱患。
目前,軟件可靠性管理方面還沒有建立起具有權威性的管理體系和規(guī)范。比如,如何描述軟件可靠性、如何測試、如何評估、如何設計、如何提高等。由于目前國內(nèi)外對于軟件可靠性模型的研究多集中在軟件的研制階段,而很少有涉及測試與評估階段的可靠性模型,所以從事軟件可靠性測試與評估研究是一個有理論價值和實際意義、并且存在一定難度的課題。
隨著計算機軟件編制的規(guī)范化,必然要將軟件可靠性考核納入科學、規(guī)范的軌道。具體表現(xiàn)在:1、在軟件系統(tǒng)研制任務中,制定軟件可靠性量化指標,使軟件考核有明確的標準;2、建立完善的軟件測試、可靠性信息收集系統(tǒng),使在計算機軟件開發(fā)中通過科學的軟件測試不斷減少缺陷;3、通過研究軟件可靠性考核方法,制定相應的軟件考核規(guī)程、標準;4、開發(fā)軟件可靠性評估軟件,使軟件鑒定更加方便。