【测试基础】测试用例的设计方法
常用的用例設(shè)計(jì)方法包括等價(jià)類、邊界值、判定表、因果圖、正交試驗(yàn)、狀態(tài)遷移、流程分析等。
等價(jià)類
??????等價(jià)類劃分法將程序所有可能的輸入數(shù)據(jù)(有效的和無(wú)效的)劃分成若干個(gè)等價(jià)類。然后從每個(gè)部分中選取具有代表性的數(shù)據(jù)當(dāng)做測(cè)試用例進(jìn)行合理的分類,測(cè)試用例由有效等價(jià)類和無(wú)效等價(jià)類的代表組成,從而保證測(cè)試用例具有完整性和代表性。
有效等價(jià)類:針對(duì)被測(cè)對(duì)象而言,合理的,有意義的,系統(tǒng)接受的輸入
無(wú)效等價(jià)類:針對(duì)被測(cè)對(duì)象而言,不合理的,沒有意義的,系統(tǒng)不能接受的輸入
劃分規(guī)則
1、如果需求規(guī)定了輸入域的取值個(gè)數(shù)或確定了某個(gè)范圍時(shí),則可確定一個(gè)有效等價(jià)類及兩個(gè)無(wú)效等價(jià)類
2、如果需求規(guī)定了某個(gè)輸入域的集合,或者必須如何的情況下,看確定一個(gè)有效等價(jià)類及一個(gè)無(wú)效等價(jià)類
3、如果需求規(guī)定了某個(gè)輸入域是真假值時(shí),可確定一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類
4、如果需求規(guī)定了輸入域時(shí)一組值,則可確定若干個(gè)有效等價(jià)類及一個(gè)無(wú)效等價(jià)類
5、用戶需求規(guī)定必須遵守某種規(guī)則時(shí),可確定一個(gè)有效等價(jià)類及若干個(gè)不同角度違反規(guī)則的無(wú)效等價(jià)類
四則算法
1、加:不考慮需求其他子項(xiàng),細(xì)致分解當(dāng)期測(cè)試點(diǎn)及詳細(xì)需求,做累加
2、減:根據(jù)業(yè)務(wù)規(guī)則減少,排除相關(guān)不可能出現(xiàn)的規(guī)則,減少不可能出現(xiàn)的組合
3、乘:如果有效等價(jià)類中具有互斥條件的需求時(shí),可進(jìn)行相乘得到用例個(gè)數(shù)
4、除:排除所有具有重復(fù)特性的等價(jià)類,盡可能做到有效等價(jià)類之間的交集為空,無(wú)效等價(jià)類之間交集也為空,有效及無(wú)效等價(jià)類的并集為整個(gè)輸入域
案例演示
邊界值
??????邊界值分析法就是對(duì)輸入或輸出的邊界值進(jìn)行測(cè)試的一種黑盒測(cè)試方法。通常邊界值分析法是作為對(duì)等價(jià)類劃分法的補(bǔ)充,這種情況下,其測(cè)試用例來(lái)自等價(jià)類的邊界。
邊界值與等價(jià)類的區(qū)別:
(1)邊界值分析不是從某等價(jià)類中隨便挑一個(gè)作為代表,而是使這個(gè)等價(jià)類的每個(gè)邊界都要作為測(cè)試條件。
(2)邊界值分析不僅考慮輸入條件,還要考慮輸出空間產(chǎn)生的測(cè)試情況。
邊界三點(diǎn)
1、上點(diǎn):邊界上的點(diǎn)
2、離點(diǎn):離上點(diǎn)最近的點(diǎn)
3、內(nèi)點(diǎn):邊界有效范圍內(nèi)的任一點(diǎn)
如何確定離點(diǎn)?
1、如果邊界是閉區(qū)間,則離點(diǎn)在外,如:
用戶名長(zhǎng)度在[6,18]之間。上點(diǎn):6/18;離點(diǎn):5/19;內(nèi)點(diǎn):10
2、如果邊界是開區(qū)間,則離點(diǎn)在內(nèi)如:
用戶名長(zhǎng)度在(6,18)之間。上點(diǎn):6/18;離點(diǎn):7/17;內(nèi)點(diǎn):10
應(yīng)用場(chǎng)景
1、如果需求規(guī)定了取值范圍或規(guī)定了取值個(gè)數(shù)時(shí),可利用該范圍的邊界內(nèi)及邊界附近的數(shù)據(jù)進(jìn)行測(cè)試
2、如果需求規(guī)定了取值的個(gè)數(shù),則少于個(gè)數(shù)一個(gè),或多余個(gè)數(shù)一個(gè)的值進(jìn)行測(cè)試
3、如果需求規(guī)定了一個(gè)有序集合的時(shí)候,可使用該集合的第一個(gè)和最后一個(gè)值進(jìn)行測(cè)試
4、如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的話,則應(yīng)該從該數(shù)據(jù)結(jié)構(gòu)的邊界進(jìn)行考慮
應(yīng)用步驟
1、根據(jù)等價(jià)類方法劃分有效及無(wú)效等價(jià)類,確定上點(diǎn)、離點(diǎn)及內(nèi)點(diǎn),每個(gè)點(diǎn)統(tǒng)一編號(hào)
2、設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能覆蓋所有尚未覆蓋的有效等價(jià)類,直至所有有效等價(jià)類完全覆蓋
3、設(shè)計(jì)一個(gè)新的測(cè)試用例,使其僅覆蓋一個(gè)無(wú)效等價(jià)類,直到所有所有無(wú)效等價(jià)類完全覆蓋
案例演示
判定表
??????判定表是分析和表達(dá)多種輸入條件下系統(tǒng)執(zhí)行不同動(dòng)作的工具,它可以把復(fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)的既準(zhǔn)確又明確。
組成
1、條件樁:需求規(guī)格說(shuō)明書定義的被測(cè)對(duì)象的所有輸入
2、條件項(xiàng):針對(duì)條件樁多有可能的輸入數(shù)據(jù)的真假值
3、動(dòng)作樁:針對(duì)條件被測(cè)對(duì)象可能采取的所有操作
4、動(dòng)作項(xiàng):針對(duì)動(dòng)作樁,被測(cè)對(duì)象相應(yīng)的可能取值
應(yīng)用步驟
1、理解需求,確定條件樁、動(dòng)作樁
2、設(shè)計(jì)及優(yōu)化判定表
3、填寫動(dòng)作項(xiàng)
4、根據(jù)判定表中輸出結(jié)果的表現(xiàn),進(jìn)行判定表的合并(非必須)
案例演示
因果圖
??????因果圖法是一種適合于描述對(duì)于多種輸入條件組合的測(cè)試方法,根據(jù)輸入條件的組合、約束關(guān)系和輸出條件的因果關(guān)系,分析輸入條件的各種組合情況,從而設(shè)計(jì)測(cè)試用例的方法,它適合于檢查程序輸入條件涉及的各種組合情況。因果圖法一般和判定表結(jié)合使用,通過(guò)映射同時(shí)發(fā)生相互影響的多個(gè)輸入來(lái)確定判定條件。因果圖法最終生成的就是判定表,它適合于檢查程序輸入條件的各種組合情況。
輸入與輸入的關(guān)系
1、異:所有輸入條件中最多有一個(gè)產(chǎn)生,也可以一個(gè)沒有
2、或:所有輸入條件中,最少有一個(gè)產(chǎn)生,或者多個(gè),或所有
3、唯一:所有輸入條件中,有且只有一個(gè)條件產(chǎn)生
4、要求:所有輸入條件,只要有一個(gè)產(chǎn)生,其他也會(huì)跟著出現(xiàn)
輸入與輸出的關(guān)系
1、恒等:當(dāng)輸入條件發(fā)生時(shí),結(jié)果一定會(huì)出現(xiàn)
?????????????????當(dāng)輸入條件不發(fā)生時(shí),結(jié)果一定不會(huì)出現(xiàn)
2、非:當(dāng)輸入條件發(fā)生時(shí),結(jié)果一定不會(huì)出現(xiàn)
?????????????當(dāng)輸入條件不發(fā)生時(shí),結(jié)果一定會(huì)出現(xiàn)
3、與:當(dāng)多個(gè)輸入條件中,具有所有輸入條件都發(fā)生,結(jié)果才會(huì)出現(xiàn)
4、或:當(dāng)多個(gè)輸入條件中,只要有一個(gè)發(fā)生,結(jié)果就會(huì)出現(xiàn)
案例演示
正交試驗(yàn)
??????正交試驗(yàn)法是從大量的(實(shí)驗(yàn))數(shù)據(jù)(測(cè)試?yán)?#xff09;中挑選適量的,有代表性的點(diǎn)(例),從而合理地安排實(shí)驗(yàn)(測(cè)試)的一種科學(xué)實(shí)驗(yàn)設(shè)計(jì)方法.類似的方法有:聚類分析方法,因子方法方法等。
所有參與試驗(yàn)的影響試驗(yàn)結(jié)果的條件稱為因子
影響試驗(yàn)因子的取值或輸入稱為水平
在同一條正交表中,每個(gè)因子的每個(gè)水平出現(xiàn)的次數(shù)完全相同,試驗(yàn)中,每個(gè)因子的每個(gè)水平與其它因子的水平參與試驗(yàn)的幾率完全相同
設(shè)計(jì)流程
1、分析需求獲取因子及水平
2、根據(jù)因子水平選擇合適的正交表
3、替換因子水平,獲取試驗(yàn)次數(shù)
4、根據(jù)經(jīng)驗(yàn)或其他因素補(bǔ)充試驗(yàn)次數(shù)
5、細(xì)化輸出獲取測(cè)試用例
注意點(diǎn)
1、選擇正交表時(shí),因子與水平恰好與正交表相同
2、被測(cè)對(duì)象因子與正交表中的因子數(shù)不同,選擇正交表中因子稍大于被測(cè)對(duì)象因子數(shù),且試驗(yàn)次數(shù)最少的,多余的因子棄用
3、被測(cè)對(duì)象水平與正交表中的水平不同,可根據(jù)實(shí)際情況進(jìn)行合并,然后拆分
4、因子水平都不相同,則可選擇因子,水平稍大于被測(cè)對(duì)象的,且實(shí)驗(yàn)次數(shù)最少的
案例演示
狀態(tài)遷移
??????狀態(tài)—遷移圖(STD)或狀態(tài)—遷移表被用來(lái)描述系統(tǒng)或?qū)ο蟮臓顟B(tài),以及導(dǎo)致系統(tǒng)或?qū)ο蟮臓顟B(tài)改變的事件,從而描述系統(tǒng)的行為。屬于結(jié)構(gòu)化分析方法使用工具。
關(guān)注被測(cè)對(duì)象的狀態(tài)變化,在需求規(guī)格說(shuō)明書中是否有不可達(dá)到的狀態(tài)和非法的狀態(tài),是否產(chǎn)生非法的狀態(tài)遷移
方法流程
1、根據(jù)需求明確狀態(tài)節(jié)點(diǎn)
2、繪制狀態(tài)遷移圖
3、繪制狀態(tài)遷移樹
4、抽取測(cè)試用例
案例演示
流程分析
場(chǎng)景設(shè)計(jì)法
基本流:通過(guò)業(yè)務(wù)流程輸入都為正確的,能夠最后達(dá)標(biāo)的目標(biāo)流程
備選流:通過(guò)實(shí)現(xiàn)業(yè)務(wù)流程時(shí),因錯(cuò)誤操作或異常輸入,導(dǎo)致流程存在反復(fù),但最終能夠完成期望業(yè)務(wù)的流程
異常流:通過(guò)實(shí)現(xiàn)業(yè)務(wù)流程時(shí),因錯(cuò)誤操作或異常輸入,導(dǎo)致業(yè)務(wù)沒有正確完成
使用方法
1、理解需求,確定業(yè)務(wù)流程
2、繪制流程圖,再次明確流程路徑
3、根據(jù)業(yè)務(wù)流程圖,抽取測(cè)試路徑,每次路徑需包含一個(gè)從未走過(guò)的路徑
4、細(xì)化路徑設(shè)計(jì)測(cè)試用例
注意點(diǎn):需使用等價(jià)類、邊界值、正交實(shí)驗(yàn)、判定表、因果圖等方法保證單個(gè)功能的正確性
案例演示
轉(zhuǎn)載于:https://www.cnblogs.com/CSgarcia/p/9705539.html
總結(jié)
以上是生活随笔為你收集整理的【测试基础】测试用例的设计方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: # JavaScript中的执行上下文和
- 下一篇: kotlin使用spring data