什么是軟件測試(software testing)?

發表于:2014-09-24來源:uml.org.cn作者:不詳點擊數: 標簽:軟件測試
軟件測試是使用人工操作或者軟件自動運行的方式來檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別的過程。

  軟件測試是使用人工操作或者軟件自動運行的方式來檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別的過程。

  它是幫助識別開發完成(中間或最終的版本)的計算機軟件(整體或部分)的正確度(correctness) 、完全度(completeness)和質量(quality)的軟件過程;是SQA(software quality assurance)的重要子域。

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

  (1)測試是為了發現程序中的錯誤而執行程序的過程。

  (2)好的測試方案是極可能發現迄今為止尚未發現的錯誤的測試方案。

  (3)成功的測試是發現了至今為止尚未發現的錯誤的測試。

  (4)測試并不僅僅是為了找出錯誤。通過分析錯誤產生的原因和錯誤的發生趨勢,可以幫助項目管理者發現當前軟件開發過程中的缺陷,以便及時改進。

  (5)這種分析也能幫助測試人員設計出有針對性的測試方法,改善測試的效率和有效性。

  (6)沒有發現錯誤的測試也是有價值的,完整的測試是評定軟件質量的一種方法。

  (7)另外,根據測試目的的不同,還有回歸測試、壓力測試、性能測試等,分別為了檢驗修改或優化過程是否引發新的問題、軟件所能達到處理能力和是否達到預期的處理能力等。

 
2
內容

  軟件測試主要工作內容是驗證(verification)和確認(validation),下面分別給出其概念:

  驗證(verification)是保證軟件正確地實現了一些特定功能的一系列活動,即保證軟件做了你所期望的事情。(Dotherightthing)

  1.確定軟件生存周期中的一個給定階段的產品是否達到前階段確立的需求的過程;

  2.程序正確性的形式證明,即采用形式理論證明程序符號設一計規約規定的過程;

  3.評市、審查、測試、檢查、審計等各類活動,或對某些項處理、服務或文件等是否和規定的需求相一致進行判斷和提出報告。

  確認(validation)是一系列的活動和過程,目的是想證實在一個給定的外部環境中軟件的邏輯正確性。即保證軟件以正確的方式來做了這個事件(Doitright)

  1.靜態確認,不在計算機上實際執行程序,通過人工或程序分析來證明軟件的正確性;

  2.動態確認,通過執行程序做分析,測試程序的動態行為,以證實軟件是否存在問題。

  軟件測試的對象不僅僅是程序測試,軟件測試應該包括整個軟件開發期問各個階段所產生的文檔,如需求規格說明、概要設計文檔、詳細設計文檔,當然軟件測試的主要對象還是源程序。

  軟件測試是軟件開發過程的重要組成部分,是用來確認一個程序的品質或性能是否符合開發之前所提出的一些要求。軟件測試就是在軟件投入運行前,對軟件需求分析、設計規格說明和編碼的最終復審,是軟件質量保證的關鍵步驟。軟件測試是為了發現錯誤而執行程序的過程。軟件測試在軟件生存期中橫跨兩個階段:通常在編寫出每一個模塊之后就對它做必要的測試(稱為單元測試)。編碼和單元測試屬于軟件生存期中的同一個階段。在結束這個階段后對軟件系統還要進行各種綜合測試,這是軟件生存期的另一個獨立階段,即測試階段。

  測試目的

  軟件測試的目的,第一是確認軟件的質量,其一方面是確認軟件做了你所期望的事情(Do the right thing),另一方面是確認軟件以正確的方式來做了這個事件(Do it right)。

  第二是提供信息,比如提供給開發人員或程序經理的反饋信息,為風險評估所準備的信息。

原文轉自:http://www.uml.org.cn/Test/test-bk.asp

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