4 軟體測試用例設計

2022-05-19 08:40:39 字數 1870 閱讀 5893

等價類劃分法是一種典型的黑盒測試方法,使用這一方法時,完全不考慮程式的內部結構,只依據程式的說明來設計測試用例;

等價類劃分法把所有可能的輸入資料,即程式的輸入域劃分成若干部分,然後從每一部分中選取少數有代表性的資料作為測試用例;

使用這一方法設計測試用例要經歷劃分等價類(列出等價類表)和選取測試用例兩步;

劃分等價類原則如下:

舉例說明

從劃分出的等價類中按以下原則選擇測試用例

邊界值分析法也是一種黑盒測試方法,是對等價類劃分法的補充;

人們從長期的測試工作經驗得知,大量的錯誤是發生在輸入或輸出範圍的邊界上,而不是輸出範圍的內部。因此針對各種邊界情況設計測試用例,可以查出更多的錯誤;

舉例說明

;這裡的邊界是指,相當於輸入等價類和輸出等價類而言,稍高於其邊界值及稍低於其邊界值的一些特定情況;

使用邊界值分析法設計測試用例,首先確定邊界情況。應當選取正好等於,剛剛大於,或剛剛小於邊界的值作為測試資料,而不是選取等價類中的典型值或任意值作為測試資料。

現在的軟體幾乎都是用事件觸發來控制流程的,事件觸發時的情景便形成了場景,而同一事件不同的觸發順序和處理結果就形成了事件流。這種在軟體涉及方面的思想也可以引入到軟體測試中,可以比較生動地描繪出事件觸發時的場景,有利於測試設計者設計測試用例,同時使測試用例更容易理解和執行;

場景說明

用例場景用來描述流經用例的路徑,從用例開始到結束遍歷這條路徑上所有基本流和備選流;

如圖所示,圖中經過用例的每條路徑都用基本流和備選流來表示,直黑線表示基本流,是經過用例的最簡單的路徑。備選流用不同的色彩表示,乙個備選流可能從基本流開始,在某個特定條件下執行,然後重新加入基本流中(如備選流1和3),也可能起源於基本流或備選流,然後結束用例(如備選流4和2)

也可以靠經驗和直覺推測程式中可能存在的錯誤,從而有針對性地編寫檢查這些錯誤的例子,這就是錯誤推測法;

錯誤推測法的基本思想是:列舉出程式中所有可能的錯誤和容易發生錯誤的特殊情況,根據它們選擇測試用例。

等價類劃分法和邊界值分析法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯絡。如果在測試時必須考慮輸入條件的各種組合,可能的組合數將是天文數字。因此必須考慮使用一種適合於描述對於多種條件的組合,相應產生多個動作的形式來考慮設計測試用例,這就需要利用因果圖;

因果圖法是乙個非常有效的黑盒測試方法,它能夠生成沒有重複性的且發現錯誤能力強的測試用例,而且對輸入、輸出同時進行了校驗;

舉例說明:有乙個**的輸入,在第一列必須是a或b,第二列必須是數字,在此情況下進行檔案的修改,如果第一列字元不正確,則給出資訊l,如果第二列不是數字,則給出資訊m。

優點:正交試驗設計(orthogonal experimental design)是研究多因素多水平的一種設計方法,它是根據正交性從全面試驗中挑選出部分有代表性的點進行試驗,這些有代表性的點具備了「均勻分散,齊整可比」的特點,正交試驗設計是一種基於正交表的、高效率、快速、經濟的試驗;

首先進行等價類劃分,包括輸入條件和輸出條件的等價類劃分,將無線測試變為有限測試,這是減少工作量和提高測試效率最有效的方法;

在任何情況下都必須使用邊界值分析方法。經驗表明,用這種方法設計出來的測試用例發現程式錯誤的能力最強;

可以用錯誤推測法追加一些測試用例,這需要依靠測試工程師的智慧型和經驗;

對照程式邏輯,檢查已設計出的測試用例的邏輯覆蓋程度,如果沒有達到要求的覆蓋標準,應當再補充足夠的測試用例;

如果程式的功能說明中含有輸入條件的組合情況,則一開始就可選用因果圖法;

對於引數配置類的軟體,要用正交試驗法選擇較少的組合方式達到最佳效果;

對於業務流清晰的系統,可以利用場景法貫穿這個測試案例過程,在案例中綜合使用各種測試方法

軟體測試如何設計測試用例

測試用例編寫是軟體測試的基本技能 也有很多人認為測試用例是軟體測試的核心 軟體測試中最重要的是設計和生成有效的測試用例 測試用例是測試工作的指導,是軟體測試的必須遵守的準則。乙份漂亮的測試用例不僅僅是設計思路的優秀體現,更是便於流轉和執行,具有可讀性 傳遞性。1 指導測試的實施 測試用例主要適用於整...

軟體測試用例設計方法

1.概述 grenford j.myers在 the art of software testing 一書中提出 乙個好的測試用例是指很可能找到迄今為止尚未發現的錯誤的測試,由此可見測試用例設計工作在整個測試過程中的地位,我們不能只憑藉一些主觀或直觀的想法來設計測試用例,應該要以一些比較成熟的測試用...

軟體測試用例設計心得

1 了解軟體的原始需求 測試目的 在編寫乙個軟體或者模組的測試用例時候,一定要明白這個功能的原始需求,也就是軟體的使用者 客戶 的需求。理解原始需求後,編寫的測試用例才更有目的性。2 熟悉軟體的功能需求 測試點 這個功能需求是指軟體的細化需求點,這個一般在需求文件裡面都會體現。這裡要做的是把 粗略 ...