軟件質量保證、軟件測試及配置管理面面觀

發表于:2007-05-23來源:作者:點擊數: 標簽:軟件測試管理配置管理配置軟件
如何才能成為SQA?SQA的具體工作是什么?TESTER的具體工作是什么?SQA與TESTER的區別是什么? 配置管理 做些什么?SQA的工作與 配置管理 的工作有什么區別?……常在論壇上看到有同行問及此類問題,為了讓大家完完整整地了解到底什么是SQA?什么是TESTER?什
  如何才能成為SQA?SQA的具體工作是什么?TESTER的具體工作是什么?SQA與TESTER的區別是什么? 配置管理做些什么?SQA的工作與 配置管理的工作有什么區別?……常在論壇上看到有同行問及此類問題,為了讓大家完完整整地了解到底什么是SQA?什么是TESTER?什么是 配置管理?以及三者之間到底存在什么區別?以下將帶著這些問題進行展開說明。

關鍵字】SQA、TESTER、CM

  軟件質量保證(Software Quality Assurance,簡稱SQA),即參照一定的質量標準、目標及各項軟件流程、規范來監督,管理公司產品的質量;在許多質量體系還不是很成熟的公司,維護和發展這些質量標準、流程規范等也是由質量保證人員進行。行內有個這樣的說法:“軟件質量保證并不能夠保證軟件的質量”,事實也是如此,軟件質量的好壞不是一個人,一個部門能夠決定的。但是,我們可以把提高軟件的質量作為我們從事軟件質量保證工作的目標。

  在ANSI/IEEE 中提到以下了六個品質要素:

  ――正確性(correctness):實現的功能達到設計規范,并滿足用戶需求的程度

  ――可靠性(reliability):在規定的時間和條件下,仍能維持其性能水準的程度

  ――易用性(usability):用戶掌握軟件操作所要付出的時間及努力程度

  ――效率(efficiency):軟件執行某項功能所需電腦資源(含時間)的有效程度

  ――可維護性(maintainability):當環境改變或軟件發生錯誤時,執行修改或恢復所做努力的程度

  ――可移植性(portability):從一個電腦系統或環境移到另一電腦系統或環境的容易程度

   軟件測試(Software Test),盡早、盡可能多地發現軟件系統中存在的缺陷及問題。但是,好的軟件并不是“測”出來的,而是“做”出來的,所以,每一個測試人員都應該清楚這樣一點:任何人都不可能找出軟件中隱含的所有缺陷和問題,正如世界上沒有人是十全十美的。

  軟件 配置管理(Software Configuration Management,簡稱CM),簡單來講, 配置管理即是對軟件工作中間件及工作成果的各種管理。其中包括:配置項、配置庫、配置標識、基線(詳見下文)。

工作內容及手段

一、軟件質量保證

  工作內容

  建立軟件質量保證活動的實體
  制訂軟件質量保證計劃
  堅持各階段的評審和審計,跟蹤其結果,并作合適處理
  監控軟件產品的質量
  采集軟件質量保證活動的數據
  度量軟件質量保證活動

  手段

  “請介紹幾種有效的質量保證工具?……”,論壇中經常有朋友這么問。我想,他可能是把質量保證手段統稱為工具了,在我看來,稱作“手段”可能更貼切一點。

  下面就來介紹一種有效的質量保證手段——同行評審(Peer Review),以此可以提前發現許多軟件各階段隱含的問題。比如:

 ?。?、在需求階段的評審:發現需求是否已被很好的定義,其中是否存在 技術上的風險等;
 ?。?、在設計階段的評審:檢查架構、數據庫等設計的是否合理;
 ?。?、在編碼階段的評審:檢查Source code,發現代碼中不符合編碼規范部分;
 ?。?、在測試階段的評審:檢查測試計劃安排的是否合理,測試用例設計的覆蓋率等;
 ?。?、在驗收階段的評審:檢查項目文檔是否都已存在于 配置管理庫中;總結項目開發過程中的一些經驗教訓并作記錄,存入公司的資源庫等。

  Peer Review過程中需注意的細節

  做評審計劃;
 ?。?、人員不要太多,保證會議的效率;
 ?。?、經常性地舉行;
 ?。?、盡量提前點時間將會議上要審核的資料發送給參加會議的人,并請參會人員對發現有疑問的地方及時做出標識,以提高會上的效率;
 ?。?、千萬注意不要將評審會議變成聊天或過分爭論會議;
 ?。?、評審團隊最好是由經過同行評審培訓,并有產品經驗的相關人員組成;
 ?。?、對評審人員提出的問題,在會后,應該由文檔作者修改,并最終通過評審團隊成員的一致確認。

  常見誤解

  誤解一:認為發布出去的軟件發現了問題,就是QA和TESTER的責任;還是那句話,“軟件質量保證”并不能保證軟件的質量;
  誤解二:QA就是公司的文檔管理員,常有QA稱自己是“打雜工”。實際上,成為一名出色的QA并不是一件容易的事情,工作年限、工作經驗、工作成果等都是對其衡量的標準;
  誤解三:QA的工作有TESTER兼職進行即可。這是目前多數軟件公司采取的措施。個人認為,最好將二者分開,TESTER的工作也是有質量可言,同樣需要QA進行監督、檢查,而QA的直接上司即公司的高層領導;

二、 軟件測試

  工作內容

 ?。?、編寫測試計劃
 ?。?、編寫測試用例
 ?。?、對軟件開發過程的重要文檔進行測試,如:需求文檔、設計文檔等
 ?。?、測試執行
 ?。?、測試結果總結、分析
 ?。?、測試數據的度量(更高要求)

  以上工作基本上涵蓋了測試的所有工作,在分工比較明細的公司,通常由不同人員來進行,如:

 ?。?、測試設計員:制定和維護測試計劃;設計測試用例測試過程;評估測試,生成測試分析報告
 ?。?、測試員:執行集成測試系統測試;
 ?。?、設計員:設計測試需要的驅動程序和穩定樁;
 ?。?、編碼員:編寫測試驅動成員和穩定樁;執行單元測試
  
  手段

 ?。?、手工測試
  目前多數測試人員都采取的一種測試工具,雖存在一定的弊端,但也絕對不可以省略。

 ?。?、自動化測試工具
  想了解并學習自動化測試工具的同仁不妨去www.anti-gravitydesign.com看看,里面有介紹自動化工具的專欄,很不錯的。

  BUG管理工具

  通常叫BMS(BUG MANAGEMENT SYSTEM)。如果公司不愿意投入成本購買大公司的BUG管理工具,不妨根據自己的情況開發一個,便宜又好用,并且一勞永逸!

三、軟件 配置管理

  術語解釋:

 ?。?、配置項:凡是納入 配置管理范疇的工作成果都叫做配置項。
 ?。?、配置庫:所有配置項的集合
 ?。?、配置標識:為了方便管理,而對各配置項作的標識
 ?。?、基線:由一組配置項組成,這些配置項構成了一個相對穩定的邏輯實體?;€中的配置項被“凍結”了就不能再被任何人隨意修改,直接進入變更階段。通常將交付給用戶的基線稱為一個“Release”,為內部開發用的基線則稱為一個“Build”。

  工作內容

 ?。?、創建配置庫,并至少創建配置庫的所有一級目錄
 ?。?、為每個項目組成員分配權限
 ?。?、根據 配置管理計劃中的基線計劃維護基線,“凍結”配置項,控制變更

  定期清楚配置庫里的“垃圾”文件(“垃圾”文件即在項目中產生,但最終不用存檔的一些文檔)
 ?。?、配置狀態發布
 ?。?、定期備份配置庫

  手段

  常用 配置管理工具如下:VSS、CVS、CLEARCASE等,具體內容我已在論壇中發布過,大家可去查看。

  SQA與TESTER的區別

  通過上面各自含義及工作內容的描述,我想SQA與TESTER的區別應該比較清晰了吧,現在總結為以下兩點:
 ?。?、SQA重點是對軟件開發過程進行監督、管理、控制;
 ?。?、TESTER重點是對軟件開發的成果進行檢查、控制。

  SQA與CM的區別

  SQA重在監督項目的進度,督促項目按開發流程及規范進行,控制并記錄好各項變更,并通知 配置管理員對配置項做好相應的變更;同時SQA還可以作為SEPG(Software engineering process group)的成員之一,參與公司的軟件 過程改進工作。

   配置管理工作的主要目的是為了保證項目資料得到清晰、有效地管理,加快工作效率的同時,也避免一些意想不到的風險,如:代碼丟失或惡意修改等。同時,有效地 配置管理工作,還可作為公司建立復用資源庫的主要

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97