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

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

  • <strong id="5koa6"></strong>
  • 測試條件/測試需求的有效識別

    發表于:2012-08-30來源:skyqa your quality作者:鄭文強點擊數: 標簽:測試條件
    在“測試用例設計需要參考哪些輸入?”文章中,作者提出了測試用例設計需要參考的幾個主要來源:開發文檔、用戶需求、標準與規范、類似產品需求、測試經驗知識庫和其他隱性需求等。針對測試對象的測試條件的識別,將以這些參考文檔作為輸入。

      在“測試用例設計需要參考哪些輸入?”文章中,作者提出了測試用例設計需要參考的幾個主要來源:開發文檔、用戶需求、標準與規范、類似產品需求、測試經驗知識庫和其他隱性需求等。針對測試對象的測試條件的識別,將以這些參考文檔作為輸入。

      在測試實踐過程中,不同測試人員會負責測試對象的不同功能和特性。因此,將某個功能或者特性相關的參考輸入文檔分配給同一個測試人員,有助于提高測試條件識別的效率和有效性的。下面針對不同的參考輸入來源,在識別測試條件上面有哪些特點或者原則?

      1)開發文檔

      這里的開發文檔是一個統稱,包含了開發過程中的各種軟件工作產品,例如:系統需求規格說明、概要設計規格說明等。對于系統測試而言,系統需求規格說明是其最主要的參考輸入之一;對于其他測試級別,其主要參考輸入來源是相對應的開發文檔。

      假如系統需求規格說明比較完善正規,那么從該文檔中提取測試條件相對比較容易,其基本原則是每條需求條目至少有一個測試用例覆蓋。根據需求條目的顆粒度不同,多個需求條目可以在一個測試用例中進行驗證;而有的需求條目可以合并成一個,并在同一個測試用例中驗證。在測試條件提取過程中,測試人員需要注意的是:需求更多的是從軟件開發角度出發的,測試人員需要將這樣的需求轉換為測試的角度進行考慮。

      假如系統需求規格說明不全,甚至沒有的情況下,如何識別其中的測試條件是一個挑戰。下面是識別測試條件的幾個建議:

      (1)首先,與軟件產品的系統人員和開發人員進行討論,從測試的角度,將存在于他們腦子里的未文檔化的需求明確;

      (2)其次,假如測試人員具備代碼方面的能力,可以通過實現的代碼倒推出軟件系統是如何實現的,它們也可以作為識別測試條件的參考。當然,這里面臨的一個問題是,代碼實現是否是正確的、全面的,這是測試人員需要考慮的一個問題。

      (3)第三,從測試的角度推動開發團隊提高開發文檔的質量,從規范軟件開發過程(流程)的層面逐步改進系統需求的質量,例如:通過輸出測試文檔或者測試中的檢查表,推動改進開發文檔質量。

      2)用戶需求

      測試過程中我們經常會聽到測試人員不僅需要驗證開發是否正確實現了功能,同時也需要從用戶的角度考慮軟件產品是否真的滿足了用戶的需求,這是測試中的確認(Validation)關注點。而用戶需求就在其中充當了很重要的角色,用戶需求通常是從用戶實際使用的角度進行描述和劃分的,類似于用例場景。

      由于用戶不一定了解和熟悉軟件產品相關的知識和技能,因此用戶需求很難是完整的。測試人員在分析用戶需求的時候,需要結合軟件產品的相關開發文檔具體內容。同時,需要測試人員積極與客戶、產品的技術支持人員、銷售人員進行溝通,從他們角度獲取可能的測試條件。例如:客戶現場實際的網絡拓撲結構、用戶實際使用的功能配置等。

      3)標準與規范

      標準與規范中定義的內容會比開發文檔中可能詳細的多,因此它們是測試人員進行深入和細致學習的重要對象。例如:數據通信產品中的很多功能開發都是基于某些國際、國家和行業的標準與規范而開展的,基于它們獲取測試條件取,對于提高測試的覆蓋率和有效性是非常有必要的。下面是基于標準與規范識別測試條件的一些原則和建議:

      (1)開發文檔沒有詳細描述軟件產品的某個功能或者特性,而是直接參考某某協議標準,例如:OAM PDU的格式與Y.1731/802.1ag/D80相兼容。

      (2)協議一致性測試、標準與規范一致性測試等,這個時候,標準與規范可能是識別測試條件的主要參考輸入。測試人員可以基于標準與規范來檢查軟件產品的實現是否存在偏差,這主要是測試中的驗證(Verification)關注點;

      (3)除了通過標準與規范獲取測試條件之外,測試人員也可以通過它們檢查開發文檔是否存在遺漏和錯誤,這是前期評審工作的主要目的之一。

      4)類似產品需求

      隨著軟件產品越來越復雜,行業內采用增量-迭代開發模型的場合越來越多,例如敏捷開發。測試人員經常面臨的軟件產品是基于已有的系統之上,即測試對象是基于以前版本的功能增加、缺陷修復、平臺移植等變更基礎之上。因此測試人員需要分析歷史測試是否全面,測試對象變更是否影響以前運行的軟件版本等?;谶@些信息,測試人員可以獲取新的測試需求。

      5)測試經驗知識庫

      測試并不是存在編碼之后的一個階段,測試應該貫穿于整個軟件開發生命周期。類似于開發過程改進一樣,測試也應該是PDCA(戴明質量環)的過程。因此,不同項目中的測試經驗是每次測試用例設計的重要輸入。通過測試經驗知識庫,測試團隊的測試經驗和技能才能在整個組織中共享。

      測試經驗知識庫可以來自測試執行的經驗、測試過程中發現的缺陷分類和分析、用戶反饋的缺陷分類和分析等。

      6)其他隱性的需求

      除了從前面提到的輸入文檔中識別測試條件之外,其他的一些隱性輸出也可以作為識別測試條件的基礎,例如不同產品利益相關者針對測試對象中間版本的變更而達成的備忘錄;通過雜志、網絡等查找類似測試對象產品的一些常見缺陷和失效,以及軟件產品在用戶現場使用的討論等。

      通過測試用例設計的參考輸入:系統需求、用戶需求、標準與規范、類似產品需求、測試經驗知識庫,以及其他隱性的需求,測試人員可以獲取一系列的初始測試條件,即測試條件列表。為了提升測試效率和有效性,需要為每個測試用例需要設定一個測試優先級。

      初始的測試條件列表,還需要更進一步的測試類型分析和功能交互分析,才能得到相對完善的測試條件列表。接下來,測試人員可以采用一系列測試技術與方法,進行詳細測試用例的設計。

    原文轉自: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>