資料驅動測試設計方法分析

才智咖 人氣:1.34W

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

資料驅動測試設計方法分析

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

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

 一、資料驅動測試用例設計

功能性測試又稱黑盒測試(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:驅動 測試