• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 黑盒測“外”不測“內”

    發表于:2009-06-09來源:作者:點擊數: 標簽:
    軟件測試 有許多種方法,其中黑盒測試是廣泛使用的兩類 測試方法 之一。 “黑盒”測的是功能 黑盒測試也稱 功能測試 或數據驅動測試。它在已知產品應具有的功能的條件下,通過測試來檢測每個功能是否都能正常使用。在測試時,把程序看作一個不能打開的黑盒子
    軟件測試有許多種方法,其中黑盒測試是廣泛使用的兩類測試方法之一。

      “黑盒”測的是功能

      黑盒測試也稱功能測試或數據驅動測試。它在已知產品應具有的功能的條件下,通過測試來檢測每個功能是否都能正常使用。在測試時,把程序看作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,測試者在程序接口進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息,并且保持外部信息(如數據庫或文件)的完整性。

      “黑盒”法著眼于程序外部結構、不考慮內部邏輯結構、針對軟件界面和軟件功能進行測試?!昂诤小狈ㄊ歉F舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進行測試。

      “黑盒”的兩種基本方法

      黑盒測試有兩種基本方法,即通過測試和失敗測試。

      在進行通過測試時,實際上是確認軟件能做什么,而不會去考驗其能力如何。軟件測試員只運用最簡單,最直觀的測試案例。

      在設計和執行測試案例時,總是先要進行通過測試。在進行破壞性試驗之前,看一看軟件基本功能是否能夠實現。這一點很重要,否則在正常使用軟件時就會奇怪地發現,為什么會有那么多的軟件缺陷出現?

      在確信了軟件正確運行之后,就可以采取各種手段通過搞“垮”軟件來找出缺陷。純粹為了破壞軟件而設計和執行的測試案例,被稱為失敗測試或迫使出錯測試。

      黑盒測試的設計方法

      黑盒測試是以用戶的觀點,從輸入數據與輸出數據的對應關系出發進行測試的,它不涉及到程序的內部結構。很明顯,如果外部特性本身有問題或規格說明的規定有誤,用黑盒測試方法是發現不了的。黑盒測試法注重于測試軟件的功能需求,主要試圖發現幾類錯誤:功能不對或遺漏、界面錯誤、數據結構或外部數據庫訪問錯誤、性能錯誤、初始化和終止錯誤。

      具體的黑盒測試方法包括等價類劃分、因果圖、正交實驗設計法、邊值分析、判定表驅動法、功能測試等。在使用時,自然要針對開發項目的特點對方法加以適當的選擇。

      ◆ 等價類劃分

      等價類劃分是一種典型的黑盒測試方法,用這一方法設計測試用例可以不用考慮程序的內部結構,只以對程序的要求和說明,即需求規格說明書為依據,仔細分析和推敲說明書的各項需求,特別是功能需求,把說明中對輸入的要求和輸出的要求區別開來并加以分解。

      由于窮舉測試的數量太大,以致于無法實際完成,促使我們在大量的可能數據中選取其中的一部分作為測試用例。例如,在不了解等價分配技術的前提下,測試了1+1、1+2、1+3和1+4之后,還有必要測試1+5和1+6嗎?能否放心地認為它們正確嗎?那么1+999…(可以輸入的最大數值)呢?這個測試用例是否與其他用例不同?是否屬于另外一種類別?另外一個等價區間?這是軟件測試員必須考慮到的問題。

      等價類別或者等價區間是指測試相同目標或者暴露相同軟件缺陷的一組測試案例。 1+999…和1+13有什么區別呢?至于1+13,就像一個普通的加法,與1+5或者1+392沒有什么兩樣,而1+999…則屬于鄰界的極端情況。假如輸入最大允許數值,然后加1,就會出現問題——也許就是軟件的缺陷。這個極端案例屬于一個單獨的區間,與常規數字的普通區間不同。

      

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>