Testing - 軟件測試知識梳理 - 基礎概念


調試與測試

測試是為了度量和提高被測試軟件的質量,對測試軟件進行工程設計、實施、維護的的整個生命周期過程。
僅僅發現Bug是測試的初步,而分析出根本原因推動問題的解決,卻要有很深的功底。
不同的測試崗位從事不同的工作內容,但殊途同歸,根本上都是要求具備快速解決問題的能力。

  • 調試:在已知錯誤的情況下,對軟件程序代碼做出的一系列檢查,校正的過程。
  • 測試:在未知錯誤的情況下,檢查程序代碼是否有問題的過程。
    軟件測試從軟件質量保證的角度來檢查程序代碼是否有誤,而調試是為了解決當前已知的錯誤,調試活動無法替代軟件測試活動。

軟件測試

測試是為了度量和提高被測試軟件的質量,對測試軟件進行工程設計、實施、維護的的整個生命周期過程
軟件測試是對軟件形成過程的文檔、檢查軟件數據和執行程序代碼的測試,而不僅是對程序進行的測試。
軟件全生命周期測試:軟件錯誤不僅是程序錯誤,也包含分析和設計的錯誤。

軟件質量

軟件滿足規定用戶或潛在用戶需求的能力,要從軟件在內部,外部和使用過程中的表現來衡量,包含內部質量、外部質量、和使用質量。

軟件測試與軟件質量的區別

  • 軟件測試人員的一項重要任務是提高軟件質量,但不等於說軟件測試人員就是軟件質量保證人員,因為測試只是質量保證工作中的一個環節。
    軟件質量保證和軟件測試是軟件質量工程中兩個不同層面的工作。
  • 質量保證(QA):質量保證的重要工作通過預防,檢查與改進來保證軟件質量(所關注的是軟件質量的檢查與測量,着眼於軟件開發的過程,步驟和產物)。
    QA采用“全面質量管理”和“過程改進”的原理展開質量保證工作。
  • 軟件測試:測試過程雖然與開發過程緊密相關但,關心的不是過程的活動,而是對過程的產物以及開發出的軟件進行剖析。
    對測試中發現的問題的分析、追蹤與回歸測試也是軟件測試中的重要工作,因此軟件測試是保證軟件質量的一個重要環節。

軟件測試的目的

是想以最少的人力,物力和時間找出軟件中潛在的各種錯誤和缺陷,過修正各種錯誤和缺陷提高軟件質量,回避軟件發布后由於潛在的軟件缺陷和錯誤造成的隱患所帶來的商業風險。
基於不同的立場,存在着兩種完全不同的測試目的:

  • 從用戶的角度出發,普遍希望通過軟件測試暴露軟件中隱藏的錯誤和缺陷,以考慮是否可接受該產品。
  • 從軟件開發者的角度出發,則希望測試成為表明軟件產品中不存在錯誤的過程,驗證該軟件已正確地實現了用戶的要求,確立人們對軟件質量的信心。

換言之,測試的目的是:
想以最少的時間和人力,系統地找出軟件中潛在的各種錯誤和缺陷。
測試的附帶收獲是,它能夠證明軟件的功能和性能與需求說明相符合。
實施測試收集到的測試結果數據為可靠性分析提供了依據。
測試不能表明軟件中不存在錯誤,它只能說明軟件中存在錯誤

Glenford J.Myers就軟件測試目的提出以下觀點:

  • 測試是程序的執行過程,目的在於發現錯誤。
  • 一個好的測試用例在於能發現至今未發現的錯誤。
  • 一個成功的測試是發現至今未發現的錯誤的測試。

軟件測試的原則

  1. 所有的軟件測試都應追溯到用戶需求。
  2. 應當把“盡早地和不斷地進行軟件測試”作為軟件測試者的座右銘。
  3. 完全測試是不可能的,測試需要終止。根據測試錯誤的概率以及軟件可靠性要求,確定最佳停止測試時間。
  4. 測試無法顯示軟件潛在的缺陷。也就是說測試只能證明軟件存在錯誤而不能證明軟件沒有錯誤。
  5. 充分注意測試的群集現象。經驗表明,測試后程序中殘存的錯誤數目與該程序中已發現的錯誤數目或者檢錯率成正比。
  6. 程序應避免檢查自己的程序。
  7. 盡量避免測試的隨意性。

測試需要終止的原因:輸入量太大;輸出結果太多;路徑結合太多。根據測試錯誤的概率以及軟件可靠性要求,確定最佳停止測試時間。

軟件測試的對象

根據軟件定義,軟件包括程序,數據和文檔,所以軟件測試並不僅僅是程序測試,軟件測試應該貫穿整個軟件生命周期中。
需求分析,概要設計,詳細設計以及程序編碼等各階段所得到的文檔,包括需求規格說明,概要設計規格說明,詳細設計規格說明以及源程序。

為了把握各個環節的正確性,人們需要進行各種驗證和確認工作 :

  • 驗證(verification): 是保證軟件正確實現特定功能的一系統活動和過程,目的是保證軟件生命周期中的每一個階段的成果滿足上一個階段所設定的目標。
  • 確認(validation): 是保證軟件滿足用戶需求的一系列的活動和過程,目的是在軟件開發完成后保證軟件,用戶需求相符合。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM