用例設計新思路 驗收效果並蒂花

 

下面是針對某個功能模塊的一個簡單的需求描述:該基本功能是爲了創建某個條目,它的基本需求如下:
假如dataBit0=0,並且cBPDU或者pBPDU的值不爲1,那麼創建請求會被拒絕。假如dataBit0=0,並且cBPDU=1或者pBPDU=1,在滿足下面條件下可以創建成功:
(1) 其他的bit不能爲1;
(2) TD的取值必須是Guranteed;
(3) VLANpop的取值必須是disabled;
假如你得到這樣的一個需求描述,你準備如何來設計該功能模塊的軟件驗收測試用例?通常來說,測試人員拿到需求規格說明之後,會根據其中定義的需求條目設計測試用例,類似於如下過程。
需求規格說明到設計測試用例
圖1 通常的軟件驗收測試用例設計
  針對上面的需求描述,根據圖1直接設計測試用例,會不會覺得有些迷茫呢?即使測試人員設計了多個測試用例,覆蓋了每條測試需求,是不是也會覺得評估測試覆蓋率比較困難?
實際上,需求規格說明通常是針對開發人員而寫的,並不一定直接適合驗收測試的要求。因此,假如測試人員希望能夠更好的進行測試用例設計,需要將需求規格說明轉化成爲測試人員可以方便使用的語言很重要,即在需求規格說明和設計測試用例之間增加一個橋樑:模型。在建立模型的過程中,測試人員不僅需要學習需求規格說明,同時也需要了解各種測試設計技術與方法,並能將兩者數量的結合起來。圖2是增加了“模型”概念的測試用例設計過程。
需求規格說明          模型
 

設計技術與方法        設計驗收測試用例
圖2 改進的軟件驗收測試用例設計
  還是以上面的需求描述爲例,我通過學習需求之後,發現它可能可以與決策表技術結合起來。因此,我將上述需求翻譯爲適合決策表技術的各種條件與輸出,並根據它們的不同組合得到不同的結果。圖3是我針對上述需求描述,基於決策表技術得到的初始決策表,然後可以基於此進行決策表優化,直至得到概要和詳細的測試用例列表。
  根據圖2的過程得到初始決策表,是否覺得整個測試設計過程更加清楚,而且更加容易進行測試覆蓋率等方面的評估?注意:這裏只是根據需求描述得到的一些測試用例,並沒有考慮其他方面的軟件驗收測試用例。
  需求規格說明對測試人員很重要,軟件驗收測試設計技術與方法也很重要,但更重要的是測試人員如何能夠將兩者有效的結合起來,並在此基礎之上建立適合測試設計和評估的“模型”。而這通常是測試用例設計的難點所在,同時也是體現測試人員技術含量的地方。下面是測試人員在建立模型過程中可以參考的一些方向:
  2、基於測試類型,例如:質量特性模型、缺陷分類模型等;
  3、基於全局因素的全局因素模型;
  4、基於功能交互的功能交互模型;
  軟件驗收測試設計過程中建立有效的“模型”,測試人員設計軟件驗收測試用例相對會比較容易,並且可以很好的提高測試覆蓋率,從而幫助提升產品質量。另一方面,通過建立模型,也可以幫助測試人員有效的評審軟件驗收測試對象功能的描述,例如可以發現需求中定義不清楚、遺漏等方面的問題。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章