數據驅動測試設計方法分析

學識都 人氣:1.35W

【摘 要】 軟件測試的核心是測試用例的編寫,所以測試用例的編寫對於軟件測試的過程來說是十分重要的,也是每個測試人員必須掌握的技能。本文主要介紹了數據驅動測試的測試方法。尤其重點介紹了數據驅動測試中的邏輯覆蓋。並結合實例給出具體說明。

數據驅動測試設計方法分析

【關鍵詞】測試用例;數據驅動測試;邏輯覆蓋

軟件測試是軟件開發過程中必不可少的部分。從根本上說,測試過程的質量決定了軟件測試的質量和有效性。軟件測試作爲軟件生存週期的一個重要組成部分,受到重視程度越來越高。軟件測試的本質是針對要測試的內容確定一組測試用例。測試用例是測試工作的指導,是軟件測試的必須遵守的準則。更是軟件測試質量穩定的根本保障。所以對於軟件測試的過程來講,測試用例的設計是其中最關鍵的環節。軟件測試分功能性測試和結構性測試。功能性測試又稱黑盒測試,結構性測試又稱白盒測試。下面僅詳細介紹功能性測試用例的設計方法。

 一、數據驅動測試用例設計

功能性測試又稱黑盒測試(Black-box Testing)或數據驅動測試,是把測試對象看作一個黑盒子。利用黑盒測試法進行動態測試時,需要測試軟件產品的功能,不需測試軟件產品的內部結構和處理過程。黑盒測試注重於測試軟件的功能性需求,也即黑盒測試使軟件工程師派生出執行程序有功能需求的輸入條件。

黑盒測試試圖發現以下類型的錯誤:

1、功能錯誤或遺漏;

2、界面錯誤;

3、數據結構或外部數據庫訪問錯誤;

4、性能錯誤;

5、初始化和終止錯誤。

 二、數據驅動測試的測試用例設計方法

數據驅動測試的測試用例設計方法一般有等價類劃分方法,邊界值分析方法,錯誤推測方法,因果圖方法,判定表驅動分析方法,正交實驗設計方法,功能圖分析方法幾種。下面詳細介紹幾種比較重要的黑盒測試方法。

 1、等價類劃分。

是把所有可能的輸入數據,即程序的輸入域劃分成若干部分(子集),然後從每一個子集中選取少數具有代表性的數據作爲測試用例。該方法是一種重要的,常用的黑盒測試用例設計方法。

(1)劃分等價類: 等價類是指某個輸入域的子集合。在該子集合中,各個輸入數據對於揭露程序中的錯誤都是等效的。併合理地假定:測試某等價類的代表值就等於對這一類其它值的測試。因此,可以把全部輸入數據合理劃分爲若干等價類,在每一個等價類中取一個數據作爲測試的輸入條件,就可以用少量代表性的測試數據。取得較好的測試結果。等價類劃分可有兩種不同的情況:有效等價類和無效等價類。

(2)有效等價類:是指對於程序的規格說明來說是合理的,有意義的輸入數據構成的集合。利用有效等價類可檢驗程序是否實現了規格說明中所規定的功能和性能。

(3)無效等價類:與有效等價類的定義恰巧相反。 設計測試用例時,要同時考慮這兩種等價類。因爲,軟件不僅要能接收合理的數據,也要能經受意外的考驗。這樣的測試才能確保軟件具有更高的可靠性。

 2、邊界值分析法。

邊界值分析方法是對等價類劃分方法的`補充。

長期的測試工作經驗告訴我們,大量的錯誤是發生在輸入或輸出範圍的邊界上,而不是發生在輸入輸出範圍的內部。因此針對各種邊界情況設計測試用例,可以查出更多的錯誤。使用邊界值分析方法設計測試用例,首先應確定邊界情況。通常輸入和輸出等價類的邊界,就是應着重測試的邊界情況。應當選取正好等於,剛剛大於或剛剛小於邊界的值作爲測試數據,而不是選取等價類中的典型值或任意值作爲測試數據。

基於邊界值分析方法選擇測試用例的原則:

(1)如果輸入條件規定了值的範圍,則應取剛達到這個範圍的邊界的值,以及剛剛超越這個範圍邊界的值作爲測試輸入數據。

(2)如果輸入條件規定了值的個數,則用最大個數,最小個數,比最小個數少一,比最大個數多一的數作爲測試數據。

(3)根據規格說明的每個輸出條件,使用前面的原則1)。

(4)根據規格說明的每個輸出條件,應用前面的原則2)。

(5)如果程序的規格說明給出的輸入域或輸出域是有序集合,則應選取集合的第一個元素和最後一個元素作爲測試用例。

(6)如果程序中使用了一個內部數據結構,則應當選擇這個內部數據結構的邊界上的值作爲測試用例。

(7)分析規格說明,找出其它可能的邊界條件

 3、錯誤推測法。

錯誤推測法: 基於經驗和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法。

錯誤推測方法的基本思想: 列舉出程序中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測試用例。 例如, 在單元測試時曾列出的許多在模塊中常見的錯誤。 以前產品測試中曾經發現的錯誤等, 這些就是經驗的總結。 還有,輸入數據和輸出數據爲0的情況。輸入表格爲空格或輸入表格只有一行。 這些都是容易發生錯誤的情況。 可選擇這些情況下的例子作爲測試用例。

綜上所述,測試用例的編寫對於計算機測試人員來說是一項必須掌握的能力。但有效的設計和熟練的編寫卻是一個十分複雜的技術,它需要測試人員對整個軟件不管從業務還是從功能上都有一個明晰的把握。需要測試人員在實踐中不斷總結經驗,然後結合測試理論,這樣才能設計出更加有效的測試用例。

 [參考文獻]

[1]周文萊,馬珊國,最新實用軟件測試過程[M],北京,機械工業出版社,2008第一版

[2]溫鳳飛,楊大偉,實用軟件工程設計[M],北京:長城出版社,2009第一版

[3]孫燕燕,軟件使用中應注意的三個問題[J],計算機光盤軟件與應用,2009,(11)

TAGS:測試 驅動