第3回 軟體測試和品質保證的關係

來源:互聯網
上載者:User

軟體測試在軟體生命週期中佔據重要的地位,在傳統的瀑布模型中,軟體測試僅處於編碼之後、運行維護階段之前,是軟體產品交付使用者使用之前軟體品質保證的最後手段。這是一種誤導,我們已經在“ 第1回 V模型,我的完整詮釋”作了很好說明,軟體生命週期每一階段中都應包含測試,從靜態測試到動態測試,要求檢驗每一個階段的成果是否符合品質要求和達到定義的目標,儘可能早的發現錯誤並加以修正。如果不在早期階段進行測試,錯誤的不斷擴散、積累常常會導致最後成品測試的巨大困難、開發週期的延長、開發成本的劇增等等。

事實上,對於軟體來講,不論採用什麼技術和什麼方法,軟體中仍然會有錯。採用新的語言、先進的開發方式、完善的開發過程,可以減少錯誤的引入,但是不可能完全杜絕軟體中的錯誤,這些引入的錯誤需要通過測試來發現,軟體中的錯誤密度也需要測試來進行估計。測試是所有工程學科的基本組成單元,是軟體開發的重要部分,一直伴隨著軟體開發走過了半個多世紀。統計表明,在典型的軟體開發項目中,軟體測試工作量往往占軟體開發總工作量的40%以上。而在軟體開發的總成本中,用在測試上的開銷要佔30%到50%。

一般規範的軟體測試流程包括專案計劃檢查、測試計劃建立、測試設計、執行測試、更新測試文檔,而SQA的活動可總結為:協調度量、風險管理、文檔檢查、促進/協助流程改進、監察測試工作。它們的相同點在於二者都是貫穿整個軟體開發生命週期的流程。

    軟體品質保證(SQA)的職能是向管理層提供正確的可視化的資訊,從而促進與協助流程改進。SQA還充當測試工作的指導者和監督者,協助軟體測試建立品質標準、測試過程評審方法和測試流程,同時通過跟蹤、審計和評審,及時發現軟體測試過程中的問題,從而協助改進測試或整個開發的流程等,因此有了SQA,測試工作就可以被客觀的檢查與評價,同時也可以協助測試流程的改進。

       而測試為SQA提供資料和依據,協助SQA更好地瞭解品質計劃的執行情況、過程品質、產品品質和流程改善進展,從而使SQA更好地做好下一步工作。

    它們的不同之處在於SQA側重對流程中過程的管理與控制,是一項管理工作,側重於流程和方法。而測試是對流程中各過程管理與控制策略的具體執行實施,其對象是軟體產品(包括階段性的產品),即測試是對軟體產品的檢驗,是一項技術性的工作。測試,常常被認為是品質控制的最主要手段。但是,隨著時間的推移,軟體品質保證和軟體品質控制之間的界限越來越模糊了,兩者合二為一。也就是說,軟體測試是SQA中的重要手段,SQA的主要功能在軟體測試中得到體現,集中在靜態測試中,兩者的關係越來越緊密,已無法分開。

    預知後事如何,請讀下回分解:第4回 軟體測試的目標

著作權,軟體測試演義

——系列討論的目錄,見: 軟體測試演義——中進階系列(序)

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.