一、等價(jià)類(lèi)劃分法
? ? ? ? ? ?屬于黑盒有效測(cè)試的方法,不適用于窮舉的測(cè)試過(guò)程進(jìn)行分類(lèi),從而保證完整體和代表性。
? ? ? ? ? ? ?1.等待類(lèi)的分類(lèi)????????
? ? ? ? ? ? ? ? ? ? ? ? ----有效? ? (輸入合理的數(shù)據(jù)集合)
? ? ? ? ? ? ? ? ? ? ? ? ----無(wú)效? ? ?(輸入無(wú)效的數(shù)據(jù)集合)
? ? ? ? ? ? ? 2.有效等價(jià)類(lèi)是?
? ? ? ? ? ? ? ? ? ? ? ? ?-----例如 0<=X<=100,判斷0到100之間的合法數(shù)值
? ? ? ? ? ? ? 3.無(wú)效等價(jià)類(lèi)是與條件相反的情況
? ? ? ? ? ? ? ? ? ? ? ? ? ?-----判斷與條件相反的情況? 例如 小于0,大于100都是無(wú)效
? ? ? ? ? ? ? ? ? ? ? ? ? ?------在考慮特殊情況 (中文,符號(hào),空格,空,英文)? ?
? ? ? ? ? ? ? 4.? 要測(cè)試的時(shí)候要注意
? ? ? ? ? ? ? ? ? ? ? ? ? ? -----兩個(gè)框要一個(gè)正確,一個(gè)錯(cuò)誤,這樣才能準(zhǔn)確的判斷
? ? ? ? ? ? ? ? ? ? ? ? ? ? -----一定要根據(jù)需求判斷預(yù)期結(jié)果
? ? ? ? ? ? ? ?5.等價(jià)類(lèi)分類(lèi)總結(jié)(該考慮的細(xì)節(jié)情況)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ----- 文本框輸入的長(zhǎng)度
? ? ? ? ? ? ? ? ? ? ? ? ? ? -----? ?輸入的類(lèi)型
? ? ? ? ? ? ? ? ? ? ? ? ? ? -----? ?組成規(guī)則
? ? ? ? ? ? ? ? ? ? ? ? ? ? -----? ? 是否為空
? ? ? ? ? ? ? ? ? ? ? ? ? ? -----? ? 是否重復(fù)---區(qū)分大小寫(xiě)
? ? ? ? ? ? ? ? ? ? ? ? ? ? -----? ?是否去除空格
---------------------------------------------------------------------------------------------------------------------------------------------------
二、邊界值
? ? ? ? 1. 我們?cè)跍y(cè)試過(guò)程中,一定要小心邊界值(極值),因?yàn)樵诔绦蛑羞吔绾苋菀壮鰡?wèn)題,具體測(cè)試用例書(shū)寫(xiě)思路,找到邊界值和它兩端的值,分別進(jìn)行測(cè)試。
? ? ? ? 2.畫(huà)流程圖Axure(產(chǎn)品經(jīng)理需要用的制作流程圖)
? ? ? ? 3. 總結(jié):邊界值思想應(yīng)該是選擇邊界和剛超過(guò)的值,來(lái)進(jìn)行測(cè)試,也要根據(jù)實(shí)際情況來(lái)選擇,邊界值和等價(jià)類(lèi)是相輔組成功的關(guān)系,配合使用的。
? ? ? ? 4.常見(jiàn)邊界值
? ????????????????文本框接受字符個(gè)數(shù),比如用戶(hù)名長(zhǎng)度,密碼長(zhǎng)度
? ????????????????報(bào)表的第一行和最后一行
????????????????? 數(shù)值元素的第一個(gè)和最后一個(gè)
????????????????? 循環(huán)的一次,兩次,和倒數(shù)一次,兩次
---------------------------------------------------------------------------------------------------------------------------------------------------
三、因果圖
? ? ? ? ? ? 1.是一種利用圖解法分析輸入的各種組合情況,從而設(shè)計(jì)測(cè)試用例的方法,他適合用于檢查程序輸入條件的各種組合情況。
? ? ? ? ? ? 2. 特點(diǎn)
????????????????????---考慮輸入條件的相互制約及組合關(guān)系
????????????????? ? ---考慮輸出條件對(duì)輸入條件的依賴(lài)關(guān)系
????????????????????適用于輸入條件之間有相互制約,相互依賴(lài)的情況。
? ? ? ? ? ? ?3.因果圖的符號(hào)
????????????????????????1.恒等-有因就有果,沒(méi)有因就沒(méi)有果。
????????????????????????2.非-有因沒(méi)有果,沒(méi)有因有果。
????????????????????????3.或-條件有一個(gè)是真,結(jié)果就是真,條件都是假,結(jié)果才是假。
????????????????????????4與- 條件都為真,才是真,一個(gè)條件假,結(jié)果就是假。
---------------------------------------------------------------------------------------------------------------------------------------------------
四、判定表
? ? ? ? ? ? ? ? 1.? ?因果圖只是一個(gè)輔助工具,通過(guò)分析最后得到判定表,再通過(guò)判定表編寫(xiě)測(cè)試用例,但有時(shí)畫(huà)因果圖非常麻煩,影響 測(cè)試效率,可以直接寫(xiě)判定表,然后編寫(xiě)測(cè)試用例
? ? ? ? ? ? ? ? 2.判定表的組成
????????????????????????????條件樁:?jiǎn)栴}的所有條件
? ? ? ? ? ? ? ? ? ? ? ? ? ? 動(dòng)作樁:?jiǎn)栴}的所有輸出
????????????????????????????條件項(xiàng):針對(duì)條件樁的取值
????????????????????????????動(dòng)作項(xiàng):條件項(xiàng)的各種取值情況下的輸出結(jié)果
????????????????3.書(shū)寫(xiě)步驟:
????????????????????????????????1.列出所有條件與動(dòng)作樁
????????????????????????????????2.填寫(xiě)條件和動(dòng)作樁中的項(xiàng)目,得到初始判定表
????????????????????????????????3.簡(jiǎn)化判定表
????????????????????????????????4.出現(xiàn)——代表此選項(xiàng)不影響最終結(jié)果
---------------------------------------------------------------------------------------------------------------------------------------------------
五、場(chǎng)景法:
? ? ? ? ? ? ? 1.模擬用戶(hù)操作軟件時(shí)的場(chǎng)景,主要用于測(cè)試系統(tǒng)的業(yè)務(wù)流程
? ? ? ? ? ? ? ?2.? 在冒煙測(cè)試中也主要采用場(chǎng)景法進(jìn)行測(cè)試
? ? ? ? ? ? ? ?3.提示:拿到測(cè)試任務(wù)時(shí)候,別關(guān)注某個(gè)控件的邊界值,等價(jià)類(lèi)是否滿(mǎn)足需求,而是先關(guān)注它的主要功能和業(yè)務(wù)流程是否正確實(shí)現(xiàn),這就需要使用場(chǎng)景法來(lái)實(shí)現(xiàn)測(cè)試。當(dāng)業(yè)務(wù)流程測(cè)試沒(méi)有問(wèn)題,在重點(diǎn)到邊界值,等價(jià)類(lèi)等方面進(jìn)行測(cè)試
? ? ? ? ? ? ? ?4.場(chǎng)景法的兩個(gè)重要概念
? ? ? ? ? ? ? ? ? ? ? ? ? ?----- 基本流:按照正確的業(yè)務(wù)流程來(lái)實(shí)現(xiàn)的一條操作路徑(模擬正確的操作流程)
? ? ? ? ? ? ? ? ? ? ? ? ? ?-----? 備選流:導(dǎo)致程序出現(xiàn)錯(cuò)誤的操作流程(模擬錯(cuò)誤的操作流程)
?????????????????????????????提示 :用場(chǎng)景法是用來(lái)描述流經(jīng)用例路徑的過(guò)程,這個(gè)過(guò)程從開(kāi)始到結(jié)束遍歷用例中所有基本流和備選流
---------------------------------------------------------------------------------------------------------------------------------------------------
六、流程分析法
? ? ? ? ? ? ? ? 1.是針對(duì)測(cè)試場(chǎng)景類(lèi)型屬于流程測(cè)試場(chǎng)景的測(cè)試項(xiàng)下的測(cè)試子項(xiàng)進(jìn)行設(shè)計(jì),是從白盒測(cè)試設(shè)計(jì)方法中
的路徑覆蓋分析法借鑒過(guò)來(lái)的一種方法。
? ? ? ? ? ? ? ? 2. 白盒測(cè)試中,路徑是指函數(shù)代碼的某個(gè)分支組合,路徑覆蓋法需要構(gòu)造足夠的用例覆蓋函數(shù)的所有代碼路徑
? ? ? ? ? ? ? ? 3.黑盒測(cè)試中,軟件系統(tǒng)的某個(gè)流程看成路徑的話(huà),可以針對(duì)該路徑使用路徑分析的方法設(shè)計(jì)測(cè)試用例。
? ? ? ? ? ? ? ? 4.優(yōu)點(diǎn):降低了測(cè)試用例設(shè)計(jì)難度,只要搞清楚各種流程,可以設(shè)計(jì)高質(zhì)量的測(cè)試用例,而不需要太多測(cè)試方面的經(jīng)驗(yàn)
? ? ? ? ? ? ? ? ?5.在測(cè)試時(shí)間比較緊迫的時(shí)間下,可以有的放棄選擇測(cè)試用例,而不是完全根據(jù)經(jīng)驗(yàn)來(lái)取舍。
? ? ? ? ? ? ? ? ?6.流程分析法流程
????????????????????????????一、詳細(xì)了解需求
????????????????????????????二、根據(jù)需求說(shuō)明,找出業(yè)務(wù)流程的各個(gè)頁(yè)面以及個(gè)頁(yè)面之間的流轉(zhuǎn)關(guān)系
????????????????????????????三、畫(huà)出業(yè)務(wù)流程
????????????????????????????四、寫(xiě)用例,覆蓋所有的路徑分支
---------------------------------------------------------------------------------------------------------------------------------------------------
七、錯(cuò)誤推斷法
? ? ? ? ? ? 1. 利用直覺(jué)和經(jīng)驗(yàn)猜測(cè)出錯(cuò)的可能類(lèi)型。它是測(cè)試經(jīng)驗(yàn)豐富的測(cè)試人員喜歡使用的一種測(cè)試用例設(shè)計(jì)方法
? ? ? ? ? ? 2.基本思想
????????????????????列舉出一個(gè)產(chǎn)品可能犯的錯(cuò)誤或者會(huì)容易發(fā)生錯(cuò)誤的清單,根據(jù)清單來(lái)編寫(xiě)測(cè)試用例,這種方法很大程度是根據(jù)經(jīng)驗(yàn)進(jìn)行的,憑人們對(duì)過(guò)去做測(cè)試結(jié)果的分析,來(lái)發(fā)現(xiàn)其中的規(guī)律的來(lái)發(fā)現(xiàn)缺陷。
---------------------------------------------------------------------------------------------------------------------------------------------------
八、正交排列法
? ? ? ? ? ? ?1.能夠使用最小的測(cè)試過(guò)程集合獲得最大的測(cè)試覆蓋率,當(dāng)可能的輸入數(shù)據(jù)或者輸入數(shù)據(jù)的組合數(shù)量很大時(shí),由于不可能為每個(gè)植入組合都創(chuàng)建測(cè)試用例,可以采用這種方法。
? ? ? ? ? ? ? ? 正交表:特別的表,一般正交表記為L(zhǎng) n(m的K次方)
? ? ? ? ? ? ? ? ? ? ? ? ? ? L? line(行)
? ? ? ? ? ? ? ? ? ? ? ? ? ? K:列數(shù) ---表示控件的個(gè)數(shù)
? ? ? ? ? ? ? ? ? ? ? ? ? ? n:行數(shù)? ---需要測(cè)試組合的次數(shù)
? ? ? ? ? ? ? ? ? ? ? ? ? ? m:每個(gè)控件包含的取值個(gè)數(shù)(各因素的水平數(shù),即各因素的狀態(tài)數(shù))
? ? ? ? ? ? ? ? ?從全面試驗(yàn)中挑選出有代表性的的點(diǎn)進(jìn)行測(cè)試(分散,整齊可比)
? ? ? ? ? ? ?2.正交排列法的使用方法
? ? ? ? ? ? ? ? ? ? ?-----根據(jù)控件和取值來(lái)選擇合適的正交表
? ? ? ? ? ? ? ? ? ? ?------列舉數(shù)值并編號(hào),生成取值表
? ? ? ? ? ? ? ? ? ? ?------把取值表和選擇的正交表進(jìn)行映射。
? ? ? ? ? ? ?3.混合正交排列法的局限性
? ? ? ? ? ? ? ? ? ? ----目前正交表可提供的表不充足。
? ? ? ? ? ? ? ? ? ? ----所以需要下載正交表生成工具 allpairs
? ? ? ? ? ? ? ? ? ? ----只做取值表 (只列出數(shù)據(jù)即可,不用編號(hào))
? ? ? ? ? ? ? ? ? ? ----復(fù)制取值表的數(shù)據(jù),放到文本文檔保存(不要改任何格式)
? ? ? ? ? ? ? ? ? ? ?----把文件放在allpairs文件夾中
? ? ? ? ? ? ? ? ? ? ?----win+r輸入cmd進(jìn)入控制臺(tái)
? ? ? ? ? ? ? ? ? ? ? -----進(jìn)入allpairs文件夾
? ?????????????????????----輸入allpairs exe aa.txt>bb.txt? aa.txt是自定的名字,存放生成的組合用例,可以自動(dòng)生成,不必提前建好。
? ? ? ? ? ? ? ? 4.測(cè)試方法的選擇
????????????????????????根據(jù)程序的重要性和一旦發(fā)生故障造成的損失來(lái)確定測(cè)試等級(jí)和測(cè)試重點(diǎn)
????????????????????????有以下幾條參考原則
????????????????????????????1.拿到測(cè)試任務(wù),關(guān)注它的主要功能和業(yè)務(wù)流程,是否能正確實(shí)現(xiàn),使用場(chǎng)景法
????????????????????????????2.需要輸入數(shù)據(jù)的地方,考慮采用等價(jià)類(lèi)劃分法,包括輸入條件和輸出條件等價(jià)劃分,將無(wú)線(xiàn)測(cè)試變有限測(cè)試
????????????????????????????3.在任何情況下都必須采用邊界值,這種方法設(shè)計(jì)出的測(cè)試用例發(fā)現(xiàn)程序錯(cuò)誤的能力最強(qiáng)
????????????????????????????4.如果程序的功能說(shuō)明含有輸入條件的組合情況,則一開(kāi)始考慮因果圖和判定表
????????????????????????????5.對(duì)于參數(shù)配置類(lèi)的軟件,需要考慮參數(shù)之間的組合情況,考慮使用正交排列法選擇較少的組合方式(最少的測(cè)試用例得到最大的測(cè)試覆蓋率)
????????????????????????????6.對(duì)照程序邏輯,檢查已設(shè)計(jì)出的測(cè)試用例的邏輯覆蓋成都,如果沒(méi)達(dá)到要求的覆蓋標(biāo)準(zhǔn),則應(yīng)當(dāng)再補(bǔ)充更多的測(cè)試用例
????????????????????????????7.采用錯(cuò)誤推斷法追加測(cè)試用例---體現(xiàn)測(cè)試工程師的經(jīng)驗(yàn)和智慧