軟件質(zhì)量透視_第1頁
軟件質(zhì)量透視_第2頁
軟件質(zhì)量透視_第3頁
軟件質(zhì)量透視_第4頁
軟件質(zhì)量透視_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第11章軟件質(zhì)量透視通過對前面的學習,我們對傳統(tǒng)的軟件測試有了一個比較全面的認識。我們認識到測試人員需要對產(chǎn)品的質(zhì)量負責。那么什么是質(zhì)量,該如何看待質(zhì)量?本章重點討論:什么是質(zhì)量?如何才能提高軟件產(chǎn)品的質(zhì)量?

Deming的14條質(zhì)量原則是什么?

CMM、PSP和TSP之間的關(guān)系是什么?11.1質(zhì)量的定義

ISO關(guān)于質(zhì)量的定義表示如下:“一個實體(產(chǎn)品和服務(wù))的所有特性,基于這些特性可以滿足明顯的或隱含的需要?!蔽覀兛梢砸瓿鲑|(zhì)量的3個維度:符合目標目標是客戶提出的,符合目標就是判斷我們是不是在做我們需要做的事情。在這個維度上用戶認為的質(zhì)量是“產(chǎn)品是否按照用戶的需要運行”11.1質(zhì)量的定義符合需求檢驗產(chǎn)品是否在做讓它做的事情。軟件產(chǎn)品的需求必須是可度量的,并且產(chǎn)品的需求要么被滿足,要么不被滿足。根據(jù)這種度量,質(zhì)量也應(yīng)該是二維的狀態(tài),也就是說產(chǎn)品要么是有質(zhì)量,要么是無質(zhì)量的。對于開發(fā)者而言,他們認為質(zhì)量就是滿足用戶的需求或規(guī)格說明書。在此滿足規(guī)格說明書成為了產(chǎn)品本身的一個終點。11.1質(zhì)量的定義符合實際需求。實際的需求包括用戶明確說明的和隱含的需求。而往往我們會忽略隱含的需求。因此控制一個產(chǎn)品的質(zhì)量的過程中必須關(guān)注這些隱含的需求,并給予應(yīng)有的驗證。產(chǎn)品是為用戶提供服務(wù)的,凡是不滿足客戶需求的,我們都認為是一個失效的產(chǎn)品。所以我們的產(chǎn)品必須圍繞著客戶的需求進行開發(fā)和驗證。11.1質(zhì)量的定義“客戶”和“用戶”的區(qū)別:客戶之真正能夠決定是否購買你軟件的人,而用戶是實際使用軟件的人。我們開發(fā)軟件是應(yīng)該更多地站在用戶的角度去開發(fā),要做到讓用戶用得方便、舒服、提高了效率。用戶的意見能直接反饋到客戶那里,作為客戶選購軟件的依據(jù)。

了解兩者的區(qū)別,在分析需求和進行產(chǎn)品的質(zhì)量驗證時可以做出不同的權(quán)衡。11.1質(zhì)量的定義當每個人提到質(zhì)量時,經(jīng)常會遇到下列矛盾,在這些矛盾中隱含著對質(zhì)量的承諾:質(zhì)量需要一個承諾,尤其是高層管理者的承諾。為了得到更高的質(zhì)量,高層管理者必須和員工進行緊密的合作。許多相信沒有缺陷的產(chǎn)品和服務(wù)是不可能的。但是控制在一定級別的缺陷數(shù)量是正常的,是可以接受的。11.1質(zhì)量的定義質(zhì)量經(jīng)常是和成本緊密聯(lián)系在一起的,一個高質(zhì)量的產(chǎn)品同時也意味著高投入。這是設(shè)計的質(zhì)量和一致性質(zhì)量的一個矛盾。一個高的質(zhì)量要求需求規(guī)格說明書足夠詳細,并根據(jù)這些規(guī)格說明書可進行定量的分析。然而許多組織沒有能力或者不愿意制作如此詳細的規(guī)格說明書。技術(shù)人員經(jīng)常相信規(guī)范和標準會束縛他們的創(chuàng)造力,因而不愿意遵照標準做事。然而如果要得到高質(zhì)量的產(chǎn)品,就必須遵循良好定義的標準和過程。11.2質(zhì)量的預(yù)防和檢測

質(zhì)量管理可以降低產(chǎn)品的成本,這是因為缺陷發(fā)現(xiàn)和修改得越早,所花費的成本就越少。盡管在初期時,其成本投入相當大,但是從長遠來看,質(zhì)量管理將減少后期的維護費用,并最終得到一個高質(zhì)量的產(chǎn)品。研究表明:維護階段發(fā)現(xiàn)和修改一個缺陷的成本時需求階段的70倍甚至更高。一個有效的質(zhì)量管理成本包括4個部分:預(yù)防成本、檢視成本、內(nèi)部缺陷發(fā)現(xiàn)和修改成本、外部缺陷發(fā)現(xiàn)和修改成本。11.2質(zhì)量的預(yù)防和檢測預(yù)防成本包括防止缺陷最初產(chǎn)生的活動的成本。檢視成本包括測量、評價和審計一個產(chǎn)品或服務(wù)是否和標準與規(guī)格相一致而花費的成本。內(nèi)部缺陷發(fā)現(xiàn)和修改成本是那些在產(chǎn)品交付之前發(fā)現(xiàn)和修改錯誤所投入的成本。

11.2質(zhì)量的預(yù)防和檢測外部缺陷發(fā)現(xiàn)和修改成本是產(chǎn)品發(fā)布之后發(fā)現(xiàn)和修改缺陷所花費的成本。外部缺陷有可能是災(zāi)難性的,因為它們可能會損害企業(yè)的名譽并最終導致銷售的下滑。預(yù)防的最大回報是在增加預(yù)防成本的同時減少外部缺陷,進而提高產(chǎn)品質(zhì)量,減少維護成本和產(chǎn)品成本。11.3如何提高軟件產(chǎn)品的質(zhì)量如何提高軟件的質(zhì)量已經(jīng)不是一個純粹的技術(shù)問題,而是一個工程問題。自從軟件危機產(chǎn)生以來,出現(xiàn)了很多關(guān)于提高產(chǎn)品質(zhì)量方面的理論和方法:有從技術(shù)角度出發(fā)的,如面向?qū)ο蟮募夹g(shù)的產(chǎn)生和推廣;有從自動化角度出發(fā)的,如CASE工具、過程控制軟件、自動化管理平臺等;有從過程模型角度出發(fā),如:迭代模型、螺旋模型等;11.3如何提高軟件產(chǎn)品的質(zhì)量有從管理角度出發(fā)的,如:團對管理、責效管理等;有從測試角度出發(fā)的,如:把Deming的PDCA循環(huán)應(yīng)用到全流程的測試過程上來;一些相應(yīng)的規(guī)范和標準也孕育而生,例如:ISO9000系列,CMM等。然而每一種技術(shù)都不是絕對的,軟件質(zhì)量的提高應(yīng)該是一個綜合的因素,需要從各個方面進行改進,同時還需要兼顧成本和進度。

11.3.1流程對質(zhì)量的控制從一個軟件企業(yè)的長遠發(fā)展來看,如果要提高產(chǎn)品的質(zhì)量首先應(yīng)當從流程抓起,規(guī)范軟件產(chǎn)品的開發(fā)過程。這是一個軟件企業(yè)從小作坊的生產(chǎn)方式向集成化規(guī)范化的大公司邁進的必經(jīng)之路,也是從根本上解決質(zhì)量問題,提高工作效率的一個關(guān)鍵手段。11.3.1流程對質(zhì)量的控制

軟件產(chǎn)品的開發(fā)同其他產(chǎn)品(如汽車)的生產(chǎn)有著共同特性,即需要按一定的過程來進行生產(chǎn)。

在工業(yè)界,流水線生產(chǎn)方式被證明是一種高效的,且能夠比較穩(wěn)定地保證產(chǎn)品質(zhì)量的一種方式。通過這種方式,不同的人員被安排在流程的不同位置,最終為著一個目標共同努力,這樣可以防止人員時間的內(nèi)耗,極大地提高了工作效率。并且由于其過程來源于成功的案例,因此其最終的產(chǎn)品質(zhì)量能夠滿足過程所設(shè)定的范圍。11.3.1流程對質(zhì)量的控制

軟件工程在軟件的發(fā)展過程中吸取了這個經(jīng)驗并把它應(yīng)用到了軟件開發(fā)中,這就形成了軟件工程過程,簡稱開發(fā)流程。開發(fā)流程告訴我們該怎樣一步一步實現(xiàn)產(chǎn)品,可能會有那些風險,如何避免風險等。由于流程源于成功的經(jīng)驗,因此,按照流程進行開發(fā)可以使我們少走彎路,并有效地提高產(chǎn)品質(zhì)量,提高用戶的滿意度。11.3.1流程對質(zhì)量的控制

目前流行的流程方法有很多種,不同的流程適合不同類型的項目。瀑布模型該模型是應(yīng)用最為廣泛的一種模型,也是最容易理解和掌握的模型,但是它的缺陷也是顯而易見的。遺留的需求或者不斷變化的需求會使得該模型無所適從。然而,對于那些容易理解但很復雜的項目,采用瀑布模型比較適合,因為可以按部就班地去處理復雜的問題。在質(zhì)量要求高于成本和進度時,該模型表現(xiàn)突出。11.3.1流程對質(zhì)量的控制螺旋模型是一個經(jīng)典的模型,它關(guān)注于發(fā)現(xiàn)和降低項目的風險。螺旋型項目從小的規(guī)模開始,探測風險,制定風險控制計劃,接著確定下一步項目是否還要繼續(xù),然后進行下一步螺旋的反復。該模型的最大優(yōu)點是隨著成本的增加,風險程度隨之降低。缺點是比較復雜,且需要管理人員有責任心,專注以及有管理經(jīng)驗。對管理人員的經(jīng)驗和素質(zhì)依賴比較大。11.3.1流程對質(zhì)量的控制

RUP模型該模型是Rational公司提出的一套開發(fā)過程模型,它是一個面向?qū)ο筌浖こ痰耐ㄓ脴I(yè)務(wù)流程。它描述了一系列相關(guān)的軟件工程流程,它們具有相同的結(jié)構(gòu),即相同的流程架構(gòu)。

RUP為在開發(fā)組織中分配任務(wù)和職責提供了一種規(guī)范方法,其目標是確保在可預(yù)計的時間安排和預(yù)算內(nèi)開發(fā)出滿足最終用戶需求的高品質(zhì)的軟件。11.3.1流程對質(zhì)量的控制

RUP有兩個軸,一個軸是時間,這是動態(tài)的;另一個軸是工作流軸,這是靜態(tài)的。在時間軸上,RUP分為4個階段:初始階段、細化階段、構(gòu)造階段和發(fā)布階段。每個階段都使用了迭代的概念。在工作流軸上,RUP設(shè)計了6個核心工作流程和3個核心支撐工作流。核心工作流軸包括:業(yè)務(wù)建模工作流、需求工作流、分析設(shè)計工作流、實現(xiàn)工作流、測試工作流和發(fā)布工作流。核心支撐工作流包括:環(huán)境工作流、項目管理工作流和配置與變更管理工作流。RUP流程示意圖11.3.1流程對質(zhì)量的控制

IPD模型流程是由IBM提出的一套集成產(chǎn)品開發(fā)流程,非常適合于復雜的大型開發(fā)項目,尤其涉及到軟硬件結(jié)合的項目。

IPD從整個產(chǎn)品角度出發(fā),流程綜合考慮了從系統(tǒng)工程、研發(fā)(硬件、軟件、結(jié)構(gòu)工業(yè)設(shè)計、測試、資料開發(fā)等)、制造、財務(wù)到市場、采購、技術(shù)支援等所有流程,是一個端到端的流程。11.3.1流程對質(zhì)量的控制在IPD流過程中總共劃分了6個階段(概念階段、計劃階段、開發(fā)階段、驗證階段、發(fā)布階段和生命周期階段),4個決策評審點(概念階段決策評審點、計劃階段決策評審點、可獲得性決策評審點和生命周期終止決策評審點)以及6個技術(shù)評審點。IPD流程示意圖11.3.1流程對質(zhì)量的控制

IPD流程是一個階段性模型,具有瀑布模型的影子。該模型通過使用全面而且復雜的流程來把一個龐大而又復雜的系統(tǒng)進行分解并降低風險。一定程度上,該模型是通過流程成本來提高整個產(chǎn)品的質(zhì)量并獲得市場的占有。由于該模型沒有定義如何進行流程回退的機制,因此對于需求經(jīng)常變動的項目,該流程就顯得不太適合了。并且對于一些小項目,也不是非常適合使用該模型。11.3.2流程與技術(shù)流程和成功不是等價的。沒有流程,成功就不可能得到保證,但是有了流程并不意味著肯定能夠成功。技術(shù)是成功的另外一個必要條件。11.3.2流程與技術(shù)對于軟件開發(fā)者來說,要保證軟件的質(zhì)量,需要掌握多方面的技術(shù),包括分析技術(shù),設(shè)計技術(shù),編碼技術(shù)和測試技術(shù)等。在國內(nèi)有一個普遍的非正?,F(xiàn)象,就是大家覺得只有編程才是玩計算機的真正技能。就好像造一套房子,其他都不重要,只要磚瓦匠有高超的技能就行了。我們?nèi)鄙傧到y(tǒng)級的工程師,在分析和設(shè)計方面的工作做得很不扎實。11.3.2流程與技術(shù)需求是一個項目的靈魂。模棱兩可的需求不可避免的后果就是返工——重做一些你認為已做好的事情。返工會耗費總開發(fā)費用的40%,而70%~85%的重做是由于需求方面的錯誤所導致的。11.3.2流程與技術(shù)設(shè)計是最能體現(xiàn)一個工程師能力的地方。一個好的設(shè)計基本上決定了產(chǎn)品的最終質(zhì)量。設(shè)計是把需求轉(zhuǎn)換成系統(tǒng)的一個關(guān)鍵步驟,它需要從自然語言描述的需求中尋找出設(shè)計的基礎(chǔ)單元,構(gòu)建出整個系統(tǒng)的構(gòu)架。在RUP模型中關(guān)于系統(tǒng)架構(gòu)師和設(shè)計師的定位是相當高的。關(guān)于設(shè)計方面的技能是很廣的,包括從系統(tǒng)的結(jié)構(gòu)化設(shè)計到面向?qū)ο笤O(shè)計。設(shè)計人員需要掌握一定的建模技術(shù)。11.3.2流程與技術(shù)

UML是國際上比較流行的一種建模語言,在嵌入式方面SDL也是一種很好的建模工具。

《設(shè)計模式》是一本在設(shè)計思想方面總結(jié)得非常出色得書,作為一個設(shè)計人員,必須好好研究一下。11.3.2流程與技術(shù)現(xiàn)在的程序員熱衷于掌握多種編程語言,或者過分講究語言的技巧化,而往往忽略了編程語言的規(guī)范化。不規(guī)范的語言應(yīng)用給程序的可理解性、可維護性以及可測試性帶來很大的不便,甚至會損害產(chǎn)品的質(zhì)量。11.3.2流程與技術(shù)如果大家是在做研究性的項目和純粹興趣性的項目,那么大家充分發(fā)揮自己的編程天才是可以的。但是對于一個公司,其產(chǎn)品最終是要交給用戶的,需要遵循的是一個軟件產(chǎn)品的開發(fā)過程。因此這類軟件的開發(fā)需要遵循一定的編程規(guī)范,畢竟開發(fā)的軟件不是自己用的,還需要和別人集成,還需要給以后版本重用和維護??傊?,流程很關(guān)鍵,技術(shù)也很重要,“魚”和“熊掌”,兩者都不能放。11.3.3全面質(zhì)量管理作為全面質(zhì)量管理的最初倡導者和成功者Deming,其質(zhì)量理論包括統(tǒng)計理論的使用。統(tǒng)計有助于我們特別關(guān)注于問題的主要因素,當問題改正后能極大地提高產(chǎn)品的質(zhì)量。11.3.3全面質(zhì)量管理1.Deming的質(zhì)量原則:第一個原則:要有一個堅定不移的目標為了應(yīng)用該原則,一個質(zhì)量保證組織可以:開發(fā)一個質(zhì)量保證計劃,提供一個長期的質(zhì)量方向;需要軟件測試者為每個項目開發(fā)并維護一個一致的測試計劃。鼓勵質(zhì)量分析人員和測試人員遵循具有革新的方法來最大化產(chǎn)品的質(zhì)量。致力于不斷改進質(zhì)量過程。11.3.3全面質(zhì)量管理第二個原則:吸收新的哲學質(zhì)量必須成為一個新的信仰。根據(jù)Deming的理論:“生存的成本和需要花錢購買的商品和服務(wù)是成反比的,如:可靠的服務(wù)可以降低成本,延遲和錯誤卻會提高成本?!庇捎谘舆t和錯誤,商品和服務(wù)的消費被終止了,這降低了它們存在的標準。在系統(tǒng)中,對可接受的層次和缺陷忍耐程度是質(zhì)量和產(chǎn)量之間的一個路障。11.3.3全面質(zhì)量管理為了應(yīng)用該原則,一個質(zhì)量保證組可以:提高關(guān)于質(zhì)量的價值和需要;提高質(zhì)量保證部門的地位,是他們和別的部門同樣重要;糾正對質(zhì)量部門是“看門狗”的消極看法。11.3.3全面質(zhì)量管理第三個原則:不要依賴海量檢查傳統(tǒng)的想法認為檢查可以排除糟糕的質(zhì)量。當難于確定在過程中一個缺陷在哪邊產(chǎn)生時,一個好的方法是通過檢查關(guān)注于我們做的如何、而不應(yīng)針對最終的產(chǎn)品。質(zhì)量應(yīng)當時內(nèi)在的,而不是通過無數(shù)的檢查獲得的。為了做到該原則,一個質(zhì)量保證組織可以:在整個開發(fā)生命周期中,提高并使用技術(shù)評審、走讀和檢視來獲取質(zhì)量;在整個組織中灌輸質(zhì)量意識,并把它作為一個切實的、可度量的工作產(chǎn)品;需要信息技術(shù)質(zhì)量的統(tǒng)計證明。11.3.3全面質(zhì)量管理第四個原則:結(jié)束基于純粹價格標簽裁定的商業(yè)實踐“兩個或多個以上的同種商品的供應(yīng)商會成倍地加劇損害,這些損害是內(nèi)在必然的,并且對任何一個供應(yīng)商都是不利的?!睘榱烁玫胤?wù)于公司,購買方可以通過和供應(yīng)商建立一種長期的忠實的關(guān)系,并且與一個專門的供應(yīng)商建立信任關(guān)系。為了應(yīng)用該原則,一個質(zhì)量保證組織可以:需要軟件質(zhì)量和測試提供者提供能夠證明他們質(zhì)量的統(tǒng)計數(shù)據(jù)。對每一個質(zhì)量保證工具、測試工具和服務(wù)選擇一個最好的供應(yīng)商,并且建立一個與質(zhì)量計劃一致的工作關(guān)系。11.3.3全面質(zhì)量管理第五個原則:產(chǎn)品和服務(wù)系統(tǒng)穩(wěn)定地、長期地提高改進不是一時的努力——管理層有責任不斷地提高質(zhì)量。具體可以:不斷地提高質(zhì)量保證和測試過程。不要依賴于主觀的判斷。使用統(tǒng)計技術(shù),如測試分析和通過主因及效果分析揭示問題根源等方法。11.3.3全面質(zhì)量管理第六個原則:建立培訓和再培訓制度在很多公司,很少甚至沒有培訓,工人們不知道何時才能正確地完成他們的任務(wù)。Deming強調(diào):只要工作成果無法受到統(tǒng)計控制,并且還能獲得更大的好處時,培訓就不應(yīng)當被終止。為了應(yīng)用該原則,可以:建立現(xiàn)代的培訓輔

溫馨提示

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

評論

0/150

提交評論