-
隨機測試
鎖定
隨機測試簡介
隨機測試是根據測試説明書執行用例測試的重要補充手段,是保證測試覆蓋完整性的有效方式和過程。 隨機測試主要是對被測軟件的一些重要功能進行復測,也包括測試那些當前的測試用例(TestCase)沒有覆蓋到的部分。另外,對於軟件更新和新增加的功能要重點測試。重點對一些特殊點情況點、特殊的使用環境、併發性、進行檢查。尤其對以前測試發現的重大Bug,進行再次測試,可以結合迴歸測試(Regressivetesting)一起進行。理論上,每一個被測軟件版本都需要執行隨機測試,尤其對於最後的將要發佈的版本更要重視隨機測試。隨機測試最好由具有豐富測試經驗的熟悉被測軟件的測試人員進行測試。對於被測試的軟件越熟悉,執行隨機測試越容易。只有不斷的積累測試經驗,包括具體的測試執行和對缺陷跟蹤記錄的分析,不斷總結,才能提高。
隨機測試定義步驟
軟件測試即為了發現程序中的錯誤而執行程序的過程。軟件測試是幫助識別開發完成(中間或最終的版本)的計算機軟件(整體或部分)的正確度(correctness)、完全度(completeness)和質量(quality)的軟件過程;是SQA(softwarequalityassurance)的重要子域。軟件測試主要工作內容是驗證(verification)和確認(validation),下面分別給出其概念:
隨機測試驗證
驗證(verification)是保證軟件正確地實現了一些特定功能的一系列活動,即保證軟件做了你所期望的事情(Do it right)。確定軟件生存週期中的一個給定階段的產品是否達到前階段確立的需求的過程;程序正確性的形式證明,即採用形式理論證明程序符號設一計規約規定的過程;評市、審查、測試、檢查、審計等各類活動,或對某些項處理、服務或文件等是否和規定的需求相一致進行判斷和提出報告。
隨機測試確認
確認(validation)是一系列的活動和過程,目的是想證實在一個給定的外部環境中軟件的邏輯正確性。即保證軟件以正確的方式來做了這個事件(Do the right thing)靜態確認,不在計算機上實際執行程序,通過人工或程序分析來證明軟件的正確性;
隨機測試目標
測試是為了發現程序中的錯誤而執行程序的過程;
好的測試方案是極可能發現迄今為止尚未發現的錯誤的測試方案;
成功的測試是發現了至今為止尚未發現的錯誤的測試。
隨機測試相關説明
在軟件測試中除了根據測試用例和測試説明書進行測試外,還需要進行隨機測試(Ad-hoctesting)。隨機測試主要是根據測試者的經驗對軟件進行功能和性能抽查。隨機測試是根據測試説明書執行用例測試的重要補充手段,是保證測試覆蓋完整性的有效方式和過程。 隨機測試有這樣一些缺點:測試往往不太真實;
不能達到一定的覆蓋率;
許多測試都是冗餘的;
需要使用同樣的隨機數種子才能重建測試。
隨機測試基本原則
測試的原則: 1、應把“儘早和不斷地進行軟件測試”作為軟件開發者的座右銘,實踐證明單元測試能夠儘早發現問題,減少後期測試的錯誤量。可以採用Junit和Jtest來輔助進行單元測試。2、測試用例應由測試輸入數據、測試執行步驟和與之對應的預期輸出結果三部分組成。
4、測試用例的設計要確保能覆蓋所有可能路徑。在設計測試用例時,應當包括合理的輸入條件和不合理的輸入條件。不合理的輸入條件是指異常的,臨界的,可能引起問題的輸入條件。
6、嚴格執行測試計劃,排除測試的隨意性。測試計劃應包括:所測軟件的功能,輸入和輸出,測試內容,各項測試的進度安排,資源要求,測試資料,測試工具,測試用例的選擇,測試的控制方法和過程,系統的配置方式,跟蹤規則,調試規則,以及迴歸測試的規定等等以及評價標準。
7、應當對每一個測試結果做全面的檢查。
8、妥善保存測試計劃,測試用例,出錯統計和最終分析報告,為維護提供方便。
軟件測試的對象:軟件測試並不單純等同於程序測試。軟件測試應該貫穿整個軟件定義與開發整個期間。因此需求分析、概要設計、詳細設計以及程序編碼等各階段所得到的文檔,包括需求規格説明、概要設計規格説明、詳細設計規格説明以及源程序,都應該是軟件測試(評審)的對象。在對需求理解與表達的正確性、設計與表達的正確性、實現的正確性以及運行的正確性的驗證中,任何一個環節發生了問題都可能在軟件測試中表現出來。
隨機測試術語解釋
branchcoverage--分支覆蓋
通過測試執行到的分支的百分比。 branchoutcome--分支結果見判定結果(decisionoutcome)
branchpoint--分支點
見判定(decision)
branchtesting--分支測試
通過執行分支結果來設計測試用例的一種方法。
BreadthTesting--廣度測試
在測試中測試一個產品的所有功能,但是不測試更細節的特性。
capture/playbacktool--捕獲/回放工具
參考capture/replaytool
Capture/ReplayTool--捕獲/回放工具
一種測試工具,能夠捕獲在測試過程中傳遞給軟件的輸入,並且能夠在以後的時間中,重複這個執行的過程。這類工具一般在GUI測試中用的較多。
CASE--計算機輔助軟件工程(computeraidedsoftwareengineering)
用於支持軟件開發的一個自動化系統。
cause-effectgraph--因果圖
一個圖形,用來表示輸入(原因)與結果之間的關係,可以被用來設計測試用例。
certification--證明
一個過程,用於確定一個系統或組件與特定的需求相一致。
changecontrol--變更控制
codeaudit--代碼審計
CodeCoverage--代碼覆蓋率
一種分析方法,用於確定在一個測試套執行後,軟件的哪些部分被執行到了,哪些部分沒有被執行到。
CodeInspection--代碼檢視
CodeWalkthrough--代碼走讀
code-basedtesting--基於代碼的測試
根據從實現中引出的目標設計測試用例。
codingstandards--編程規範
一些編程方面需要遵循的標準,包括命名方式、排版格式等內容。
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:17次歷史版本
- 最近更新: 本命年本命年44