【测试】测试用例8大法
測試用例的設計方法不是單獨存在的,具體到每個測試項目里都會用到多種方法,每種類型的軟件有各自的特點,每種測試用例設計的方法也有各自的特點,針對不同軟件如何利用用例設計方法是非常重要的。在實際測試中,往往是綜合使用各種方法才能有效地提高測試效率和測試覆蓋率。這就需要認真掌握這些方法的原理,積累更多的測試經驗,以有效地提高測試水平。
??? 以下是各種測試方法選擇的綜合策略:
綜上所述,測試用例的設計與測試方法的選取,需要根據實際項目來選擇,單獨使用某種方法或生搬硬套是不可行的,我們只有在掌握各種理論知識后,靈活加以選擇應用,才能達到最好的效果。
下面具體介紹一下這些設計測試用例的方法:
1.首先進行等價類劃分,包括輸入條件和輸出條件的等價劃分,將無限測試變成有限測試,這是減少工作量和提高測試效率最有效的方法。
2.在任何情況下都必須使用邊界值分析方法,經驗表明,用這種方法設計出的測試用例發現程序錯誤的能力最強。
3.可以用錯誤推測法追加一些測試用例,這需要靠測試工程師的智慧和經驗。
4.對照程序邏輯,檢查已設計出的測試用例的邏輯覆蓋程度,如果沒有達到要求的覆蓋標準,應當再補充足夠的測試用例。
5.如果程序的功能說明中含有輸入條件的組合情況,則一開始就可選用因果圖法和判定表驅動法。
6.對于參數配置類軟件,要用正交法選擇較少的組合方式達到最佳效果。
7.狀態圖法(功能圖)也是很好的測試用例設計方法,我們可以通過不同時期條件的有效性設計不同的測試數據。
8.對于業務流程清晰的系統,可以利用場景法貫穿整個測試案例過程,在案例中綜合使用各種測試方法。
一、等價類劃分法
最典型的黑盒測試方法;要對需求說明書中的各項需求,尤其是功能需求進行細致分析;把程序的輸入劃分成若干個部分,從每個部分中選取少數代表性數據作為測試用例。
根據功能需求中各個輸入條件劃分為等價類和非等價類。
1.????有效等價類:對程序的規格說明有意義,合理的輸入數據所構成的集合
2.????無效等價類:對程序的規格說明無意義或不合理的輸入數據所構成的集合
等價類的假設和核心要點:
? ? ?假設1:如果一個測試用例能夠捕獲(發現)缺陷,那么選擇該等價類中的其他測試用例也能夠捕獲(發現)該缺陷。
???? 假設2:如果一個測試用例不能捕獲(發現)缺陷,那么選擇該等價類中的其他測試用例也不能捕獲(發現)該缺陷。(這就是為什么可以選擇典型)
等價類劃分典型參考:
1.輸入條件是必須成立的情況,可以劃分為一個有效,一個無效。(標識符首字符必須為字母。是或不是)
2.輸入條件是取值范圍,可以劃分為一個有效,二個無效等價類。(輸入值必須在-99~99之間)
3.輸入條件是布爾量,確認一個有效,一個無效等價類。(窮舉測試了)
4.若已劃分的某等價類中的各個元素在程序中的處理方式不同,則應該將此等價類進一步分為更小等價類。(正數、負數處理方式不同)
5.規定了輸入數據必須遵守的規則,可以劃分一個有效,若干無效等價類。(二位正數加法中,小數、字母、特殊字符等輸入為無效等價類)
6.規定了輸入值的集合,而且程序對每個值進行不同處理。為每個值確認一個有效等價類,其他為無效等價類。(交通工具類型公交車、出租車)
二、?邊界值方法
選取正好等于、剛剛大于、剛剛小于邊界的值作為測試數據,重點測試最后一個肯定合法的數據和剛剛超過邊界的非法數據。
通常和等價類一起使用,產生一套完整的測試用例;等價類劃分是從等價區間中選取代表性的值,而邊界值的重點是等價區間的邊界值,正好邊界值是等價區間中最具代表性的值。
?三、因果圖
形式化的語言,不僅描述了原因和結果之間的關系,也描述了各個原因之間、各個結果之間復雜關系的組合。因是程序的輸入條件,而果則是程序的輸出。
使用因果圖設計測試用例:
1)????????分析被測應用,確認原因(輸入)和結果(輸出)。
2)????????確定因果邏輯關系。找出輸入和輸出之間的邏輯關系。
3)????????確定約束關系。原因與原因之間,結果之間約束限制。
4)????????把因果圖轉換為判定表。
5)????????根據約束條件簡化判定表,并給出結果。
6)????????設計測試用例
四、正交試驗法
研究多因素、多水平的一種設計方法,它是根據正交性從全面試驗中挑選出部分有代表性的點進行試驗,這些有代表性的點具備了“均勻分散,齊整可比”的特點,是一種高效率、快速、經濟的設計方法。
為什么使用正交試驗法:
對于單因素或兩因素試驗,因其因素少,試驗的設計、實施與分析都比較簡單。但在實際工作中,常常需要同時考察3個或3個以上的試驗因素,若進行全面試驗,試驗的規模很大,由于時間和成本的限制我們不可能進行全面試驗,但是具體挑出其中的哪些測試用例進行測試我們心里拿不準,總擔心不做不挑選的那些測試用例會遺漏一些嚴重缺陷,為了有效的、合理地減少測試的工作時間與費用,我們利用正交試驗法來設計測試用例。正交試驗法就是安排多因素試驗,尋求最優水平組合的一種高效率的試驗設計方法。
五、狀態圖:(Statechart Diagram)
描述一個實體基于事件反應的動態行為;描述的是一種動態說明,它由輸入條件和當前狀態共同決定輸出數據和后續狀態;關注程序所處的不同狀態,以及狀態之間的轉換。
使用狀態圖法主要是對系統的較高層次狀態進行分析,而不是細節狀態。
設計用例的步驟:
1.分析需求后列出被測系統所有輸入事件;
2.找出一個初始狀態,這個基礎上加上所有可能的輸入事件,會產生一些新的狀態;
3.先分析上一個狀態完成后再分析下一狀態,直到所有狀態都分析完。
4.把測試用例表轉換為測試用例(根據實際情況補充一些測試用例)
六、場景法
首先要列出基本流和備選流。(事件觸發來控制流程,事件觸發形成場景,事件觸發的順序和處理結果形成事件流。)
關注的是程序所執行的流程,也就是觸發狀態變化的事件順序。
1)? 基本流:指的是基本流程,主要的流程,關鍵的流程。
2)? 備選流:指的是程序中其它的分支流程。
3)? 場景法設計用例:
1.根據需求說明書,描述出程序的基本流及各項備選流;
2.根據基本流和各項備選流生成不同的場景。
3.對每個場景生成相應的測試用例。
4.對生成的所有測試用例重新復審,去掉多余的測試用例,測試用例確定后,對每個測試用例確定測試數據。
七、錯誤推測法
在測試程序時,人們可以根據經驗或直覺推測程序中可能存在的各種錯誤,從而有針對地編寫檢查這些錯誤的測試用例的方法。(對程序的流程非常熟悉,測試經驗豐富,工作時間長)。
基本思路:列舉出程序中所有可能有的錯誤和容易發生錯誤的特殊情況,根據它們選擇測試用例。例如:在單元測試時曾列出的許多在模塊中常見的錯誤,以前產品測試中曾經發現的錯誤等,這些都是經驗的總結。還有輸入數據和輸出數據為0的情況,輸入表格為空格或輸入表格只有一行,這些都是容易發生錯誤的情況,可選擇這些情況下的例子作為測試用例。
總之,就是進行錯誤的操作,說白了就是根據經驗補充一些特殊的測試用例。
八、判定表法
分析和表達多邏輯條件下執行不同操作的情況的工具。
?1) 四個部分:
1.條件樁(condition Stub):列出了問題的所有條件,通常認為列出的條件的次序無關緊要;
2.動作樁(Action Stub):列出了問題可能采取的操作,這些操作的排列順序沒有約束;
3.條件項(Condition entry):列出針對它左列條件的取值,在所有可能情況下的真假值;
4.動作項(Action Entry):列出在條件項的各種取值情況下應該采取的動作。
?2)? 建立步驟:
1.確定規則的個數,假如有n個條件。每個條件有兩個取值(0,1),故有2的n次方種規則;
2.列出所有的條件樁和動作樁;
3.填入條件項;
4.填入動作項,得到初始判定表;
5.簡化,合并相似規則(相同動作)
3) 優點:能夠將復雜的問題按照各種可能的情況全部列出來,簡明并避免遺漏。因此,利用判定表能夠設計出完整的測試用例集合。在一些數據處理問題當中,某些操作的實施依賴于多個邏輯條件的組合,即:針對不同邏輯條件的組合值,分別執行不同的操作,判定表很適合處理此類問題。
這篇文章主要介紹了設計測試用例的黑盒八大法,后面會陸續給一些案例詳細介紹其用法。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的【测试】测试用例8大法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平行四边形的特殊性质
- 下一篇: 【文章】浅相遇,薄相知,淡相守,终难忘