版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第1章 軟件質(zhì)量的概念,內(nèi)容提要,軟件質(zhì)量的概念 軟件質(zhì)量模型 軟件缺陷,什么是軟件質(zhì)量?,質(zhì)量大師Philip B. Crosby關(guān)于質(zhì)量指出: 質(zhì)量管理的問題不在于人們不知道什么是質(zhì)量,問題在于人們認(rèn)為他們自己知道什么。 軟件質(zhì)量 每個(gè)人在某種條件下都需要它,每個(gè)人都覺得自己理解它卻又不愿意解釋它。每個(gè)人都認(rèn)為實(shí)現(xiàn)它只需遵從自然趨勢(shì)。大多數(shù)人認(rèn)為問題都是由他人引起的。 某些開發(fā)者認(rèn)為軟件質(zhì)量是在編碼之后才應(yīng)該開始擔(dān)心。(錯(cuò)誤!),質(zhì)量的概念,詞典對(duì)質(zhì)量的定義是: 典型的或本質(zhì)的特征; 事物固有的或區(qū)別于其他事物的特征或本質(zhì); 優(yōu)良或出色的程度。 世界著名的質(zhì)量管理專家朱蘭(Juran)對(duì)“
2、質(zhì)量”給出的含義:滿足使用要求的基礎(chǔ)是質(zhì)量特征,產(chǎn)品的任何特性(性質(zhì)、屬性等)、材料或滿足使用要求的過程都是質(zhì)量特征。 ISO給出的質(zhì)量定義:產(chǎn)品或服務(wù)滿足明示或暗示需求能力的特性和特征的集合。,質(zhì)量的概念,客戶概念與質(zhì)量息息相關(guān)。質(zhì)量和客戶兩者相對(duì)存在。 站在不同層面或角度對(duì)質(zhì)量有不同的理解 先驗(yàn)證觀點(diǎn):質(zhì)量是產(chǎn)品的一種可以認(rèn)識(shí)但不可定義的性質(zhì) 基于價(jià)值觀點(diǎn):質(zhì)量依賴于顧客愿意付給產(chǎn)品報(bào)酬的數(shù)量 產(chǎn)品觀點(diǎn):質(zhì)量是聯(lián)結(jié)產(chǎn)品固有性質(zhì)的紐帶 生產(chǎn)者觀點(diǎn):質(zhì)量是產(chǎn)品性能符合規(guī)格要求的程度 用戶觀點(diǎn):質(zhì)量是滿足使用目的的程度 內(nèi)部用戶和外部用戶 外部用戶:產(chǎn)品的實(shí)際使用者,一般意義上的客戶 內(nèi)部用戶:
3、生產(chǎn)環(huán)節(jié)中下一道工序的接受者,質(zhì)量的概念,從質(zhì)量的定義和不同的理解中可以看到,質(zhì)量是滿足客戶需求的特征。(核心含義) 質(zhì)量似乎不是客觀的,因?yàn)闆]有什么科學(xué)儀器可以直接測(cè)出質(zhì)量來;質(zhì)量似乎也不是主觀的,因?yàn)樗粌H存在于人們的腦海中。其實(shí),質(zhì)量應(yīng)該是客觀存在的,但是測(cè)度它的方法卻是主觀的。 軟件質(zhì)量與傳統(tǒng)意義上的質(zhì)量概念并無本質(zhì)差別,只是針對(duì)軟件的某些特性進(jìn)行了調(diào)整。,軟件質(zhì)量的內(nèi)涵,Software Quality Assurance and Measurement:a Worldwide Perspective:軟件產(chǎn)品滿足明示或暗示需求能力的特性和特征的集合。 Stephen Kan在Met
4、rics and Models in Software Quality Engineering在質(zhì)量定義中客戶的角色必須明確指出,即:滿足客戶的需求。,軟件質(zhì)量,Fisher和Light在Definitions in Software Quality Management中的質(zhì)量定義:(表征)計(jì)算機(jī)系統(tǒng)卓越程度的所有屬性的集合。 在Donald Reifer的State of the Art in Software Quality Management一書,有如下定義:軟件產(chǎn)品滿足明示需求程度的一組屬性的集合。,軟件質(zhì)量的概念,定義很抽象,我們可以用“人的健康”來類比解釋軟件質(zhì)量。 古時(shí)候人們
5、以為長得結(jié)實(shí)、飯量大就是健康,這顯然是不科學(xué)的。 現(xiàn)代人總是通過考察多方面的生理因素來判斷是否健康,如測(cè)量身高、體重、心跳、血壓、血液、體溫等。如果上述因素都合格,那么表明這人是健康的。如果某個(gè)因素不合格,則表明此人在某個(gè)方面不健康,醫(yī)生會(huì)對(duì)癥下藥。,軟件質(zhì)量的概念,通過類比,可以這樣理解軟件質(zhì)量: 軟件質(zhì)量是許多質(zhì)量屬性的綜合體現(xiàn),各種質(zhì)量屬性反映了軟件質(zhì)量的方方面面。人們通過改善軟件的各種質(zhì)量屬性,從而提高軟件的整體質(zhì)量(否則無從下手)。,軟件質(zhì)量,軟件質(zhì)量(狹義): “無缺陷” 提供用戶所需的功能 能夠正常工作 軟件質(zhì)量(以顧客為中心的定義): 質(zhì)量是以顧客的需要為開始,以顧客滿意為結(jié)束
6、的。 軟件質(zhì)量是軟件產(chǎn)品滿足使用要求的程度。,軟件質(zhì)量,“運(yùn)行正確”的程序就是高質(zhì)量的程序嗎? -正確性只是反映軟件質(zhì)量的一個(gè)因素而已。,軟件質(zhì)量,人們對(duì)軟件質(zhì)量的看法和標(biāo)準(zhǔn)隨著計(jì)算機(jī)硬件和軟件技術(shù)的不斷發(fā)展而變化。 早期,計(jì)算機(jī)內(nèi)存容量有限,執(zhí)行速度不高 軟件質(zhì)量強(qiáng)調(diào)正確性、程序的效率 隨著計(jì)算機(jī)硬件發(fā)展,軟件規(guī)模與復(fù)雜性增加 軟件質(zhì)量強(qiáng)調(diào)可靠性、易理解性、可維護(hù)性和效率等,即由效率第一轉(zhuǎn)向清晰第一,軟件質(zhì)量,較全面的軟件質(zhì)量評(píng)價(jià)體系,一般從以下方面考慮: 軟件結(jié)構(gòu)方面 內(nèi)部結(jié)構(gòu)清晰,易于閱讀理解,便于修改和維護(hù) 外部具有良好的人機(jī)界面,方便用戶應(yīng)用 功能與性能方面 能夠按照既定要求工作,能
7、夠排除非法輸入和處理意外事件 開發(fā)標(biāo)準(zhǔn)與文檔方面 符合明確成文的開發(fā)標(biāo)準(zhǔn),遵循一些軟件開發(fā)準(zhǔn)則 文檔資料齊全,(隱含的需求),軟件質(zhì)量,不同的人從各自要求出發(fā),對(duì)軟件質(zhì)量有不同的要求。 開發(fā)商/管理人員 用戶 維護(hù)人員 不同性質(zhì)和用途的軟件,可能有不同的質(zhì)量要求 實(shí)時(shí)控制軟件 常規(guī)辦公事務(wù)軟件 ,符合一定標(biāo)準(zhǔn),在計(jì)劃的經(jīng)費(fèi)和進(jìn)度范圍內(nèi)實(shí)現(xiàn)所需功能,要求使用方便,執(zhí)行效率高,要求文檔資料清晰完整,可靠性,易用性、可移植性,什么是軟件質(zhì)量,軟件質(zhì)量是指軟件符合的程度 明確定義的功能和性能需求 明確規(guī)定的開發(fā)標(biāo)準(zhǔn)和準(zhǔn)則 隱含要求的其他特性,軟件質(zhì)量,軟件質(zhì)量反映的三方面問題 1. 軟件需求是度量軟件
8、質(zhì)量的基礎(chǔ)。 2. 在各種標(biāo)準(zhǔn)中定義了一些開發(fā)準(zhǔn)則,用來指導(dǎo)軟件人員用工程化的方法來開發(fā)軟件。如果不遵守這些開發(fā)準(zhǔn)則,軟件質(zhì)量就難以得到保證。 3. 往往會(huì)有一些隱含的需求沒有明確提出來。如果軟件只滿足那些精確定義了的需求而沒有滿足這些隱含的需求,軟件質(zhì)量也難以得到保證。,什么是軟件質(zhì)量,高質(zhì)量的軟件 能夠按照預(yù)期的時(shí)間和成本提交給用戶,并能夠按照預(yù)期要求正確工作的軟件 Scope Time Cost,軟件質(zhì)量,重要的理念:商業(yè)目標(biāo)決定質(zhì)量目標(biāo)。提高軟件質(zhì)量的最終目的是為了贏利,而不是創(chuàng)造完美無缺的產(chǎn)品。因此對(duì)于普通商業(yè)軟件而言,并不是“質(zhì)量越高越好”,而是恰好讓廣大用戶滿意,并且將提高質(zhì)量所
9、付出的代價(jià)控制在預(yù)算之內(nèi)。,軟件質(zhì)量的不同視角,用戶主要感興趣的是如何使用軟件、軟件性能和使用軟件的效果。 是否具有所需要的功能; 可靠程度如何; 效率如何; 使用是否方便; 環(huán)境開放的程度如何(即對(duì)環(huán)境、平臺(tái)的限制,與其他軟件連接的限制) ,軟件質(zhì)量的不同視角,開發(fā)者更關(guān)心的是軟件產(chǎn)品開發(fā)相關(guān)的一些屬性,而非單純的軟件使應(yīng)用。 軟件是否易于維護(hù) 軟件是否易于移植 軟件組件等是否易于重用 軟件產(chǎn)品是否易于測(cè)試 ,軟件質(zhì)量模型,從軟件質(zhì)量的定義得知軟件質(zhì)量是通過一定的屬性集來表示其滿足使用要求的程度,那么這些屬性集包含的內(nèi)容就顯得很重要了。 軟件的質(zhì)量屬性很多,如正確性、精確性,健壯性、可靠性、
10、容錯(cuò)性、性能、易用性、安全性、可擴(kuò)展性、可復(fù)用性、兼容性、可移植性、可測(cè)試性、可維護(hù)性、靈活性等。 計(jì)算機(jī)界對(duì)軟件質(zhì)量的屬性進(jìn)行了較多的研究,得到了一些有效的質(zhì)量模型,包括McCall模型、Boehm模型、ISO9126模型。,McCall質(zhì)量模型,Boehm分層質(zhì)量模型(p.6),Boehm模型始于軟件的整體效用,從系統(tǒng)交付后涉及不同類型的用戶考慮。 第一種用戶是初始顧客,系統(tǒng)做了顧客期望的事,顧客對(duì)系統(tǒng)非常滿意; 第二種用戶是要將軟件移植到其他軟硬件系統(tǒng)下使用的客戶; 第三種用戶是維護(hù)系統(tǒng)的程序員。 三種用戶都希望系統(tǒng)是可靠有效的。因此,Boehm模型反映了對(duì)軟件質(zhì)量的全過程理解,即軟件做
11、了用戶要它做的;有效地使用系統(tǒng)資源;易于用戶學(xué)習(xí)和使用;易于測(cè)試和維護(hù)。,ISO/IEC9126質(zhì)量模型,外部和內(nèi)部質(zhì)量模型,軟件質(zhì)量特性,功能性(正確性):軟件所實(shí)現(xiàn)的功能滿足用戶需求的程度。 可靠性:在規(guī)定的時(shí)間和條件下,維持其性能水準(zhǔn)的程度。 易用性:用戶掌握軟件操作所要付出的時(shí)間及努力程度。 效率:軟件執(zhí)行某項(xiàng)功能所需計(jì)算機(jī)資源(含時(shí)間)的有效程度。 易維護(hù)性:當(dāng)環(huán)境改變或軟件發(fā)生錯(cuò)誤時(shí),執(zhí)行修改或恢復(fù)所做努力的程度。,軟件質(zhì)量特性,易測(cè)試性:對(duì)軟件測(cè)試以保證其無錯(cuò)誤和滿足其規(guī)約的難以程度。 易移植性:將一個(gè)程序從一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境移到另一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境的容易程度。 完整性:保護(hù)
12、軟件不被未經(jīng)同意的存儲(chǔ)和使用的能力。 靈活性:當(dāng)軟件操作環(huán)境改變或軟件發(fā)生錯(cuò)誤時(shí),執(zhí)行修改或恢復(fù)所做努力的程度。 易復(fù)用性:復(fù)用一個(gè)軟件或其部分的難以程度。 互用性:將一個(gè)軟件系統(tǒng)和其他軟件系統(tǒng)組合在一起的難以程度。,使用中質(zhì)量模型,軟件缺陷,軟件在它的生命周期內(nèi)各個(gè)階段都可能發(fā)生問題,發(fā)生問題的情況和形式是各不相同的,大家都習(xí)慣使用“bug軟件缺陷”這個(gè)詞描述這些問題,它包含一些偏差、謬誤或錯(cuò)誤,更多地表現(xiàn)在功能上的失?。╢ailure)和實(shí)際需求的不一致,即矛盾(inconsistency)。因此,統(tǒng)一對(duì)軟件缺陷的認(rèn)識(shí),是測(cè)試項(xiàng)目成功的基礎(chǔ)。,軟件缺陷IEEE標(biāo)準(zhǔn) 729,從產(chǎn)品內(nèi)部看,軟
13、件缺陷是軟件產(chǎn)品開發(fā)或維護(hù)過程中所存在的錯(cuò)誤、毛病等各種問題。 從外部看,軟件缺陷是系統(tǒng)所需要實(shí)現(xiàn)的某種功能的失效或違背。 軟件缺陷是軟件在生命周期各個(gè)階段存在的不滿足給定需求屬性的問題。,軟件缺陷,對(duì)于軟件缺陷的定義,通常有下列5條描述 軟件未達(dá)到產(chǎn)品描述表明的功能。 軟件出現(xiàn)了產(chǎn)品描述指明不會(huì)出現(xiàn)的錯(cuò)誤。 軟件功能超出產(chǎn)品描述指明范圍。 軟件未達(dá)到產(chǎn)品描述雖未指出但應(yīng)達(dá)到的目標(biāo)。 軟件測(cè)試人員認(rèn)為軟件難以理解、不易使用、運(yùn)行速度緩慢,或者最終用戶認(rèn)為不好。,軟件失敗的術(shù)語描述,缺陷(defect) 問題 (problem) 謬誤 (fault) 矛盾(inconsistency) 失敗(f
14、ailure) 偏差(variance) 毛病 (incident) 特殊(feature) 異常 (anomaly) 錯(cuò)誤 (error) 缺陷(bug),軟件失敗的術(shù)語描述,軟件錯(cuò)誤(error) 在軟件生存期內(nèi)的不希望或者不可接受的人為錯(cuò)誤。 軟件缺陷(defect) 存在于軟件(文檔、數(shù)據(jù)、程序)之中的那些不希望或不可接受的偏差,Bug是口語化的缺陷。缺陷在沒有被激活的狀態(tài)下,軟件可以正常運(yùn)行,但是一旦在某一觸發(fā)條件下,缺陷被激活,軟件內(nèi)部就會(huì)出現(xiàn)故障。 軟件故障(fault) 軟件運(yùn)行過程中出現(xiàn)的一種不希望或不可接受的內(nèi)部狀態(tài)。此時(shí),如果沒有適當(dāng)?shù)奶幚泶胧┑脑?,軟件故障就?huì)導(dǎo)致軟件失
15、效。 軟件失效(failure) 軟件運(yùn)行時(shí)產(chǎn)生的一種不希望或不可接受的外部行為結(jié)果。比如死機(jī)就是一種嚴(yán)重的軟件失效。軟件失效是軟件用戶所能直接感受到的。當(dāng)軟件出現(xiàn)失效時(shí),必然說明軟件中存在缺陷。,軟件缺陷的特征,“看不到” 軟件的特殊性決定了缺陷不易看到 “看到但是抓不到” 發(fā)現(xiàn)了缺陷,但不易找到問題發(fā)生的原因所在,軟件測(cè)試是軟件工程中的重要環(huán)節(jié),軟件產(chǎn)品質(zhì)量是企業(yè)的重要目標(biāo) 軟件缺陷不可能避免 軟件測(cè)試是發(fā)現(xiàn)缺陷的手段,軟件缺陷被引入的時(shí)間,開發(fā)階段 規(guī)格說明書 設(shè)計(jì)環(huán)節(jié) 編碼 修復(fù)缺陷時(shí)也可能產(chǎn)生新的缺陷 修改代碼后一定要進(jìn)行回歸測(cè)試!,典型的軟件缺陷產(chǎn)生的原因,需求解釋有錯(cuò)誤; 用戶需
16、求定義錯(cuò)誤; 需求記錄錯(cuò)誤; 設(shè)計(jì)說明有誤; 編碼說明有誤;,程序代碼有誤; 數(shù)據(jù)輸入有誤; 測(cè)試錯(cuò)誤; 問題修改不正確; 不正確的結(jié)果是由于其他的缺陷而產(chǎn)生。,軟件缺陷產(chǎn)生的原因,第一大原因就是軟件產(chǎn)品規(guī)格說明書,很多情況下,說明書沒有寫,或?qū)懙牟粔蛉?,?jīng)常更改,或者開發(fā)小組沒有很好的溝通,造成對(duì)說明書理解的不一致。 第二大原因是軟件設(shè)計(jì),沒有做設(shè)計(jì)或設(shè)計(jì)不好,經(jīng)常變動(dòng)等和產(chǎn)品規(guī)格說明書一樣的問題。 第三個(gè)原因才是編寫代碼和其它原因。,軟件缺陷產(chǎn)生的原因,常見導(dǎo)致規(guī)格說明錯(cuò)誤的根源,缺乏有效的溝通,或者沒有進(jìn)行溝通; 軟件復(fù)雜度 不斷變更的需求 時(shí)間的壓力 缺乏文檔的代碼 軟件開發(fā)工具,軟
17、件缺陷的修復(fù)費(fèi)用,平均而言,如果在需求階段修正一個(gè)錯(cuò)誤的代價(jià)是1,那么在設(shè)計(jì)階段就是它的3-6倍,在編程階段是它的10倍而到了產(chǎn)品發(fā)布出去時(shí),這個(gè)數(shù)字就是401000倍。修正錯(cuò)誤的代價(jià)不是隨時(shí)間線性增長,而是幾乎成指數(shù)級(jí)增長。,應(yīng)該盡快修復(fù)發(fā)現(xiàn)的缺陷!,軟件缺陷的修復(fù)費(fèi)用,軟件缺陷的分類,以出現(xiàn)相應(yīng)錯(cuò)誤的開發(fā)階段來劃分 以相應(yīng)失效產(chǎn)生的后果來劃分 以解決難度來劃分 以不解決會(huì)產(chǎn)生的風(fēng)險(xiǎn)來劃分 根據(jù)異常出現(xiàn)的頻率來劃分 根據(jù)導(dǎo)致缺陷產(chǎn)生的技術(shù)類型來劃分,軟件缺陷的級(jí)別,根據(jù)缺陷所造成的危害的惡劣程度劃分: 致命的(fatal):造成系統(tǒng)或應(yīng)用程序崩潰、死機(jī)、系統(tǒng)懸掛,或造成數(shù)據(jù)丟失、主要功能完全喪失。 嚴(yán)重的(critical):指功能或特性沒有實(shí)現(xiàn),主要功能部分喪失,次要功能完全喪失,或致命的錯(cuò)誤聲明。 一般的(major):不太嚴(yán)重的錯(cuò)誤,這樣的軟件缺陷雖然不影響系統(tǒng)的基本使用但沒有很好地實(shí)現(xiàn)功能,沒有達(dá)到預(yù)期效果。如次要功能喪失,提示信息不太準(zhǔn)確,或用戶界面差,操作時(shí)間長等。 微小的(minor):一些小問題,對(duì)功能幾乎沒有影響,產(chǎn)品及屬性仍可使用,如有個(gè)別錯(cuò)字,文字排列不整齊等。,軟件缺陷的類型,根據(jù)缺陷產(chǎn)生的技術(shù)類型劃分 輸入
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 胃腸減壓的護(hù)理實(shí)踐指南
- 組織胚胎學(xué)基礎(chǔ):輪廓乳頭課件
- 藥理學(xué)入門:執(zhí)業(yè)藥師西藥二考點(diǎn)課件
- 2025-2030中國瑜伽教練培訓(xùn)市場(chǎng)供需狀況與銷售策略探討研究研究報(bào)告
- 公司薪酬績效制度
- 保險(xiǎn)回訪的制度
- 超市策劃培訓(xùn)
- 四年級(jí)道德與法治下冊(cè):第十二課 家鄉(xiāng)的喜與憂 第1課時(shí)
- 人教版數(shù)學(xué)八年級(jí)上冊(cè)13.1.2.2 作軸對(duì)稱圖形的對(duì)稱軸課件
- 超市服務(wù)培訓(xùn)課件模板
- 2025蘇州市全日制勞動(dòng)合同(蘇州市人社局范本)
- T/CCPITCSC 120-2023中國品牌影響力評(píng)價(jià)通則
- 對(duì)公賬戶借用協(xié)議書
- 宮外孕補(bǔ)償協(xié)議書模板
- 電梯使用單位日管控、周排查、月調(diào)度電梯安全檢查記錄表
- 外科牽引護(hù)理操作規(guī)范
- 醫(yī)學(xué)檢驗(yàn)免疫課件
- 農(nóng)村土地永久性轉(zhuǎn)讓合同
- 中建市政道路施工組織設(shè)計(jì)方案
- 數(shù)學(xué)-安徽省天一大聯(lián)考2024-2025學(xué)年2025屆高三上學(xué)期期末檢測(cè)試題和答案
- DB23T 2689-2020養(yǎng)老機(jī)構(gòu)院內(nèi)感染預(yù)防控制規(guī)范
評(píng)論
0/150
提交評(píng)論