全面軟件質(zhì)量管理_第1頁
全面軟件質(zhì)量管理_第2頁
全面軟件質(zhì)量管理_第3頁
全面軟件質(zhì)量管理_第4頁
全面軟件質(zhì)量管理_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

全面軟件質(zhì)量管理——剖析軟件質(zhì)量的內(nèi)涵——內(nèi)建高質(zhì)量而非修補質(zhì)量

目錄1.引言2.軟件質(zhì)量屬性和質(zhì)量要素3.商業(yè)目標決定質(zhì)量目標4.質(zhì)量保證能夠保證質(zhì)量嗎5.質(zhì)量人員的狀況6.全面軟件質(zhì)量管理:模型7.全面軟件質(zhì)量管理:制定質(zhì)量計劃8.全面軟件質(zhì)量管理:技術(shù)評審9.全面軟件質(zhì)量管理:軟件測試10.全面軟件質(zhì)量管理:過程檢查11.全面軟件質(zhì)量管理:缺陷跟蹤工具1.引言

軟件質(zhì)量管理是充滿爭論的話題。被人們奉為軟件質(zhì)量管理圣經(jīng)的CMM和ISO9001似乎并不奏效,現(xiàn)實和理想之間的差距太大。經(jīng)典軟件工程教科書以及CMM和ISO9001總是拋開商業(yè)目標談質(zhì)量管理,本末倒置,紙上談兵,誤導了大量讀者,所以質(zhì)量管理才變得那么艱辛。世界上還沒有萬能的軟件質(zhì)量管理圣經(jīng),我們不要迷信CMM和ISO9000。要多向有實戰(zhàn)經(jīng)驗的同行專家請教,但是不要輕信“紙上談兵”的專家。本文給出了一套實用主義的“全面軟件質(zhì)量管理”方法。重要的理念:商業(yè)目標決定質(zhì)量目標。提高軟件質(zhì)量的最終目的是為了贏利,而不是創(chuàng)造完美無缺的產(chǎn)品。因此對于普通商業(yè)軟件而言,并不是“質(zhì)量越高越好”,而是恰好讓廣大用戶滿意,并且將提高質(zhì)量所付出的代價控制在預算之內(nèi)。2.軟件質(zhì)量屬性和質(zhì)量要素

2.1如何描述質(zhì)量詞典對質(zhì)量的定義是:①典型的或本質(zhì)的特征;②事物固有的或區(qū)別于其他事物的特征或本質(zhì);③優(yōu)良或出色的程度。CMM對質(zhì)量的定義是:①一個系統(tǒng)、組件或過程符合特定需求的程度;②一個系統(tǒng)、組件或過程符合客戶或用戶的要求或期望的程度。上述定義很抽象,人們看了準會一臉迷惘。就讓我們用“人的健康”來類比解釋軟件質(zhì)量。古時候人們以為長得結(jié)實、飯量大就是健康,這顯然是不科學的?,F(xiàn)代人總是通過考察多方面的生理因素來判斷是否健康,如測量身高、體重、心跳、血壓、血液、體溫等。如果上述因素都合格,那么表明這人是健康的。如果某個因素不合格,則表明此人在某個方面不健康,醫(yī)生會對癥下藥。通過類比,我們這樣理解軟件質(zhì)量:軟件質(zhì)量是許多質(zhì)量屬性的綜合體現(xiàn),各種質(zhì)量屬性反映了軟件質(zhì)量的方方面面。人們通過改善軟件的各種質(zhì)量屬性,從而提高軟件的整體質(zhì)量(否則無從下手)。

軟件的質(zhì)量屬性很多,如正確性、精確性,健壯性、可靠性、容錯性、性能、易用性、安全性、可擴展性、可復用性、兼容性、可移植性、可測試性、可維護性、靈活性等。上述這些質(zhì)量屬性之間“你中有我,我中有他”,非常纏綿。如果開發(fā)人員每天要面對那么多的質(zhì)量屬性咬文嚼字,不久就會迂腐得像孔乙己,因此我們有必要對質(zhì)量屬性做些分類和整合。質(zhì)量屬性可分為兩大類:“功能性”與“非功能性”,后者有時也稱為“能力”(Capability)。

2.軟件質(zhì)量屬性和質(zhì)量要素

2.2十大軟件質(zhì)量因素功能性質(zhì)量因素:正確性,健壯性,可靠性非功能性質(zhì)量因素:性能,易用性,清晰性,安全性,可擴展性,兼容性,可移植性為什么是“十大”質(zhì)量因素逐一解釋“十大”質(zhì)量因素(參見《高質(zhì)量程序設(shè)計指南——C++/C語言》)2.3軟件質(zhì)量要素什么是軟件質(zhì)量要素?(1)從技術(shù)角度講,對軟件整體質(zhì)量影響最大的那些質(zhì)量屬性才是質(zhì)量要素;(2)從商業(yè)角度講,客戶最關(guān)心的、能成為賣點的質(zhì)量屬性才是質(zhì)量要素。對于一個特定的軟件而言,我們首先判斷什么是質(zhì)量要素,才能給出提高質(zhì)量的具體措施,而不是一股腦地想把所有的質(zhì)量屬性都做好,否則不僅做不好,還可能得不償失。如果某些質(zhì)量屬性并不能產(chǎn)生顯著的經(jīng)濟效益,我們可以忽略它們,把精力用在對經(jīng)濟效益貢獻最大的質(zhì)量要素上。簡而言之,只有質(zhì)量要素才值得開發(fā)人員下功夫去改善。2.軟件質(zhì)量屬性和質(zhì)量要素

2.4正確性正確性是指軟件按照需求正確執(zhí)行任務的能力?!罢_性”的語義涵蓋了“精確性”。正確性無疑是第一重要的軟件質(zhì)量屬性。技術(shù)評審和測試的第一關(guān)都是檢查工作成果的正確性。機器不會主動欺騙人,軟件運行出錯通常都是人造成的,所以不要找借口埋怨機器有毛病。2.5健壯性

健壯性是指在異常情況下,軟件能夠正常運行的能力。正確性描述軟件在需求范圍之內(nèi)的行為,而健壯性描述軟件在需求范圍之外的行為。開發(fā)者往往把異常情況錯當成正常情況而不作處理,結(jié)果降低了健壯性。用戶才不管正確性與健壯性的區(qū)別,反正軟件出了差錯都是開發(fā)方的錯。所以提高軟件的健壯性也是開發(fā)者的義務。健壯性有兩層含義:一是容錯能力,二是恢復能力。從語義上理解,恢復不及容錯那么健壯。Unix容錯能力很強,可惜不好用。Windows容錯能力較差,但是恢復能力很好,而且很好用。占了90%的操作系統(tǒng)市場。

2.軟件質(zhì)量屬性和質(zhì)量要素2.6可靠性可靠性是指在一定的環(huán)境下,在給定的時間內(nèi),系統(tǒng)不發(fā)生故障的概率??煽啃员緛硎怯布I(lǐng)域的術(shù)語。比如某個電子設(shè)備在剛開始工作時挺好的,但由于器件在工作中其物理性質(zhì)會發(fā)生變化(如發(fā)熱),慢慢地系統(tǒng)的功能或性能就會失常。所以一個從設(shè)計到生產(chǎn)完全正確的硬件系統(tǒng),在工作中未必就是可靠的。

軟件在運行時不會發(fā)生物理性質(zhì)的變化,人們常以為如果軟件的某個功能是正確的,那么它一輩子都是正確的??墒俏覀儫o法對軟件進行徹底地測試,無法根除軟件中潛在的錯誤。平時軟件運行得好好的,說不準哪一天就不正常了,如有千年等一回的“千年蟲”問題,司空見慣的“內(nèi)存泄露”、“誤差累積”問題等等。

軟件可靠性分析通常采用統(tǒng)計方法,遺憾的是目前可供第一線開發(fā)人員使用的成果很少見,大多數(shù)文章限于理論研究。口語中的可靠性含義寬泛,幾乎囊括了正確性、健壯性。只要人們發(fā)現(xiàn)系統(tǒng)有毛病,便歸結(jié)為可靠性差。從專業(yè)角度講,這種說法是確切的。時隱時現(xiàn)的錯誤一般都屬于可靠性問題,糾錯的代價很高。例如當維護人員十萬火急地趕到現(xiàn)場時,錯誤消失了;等維護人員回家后,錯誤又出現(xiàn)了?!浖煽啃詥栴}主要是在編程時候埋下的禍害(很難測試出來),應當提倡規(guī)范化程序設(shè)計,預防可靠性禍害。2.軟件質(zhì)量屬性和質(zhì)量要素2.7性能性能通常是指軟件的“時間-空間”效率,而不僅是指軟件的運行速度。人們總希望軟件的運行速度高些,并且占用資源少些。既要馬兒跑得快,又要馬兒吃的少。性能優(yōu)化的關(guān)鍵工作是找出限制性能的“瓶頸”,不要在無關(guān)痛癢的地方瞎忙乎。例如在大學里當教師,光靠使勁講課或者埋頭做實驗,職稱是升不快的。有些人找到了突破口,一年之內(nèi)“造”它幾十篇文章,爭取破格升副教授、教授。程序員可以通過優(yōu)化數(shù)據(jù)結(jié)構(gòu)、算法和代碼來提高軟件的性能。例如數(shù)據(jù)庫程序的優(yōu)化。算法復雜度分析是很好的方法,可以達到“未卜先知”的功效。性能優(yōu)化就好像從海綿里擠水一樣,你不擠,水就不出來,你越擠海綿越干。有些程序員認為現(xiàn)在的計算機不僅速度越來越高,而且內(nèi)存越來越大,因此軟件性能優(yōu)化的必要性下降了。這種看法是不對的,殊不知隨著機器的升級,軟件系統(tǒng)也越來越龐大了和復雜了,性能優(yōu)化仍然大有必要。最具有代表性的是三維游戲軟件,例如《DeltaForce》、《古墓麗影》、《反恐精英》等,如果不對軟件(關(guān)鍵是游戲引擎)做精益求精的優(yōu)化,要想在一臺普通的PC上順暢地玩游戲是不太可能的。2.軟件質(zhì)量屬性和質(zhì)量要素2.8易用性易用性是指用戶使用軟件的容易程度?,F(xiàn)代人的生活節(jié)奏快,干啥事都想圖個方便。所以把易用性作為重要的質(zhì)量屬性對待無可非議。

導致軟件易用性差的根本原因:理工科大學教育存在缺陷:沒有開設(shè)人機工程學、美學、心理學這些必修課,大部分開發(fā)人員不知道如何設(shè)計易用的軟件產(chǎn)品。開發(fā)人員犯了“錯位”的毛?。核詾橹灰约河闷饋矸奖?,用戶也就會滿意。

軟件的易用性要讓用戶來評價。當用戶真的感到軟件很好用時,一股溫暖的感覺油然而生,于是就用“界面友好”、“方便易用”等詞來評價軟件產(chǎn)品。

2.9清晰性清晰意味者所有的工作成果易讀、易理解,可以提高團隊開發(fā)效率,降低維護代價。開發(fā)人員只有在自己思路清晰的時候才可能寫出讓別人易讀、易理解的程序和文檔。可理解的東西通常是簡潔的。一個原始問題可能很復雜,但高水平的人就能夠把軟件系統(tǒng)設(shè)計得很簡潔。如果軟件系統(tǒng)臃腫不堪,它遲早會出問題。所以簡潔是人們對工作“精益求精”的結(jié)果,而不是潦草應付的結(jié)果。與簡潔對立的是“羅里羅嗦”。千萬不要把在學校里“造文章”的手法用于開發(fā)產(chǎn)品!如果把文章寫得很簡潔,讓人很容易理解,投稿往往中不了;只有加上一些玄乎的東西,把本來簡單的弄成復雜的,才會增加投稿的命中率。2.軟件質(zhì)量屬性和質(zhì)量要素2.10安全性

這里安全性是指信息安全,英文是Security而不是Safety。安全性是指防止系統(tǒng)被非法入侵的能力,既屬于技術(shù)問題又屬于管理問題。信息安全是一門比較深奧的學問,其發(fā)展是建立在正義與邪惡的斗爭之上。這世界似乎不存在絕對安全的系統(tǒng),連美國軍方的系統(tǒng)都頻頻遭黑客入侵。如今全球黑客泛濫,真是“道高一尺,魔高一丈”?。¢_發(fā)商和客戶愿意為提高安全性而投入的資金是有限的,他們要考慮值不值得。

究竟什么樣的安全性是令人滿意的呢?

一般地,如果黑客為非法入侵花費的代價(考慮時間、費用、風險等因素)高于得到的好處,那么這樣的系統(tǒng)可以認為是安全的。對于普通軟件,并不一點要追求很高的安全性,也不能完全忽視安全性,要先分析黑客行為。

2.軟件質(zhì)量屬屬性和質(zhì)量量要素2.11可擴展性可擴展性反反映軟件適適應“變化化”的能力力。在軟件開發(fā)發(fā)過程中,,“變化””是司空見見慣的事情情,如需求求、設(shè)計的的變化,算算法的改進進,程序的的變化等等等。由于軟件是是“軟”的的,是否它它天生就容容易修改以以適應“變變化”?關(guān)鍵要看軟軟件的規(guī)模模和復雜性性如果軟件規(guī)規(guī)模很小,,問題很簡簡單,那么么修改起來來的確比較較容易,這這時就無所所謂“可擴擴展性”了了。要是軟軟件的代碼碼只有100行,那那么“軟件件工程”也也就用不著著了。如果軟件規(guī)規(guī)模很大,,問題很復復雜,倘若若軟件的可可擴展性不不好,那么么該軟件就就像用卡片片造成的房房子,抽出出或者塞進進去一張卡卡片都有可可能使房子子倒塌。現(xiàn)代軟件產(chǎn)產(chǎn)品通常采采用“增量量開發(fā)模式式”,不斷斷推出新版版本,獲取取增值利潤潤??蓴U展展性越來越越重要??煽蓴U展性是是系統(tǒng)設(shè)計計階段重點點考慮的質(zhì)質(zhì)量屬性。。談到軟件的的可擴展性性,開發(fā)人人員首先想想到的是怎怎樣提高可可擴展性,,于是努力力去設(shè)計很很好的體系系結(jié)構(gòu)來提提高可擴展展性,卻不不考慮該不不該做這件件事。從商商業(yè)角度考考慮,如果果某個軟件件將不斷地地推出新版版本,那么么可擴展性性很重要。。但是如果果軟件永遠遠都不會有有下個版本本(一次性性買賣),,那么根本本無需提高高可擴展性性,何必自自找苦吃呢呢!2.軟件質(zhì)量屬屬性和質(zhì)量量要素2.12兼容性兼容性是指指不同產(chǎn)品品(或者新新老產(chǎn)品))相互交換換信息的能能力。例如如兩個字處處理軟件的的文件格式式兼容,那那么它們都都可以操作作對方的文文件,這種種能力對用用戶很有好好處。兼容性的商商業(yè)規(guī)則::弱者設(shè)法法與強者兼兼容,否則則無容身之之地;強者者應當避免免被兼容,,否則市場場將被瓜分分。如果你你經(jīng)??聪阆愀叟牡摹啊昂趲汀庇坝捌?,你就就很容易明明白這個道道理。金山軟件公公司的WPS與微軟的Word之爭。WPS一定要與Word兼容,否則則活不下去去。但是Word絕對不會與與WPS兼容,除非非WPS又在中國稱稱老大。中國聯(lián)通和和中國移動動的手機互互聯(lián)互通問問題。(互互聯(lián)網(wǎng)的價價值與用戶戶數(shù)量的平平方成正比比)2.13可移植性軟件的可移移植性指的的是軟件不不經(jīng)修改或或稍加修改改就可以運運行于不同同軟硬件環(huán)環(huán)境(CPU、OS和編譯器))的能力,,主要體現(xiàn)現(xiàn)為代碼的的可移植性性。編程語言越越低級,用用它編寫的的程序越難難移植,反反之則越容容易。這是是因為,不不同的硬件件體系結(jié)構(gòu)構(gòu)(例如IntelCPU和SPARCCPU))使用用不不同同的的指指令令集集和和字字長長,,而而OS和編編譯譯器器可可以以屏屏蔽蔽這這種種差差異異,,所所以以高高級級語語言言的的可可移移植植性性更更好好。。Java程序序號號稱稱““一一次次編編譯譯,,到到處處運運行行””,,具具有有100%的的可可移移植植性性。。為為了了提提高高Java程序序的的性性能能,,最最新新的的Java標準準允允許許人人們們使使用用一一些些與與平平臺臺相相關(guān)關(guān)的的優(yōu)優(yōu)化化技技術(shù)術(shù),,這這樣樣優(yōu)優(yōu)化化后后的的Java程序序雖雖然然不不能能““一一次次編編譯譯,,到到處處運運行行””,,仍仍然然能能夠夠““一一次次編編程程,,到到處處編編譯譯””。。軟件件設(shè)設(shè)計計時時應應該該將將““設(shè)設(shè)備備相相關(guān)關(guān)程程序序””與與““設(shè)設(shè)備備無無關(guān)關(guān)程程序序””分分開開,,將將““功功能能模模塊塊””與與““用用戶戶界界面面””分分開開。。3.商業(yè)業(yè)目目標標決決定定質(zhì)質(zhì)量量目目標標3.1教教科科書書的的片片面面觀觀點點大凡凡軟軟件件工工程程教教科科書書為為了了強強調(diào)調(diào)質(zhì)質(zhì)量量的的重重要要性性,,總總是是要要舉舉一一些些歷歷史史上上發(fā)發(fā)生生過過的的重重大大軟軟件件質(zhì)質(zhì)量量事事故故,,例例如如航航天天飛飛機機爆爆炸炸、、核核電電站站失失事事、、愛愛國國者者導導彈彈發(fā)發(fā)生生故故障障等等等等。。這這些些事事故故的的確確不不是是危危言言聳聳聽聽,,給給人人們們敲敲響響了了質(zhì)質(zhì)量量的的警警鐘鐘。。學術(shù)術(shù)界界總總是是喜喜歡歡宣宣揚揚質(zhì)質(zhì)量量至至上上的的理理念念,,而而忽忽視視企企業(yè)業(yè)的的商商業(yè)業(yè)利利益益,,將將質(zhì)質(zhì)量量目目標標凌凌駕駕于于商商業(yè)業(yè)目目標標之之上上。。我我不不能能評評判判這這種種現(xiàn)現(xiàn)象象是是好好還還是是壞壞,,但但是是的的確確誤誤導導了了大大量量讀讀者者。。許許多多軟軟件件人人員員都都有有““質(zhì)質(zhì)量量越越高高越越好好””的的觀觀念念,,這這是是被被教教科科書書灌灌輸輸?shù)牡模?,而而不不是是他他自自己己領(lǐng)領(lǐng)悟悟出出來來的的。。我曾曾在在著著作作《《高高質(zhì)質(zhì)量量程程序序設(shè)設(shè)計計指指南南————C++/C語言言》》中中大大肆肆宣宣揚揚了了高高質(zhì)質(zhì)量量程程序序設(shè)設(shè)計計的的理理念念,,力力求求使使C++程序序達達到到““零零缺缺陷陷””的的質(zhì)質(zhì)量量目目標標。。盡盡管管此此書書得得到到了了許許多多程程序序員員的的贊贊同同,,但但是是我我經(jīng)經(jīng)過過反反思思之之后后改改變變了了質(zhì)質(zhì)量量觀觀念念,,我我要要著著重重指指出出的的是是::重視視軟軟件件質(zhì)質(zhì)量量是是應應該該的的,,但但是是““質(zhì)質(zhì)量量越越高高越越好好””并并不不是是普普適適的的真真理理。。只只有有極極少少數(shù)數(shù)軟軟件件應應該該追追求求““零零缺缺陷陷””,,對對絕絕大大多多數(shù)數(shù)軟軟件件而而言言,,商商業(yè)業(yè)目目標標決決定定了了質(zhì)質(zhì)量量目目標標,,而而不不該該把把質(zhì)質(zhì)量量目目標標凌凌駕駕于于商商業(yè)業(yè)目目標標之之上上。。3.2嚴嚴格格系系統(tǒng)統(tǒng)對對質(zhì)質(zhì)量量的的要要求求航空空航航天天等等系系統(tǒng)統(tǒng)對對質(zhì)質(zhì)量量要要求求極極高高,,任任何何缺缺陷陷都都有有可可能能導導致致機機毀毀人人亡亡,,所所以以人人們們不不惜惜一一切切代代價價去去消消除除缺缺陷陷。。在在發(fā)發(fā)射射航航天天器器之之前前,,只只要要發(fā)發(fā)現(xiàn)現(xiàn)任任何何異異常常,,就就會會立立即即取取消消發(fā)發(fā)射射指指令令,,直直到到異異常常被被消消除除為為止止。。前前蘇蘇聯(lián)聯(lián)做做得得最最過過分分,,許許多多重重大大武武器器系系統(tǒng)統(tǒng)的的負負責責人人都都簽簽了了生生死死狀狀,,系系統(tǒng)統(tǒng)研研制制成成功功則則獲獲得得英英雄雄勛勛章章,,失失敗敗則則被被槍槍斃斃。。在在這這種種壓壓力力下下沒沒有有人人敢敢對對質(zhì)質(zhì)量量有有一一絲絲松松懈懈。。3.商業(yè)業(yè)目目標標決決定定質(zhì)質(zhì)量量目目標標3.3普普通通商商業(yè)業(yè)軟軟件件::商商業(yè)業(yè)目目標標決決定定質(zhì)質(zhì)量量目目標標上述述嚴嚴格格系系統(tǒng)統(tǒng)畢畢竟竟是是少少數(shù)數(shù),,絕絕大大多多數(shù)數(shù)普普通通軟軟件件的的缺缺陷陷并并不不會會造造成成機機毀毀人人亡亡這這樣樣的的重重大大損損失失,,否否則則沒沒有有人人敢敢從從事事軟軟件件開開發(fā)發(fā)了了。。在在日日常常工工作作中中,,我我們們接接觸觸過過的的軟軟件件幾幾乎乎都都是是有有缺缺陷陷的的,,即即便便是是軟軟件件業(yè)業(yè)老老大大Microsoft,,它的的軟軟件件產(chǎn)產(chǎn)品品也也經(jīng)經(jīng)常常出出錯錯甚甚至至導導致致死死機機,,人人們們罵罵幾幾句句后后還還會會照照樣樣使使用用有有缺缺陷陷的的軟軟件件。。企業(yè)業(yè)的的根根本本目目標標是是為為了了獲獲取取盡盡可可能能多多的的利利潤潤,,而而不不是是生生產(chǎn)產(chǎn)完完美美無無缺缺的的產(chǎn)產(chǎn)品品。。如如果果企企業(yè)業(yè)銷銷售售出出去去的的軟軟件件的的質(zhì)質(zhì)量量比比較較差差,,輕輕則則挨挨罵罵,,重重則則被被退退貨貨甚甚至至被被索索賠賠,,因此此為為了了提提高高用用戶戶對對產(chǎn)產(chǎn)品品的的滿滿意意度度,,企企業(yè)業(yè)必必須須提提高高產(chǎn)產(chǎn)品品的的質(zhì)質(zhì)量量。。但但是是企企業(yè)業(yè)不不可可能能為為了了追追求求完完美美的的質(zhì)質(zhì)量量而而不不惜惜一一切切代代價價,,當當企企業(yè)業(yè)為為提提高高質(zhì)質(zhì)量量所所付付出出的的代代價價超超過過銷銷售售收收益益時時,,這這個個產(chǎn)產(chǎn)品品已已經(jīng)經(jīng)沒沒有有商商業(yè)業(yè)價價值值了了,,還還不不如如不不開開發(fā)發(fā)。企業(yè)必須權(quán)權(quán)衡質(zhì)量、、效率和成成本,產(chǎn)品品質(zhì)量太低低了或者太太高了,都都不利于企企業(yè)獲取利利潤。企業(yè)業(yè)理想的質(zhì)質(zhì)量目標不不是“零缺缺陷”,而而是恰好讓讓廣大用戶戶滿意,并并且將提高高質(zhì)量所付付出的代價價控制在預預算之內(nèi)。。4.質(zhì)量保證能能夠保證質(zhì)質(zhì)量嗎4.1美美麗的謊言言CMM對軟件質(zhì)量量保證是這這樣描述的的:軟件質(zhì)量保保證(QualityAssurance)的目的是為為管理者提提供有關(guān)軟軟件過程和和產(chǎn)品的適適當?shù)目梢曇曅?。它包包括評審和和審核軟件件產(chǎn)品及其其活動,以以驗證其是是否遵守既既定的規(guī)程程和標準,,并向有關(guān)關(guān)負責人匯匯報評審和和審核的結(jié)結(jié)果。質(zhì)量保證((QualityAssurance,QA)是CMM和ISO9001最為推崇的的改善軟件件質(zhì)量的方方法?;谟谖矣H身實實踐和調(diào)查查研究,我我敢冒天下下之大不諱諱說一句::質(zhì)量保證并并不能保證證質(zhì)量,它它是個美麗麗的謊言。。簡而言之,,質(zhì)量保證證活動就是是檢查軟件件項目的““工作過程程和工作成成果”是否否符合既定定的規(guī)范。。如此簡單單的活動為為什么被冠冠以“質(zhì)量量保證”這這等份量的的術(shù)語呢??沒有歷史史典故,經(jīng)經(jīng)我考究,,猜想是源源于一個天天真的假設(shè)設(shè):過程質(zhì)量與與產(chǎn)品質(zhì)量量存在某種種程度的因因果關(guān)系,,通常“好好的過程””產(chǎn)生“好好的產(chǎn)品””,而“差差的過程””將產(chǎn)生““差的產(chǎn)品品”。假設(shè)設(shè)企業(yè)已經(jīng)經(jīng)制定了軟軟件過程規(guī)規(guī)范,如果果質(zhì)量保證證人員發(fā)現(xiàn)現(xiàn)某些項目目的“工作作過程以及及工作成果果”不符合合既定的規(guī)規(guī)范,那么么馬上可以以斷定產(chǎn)品品存在缺陷陷。反之,,如果質(zhì)量量保證人員員沒有發(fā)現(xiàn)現(xiàn)不符合既既定規(guī)范的的東西,那那么也可以以斷定產(chǎn)品品是合格的的。符合既定規(guī)規(guī)范的東西西并不意味味著質(zhì)量一一定合格,,僅靠規(guī)范范無法識別別出產(chǎn)品中中可能存在在的大量缺缺陷(以高手與與新手的設(shè)設(shè)計、編程程為例)。。質(zhì)量保證的的技術(shù)含量量太低了,,只能檢查查出膚淺的的缺陷,不不能對付有有技術(shù)難度度的缺陷。。所以單獨獨的“質(zhì)量量保證”其其實并不能能“保證質(zhì)質(zhì)量”。4.質(zhì)量保證能能夠保證質(zhì)質(zhì)量嗎4.2CMM3級企業(yè)QA人員的迷惘惘(email摘錄)我很迷茫,,很想找一一個人聊聊聊,希望你你能給我點點主意,化化解我心中中的謎團。。昨天我們公公司拿到了了CMM3的證書,但但是我一點點都高興不不起來。公公司宣稱,,我們的軟軟件質(zhì)量大大大提高了了,但是我我卻沒有信信心。我們們的過程執(zhí)執(zhí)行得很好好,但是我我覺得并沒沒有在很大大程度上改改善產(chǎn)品的的質(zhì)量。今天還有一一個項目經(jīng)經(jīng)理跟我訴訴苦:前一一階段大家家都忙于執(zhí)執(zhí)行過程,,但是他的的產(chǎn)品質(zhì)量量令人很不不滿意,尤尤其是測試試做的很不不到位。我我是這個項項目的SQA,所以我很理理解他,但但是我?guī)筒徊簧纤拿γ?。因為他他們的過程程執(zhí)行得很很好,這個個項目可是是通過CMM3級正式評估估了的。當然,執(zhí)行行CMM有不少好處處,比如文文檔全面完完整了,項項目管理的的可視性提提高了。但但是對于我我們公司而而言,它并并沒有在根根本上提高高我們公司司的軟件能能力。比如概要設(shè)設(shè)計,開發(fā)發(fā)人員根本本就不知道道用來干嗎嗎的,怎么么能指望他他們寫出高高質(zhì)量的概概要設(shè)計說說明書出來來。而在做做技術(shù)評審審的時候,,他們很少少能找出邏邏輯性的錯錯誤,只能能發(fā)現(xiàn)一些些諸如錯別別字之類的的小錯誤。。我們幾乎乎每一個配配置項都要要經(jīng)過評審審,但是大大部分評審審都只能發(fā)發(fā)現(xiàn)一些無無關(guān)痛癢的的問題。公司已經(jīng)通通過CMM3級了,我認認為過程執(zhí)執(zhí)行得很好好了,可是是軟件質(zhì)量量仍然比較較差。這是是怎么回事事啊,你覺覺得原因在在哪里?結(jié)論:公司按照CMM3級的要求執(zhí)執(zhí)行,而且且質(zhì)量人員員也認為執(zhí)執(zhí)行過程符符合既定的的規(guī)范,但但是軟件產(chǎn)產(chǎn)品的質(zhì)量量仍然低下下。所以說說“質(zhì)量保保證并不能能保證質(zhì)量量”,這句句話一點都都不過分。。質(zhì)量保證對對于保證質(zhì)質(zhì)量而言只只是必要的的手段,而而不是充分分的手段。。5.質(zhì)量人員的的狀況5.1郁郁悶QA人員訴苦::我現(xiàn)在覺得得很郁悶,,CMM評估前還有有目標,評評估完了冷冷靜下來卻卻覺得效果果很差,很很沒勁。項項目經(jīng)理向向我訴苦,,他們過程程執(zhí)行的很很好,但是是對產(chǎn)品質(zhì)質(zhì)量很不滿滿意,我卻卻無能為力力,我這個個QA還有什么用用處?。∷晕椰F(xiàn)在在干活沒有有動力,因因為不能產(chǎn)產(chǎn)生效益,,做再多的的工作也覺覺得是白干干。而且我我現(xiàn)在手頭頭有5個項項目要跟蹤蹤,還不包包括一些整整理培訓記記錄的雜活活,我覺得得自己連工工人也不如如。我有一一些很好的的想法卻無無處發(fā)揮,,所以我很很迷茫,很很矛盾地考考慮去留問問題。郁悶的滋味味各色各樣樣,只有正正在郁悶的的人感受最最真切。我我發(fā)現(xiàn)在軟軟件職業(yè)里里,質(zhì)量人人員是最郁郁悶的一族族。郁悶的的共同特征征有:(1)在執(zhí)行質(zhì)質(zhì)量保證活活動時,經(jīng)經(jīng)常受別人人的氣,真真是吃力不不討好。(2)如果項目目取得成功功,主要功功勞都被項項目主管霸霸占了,領(lǐng)領(lǐng)導們至多多會給質(zhì)量量人員一些些口頭上的的感謝。領(lǐng)領(lǐng)導們嘴上上重視產(chǎn)品品的質(zhì)量,,但是內(nèi)心心并不重視視質(zhì)量人員員。(3)質(zhì)量人員員沒有實質(zhì)質(zhì)性的權(quán)力力,沒有成成就感,但但是卻對質(zhì)質(zhì)量負有最最多的責任任。(4)待遇一般般,看不到到升遷的機機會,沒有有盼頭,要要么成為打打雜的,要要么另尋出出路。聲援。我也做過傷傷害質(zhì)量人人員的事情情,非常后后悔。我所認識的的公司內(nèi)外外的質(zhì)量人人員都是性性格溫和、、細致耐心心的人,他他們的優(yōu)點點在于人格格而不是技技術(shù)。平心心而論,他他們比某些些技術(shù)出色色但是情商商不高的技技術(shù)人員更更值得交朋朋友。質(zhì)量量檢查是他他們的工作作職責,誰誰也不會有有意干擾項項目,所以以任何人都都不應該向向他們發(fā)火火。5.質(zhì)量人員的的狀況5.2路路在何方軟件行業(yè)里里的人嘴上上都說質(zhì)量量很重要,,可是大多多數(shù)企業(yè)并并沒有給質(zhì)質(zhì)量人員提提供良好的的職業(yè)發(fā)展展空間。質(zhì)質(zhì)量人員通通常僅給企企業(yè)起到心心里安慰的的作用。這這樣下去,,有能耐的的質(zhì)量人員員會跑光的的。我所認識的的多數(shù)質(zhì)量量人員要么么改行了((如當老師師),要么么讀工程碩碩士,MBA等,以圖將將來發(fā)展事事業(yè)。在大多數(shù)的的軟件企業(yè)業(yè)里,男性性處于支配配地位,女女性職位相相對比較低低。而質(zhì)量量人員通常常是女性,,很多男性性主管從未未真正地把把質(zhì)量人員員當成企業(yè)業(yè)的寶貴人人才看待,,這種偏見見是非常有有害的。任何素質(zhì)合合格的員工工都是寶貴貴的人才,,很多默默默無聞的人人才其實是是被不懂得得質(zhì)量管理理的領(lǐng)導給給荒廢了。。質(zhì)量人員之之所以沒有有發(fā)揮預期期的效果,,不是性別別緣故,主主要過失在在于領(lǐng)導者者。建議:(1)無論論是企業(yè)領(lǐng)領(lǐng)導還是質(zhì)質(zhì)量人員,,都要好好好學習全面面軟件質(zhì)量量管理方法法,結(jié)合企企業(yè)的特點點給出真正正有效的質(zhì)質(zhì)量管理方方案。(2))只有有當企企業(yè)領(lǐng)領(lǐng)導采采用了了正確確的質(zhì)質(zhì)量管管理方方案,,用了了合格格的質(zhì)質(zhì)量人人員,,才可可能看看得到到比較較明顯顯的質(zhì)質(zhì)量改改善,,才能能形成成良性性循環(huán)環(huán)。(3))如果果想讓讓質(zhì)量量人員員負起起比較較重的的責任任,那那么就就要給給她相相應的的權(quán)力力。在在企業(yè)業(yè)中,,責任任和權(quán)權(quán)利是是成正正比的的。如如果質(zhì)質(zhì)量人人員的的地位位無足足輕重重,那那么必必然導導致質(zhì)質(zhì)量管管理無無足輕輕重。。(4))給質(zhì)質(zhì)量人人員一一個適適宜的的升遷遷機會會和薪薪資待待遇,,讓她她能夠夠快樂樂地工工作,,而不不是成成天無無奈地地檢查查質(zhì)量量。5.質(zhì)量人人員的的狀況況5.3贊贊美詩詩中國遭遭受了了非典典型肺肺炎((SARS))的肆虐虐,人人們在在危難難之際際想起起了醫(yī)醫(yī)護人人員的的好處處,因因此涌涌現(xiàn)了了許多多對醫(yī)醫(yī)護人人員的的贊美美詩。。我碰巧巧在網(wǎng)網(wǎng)上搜搜索到到一位位軟件件詩人人獻給給質(zhì)量量人員員的贊贊美詩詩“晚晚上八八九點點鐘的的太陽陽”,,我認認為沒沒有必必要等等到軟軟件質(zhì)質(zhì)量災災難降降臨的的時候候才想想起質(zhì)質(zhì)量人人員,,于是是摘錄錄這首首詩公公布于于此。。詩中中的““狼人人”和和“銀銀彈””是軟軟件工工程的的典故故,寓寓意深深刻。。衷心心感謝謝這位位不知知姓名名的浪浪漫軟軟件詩詩人。。晚上八八九點點鐘的的太陽陽—獻給給軟件件測試試和質(zhì)質(zhì)保人人員我更喜喜愛晚晚上八八九點點鐘的的太陽陽,雖然人人們都都已把把他遺遺忘,,但他還還是艱艱難地地懸掛掛在天天上。。我我更更喜愛愛晚上上八九九點鐘鐘的太太陽,,因為他他將奏奏出黎黎明的的交響響。沒有他他又怎會會呼喚喚出一一片明明亮??我更喜喜愛晚晚上八八九點點鐘的的太陽陽,因為他他會化化成早早上的的朝陽陽。沒有他他又怎會會有什什么希希望??我更喜喜愛晚晚上八八九點點鐘的的太陽陽,因為他他是上上帝的的臂膀膀。沒有他他,又怎會會創(chuàng)造造萬物物的光光芒。。狼人望望月嚎嚎叫,,它知道道月亮映映出的的太陽陽之光光,終將化化為銀銀彈,,射入它它的胸胸膛。。我更喜愛愛晚上八八九點點種的的太陽陽。6.全面軟軟件質(zhì)質(zhì)量管管理::模型型6.1郎郎中治治病的的故事事質(zhì)量的的死對對頭是是缺陷陷(defect,bug……),,缺陷是是混在在產(chǎn)品品中的的人們們不喜喜歡、、不想想要的的東西西,它它對產(chǎn)產(chǎn)品沒沒有好好處只只有壞壞處。。缺陷陷越多多質(zhì)量量越低低,缺缺陷越越少質(zhì)質(zhì)量越越高,,提高高軟件件質(zhì)量量的基基本手手段是是消除除軟件件缺陷陷。中國郎郎中看看病的的故事事在中國國古代代,有有一家家三兄兄弟全全是郎郎中。。其中中老三三是名名醫(yī),,人們們問他他:““你們們兄弟弟三人人誰的的醫(yī)術(shù)術(shù)最高高?””他回答答說::“我我常用用猛藥藥給病病危者者醫(yī)治治,偶偶爾有有些病病危者者被我我救活活,于于是我我的醫(yī)醫(yī)術(shù)遠遠近聞聞名并并成了了名醫(yī)醫(yī)。我我二哥哥通常常在人人們剛剛剛生生病的的時候候馬上上就治治愈他他們,,臨近近村莊莊的人人說他他是好好郎中中。我我大哥哥不外外出治治病,,他深深知人人們生生病的的原因因,所所以能能夠預預防家家里人人生病病,他他的醫(yī)醫(yī)術(shù)只只有我我們家家里才才知道道。””郎中三三兄弟弟是三三種治治病方方式的的代言言人。。6.全面軟軟件質(zhì)質(zhì)量管管理::模型型6.2消消除軟軟件缺缺陷的的三種種方式式老大治治病的的方式式最高高明,,如果果人們們能夠夠預防防生病病的話話,那那么沒沒病就就用不不著看看醫(yī)生生了。。提高軟軟件質(zhì)質(zhì)量最最好的的辦法法是::在開發(fā)發(fā)過程程中有有效地地防止止工作作成果果產(chǎn)生生缺陷陷,將將高質(zhì)質(zhì)量內(nèi)內(nèi)建于于開發(fā)發(fā)過程程之中中。主主要措措施是是“不不斷地地提高高技術(shù)術(shù)水平平,不不斷地地提高高規(guī)范范化水水平””,其其實就就是練練內(nèi)功功,通通稱為為“軟軟件過過程改改進””。即使一個個人嚴守守養(yǎng)生之之道,身身體狀況況良好,,但總是是會意外外地得病病的,得得了病就就要去看看醫(yī)生。。老二治治病的方方式就是是醫(yī)院的的模式,,病人越越早看病病,就越越早治好好,治病病的代價價就越低低。同理,在在開發(fā)軟軟件的時時候,即即使人們們的技術(shù)術(shù)水平很很高,并并且嚴格格遵守規(guī)規(guī)范,但但是人非非機器,,總是會會犯錯誤誤的,因因此無法法完全避避免軟件件中的缺缺陷。當工作成成果剛剛剛產(chǎn)生時時馬上進進行質(zhì)量量檢查,,及時找找出并消消除工作作成果中中的缺陷陷。這種種方式效效果比較較好,人人們一般般都能學學會。最最常用的的方法是是技術(shù)評評審、軟軟件測試試和過程程檢查,,已經(jīng)被被企業(yè)廣廣泛采用用并取得得了成效效。老三治病病的方式式代價最最高,只只能是不不得已而而為之。??稍诂F(xiàn)現(xiàn)實之中中,大多多數(shù)軟件件企業(yè)采采用老三三的方式式來對付付質(zhì)量問問題。典典型現(xiàn)象象是:在在軟件交交付之前前,沒有有及時消消除缺陷陷。當軟軟件交付付給用戶戶后,用用著用著著就出錯錯了,趕趕緊請開開發(fā)者來來補救。。可笑的的是,當當軟件系系統(tǒng)在用用戶那里里出故障障了,那那些現(xiàn)場場補救成成功的人人倒成了了英雄,,好心用用戶甚至至還寄來來感謝信信。6.全面軟件件質(zhì)量管管理:模模型6.3模模型借鑒老大大、老二二治病的的方法,,我們提提煉出全全面軟件件質(zhì)量管管理的模模型,如如下圖所所示。項項目中的的所有人人員幾乎乎都參與與了質(zhì)量量活動,,只是介介入的程程度不同同而已,,后面幾幾節(jié)將逐逐一介紹紹這些質(zhì)質(zhì)量活動動。6.全面軟件件質(zhì)量管管理:模模型6.4角角色職職責誰對軟件件質(zhì)量負負責?是全員負負責。任任何與軟軟件開發(fā)發(fā)、管理理工作相相關(guān)的人人員都對對質(zhì)量產(chǎn)產(chǎn)生影響響,都要要對質(zhì)量量負責。。所以人人們不要要把質(zhì)量量問題全全部推出出質(zhì)量人人員或測測試人員員。誰對軟件件質(zhì)量負負最大的的責任??誰的權(quán)利利越大,,他所負負的質(zhì)量量責任就就越大。。質(zhì)量人人員是成成天與質(zhì)質(zhì)量打交交道的人人,但他他個人并并不對產(chǎn)產(chǎn)品質(zhì)量量產(chǎn)生最最大的影影響,所所以也不不負最大大的責任任。質(zhì)量人員員的主要要職責::(1)負負責制定定質(zhì)量計計劃(很很重要但但是工作作量比較較少);;(2)負負責過程程檢查((類似于于CMM中的質(zhì)量量保證)),約占占個人工工作量的的20%;(3)參參與技術(shù)術(shù)評審,,約占個個人工作作量的30%;;(4)參參與軟件件測試,,約占個個人工作作量的30%;;(5)參參與軟件件過程改改進(面面向整個個機構(gòu))),約占占個人工工作量的的20%;*上上述工工作量的的比例僅僅供參考考,在實實際應用用時必須須根據(jù)項項目的特特征而定定。7.全面軟件件質(zhì)量管管理:制制定質(zhì)量量管理計計劃質(zhì)量管理理計劃就就是為了了實現(xiàn)質(zhì)質(zhì)量目標標的計劃劃。而質(zhì)質(zhì)量目標標則是由由商業(yè)目目標決定定的。開開發(fā)軟件件產(chǎn)品的的最終目目的是為為了賺錢錢,所以以人們?yōu)闉樘岣哕涇浖|(zhì)量量所付出出的代價價是有上上限的,,項目負負責人當當然希望望代價越越低越好好。質(zhì)量管理理計劃是是全面質(zhì)質(zhì)量管理理的行動動綱領(lǐng)。。誰制定質(zhì)質(zhì)量管理理計劃??由項目核核心成員員和質(zhì)量量人員共共同協(xié)商商制定,,主要由由質(zhì)量人人員起草草,由項項目經(jīng)理理審批即即可。質(zhì)量管理理計劃的的主要內(nèi)內(nèi)容(模模板見word文件)::1.質(zhì)量要素素分析2.質(zhì)量目標標3.人員與職職責4.過程檢查查計劃5.技術(shù)評審審計劃6.軟件測試試計劃7.缺陷跟蹤蹤工具8.審批意見見8.全面軟件件質(zhì)量管管理:技技術(shù)評審審8.1概概念技術(shù)評審審(TechnicalReview,TR)的目的是是盡早地地發(fā)現(xiàn)工工作成果果中的缺缺陷,并并幫助開開發(fā)人員員及時消消除缺陷陷,從而而有效地地提高產(chǎn)產(chǎn)品的質(zhì)質(zhì)量。技術(shù)評審審最初是是由IBM公司為了了提高軟軟件質(zhì)量量和提高高程序員員生產(chǎn)率率而倡導導的。技技術(shù)評審審方法已已經(jīng)被業(yè)業(yè)界廣泛泛采用并并收到了了很好的的效果,,它被普普遍認為為是軟件件開發(fā)的的最佳實實踐之一一。技術(shù)評審審的主要要好處有有:通過消除除工作成成果的缺缺陷而提提高產(chǎn)品品的質(zhì)量量;技術(shù)評審審可以在在任何開開發(fā)階段段執(zhí)行,,不必等等到軟件件可以運運行之際際,越早早消除缺缺陷就越越能降低低開發(fā)成成本;開發(fā)人員員能夠及及時地得得到同行行專家的的幫助和和指導,,無疑會會加深對對工作成成果的理理解,更更好地預預防缺陷陷,一定定程度上上提高了了開發(fā)生生產(chǎn)率。。技術(shù)評審審有兩種種基本類類型:正式技術(shù)術(shù)評審((FTR))。FTR比較嚴格格,需要要舉行評評審會議議,參加加評審會會議的人人員比較較多。非正式技技術(shù)評審審(ITR)。ITR的形式比比較靈活活,通常常在同伴伴之間開開展,不不必舉行行評審會會議,評評審人員員比較少少。8.全面軟件件質(zhì)量管管理:技技術(shù)評審審8.2正正式技術(shù)評評審的流程程技術(shù)評審報報告的模板板見word文檔9.全面軟件質(zhì)質(zhì)量管理::軟件測試試9.1觀觀點技術(shù)評審和和軟件測試試的目的都都是為了消消除軟件的的缺陷,兩兩者的主要要區(qū)別是::前者無需運運行軟件,,評審人員員和作者把把工作成果果擺放在桌桌面上討論論;而后者一定定要運行軟軟件來查找找缺陷。技技術(shù)評審在在軟件測試試之前執(zhí)行行,尤其是是在需求開開發(fā)和系統(tǒng)統(tǒng)設(shè)計階段段。相比而言,,軟件測試試的工作量量通常比技技術(shù)評審的的大,發(fā)現(xiàn)現(xiàn)的缺陷也也更多。在制定質(zhì)量量計劃的時時候,已經(jīng)經(jīng)確定了本本項目的主主要測試活活動、時間間和負責人人,之后再再考慮軟件件測試的詳詳細計劃和和測試用例例。如果機構(gòu)沒沒有專職的的軟件測試試人員的話話,那么開開發(fā)人員可可以兼職做做測試工作作。當項目目開發(fā)到后后期,過程程檢查和技技術(shù)評審都都已經(jīng)沒有有多少意義義了,開發(fā)發(fā)小組急需需有人幫助助他們測試試軟件,如如果質(zhì)量人人員參與軟軟件測試,,對開發(fā)小小組而言簡簡直就是““雪中送炭炭”。強調(diào):質(zhì)量量

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論