如果純從質量保證的觀點來看,在理想情況下,上述的軟件企業的質量的確是沒有問題,因為在每一個階段,通過大量專業SQC(測試)的努力工作,找出了軟件產品中的“全部”缺陷,這樣的產品的質量當然沒有問題了。
但是我們從另外一個角度看一下這個問題:首先軟件中的缺陷在理論上是不可能被全部找出來的,由于軟件測試的不可遍歷性。其次,如果我們維護一個上述的軟件測試團隊,成本是相當高的,目前國際上還沒有那個商業性的公司能夠維護的起(微軟的產品還會有大量的缺陷),也就是說在實際操作過程中幾乎沒有公司會同意上述的做法。另外,如果我們在軟件生產的過程中,只單一的強調對結果的檢驗環節,而忽視過程控制,會造成持續的返工、極大的推遲交付產品的日期,最終造成軟件開發的失敗。這樣的做法就像我們想減肥,不是去節食、多做運動,而是去不斷的稱體重想達到減肥的目的一樣可笑。所以,我們想提高軟件的質量,不是持續不斷的進行測試,而是要改變軟件開發的方式,改變我們的流程,在過程中保證軟件產品的質量。
通過以上分析發現,如果想有效的保證軟件產品的質量,SQA和SQC缺一不可,兩種角色必須相互配合,在“過程”和“結果”都正確的基礎上,才能有效改善軟件產品的質量。
質量的持續改進
軟件質量的提高,過程的改進是一個循序漸進的過程,不可能一蹴而就。針對軟件企業而言,如何調配有限的資源,針對質量保證的短板,來有針對性的做出質量改進的規劃才是企業迫切需要解決的問題。
首先,企業必須對軟件質量的保證提出切實的目標,質量保證的目標絕對不是為了過級,拿到認證,這些只是附帶的結果。企業質量保證的目標應該是提高產品的競爭力,重塑企業的文化。
其次,在質量保證的技術層面,SQA人員和SQC人員的互動,會為企業選擇質量保證的短板提出建設性的意見。
SQC(測試)人員在工作過程中會產生出大量的過程數據,SQA人員通過對這些數據的統計分析,發現企業的問題所在,進而反饋到流程的改進活動中,再通過SQC人員搜集的大量數據來驗證流程改進的有效性,最終達到質量的持續改進。
質量是企業的根本,不管我們現在的產品銷售情況如何,企業之間的競爭早晚會過渡到質量的競爭上來,所以只有我們自己練好內功,才有希望打造出我們自己的百年老店。
作者介紹:
國內知名軟件測試主題社區——測試時代(ltesting.net)工作室成員。
領測國際高級顧問,軟件測試培訓、咨詢講師,ISO9000注冊外審員,北京軟件行業協會測試工作委員會副秘書長。先后在北大方正,神州數碼等國內知名企業從事測試管理工作。精通測試體系建設/測試人員管理/測試工具的選擇與使用/測試過程管理與控制/測試過程的監控方法與評估/測試體系的優化與改進。
文章轉自http://blog.ltesting.net/seanhe/ruanjianzhiliang.html