Chp1軟件質(zhì)量的概念_第1頁
Chp1軟件質(zhì)量的概念_第2頁
Chp1軟件質(zhì)量的概念_第3頁
Chp1軟件質(zhì)量的概念_第4頁
Chp1軟件質(zhì)量的概念_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第1章章 軟件質(zhì)量的概念軟件質(zhì)量的概念1內(nèi)容提要內(nèi)容提要n軟件質(zhì)量的概念軟件質(zhì)量的概念n軟件質(zhì)量模型軟件質(zhì)量模型n軟件缺陷軟件缺陷2什么是軟件質(zhì)量?什么是軟件質(zhì)量?n質(zhì)量大師質(zhì)量大師Philip B. Crosby關(guān)于質(zhì)量指出:關(guān)于質(zhì)量指出:質(zhì)量管理的問題不在于人們不知道什么是質(zhì)量,問題在質(zhì)量管理的問題不在于人們不知道什么是質(zhì)量,問題在于人們認(rèn)為他們自己知道什么。于人們認(rèn)為他們自己知道什么。n軟件質(zhì)量軟件質(zhì)量每個(gè)人在某種條件下都需要它,每個(gè)人都覺得自己理解每個(gè)人在某種條件下都需要它,每個(gè)人都覺得自己理解它卻又不愿意解釋它。每個(gè)人都認(rèn)為實(shí)現(xiàn)它只需遵從自它卻又不愿意解釋它。每個(gè)人都認(rèn)為實(shí)現(xiàn)它只需

2、遵從自然趨勢(shì)。大多數(shù)人認(rèn)為問題都是由他人引起的。然趨勢(shì)。大多數(shù)人認(rèn)為問題都是由他人引起的。 某些開發(fā)者認(rèn)為軟件質(zhì)量是在編碼之后才應(yīng)該開始擔(dān)心。某些開發(fā)者認(rèn)為軟件質(zhì)量是在編碼之后才應(yīng)該開始擔(dān)心。(錯(cuò)誤(錯(cuò)誤!)3質(zhì)量的概念質(zhì)量的概念n詞典對(duì)詞典對(duì)質(zhì)量質(zhì)量的定義是:的定義是: 典型的或本質(zhì)的特征;典型的或本質(zhì)的特征; 事事物固有的或區(qū)別于其他事物的特征或本質(zhì);物固有的或區(qū)別于其他事物的特征或本質(zhì); 優(yōu)良或優(yōu)良或出色的程度。出色的程度。n世界著名的質(zhì)量管理專家朱蘭(世界著名的質(zhì)量管理專家朱蘭(Juran)對(duì))對(duì)“質(zhì)量質(zhì)量”給給出的含義:出的含義:滿足使用要求的基礎(chǔ)是質(zhì)量特征滿足使用要求的基礎(chǔ)是質(zhì)量特

3、征,產(chǎn)品的任,產(chǎn)品的任何特性(性質(zhì)、屬性等)、材料或滿足使用要求的過程何特性(性質(zhì)、屬性等)、材料或滿足使用要求的過程都是質(zhì)量特征。都是質(zhì)量特征。nISO給出的質(zhì)量定義:產(chǎn)品或服務(wù)滿足明示或暗示需求給出的質(zhì)量定義:產(chǎn)品或服務(wù)滿足明示或暗示需求能力的特性和特征的集合。能力的特性和特征的集合。4質(zhì)量的概念質(zhì)量的概念n客戶客戶概念概念與與質(zhì)量質(zhì)量息息相關(guān)。質(zhì)量和客戶兩者相對(duì)存在。息息相關(guān)。質(zhì)量和客戶兩者相對(duì)存在。n站在不同層面或角度對(duì)質(zhì)量有不同的理解站在不同層面或角度對(duì)質(zhì)量有不同的理解n先驗(yàn)證觀點(diǎn)先驗(yàn)證觀點(diǎn):質(zhì)量是產(chǎn)品的一種可以認(rèn)識(shí)但不可定義的性質(zhì):質(zhì)量是產(chǎn)品的一種可以認(rèn)識(shí)但不可定義的性質(zhì)n基于價(jià)值

4、觀點(diǎn)基于價(jià)值觀點(diǎn):質(zhì)量依賴于顧客愿意付給產(chǎn)品報(bào)酬的數(shù)量:質(zhì)量依賴于顧客愿意付給產(chǎn)品報(bào)酬的數(shù)量n產(chǎn)品觀點(diǎn)產(chǎn)品觀點(diǎn):質(zhì)量是聯(lián)結(jié)產(chǎn)品固有性質(zhì)的紐帶:質(zhì)量是聯(lián)結(jié)產(chǎn)品固有性質(zhì)的紐帶n生產(chǎn)者觀點(diǎn)生產(chǎn)者觀點(diǎn):質(zhì)量是產(chǎn)品性能符合規(guī)格要求的程度:質(zhì)量是產(chǎn)品性能符合規(guī)格要求的程度n用戶觀點(diǎn)用戶觀點(diǎn):質(zhì)量是滿足使用目的的程度:質(zhì)量是滿足使用目的的程度n內(nèi)部內(nèi)部用戶和用戶和外部外部用戶用戶外部用戶外部用戶:產(chǎn)品的實(shí)際使用者,一般意義上的客戶:產(chǎn)品的實(shí)際使用者,一般意義上的客戶內(nèi)部用戶內(nèi)部用戶:生產(chǎn)環(huán)節(jié)中下一道工序的接受者:生產(chǎn)環(huán)節(jié)中下一道工序的接受者5質(zhì)量的概念質(zhì)量的概念n從質(zhì)量的定義和不同的理解中可以看到,從質(zhì)量的

5、定義和不同的理解中可以看到,質(zhì)量質(zhì)量是滿足客是滿足客戶需求的特征。(核心含義)戶需求的特征。(核心含義)n質(zhì)量似乎不是客觀的,因?yàn)闆]有什么科學(xué)儀器可以直接質(zhì)量似乎不是客觀的,因?yàn)闆]有什么科學(xué)儀器可以直接測(cè)出質(zhì)量來;質(zhì)量似乎也不是主觀的,因?yàn)樗粌H存在測(cè)出質(zhì)量來;質(zhì)量似乎也不是主觀的,因?yàn)樗粌H存在于人們的腦海中。其實(shí),于人們的腦海中。其實(shí),質(zhì)量質(zhì)量應(yīng)該應(yīng)該是客觀存在的是客觀存在的,但是,但是測(cè)度它的方法卻是主觀的測(cè)度它的方法卻是主觀的。n軟件質(zhì)量軟件質(zhì)量與傳統(tǒng)意義上的質(zhì)量概念并無本質(zhì)差別,只是與傳統(tǒng)意義上的質(zhì)量概念并無本質(zhì)差別,只是針對(duì)軟件的某些特性進(jìn)行了調(diào)整。針對(duì)軟件的某些特性進(jìn)行了調(diào)整。6

6、軟件質(zhì)量的內(nèi)涵軟件質(zhì)量的內(nèi)涵nSoftware Quality Assurance and Measurement:a Worldwide Perspective:軟:軟件產(chǎn)品件產(chǎn)品滿足明示或暗示需求滿足明示或暗示需求能力的特性和特征的集能力的特性和特征的集合。合。nStephen Kan在在Metrics and Models in Software Quality Engineering在質(zhì)量定義中客在質(zhì)量定義中客戶的角色必須明確指出,即:戶的角色必須明確指出,即:滿足客戶的需求滿足客戶的需求。7軟件質(zhì)量軟件質(zhì)量nFisher和和Light在在Definitions in Software

7、 Quality Management中的質(zhì)量定義:中的質(zhì)量定義:(表征表征)計(jì)計(jì)算機(jī)系統(tǒng)卓越程度算機(jī)系統(tǒng)卓越程度的的所有屬性的集合所有屬性的集合。n在在Donald Reifer的的State of the Art in Software Quality Management一書,有如下定義:軟件一書,有如下定義:軟件產(chǎn)品產(chǎn)品滿足明示需求程度滿足明示需求程度的的一組屬性的集合一組屬性的集合。8軟件質(zhì)量的概念軟件質(zhì)量的概念n定義很抽象,我們可以用定義很抽象,我們可以用“人的健康人的健康”來類比解釋來類比解釋軟件質(zhì)量。軟件質(zhì)量。n古時(shí)候人們以為長得結(jié)實(shí)、飯量大就是健康,這顯古時(shí)候人們以為長得結(jié)實(shí)

8、、飯量大就是健康,這顯然是不科學(xué)的。然是不科學(xué)的。n現(xiàn)代人總是通過考察現(xiàn)代人總是通過考察多方面的生理因素多方面的生理因素來判斷是否來判斷是否健康,如測(cè)量健康,如測(cè)量身高、體重、心跳、血壓、血液、體身高、體重、心跳、血壓、血液、體溫溫等。如果上述因素都合格,那么表明這人是健康等。如果上述因素都合格,那么表明這人是健康的。如果某個(gè)因素不合格,則表明此人在某個(gè)方面的。如果某個(gè)因素不合格,則表明此人在某個(gè)方面不健康,醫(yī)生會(huì)對(duì)癥下藥。不健康,醫(yī)生會(huì)對(duì)癥下藥。9軟件質(zhì)量的概念軟件質(zhì)量的概念n通過類比,可以這樣理解軟件質(zhì)量:通過類比,可以這樣理解軟件質(zhì)量: 軟件質(zhì)量是軟件質(zhì)量是許多質(zhì)量屬性的綜合體現(xiàn),各種質(zhì)

9、量屬性反映了軟許多質(zhì)量屬性的綜合體現(xiàn),各種質(zhì)量屬性反映了軟件質(zhì)量的方方面面。人們通過改善軟件的各種質(zhì)量件質(zhì)量的方方面面。人們通過改善軟件的各種質(zhì)量屬性,從而提高軟件的整體質(zhì)量(否則無從下手)。屬性,從而提高軟件的整體質(zhì)量(否則無從下手)。 10軟件質(zhì)量軟件質(zhì)量n軟件質(zhì)量(狹義):軟件質(zhì)量(狹義):n“無缺陷無缺陷”n提供用戶所需的功能提供用戶所需的功能n能夠正常工作能夠正常工作n軟件質(zhì)量(以顧客為中心的定義):軟件質(zhì)量(以顧客為中心的定義):n質(zhì)量是以顧客的需要為開始,以顧客滿意為結(jié)束的。質(zhì)量是以顧客的需要為開始,以顧客滿意為結(jié)束的。n軟件質(zhì)量是軟件產(chǎn)品滿足使用要求的程度。軟件質(zhì)量是軟件產(chǎn)品滿

10、足使用要求的程度。11軟件質(zhì)量軟件質(zhì)量“運(yùn)行正確運(yùn)行正確”的程序就是高質(zhì)量的程序嗎?的程序就是高質(zhì)量的程序嗎?-正確性正確性只是反映軟件質(zhì)量的一個(gè)因素而已。只是反映軟件質(zhì)量的一個(gè)因素而已。 12軟件質(zhì)量軟件質(zhì)量n人們對(duì)軟件質(zhì)量的看法和標(biāo)準(zhǔn)隨著計(jì)算機(jī)硬件和軟人們對(duì)軟件質(zhì)量的看法和標(biāo)準(zhǔn)隨著計(jì)算機(jī)硬件和軟件技術(shù)的不斷發(fā)展而變化。件技術(shù)的不斷發(fā)展而變化。n早期,計(jì)算機(jī)內(nèi)存容量有限,執(zhí)行速度不高早期,計(jì)算機(jī)內(nèi)存容量有限,執(zhí)行速度不高軟件質(zhì)量強(qiáng)調(diào)正確性、程序的效率軟件質(zhì)量強(qiáng)調(diào)正確性、程序的效率n隨著計(jì)算機(jī)硬件發(fā)展,軟件規(guī)模與復(fù)雜性增加隨著計(jì)算機(jī)硬件發(fā)展,軟件規(guī)模與復(fù)雜性增加軟件質(zhì)量強(qiáng)調(diào)可靠性、易理解性、可

11、維護(hù)性和效率軟件質(zhì)量強(qiáng)調(diào)可靠性、易理解性、可維護(hù)性和效率等,即由效率第一轉(zhuǎn)向清晰第一等,即由效率第一轉(zhuǎn)向清晰第一13軟件質(zhì)量軟件質(zhì)量n較全面的軟件質(zhì)量評(píng)價(jià)體系,一般從以下方面考慮:較全面的軟件質(zhì)量評(píng)價(jià)體系,一般從以下方面考慮:n軟件結(jié)構(gòu)方面軟件結(jié)構(gòu)方面n內(nèi)部結(jié)構(gòu)清晰,易于閱讀理解,便于修改和維護(hù)內(nèi)部結(jié)構(gòu)清晰,易于閱讀理解,便于修改和維護(hù)n外部具有良好的人機(jī)界面,方便用戶應(yīng)用外部具有良好的人機(jī)界面,方便用戶應(yīng)用n功能與性能方面功能與性能方面n能夠按照既定要求工作,能夠排除非法輸入和處理意外事能夠按照既定要求工作,能夠排除非法輸入和處理意外事件件n開發(fā)標(biāo)準(zhǔn)與文檔方面開發(fā)標(biāo)準(zhǔn)與文檔方面n符合明確成文

12、的開發(fā)標(biāo)準(zhǔn),遵循一些軟件開發(fā)準(zhǔn)則符合明確成文的開發(fā)標(biāo)準(zhǔn),遵循一些軟件開發(fā)準(zhǔn)則n文檔資料齊全文檔資料齊全(隱含的需求)(隱含的需求)14軟件質(zhì)量軟件質(zhì)量n不同的人從各自要求出發(fā),對(duì)軟件質(zhì)量有不同的要不同的人從各自要求出發(fā),對(duì)軟件質(zhì)量有不同的要求。求。n開發(fā)商開發(fā)商/管理人員管理人員n用戶用戶n維護(hù)人員維護(hù)人員n不同性質(zhì)和用途的軟件,可能有不同的質(zhì)量要求不同性質(zhì)和用途的軟件,可能有不同的質(zhì)量要求n實(shí)時(shí)控制軟件實(shí)時(shí)控制軟件n常規(guī)辦公事務(wù)軟件常規(guī)辦公事務(wù)軟件n符合一定標(biāo)準(zhǔn),在計(jì)劃的經(jīng)費(fèi)符合一定標(biāo)準(zhǔn),在計(jì)劃的經(jīng)費(fèi)和進(jìn)度范圍內(nèi)實(shí)現(xiàn)所需功和進(jìn)度范圍內(nèi)實(shí)現(xiàn)所需功能能要求使用方便,執(zhí)行效率高要求使用方便,執(zhí)行效

13、率高要求文檔資料清晰完整要求文檔資料清晰完整可靠性可靠性易用性、可移植性易用性、可移植性15什么是軟件質(zhì)量什么是軟件質(zhì)量n軟件質(zhì)量是指軟件符合軟件質(zhì)量是指軟件符合的程度的程度 n明確定義的明確定義的功能和性能需求功能和性能需求n明確規(guī)定的明確規(guī)定的開發(fā)標(biāo)準(zhǔn)和準(zhǔn)則開發(fā)標(biāo)準(zhǔn)和準(zhǔn)則n隱含要求的隱含要求的其他特性其他特性16軟件質(zhì)量軟件質(zhì)量n軟件質(zhì)量反映的三方面問題軟件質(zhì)量反映的三方面問題1. 軟件需求是度量軟件質(zhì)量的基礎(chǔ)。軟件需求是度量軟件質(zhì)量的基礎(chǔ)。2. 在各種標(biāo)準(zhǔn)中定義了一些在各種標(biāo)準(zhǔn)中定義了一些開發(fā)準(zhǔn)則開發(fā)準(zhǔn)則,用來指導(dǎo)軟件人,用來指導(dǎo)軟件人員用工程化的方法來開發(fā)軟件。如果不遵守這些開發(fā)準(zhǔn)員用

14、工程化的方法來開發(fā)軟件。如果不遵守這些開發(fā)準(zhǔn)則,軟件質(zhì)量就難以得到保證。則,軟件質(zhì)量就難以得到保證。3. 往往會(huì)有一些隱含的需求沒有明確提出來。往往會(huì)有一些隱含的需求沒有明確提出來。如果軟件如果軟件只滿足那些精確定義了的需求而沒有滿足這些隱含的需只滿足那些精確定義了的需求而沒有滿足這些隱含的需求,軟件質(zhì)量也難以得到保證。求,軟件質(zhì)量也難以得到保證。17什么是軟件質(zhì)量什么是軟件質(zhì)量n高質(zhì)量的軟件高質(zhì)量的軟件能夠按照能夠按照預(yù)期的時(shí)間預(yù)期的時(shí)間和和成本成本提交給用戶,并能夠按提交給用戶,并能夠按照照預(yù)期要求預(yù)期要求正確工作的軟件正確工作的軟件nScopeScopenTimeTimenCostCos

15、t18軟件質(zhì)量軟件質(zhì)量n重要的理念重要的理念:商業(yè)目標(biāo)決定質(zhì)量目標(biāo)商業(yè)目標(biāo)決定質(zhì)量目標(biāo)。提高軟件質(zhì)。提高軟件質(zhì)量的最終目的是為了贏利,而量的最終目的是為了贏利,而不是創(chuàng)造完美無缺的不是創(chuàng)造完美無缺的產(chǎn)品產(chǎn)品。因此對(duì)于普通商業(yè)軟件而言,并不是。因此對(duì)于普通商業(yè)軟件而言,并不是“質(zhì)量質(zhì)量越高越好越高越好”,而是,而是恰好讓廣大用戶滿意恰好讓廣大用戶滿意,并且將提,并且將提高質(zhì)量所付出的代價(jià)控制在預(yù)算之內(nèi)。高質(zhì)量所付出的代價(jià)控制在預(yù)算之內(nèi)。19軟件質(zhì)量的不同視角軟件質(zhì)量的不同視角n用戶用戶主要感興趣的是主要感興趣的是如何使用軟件如何使用軟件、軟件性能軟件性能和和使使用軟件用軟件的效果。的效果。n是否

16、具有所需要的功能是否具有所需要的功能;n可靠程度如何可靠程度如何;n效率如何效率如何;n使用是否方便使用是否方便;n環(huán)境開放的程度如何環(huán)境開放的程度如何(即對(duì)環(huán)境、平臺(tái)的限制,與(即對(duì)環(huán)境、平臺(tái)的限制,與其他軟件連接的限制)其他軟件連接的限制)20軟件質(zhì)量的不同視角軟件質(zhì)量的不同視角n開發(fā)者開發(fā)者更關(guān)心的是更關(guān)心的是軟件產(chǎn)品開發(fā)相關(guān)的一些屬性軟件產(chǎn)品開發(fā)相關(guān)的一些屬性,而非單純的軟件使應(yīng)用。而非單純的軟件使應(yīng)用。n軟件是否軟件是否易于維護(hù)易于維護(hù)n軟件是否軟件是否易于移植易于移植n軟件組件等是否軟件組件等是否易于重用易于重用n軟件產(chǎn)品是否軟件產(chǎn)品是否易于測(cè)試易于測(cè)試21軟件質(zhì)量模型軟件質(zhì)量模型

17、n從軟件質(zhì)量的定義得知從軟件質(zhì)量的定義得知軟件質(zhì)量軟件質(zhì)量是通過一定的是通過一定的屬性集屬性集來表來表示其滿足使用要求的程度,那么這些示其滿足使用要求的程度,那么這些屬性集屬性集包含的內(nèi)容包含的內(nèi)容就就顯得很重要了。顯得很重要了。n軟件的軟件的質(zhì)量屬性質(zhì)量屬性很多,如正確性、精確性,健壯性、可靠很多,如正確性、精確性,健壯性、可靠性、容錯(cuò)性、性能、易用性、安全性、可擴(kuò)展性、可復(fù)用性、容錯(cuò)性、性能、易用性、安全性、可擴(kuò)展性、可復(fù)用性、兼容性、可移植性、可測(cè)試性、可維護(hù)性、靈活性等。性、兼容性、可移植性、可測(cè)試性、可維護(hù)性、靈活性等。 n計(jì)算機(jī)界對(duì)軟件質(zhì)量的屬性進(jìn)行了較多的研究,得到了一計(jì)算機(jī)界對(duì)

18、軟件質(zhì)量的屬性進(jìn)行了較多的研究,得到了一些有效的質(zhì)量模型,包括些有效的質(zhì)量模型,包括McCall模型、模型、Boehm模型、模型、ISO9126模型。模型。22McCall質(zhì)量模型質(zhì)量模型正確性正確性完整性完整性可靠性可靠性可用性可用性承受承受可改可改變能變能力力新環(huán)境適應(yīng)能力操作特性可維護(hù)性可維護(hù)性靈活性靈活性可測(cè)試性可測(cè)試性可移植性可移植性可重用性可重用性可互操作性可互操作性效率效率23Boehm分層質(zhì)量模型(分層質(zhì)量模型(p.6)nBoehm模型始于軟件的整體效用,從系統(tǒng)交付后涉及不同類模型始于軟件的整體效用,從系統(tǒng)交付后涉及不同類型的用戶考慮。型的用戶考慮。n第一種用戶是第一種用戶是初

19、始顧客初始顧客,系統(tǒng)做了顧客期望的事,顧客,系統(tǒng)做了顧客期望的事,顧客對(duì)系統(tǒng)非常滿意;對(duì)系統(tǒng)非常滿意;n第二種用戶是第二種用戶是要將軟件移植到其他軟硬件系統(tǒng)下使用的要將軟件移植到其他軟硬件系統(tǒng)下使用的客戶客戶;n第三種用戶是第三種用戶是維護(hù)系統(tǒng)的程序員維護(hù)系統(tǒng)的程序員。三種用戶都希望系統(tǒng)是三種用戶都希望系統(tǒng)是可靠有效可靠有效的。因此,的。因此,Boehm模模型反映了對(duì)軟件質(zhì)量的全過程理解,即型反映了對(duì)軟件質(zhì)量的全過程理解,即軟件做了用戶要軟件做了用戶要它做的它做的;有效地使用系統(tǒng)資源有效地使用系統(tǒng)資源;易于用戶學(xué)習(xí)和使用易于用戶學(xué)習(xí)和使用;易于測(cè)試和維護(hù)易于測(cè)試和維護(hù)。24ISO/IEC912

20、6質(zhì)量模型質(zhì)量模型external and internal qualityfunctionalityreliabilitymaturityfault tolerancerecoverabilityusabilityunderstandabilitylearnabilityoperabilityattractivenessefficiencytime behaviourresource utilisationmaintainabilityanalysabilitychangeabilitystabilitytestabilityportabilityadaptabilityinstallabi

21、lityco-existencereplaceabilitysuitabilityaccuracyinteroperabilitysecurityfunctionality compliancereliability complianceusability complianceefficiency compliancemaintainability complianceportability compliance外部和內(nèi)部質(zhì)量模型外部和內(nèi)部質(zhì)量模型25軟件質(zhì)量特性軟件質(zhì)量特性n功能性功能性(正確性正確性):軟件所實(shí)現(xiàn)的功能滿足用戶需求的程):軟件所實(shí)現(xiàn)的功能滿足用戶需求的程度。度。n可靠性可靠

22、性:在規(guī)定的時(shí)間和條件下,:在規(guī)定的時(shí)間和條件下,維持其性能水準(zhǔn)的程度維持其性能水準(zhǔn)的程度。n易用性易用性:用戶掌握軟件操作所要付出的時(shí)間及努力程度。:用戶掌握軟件操作所要付出的時(shí)間及努力程度。n效率效率:軟件執(zhí)行某項(xiàng)功能所需計(jì)算機(jī)資源(含時(shí)間)的有:軟件執(zhí)行某項(xiàng)功能所需計(jì)算機(jī)資源(含時(shí)間)的有效程度。效程度。n易維護(hù)性易維護(hù)性:當(dāng)環(huán)境改變或軟件發(fā)生錯(cuò)誤時(shí),執(zhí)行修改或恢:當(dāng)環(huán)境改變或軟件發(fā)生錯(cuò)誤時(shí),執(zhí)行修改或恢復(fù)所做努力的程度。復(fù)所做努力的程度。26軟件質(zhì)量特性軟件質(zhì)量特性n易測(cè)試性易測(cè)試性:對(duì)軟件測(cè)試以保證其無錯(cuò)誤和滿足其規(guī)約的難:對(duì)軟件測(cè)試以保證其無錯(cuò)誤和滿足其規(guī)約的難以程度。以程度。n易

23、移植性易移植性:將一個(gè)程序從一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境移到另一:將一個(gè)程序從一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境移到另一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境的容易程度。個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境的容易程度。n完整性完整性:保護(hù)軟件不被未經(jīng)同意的存儲(chǔ)和使用的能力。:保護(hù)軟件不被未經(jīng)同意的存儲(chǔ)和使用的能力。n靈活性靈活性:當(dāng)軟件操作環(huán)境改變或軟件發(fā)生錯(cuò)誤時(shí),執(zhí)行修:當(dāng)軟件操作環(huán)境改變或軟件發(fā)生錯(cuò)誤時(shí),執(zhí)行修改或恢復(fù)所做努力的程度。改或恢復(fù)所做努力的程度。n易復(fù)用性易復(fù)用性:復(fù)用一個(gè)軟件或其部分的難以程度。:復(fù)用一個(gè)軟件或其部分的難以程度。n互用性互用性:將一個(gè)軟件系統(tǒng)和其他軟件系統(tǒng)組合在一起的難:將一個(gè)軟件系統(tǒng)和其他軟件系統(tǒng)組合在一起的難以程度

24、。以程度。27使用中質(zhì)量模型使用中質(zhì)量模型28軟件缺陷軟件缺陷n軟件在它的生命周期內(nèi)各個(gè)階段都可能發(fā)生問題,軟件在它的生命周期內(nèi)各個(gè)階段都可能發(fā)生問題,發(fā)生問題的情況和形式是各不相同的,大家都習(xí)慣發(fā)生問題的情況和形式是各不相同的,大家都習(xí)慣使用使用“bug軟件缺陷軟件缺陷”這個(gè)詞描述這些問題,這個(gè)詞描述這些問題,它包含一些偏差、謬誤或錯(cuò)誤,更多地表現(xiàn)在功能它包含一些偏差、謬誤或錯(cuò)誤,更多地表現(xiàn)在功能上的失敗(上的失?。╢ailure)和實(shí)際需求的不一致,即矛盾)和實(shí)際需求的不一致,即矛盾(inconsistency)。因此,)。因此,統(tǒng)一對(duì)軟件缺陷的認(rèn)統(tǒng)一對(duì)軟件缺陷的認(rèn)識(shí)識(shí),是測(cè)試項(xiàng)目成功的基

25、礎(chǔ)。,是測(cè)試項(xiàng)目成功的基礎(chǔ)。29軟件缺陷軟件缺陷IEEE標(biāo)準(zhǔn)標(biāo)準(zhǔn) 729n從從產(chǎn)品內(nèi)部產(chǎn)品內(nèi)部看,軟件缺陷是軟件產(chǎn)品開發(fā)或維護(hù)過看,軟件缺陷是軟件產(chǎn)品開發(fā)或維護(hù)過程中所存在的錯(cuò)誤、毛病等各種問題。程中所存在的錯(cuò)誤、毛病等各種問題。n從從外部外部看,軟件缺陷是系統(tǒng)所需要實(shí)現(xiàn)的某種功能看,軟件缺陷是系統(tǒng)所需要實(shí)現(xiàn)的某種功能的失效或違背。的失效或違背。n軟件缺陷軟件缺陷是軟件在生命周期各個(gè)階段存在的不滿足是軟件在生命周期各個(gè)階段存在的不滿足給定需求屬性的問題。給定需求屬性的問題。30軟件缺陷軟件缺陷n對(duì)于軟件缺陷的定義,通常有下列對(duì)于軟件缺陷的定義,通常有下列5條描述條描述 n軟件軟件未達(dá)到未達(dá)到產(chǎn)

26、品描述表明的功能。產(chǎn)品描述表明的功能。n軟件軟件出現(xiàn)了出現(xiàn)了產(chǎn)品描述產(chǎn)品描述指明不會(huì)出現(xiàn)指明不會(huì)出現(xiàn)的錯(cuò)誤。的錯(cuò)誤。n軟件功能軟件功能超出超出產(chǎn)品描述指明范圍。產(chǎn)品描述指明范圍。n軟件軟件未達(dá)到未達(dá)到產(chǎn)品描述雖未指出產(chǎn)品描述雖未指出但應(yīng)達(dá)到但應(yīng)達(dá)到的目標(biāo)。的目標(biāo)。n軟件測(cè)試人員軟件測(cè)試人員認(rèn)為軟件難以理解、不易使用、運(yùn)行認(rèn)為軟件難以理解、不易使用、運(yùn)行速度緩慢,或者速度緩慢,或者最終用戶最終用戶認(rèn)為不好。認(rèn)為不好。31軟件失敗的術(shù)語描述軟件失敗的術(shù)語描述缺陷(缺陷(defect) defect) 問題問題 (problem)(problem)謬誤謬誤 (fault) (fault) 矛盾矛盾(

27、inconsistency) (inconsistency) 失敗失敗(failure) (failure) 偏差偏差(variance)(variance)毛病毛病 (incident) (incident) 特殊特殊(feature)(feature)異常異常 (anomaly) (anomaly) 錯(cuò)誤錯(cuò)誤 (error)(error)缺陷缺陷(bug)(bug)32軟件失敗的術(shù)語描述軟件失敗的術(shù)語描述n軟件錯(cuò)誤軟件錯(cuò)誤(error)在軟件生存期內(nèi)的不希望或者不可接受的人為錯(cuò)誤。在軟件生存期內(nèi)的不希望或者不可接受的人為錯(cuò)誤。n軟件缺陷軟件缺陷(defect)存在于軟件(文檔、數(shù)據(jù)、程序)

28、之中的那些不希望或不可接受的偏差,存在于軟件(文檔、數(shù)據(jù)、程序)之中的那些不希望或不可接受的偏差,Bug是口語化的缺陷。缺陷在沒有被激活的狀態(tài)下,軟件可以正常運(yùn)行,是口語化的缺陷。缺陷在沒有被激活的狀態(tài)下,軟件可以正常運(yùn)行,但是一旦在某一觸發(fā)條件下,缺陷被激活,軟件內(nèi)部就會(huì)出現(xiàn)故障。但是一旦在某一觸發(fā)條件下,缺陷被激活,軟件內(nèi)部就會(huì)出現(xiàn)故障。n軟件故障軟件故障(fault)軟件運(yùn)行過程中出現(xiàn)的一種不希望或不可接受的軟件運(yùn)行過程中出現(xiàn)的一種不希望或不可接受的內(nèi)部狀態(tài)內(nèi)部狀態(tài)。此時(shí),如果沒。此時(shí),如果沒有適當(dāng)?shù)奶幚泶胧┑脑?,軟件故障就?huì)導(dǎo)致軟件失效。有適當(dāng)?shù)奶幚泶胧┑脑?,軟件故障就?huì)導(dǎo)致軟件失效。

29、n軟件失效軟件失效(failure)軟件運(yùn)行時(shí)產(chǎn)生的一種不希望或不可接受的軟件運(yùn)行時(shí)產(chǎn)生的一種不希望或不可接受的外部行為外部行為結(jié)果。比如死機(jī)就是結(jié)果。比如死機(jī)就是一種嚴(yán)重的軟件失效。軟件失效是軟件用戶所能直接感受到的。當(dāng)軟件出一種嚴(yán)重的軟件失效。軟件失效是軟件用戶所能直接感受到的。當(dāng)軟件出現(xiàn)失效時(shí),必然說明軟件中存在缺陷。現(xiàn)失效時(shí),必然說明軟件中存在缺陷。33軟件缺陷的特征軟件缺陷的特征n“看不到看不到”軟件的特殊性決定了缺陷不易看到軟件的特殊性決定了缺陷不易看到n“看到但是抓不到看到但是抓不到”發(fā)現(xiàn)了缺陷,但不易找到問題發(fā)生的原因所在發(fā)現(xiàn)了缺陷,但不易找到問題發(fā)生的原因所在34軟件測(cè)試軟件

30、測(cè)試是軟件工程中的重要環(huán)節(jié)是軟件工程中的重要環(huán)節(jié)n軟件產(chǎn)品質(zhì)量軟件產(chǎn)品質(zhì)量是企業(yè)的重要目標(biāo)是企業(yè)的重要目標(biāo)n軟件缺陷軟件缺陷不可能避免不可能避免n軟件測(cè)試是發(fā)現(xiàn)缺陷的手段軟件測(cè)試是發(fā)現(xiàn)缺陷的手段35軟件缺陷被引入的時(shí)間軟件缺陷被引入的時(shí)間n開發(fā)階段開發(fā)階段n規(guī)格說明書規(guī)格說明書n設(shè)計(jì)環(huán)節(jié)設(shè)計(jì)環(huán)節(jié)n編碼編碼n修復(fù)缺陷時(shí)也可能產(chǎn)生新的缺陷修復(fù)缺陷時(shí)也可能產(chǎn)生新的缺陷修改代碼后一定要進(jìn)行回歸測(cè)試!修改代碼后一定要進(jìn)行回歸測(cè)試!36典型的軟件缺陷產(chǎn)生的原因典型的軟件缺陷產(chǎn)生的原因n需求解釋有錯(cuò)誤;需求解釋有錯(cuò)誤;n用戶需求定義錯(cuò)誤;用戶需求定義錯(cuò)誤;n需求記錄錯(cuò)誤;需求記錄錯(cuò)誤;n設(shè)計(jì)說明有誤;設(shè)計(jì)說

31、明有誤;n編碼說明有誤;編碼說明有誤;n程序代碼有誤;程序代碼有誤;n數(shù)據(jù)輸入有誤;數(shù)據(jù)輸入有誤;n測(cè)試錯(cuò)誤;測(cè)試錯(cuò)誤;n問題修改不正確;問題修改不正確;n不正確的結(jié)果是由于不正確的結(jié)果是由于其他的缺陷而產(chǎn)生。其他的缺陷而產(chǎn)生。37軟件缺陷產(chǎn)生的原因軟件缺陷產(chǎn)生的原因n第一大原因就是第一大原因就是軟件產(chǎn)品規(guī)格說明書軟件產(chǎn)品規(guī)格說明書,很多情況下,很多情況下,說明書沒有寫,或?qū)懙牟粔蛉?,?jīng)常更改,或者說明書沒有寫,或?qū)懙牟粔蛉妫?jīng)常更改,或者開發(fā)小組沒有很好的溝通,造成對(duì)說明書理解的不開發(fā)小組沒有很好的溝通,造成對(duì)說明書理解的不一致。一致。n第二大原因是第二大原因是軟件設(shè)計(jì)軟件設(shè)計(jì),沒有做設(shè)

32、計(jì)或設(shè)計(jì)不好,沒有做設(shè)計(jì)或設(shè)計(jì)不好,經(jīng)常變動(dòng)等和產(chǎn)品規(guī)格說明書一樣的問題。經(jīng)常變動(dòng)等和產(chǎn)品規(guī)格說明書一樣的問題。n第三個(gè)原因才是第三個(gè)原因才是編寫代碼編寫代碼和其它原因。和其它原因。38軟件缺陷產(chǎn)生的原因軟件缺陷產(chǎn)生的原因編制說明書編制說明書55%55%設(shè)計(jì)設(shè)計(jì)26%26%其他其他4%4%編寫代碼編寫代碼15%15%編制說明書編制說明書設(shè)計(jì)設(shè)計(jì)編寫代碼編寫代碼其他其他39常見導(dǎo)致規(guī)格說明錯(cuò)誤的根源常見導(dǎo)致規(guī)格說明錯(cuò)誤的根源n缺乏有效的溝通,或者沒有進(jìn)行溝通;缺乏有效的溝通,或者沒有進(jìn)行溝通;n軟件復(fù)雜度軟件復(fù)雜度n不斷變更的需求不斷變更的需求n時(shí)間的壓力時(shí)間的壓力n缺乏文檔的代碼缺乏文檔的代碼

33、n軟件開發(fā)工具軟件開發(fā)工具40軟件缺陷的修復(fù)費(fèi)用軟件缺陷的修復(fù)費(fèi)用n平均而言,如果在需求階段修正一個(gè)錯(cuò)誤的代價(jià)是平均而言,如果在需求階段修正一個(gè)錯(cuò)誤的代價(jià)是1,那么在設(shè)計(jì)階段就是它的那么在設(shè)計(jì)階段就是它的3-6倍,在編程階段是倍,在編程階段是它的它的10倍而到了產(chǎn)品發(fā)布出去時(shí),這個(gè)數(shù)字就是倍而到了產(chǎn)品發(fā)布出去時(shí),這個(gè)數(shù)字就是401000倍。修正錯(cuò)誤的代價(jià)不是隨時(shí)間線性增倍。修正錯(cuò)誤的代價(jià)不是隨時(shí)間線性增長,而是幾乎成長,而是幾乎成指數(shù)級(jí)增長指數(shù)級(jí)增長。應(yīng)該盡快修復(fù)發(fā)現(xiàn)的缺陷!應(yīng)該盡快修復(fù)發(fā)現(xiàn)的缺陷!41軟件缺陷的修復(fù)費(fèi)用軟件缺陷的修復(fù)費(fèi)用1101001,000編制說明書設(shè)計(jì)編寫代碼測(cè)試發(fā)布軟件修復(fù)費(fèi)用42軟件缺陷的分類軟件缺陷的分類n以以出現(xiàn)相應(yīng)錯(cuò)誤的開發(fā)階段出現(xiàn)相應(yīng)錯(cuò)誤的開發(fā)階段來劃分來劃分n以相應(yīng)以相應(yīng)失效產(chǎn)生的后果失效產(chǎn)生的后果來劃分來劃分n以以解決難度解決難度來劃分來劃分n以不解決會(huì)產(chǎn)生的以不解決會(huì)產(chǎn)生的風(fēng)險(xiǎn)風(fēng)險(xiǎn)來劃分來劃分n根據(jù)異常出現(xiàn)的根據(jù)異常出現(xiàn)的頻率頻率來劃分來劃分n根據(jù)導(dǎo)致缺陷產(chǎn)生的根據(jù)導(dǎo)致缺陷產(chǎn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論