• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 軟件企業質量保證的基石

    發表于:2011-06-14來源:未知作者:娃娃點擊數: 標簽:軟件測試
    軟件企業質量保證的基石 ――QA、QC的良性協作 國內的軟件產業發展了20多年的時間,已經由個人英雄時代步入到中、小團隊協作時代。相信不久的將來,國內一定會出現航母級的軟件企業,那時候我們會迎來集團軍作戰的時代。不同的時代表明軟件規模的不同

      軟件企業質量保證的基石 ――QA、QC的良性協作

      國內的軟件產業發展了20多年的時間,已經由個人英雄時代步入到中、小團隊協作時代。相信不久的將來,國內一定會出現航母級的軟件企業,那時候我們會迎來集團軍作戰的時代。不同的時代表明軟件規模的不同,也標志著軟件質量管理的復雜度急劇上升,同時對軟件質量的保障方法也提出了更高的要求。

      本文并不打算系統的闡述軟件企業的質量保證體系,而是想從另一個側面同大家分享軟件企業在軟件開發過程中兩個重要角色之間的協作關系,以兩個角色之間高效的互動來說明在開發過程中,我們如何來有效的保障軟件產品的質量。

      軟件企業的質量保證體系

      我們知道質量保證體系的建設是一個系統工程,質量的保障不是某些人或者某些部門的工作,而是整個企業的文化,理念的貫徹。如果一個企業在進行質量保證體系的建設和推廣過程中,只是在強調方法,強調規范,而不是把質量意識,企業文化貫穿其中,那質量保證體系是否能持續的發揮作用,并形成為企業的核心競爭力就值得懷疑了。

      一般軟件企業在規劃質量保證體系的時候都會選擇一個模型,目前比較流行的模型有:ISO9000:2000、CMMI、RUP、XP等,具體選用那種模型,還需要看企業的實際情況,并且能充分的協調:人、技術、過程三者之間的關系,使之能充分的發揮作用,促進生產力的發展。

      在軟件企業的質量保證體系建設過程中,一般需要獨立完成以下幾個流程:

      項目管理流程、軟件開發流程、軟件測試流程、質量保證流程、配置管理流程

      以上這些流程需要相輔相成,各自之間都有相應的接口,通過項目管理流程將所有的活動貫穿起來,共同來保證軟件產品的質量。

      整個軟件質量保證體系中,所有的流程圍繞軟件開發流程展開,唯一的目標就是保證軟件開發的質量,所以在眾多的流程中,軟件開發流程為質量保證體系中的主流程,其它的流程為輔助流程。之所以我們需要建立眾多的輔助流程,就是為了讓軟件開發過程透明、可控,通過多角色之間的互動,來有效的降低軟件開發過程中的風險,持續不斷的提高軟件產品的質量。

      QA、QC的職責

      在我們開始討論QA、QC的職責之前,我們先假定一個前提條件,即:企業內部的質量保證體系已經建設完畢,即上述的五個流程已經編寫完畢,并且通過了試運行,目前正在按部就班的執行。

      QA的英文為:Quality Assurance 我們翻譯為“質量保證”

      QC的因為為:Quality Control 我們翻譯為“質量控制”

      我們將這兩個角色之間進行一下職責劃分,以方便我們后續的討論

      QA:監控公司質量保證體系的運行狀況,審計項目的實際執行情況和公司規范之間的差異,并出具改進建議和統計分析報告,對公司的質量保證體系的質量負責。

      QC:對每一個階段或者關鍵點的產出物(工件)進行檢測,評估產出物是否符合預計的質量要求,對產出物的質量負責。

      通過上面的職責劃分,我們發現,如果我們將軟件的生產比喻成一條產品加工生產線的話,那QA只負責生產線本身的質量保證,而不管生產線中單個產品的實際質量情況。QA通過保證生產線的質量來間接保證軟件產品的質量。

      而QC不管生產線本身的質量,而只關注生產線中生產的產品在每一個階段的質量是否符合預期的要求,如果我們生產的是杯子,那QC只關注:生產的材料是否是預期的,每個杯子瓶口的直徑是否符合要求,杯子把手是否符合設計要求等等具體的、可量化的點。

      針對軟件企業的軟件開發過程而言:

      QA可以進一步明確為SQA,即:軟件質量保證,只負責軟件開發流程的質量,企業內相對應的角色為:軟件質量保證人員,有的企業就直接稱之為SQA。

      QC可以進一步明確為SQC,即:軟件質量控制,只負責軟件開發過程中各個階段產出的工件的質量,產出的工件可能是相關的文檔或者代碼等,企業內相對應的角色為:軟件測試人員。

      由于各個企業采用的開發流程和測試流程不一樣,在各個階段SQC的對應人員不一定都為測試人員,如在需求階段,產生的工件為《需求規格說明書》,對該文檔的主要質量控制手段為評審,這時候在此階段擔任SQC職責的就是評審小組的成員。

      QA、QC的良性協作

      通過以上分析發現,SQA和SQC雖然主要的工作都是為了保證軟件的質量,但是著眼點不盡相同。

      SQA通過控制過程來保證軟件產品的質量,而SQC是通過控制每個階段的“結果”來保證軟件產品的質量。

      如果在軟件開發過程中我們只要SQA或者SQC是否可以保證軟件產品的質量那?答案一定是不可以的,通過下面的分析我們看看原因到底是什么。

      軟件企業中只有SQA的角色

      如果企業中只有SQA的角色而沒有SQC,我們假設企業對SQA的投入力度很大,于是企業得到了一個很好的流程(生產線),但是這個時候軟件的產品是否就沒有問題了那?如果我們的生產源頭沒有得到有效的控制,進入生產線的材料是殘次品,那不管我們的流程控制的多好,那最終的產品的質量都不會高。

      可能有朋友會說,如果我進行了很好的流程控制,對原材料的控制方法當然也納入到了我們的流程之中,原材料沒有了問題,那這件事情是不會發生的。

      如果是制造業,這件事情可能會存在,但是在軟件產業中,這件事情幾乎不會發生。

      因為在軟件產品的開發過程當中,幾乎所有的原材料都是自己生產的,如需求規格說明書、概要設計、詳細設計等,單靠過程的控制無法得到無缺陷的“原材料”。由于軟件開發的固有特性,我們在每一步的生產加工過程中,都會引入新的缺陷,不管我們的流程規劃的多么完美。所以,在每一階段完成后,都需要對上一階段的工作產品進行檢驗,評估這個階段的工作產品是否符合預定的質量要求,只有這樣才能保證最終軟件產品的質量。

      軟件企業中只有SQC的角色

      如果企業當中只有SQC而沒有SQA的角色,我們也假設企業對SQC的投入力度很大,在每一個階段SQC都找出了相應的缺陷,這時候企業的質量保證是否就沒有問題了那?

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>