測(cè)試用例八大設(shè)計(jì)方法和實(shí)例_第1頁(yè)
測(cè)試用例八大設(shè)計(jì)方法和實(shí)例_第2頁(yè)
測(cè)試用例八大設(shè)計(jì)方法和實(shí)例_第3頁(yè)
測(cè)試用例八大設(shè)計(jì)方法和實(shí)例_第4頁(yè)
測(cè)試用例八大設(shè)計(jì)方法和實(shí)例_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、.測(cè)試用例設(shè)計(jì)方法1 等價(jià)類劃分1.1 理論知識(shí)等價(jià)類劃分是一種典型的黑盒測(cè)試方法。這一方法完全不考慮程序的內(nèi)部結(jié)構(gòu),只依據(jù)程序的規(guī)格說明來設(shè)計(jì)測(cè)試用例。 等價(jià)類是指某個(gè)輸入域的子集合。在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭示程序中的錯(cuò)誤都是等效的。等價(jià)類合理地假設(shè):某個(gè)等價(jià)類的代表值,與該等價(jià)類的其他值,對(duì)于測(cè)試來說是等價(jià)的。因此,可以把全部的輸入數(shù)據(jù)劃分成若干的等價(jià)類,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)來進(jìn)行測(cè)試。這樣就能以較少的具有代表性的數(shù)據(jù)進(jìn)行測(cè)試,而取得較好的測(cè)試效果。等價(jià)類劃分是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個(gè)子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測(cè)試用例.

2、該方法是一種重要的,常用的黑盒測(cè)試用例設(shè)計(jì)方法.1) 分類:劃分等價(jià)類: 等價(jià)類是指某個(gè)輸入域的子集合.在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的.并合理地假定:測(cè)試某等價(jià)類的代表值就等于對(duì)這一類其它值的測(cè)試.因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價(jià)類,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)作為測(cè)試的輸入條件,就可以用少量代表性的測(cè)試數(shù)據(jù).取得較好的測(cè)試結(jié)果.等價(jià)類劃分可有兩種不同的情況:有效等價(jià)類和無效等價(jià)類.有效等價(jià)類:是指對(duì)于程序的規(guī)格說明來說是合理的,有意義的輸入數(shù)據(jù)構(gòu)成的集合.利用有效等價(jià)類可檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能.無效等價(jià)類:與有效等價(jià)類的定義恰巧相反.

3、設(shè)計(jì)測(cè)試用例時(shí),要同時(shí)考慮這兩種等價(jià)類.因?yàn)?軟件不僅要能接收合理的數(shù)據(jù),也要能經(jīng)受意外的考驗(yàn).這樣的測(cè)試才能確保軟件具有更高的可靠性. 2)劃分等價(jià)類的方法:下面給出六條確定等價(jià)類的原則:在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下,則可以確立一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類.在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可確立一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類.在輸入條件是一個(gè)布爾量的情況下,可確定一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類.在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個(gè)),并且程序要對(duì)每一個(gè)輸入值分別處理的情況下,可確立n個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類.在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的

4、情況下,可確立一個(gè)有效等價(jià)類(符合規(guī)則)和若干個(gè)無效等價(jià)類(從不同角度違反規(guī)則).在確知已劃分的等價(jià)類中各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價(jià)類進(jìn)一步的劃分為更小的等價(jià)類.3)原則:設(shè)計(jì)測(cè)試用例:在確立了等價(jià)類后,可建立等價(jià)類表,列出所有劃分出的等價(jià)類:輸入條件 有效等價(jià)類 無效等價(jià)類. . . . . 然后從劃分出的等價(jià)類中按以下三個(gè)原則設(shè)計(jì)測(cè)試用例: 為每一個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào). 設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋尚未被覆蓋地有效等價(jià)類,重復(fù)這一步.直到所有的有效等價(jià)類都被覆蓋為止. 設(shè)計(jì)一個(gè)新的測(cè)試用例,使其僅覆蓋一個(gè)尚未被覆蓋的無效等價(jià)類,重復(fù)這一步.直到所有

5、的無效等價(jià)類都被覆蓋為止.之所以這么做,是因?yàn)槌绦蛑袑?duì)于某一個(gè)錯(cuò)誤輸入的檢查,往往會(huì)屏蔽對(duì)于其他錯(cuò)誤輸入的檢查。因此,必須針對(duì)每一個(gè)無效等價(jià)類分別設(shè)計(jì)測(cè)試用例1.2 實(shí)例1、保險(xiǎn)費(fèi)率計(jì)算 人 人 保 險(xiǎn) 公 司 承 擔(dān) 人 壽 保 險(xiǎn) 已 有 多 年 歷 史 , 該 公 司 保 費(fèi) 計(jì) 算 方 式 為 投 保 額 保 險(xiǎn) 率 , 保 險(xiǎn) 率 又 依 點(diǎn) 數(shù) 不 同 而 有 別 , 10 點(diǎn) 以 上 費(fèi) 率 為 0.6 % , 10 點(diǎn) 以 下 費(fèi) 率 為 0.1 % : 輸入數(shù)據(jù)說明年齡2039歲6點(diǎn)4059歲4點(diǎn)60歲以上20歲以下2點(diǎn)性別MALE5點(diǎn)FEMALE3點(diǎn)婚姻已婚3點(diǎn)未婚5點(diǎn)扶養(yǎng)

6、人數(shù)一 人 扣 0.5 點(diǎn) 最 多 扣 3 點(diǎn) ( 四 舍 五 入 取 整 數(shù) )一、分 析 輸 入 數(shù) 據(jù) 型 式 。 年 齡 : 一 或 兩 位 數(shù) 字 。 性 別 : 以 英 文 Male 、 Female 、 M 、 F 表 示 。 婚 姻 : 已 婚 、 未 婚 。 扶 養(yǎng) 人 數(shù) : 空 白 或 一 位 數(shù) 字 。 保 險(xiǎn) 費(fèi) 率 : 10 點(diǎn) 以 上 , 10 點(diǎn) 以 下 。 二、 劃 分 輸 入 數(shù) 據(jù) 1.年齡數(shù)字范圍199等價(jià)類2039歲4059歲60歲以上20歲以下2.性別類型英文字之集合等價(jià)類類型:英文字集合:Male、M集合:Female、F3.婚姻等價(jià)類已婚未婚4.

7、扶養(yǎng)人數(shù)選擇項(xiàng)扶養(yǎng)人數(shù)可以有,也可沒有范圍19等價(jià)類空白16人6人以上5.保險(xiǎn)費(fèi)率等價(jià)類10點(diǎn)以上10點(diǎn)以下三、 設(shè) 計(jì) 輸 入 數(shù) 據(jù) 。 有效等價(jià)類無效等價(jià)類無效等價(jià)類1.年齡20 39 任 選 一 個(gè)2.年齡40 59 任 選 一 個(gè)3.年齡60 歲 以 上 、 20 歲 以 下 任 選 一 個(gè)小 於 1 , 選 一 個(gè)大 於 99 , 選 一 個(gè)4.性別英 文 Male, M, F, Female 任 選 一 個(gè)非 英 文 字 如 男 5.性別英 文 Male, M 任 選 一 個(gè)非 Male, M, Female, F 之 任 意 字 元 , 如 Child 6.性別英 文 Fema

8、le, F 任 選 一 個(gè)非 Male, M, Female, F 之 任 意 字 符 , 如 Child 7.婚姻 已 婚 非 已 婚 或 未 婚 之 任 意 字 符 , 如 離 婚 8.婚姻 未 婚 非 已 婚 或 未 婚 之 任 意 字 符 , 如 離 婚 9.扶養(yǎng)人數(shù)空 白10.扶養(yǎng)人數(shù)1 6小 於 1 , 選 一 個(gè)11.扶養(yǎng)人數(shù)7 9大 於 9 , 選 一 個(gè)12.保險(xiǎn)費(fèi)率10 點(diǎn) 以 上 (0.6 %)13.保險(xiǎn)費(fèi)率10 點(diǎn) 以 下 (0.6 %)四、 根據(jù)以上分析設(shè)計(jì)測(cè)試用例: 用例編號(hào)年齡性別婚姻扶養(yǎng)人數(shù)保險(xiǎn)費(fèi)率備注1.27Female未婚空白0.6%有 效n 年 齡 : 2

9、0 39 歲 n 性 別 : 集 合 Female, F n 婚 姻 : 集 合 未 婚 n 扶 養(yǎng) 人 數(shù) : 空 白 n 保 險(xiǎn) 費(fèi) 率 : 0.6 %2.50Male已婚20.6%有 效n 年 齡 : 40 59 歲 n 性 別 : 集 合 Male, M n 婚 姻 : 集 合 已 婚 n 扶 養(yǎng) 人 數(shù) : 1 6人3.70F未婚70.1%有 效n 年 齡 : 60 歲 以 上 或 20 歲 以 下 n 性 別 : 集 合 Female, F n 婚 姻 : 集 合 未 婚 n 扶 養(yǎng) 人 數(shù) : 6 人 以 上4.0M已婚4無法推算年 齡 類 無 效 , 因 此 無 法 推 算 保

10、 險(xiǎn) 費(fèi) 率5.100Female未婚5無法推算年 齡 類 無 效 , 因 此 無 法 推 算 保 險(xiǎn) 費(fèi) 率6.1男已婚6無法推算性 別 類 無 效 , 因 此 無 法 推 算 保 險(xiǎn) 費(fèi) 率7.99Child未婚1無法推算性 別 類 無 效 , 因 此 無 法 推 算 保 險(xiǎn) 費(fèi) 率8.30Male離婚3無法推算婚 姻 類 無 效 , 因 此 無 法 推 算 保 險(xiǎn) 費(fèi) 率. 9.75Female未婚0無法推算扶 養(yǎng) 人 數(shù) 類 無 效 , 因 此 無 法 推 算 保 險(xiǎn) 費(fèi) 率10.17Male已婚10無法推算扶 養(yǎng) 人 數(shù) 類 無 效 , 因 此 無 法 推 算 保 險(xiǎn) 費(fèi) 率2 邊界

11、值分析法2.1 理論知識(shí)邊界值分析方法是對(duì)等價(jià)類劃分方法的補(bǔ)充,也是一種黑盒測(cè)試方法,適度等價(jià)類分析方法的一種補(bǔ)充,由長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)得知,大量的錯(cuò)誤是發(fā)生在輸入或輸出的邊界上。因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤。(1)邊界值分析方法的考慮:長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)告訴我們,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤.使用邊界值分析方法設(shè)計(jì)測(cè)試用例,首先應(yīng)確定邊界情況.通常輸入和輸出等價(jià)類的邊界,就是應(yīng)著重測(cè)試的邊界情況.應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測(cè)試數(shù)據(jù),而不是選取等價(jià)類中

12、的典型值或任意值作為測(cè)試數(shù)據(jù).(2)基于邊界值分析方法選擇測(cè)試用例的原則:1)如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界的值,以及剛剛超越這個(gè)范圍邊界的值作為測(cè)試輸入數(shù)據(jù).2)如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù),最小個(gè)數(shù),比最小個(gè)數(shù)少一,比最大個(gè)數(shù)多一的數(shù)作為測(cè)試數(shù)據(jù).3)根據(jù)規(guī)格說明的每個(gè)輸出條件,使用前面的原則1).4)根據(jù)規(guī)格說明的每個(gè)輸出條件,應(yīng)用前面的原則2).5)如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例.6)如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例.7)分析規(guī)格

13、說明,找出其它可能的邊界條件.2.2 實(shí)例找零錢最佳組合假 設(shè) 商 店 貨 品 價(jià) 格 (R) 皆 不 大 于 100 元 ( 且 為 整 數(shù) ) , 若 顧 客 付 款 在 100 元 內(nèi) (P) , 求 找 給 顧 客 之 最 少 貨幣 個(gè)(張) 數(shù) ? ( 貨 幣 面 值 50 元 (N50) , 10 元 (N10) , 5 元 (N5) , 1 元 (N1) 四 種 )一、 分 析 輸 入 的 情 形 。R > 1000 < R < = 100R <= 0P > 100R<= P <= 100P < R二、 分 析 輸 出 情 形 。N

14、50 = 1N50 = 04 > N10 >= 1N10 = 0N5 = 1N5 = 04 > N1 >= 1N1 = 0三、 分 析 規(guī) 格 中 每 一 決 策 點(diǎn) 之 情 形 , 以 RR1, RR2, RR3 表 示 計(jì) 算 要 找 50, 10, 5 元 貨 幣 數(shù) 時(shí) 之 剩 余 金 額 。 R > 100R <= 0P > 100P < RRR1 >= 50RR2 >= 10RR3 >= 5四、 由 上 述 之 輸 入 輸 出 條 件 組 合 出 可 能 的 情 形 。R > 100R <= 00 <

15、; R <= 100, P > 1000 < R <= 100, P < R0 < R <= 100, R <= P <= 100, RR = 500 < R <= 100, R <= P <= 100, RR = 490 < R <= 100, R <= P <= 100, RR = 100 < R <= 100, R <= P <= 100, RR = 90 < R <= 100, R <= P <= 100, RR = 50 < R

16、<= 100, R <= P <= 100, RR = 40 < R <= 100, R <= P <= 100, RR = 10 < R <= 100, R <= P <= 100, RR = 0五、 為 滿 足 以 上 之 各 種 情 形 , 測(cè) 試 資 料 設(shè) 計(jì) 如 下 :1. 貨品價(jià)格 = 1012. 貨品價(jià)格 = 03.貨品價(jià)格 = -14. 貨品價(jià)格 = 100, 付款金額 = 1015. 貨品價(jià)格 = 100, 付款金額 = 996. 貨品價(jià)格 = 50, 付款金額 = 1007. 貨品價(jià)格 = 51, 付款金額

17、 = 1008. 貨品價(jià)格 = 90, 付款金額 = 1009. 貨品價(jià)格 = 91, 付款金額 = 10010. 貨品價(jià)格 = 95, 付款金額 = 10011. 貨品價(jià)格 = 96, 付款金額 = 10012. 貨品價(jià)格 = 99, 付款金額 = 10013. 貨品價(jià)格 = 100, 付款金額 = 1003 錯(cuò)誤推測(cè)法1、定義:基于經(jīng)驗(yàn)和直覺推測(cè)程序中所有可能存在的各種錯(cuò)誤, 從而有針對(duì)性的設(shè)計(jì)測(cè)試用例的方法.2、錯(cuò)誤推測(cè)方法的基本思想:列舉出程序中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,根據(jù)他們選擇測(cè)試用例。1)      例

18、如, 輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況;輸入表格為空格或輸入表格只有一行。 這些都是容易發(fā)生錯(cuò)誤的情況。可選擇這些情況下的例子作為測(cè)試用例。2)      例如,前面例子中成績(jī)報(bào)告的程序,采用錯(cuò)誤推測(cè)法還可補(bǔ)充設(shè)計(jì)一些測(cè)試用例:I.          程序是否把空格作為回答II.       在回答記錄中混有標(biāo)準(zhǔn)答案記錄III.     除了標(biāo)題記錄外

19、,還有一些的記錄最后一個(gè)字符即不是2也不是3IV.     有兩個(gè)學(xué)生的學(xué)號(hào)相同V.        試題數(shù)是負(fù)數(shù)。 3)    再如,測(cè)試一個(gè)對(duì)線性表(比如數(shù)組)進(jìn)行排序的程序,可推測(cè)列出以下幾項(xiàng)需要特別測(cè)試的情況:I.          輸入的線性表為空表;II.       表中只含有一個(gè)元素;III.&

20、#160;    輸入表中所有元素已排好序;IV.     輸入表已按逆序排好;V.        輸入表中部分或全部元素相同。4 因果圖方法4.1 理論知識(shí)前面介紹的等價(jià)類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系, 相互組合等. 考慮輸入條件之間的相互組合,可能會(huì)產(chǎn)生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價(jià)類,他們之間的組合情況也相當(dāng)多. 因此必須考慮采用一種適合于描述對(duì)于

21、多種條件的組合,相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來考慮設(shè)計(jì)測(cè)試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成的就是判定表. 它適合于檢查程序輸入條件的各種組合情況. 利用因果圖生成測(cè)試用例的基本步驟: (1) 分析軟件規(guī)格說明描述中, 那些是原因(即輸入條件或輸入條件的等價(jià)類),那些是結(jié)果(即輸出條件), 并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符. (2) 分析軟件規(guī)格說明描述中的語(yǔ)義.找出原因與結(jié)果之間, 原因與原因之間對(duì)應(yīng)的關(guān)系. 根據(jù)這些關(guān)系,畫出因果圖.(3) 由于語(yǔ)法或環(huán)境限制, 有些原因與原因之間,原因與結(jié)果之間的組合情況不不可能出現(xiàn). 為表明這些特殊情況, 在因果圖上用一些記號(hào)表明約

22、束或限制條件.(4) 把因果圖轉(zhuǎn)換為判定表.(5) 把判定表的每一列拿出來作為依據(jù),設(shè)計(jì)測(cè)試用例.從因果圖生成的測(cè)試用例(局部,組合關(guān)系下的)包括了所有輸入數(shù)據(jù)的取TRUE與取FALSE的情況,構(gòu)成的測(cè)試用例數(shù)目達(dá)到最少,且測(cè)試用例數(shù)目隨輸入數(shù)據(jù)數(shù)目的增加而線性地增加.前面因果圖方法中已經(jīng)用到了判定表.判定表(Decision Table)是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的情況下的工具.在程序設(shè)計(jì)發(fā)展的初期,判定表就已被當(dāng)作編寫程序的輔助工具了.由于它可以把復(fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)得既具體又明確.判定表通常由四個(gè)部分組成.條件樁(Condition Stub):列出了問題得所

23、有條件.通常認(rèn)為列出得條件的次序無關(guān)緊要.動(dòng)作樁(Action Stub):列出了問題規(guī)定可能采取的操作.這些操作的排列順序沒有約束.條件項(xiàng)(Condition Entry):列出針對(duì)它左列條件的取值.在所有可能情況下的真假值.動(dòng)作項(xiàng)(Action Entry):列出在條件項(xiàng)的各種取值情況下應(yīng)該采取的動(dòng)作.規(guī)則:任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作.在判定表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則.顯然,判定表中列出多少組條件取值,也就有多少條規(guī)則,既條件項(xiàng)和動(dòng)作項(xiàng)有多少列.判定表的建立步驟:(根據(jù)軟件規(guī)格說明) 確定規(guī)則的個(gè)數(shù).假如有n個(gè)條件.每個(gè)條件有兩個(gè)取值(0,1),故有 種規(guī)

24、則. 列出所有的條件樁和動(dòng)作樁. 填入條件項(xiàng). 填入動(dòng)作項(xiàng).等到初始判定表. 簡(jiǎn)化.合并相似規(guī)則(相同動(dòng)作).B. Beizer 指出了適合使用判定表設(shè)計(jì)測(cè)試用例的條件:規(guī)格說明以判定表形式給出,或很容易轉(zhuǎn)換成判定表.條件的排列順序不會(huì)也不影響執(zhí)行哪些操作.規(guī)則的排列順序不會(huì)也不影響執(zhí)行哪些操作.每當(dāng)某一規(guī)則的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗(yàn)別的規(guī)則.如果某一規(guī)則得到滿足要執(zhí)行多個(gè)操作,這些操作的執(zhí)行順序無關(guān)緊要.4.2 符號(hào)4.3 實(shí)例4.3.1 實(shí)例一某軟件規(guī)格說明中包含這樣的要求: 第一列字符必須是A或B,第二列字符必須是一個(gè)數(shù)字,在此情況下進(jìn)行文件的修改。但如果第

25、一列字符不正確,則給出信息L;如果第二列字符不是數(shù)字,則給出信息M。分開原因和結(jié)果 原因:1-第一列字符是A;2-第一列字符是B;3-第二列字符是一數(shù)字。結(jié)果:21-修改文件;22-給出信息L;23-給出信息M。4.3.2 實(shí)例二此例子是講解利用因果圖設(shè)計(jì)測(cè)試用例的一個(gè)小例子。以中國(guó)象棋中走馬的測(cè)試用例設(shè)計(jì)為例學(xué)習(xí)因果圖的使用方法。一、 分析中國(guó)象棋中走馬的實(shí)際情況(下面未注明的均指的是對(duì)馬的說明)1、如果落點(diǎn)在棋盤外,則不移動(dòng)棋子;2、如果落點(diǎn)與起點(diǎn)不構(gòu)成日字型,則不移動(dòng)棋子;3、如果落點(diǎn)處有自己方棋子,則不移動(dòng)棋子;4、如果在落點(diǎn)方向的鄰近交叉點(diǎn)有棋子(絆馬腿),則不移動(dòng)棋子;5

26、、如果不屬于1-4條,且落點(diǎn)處無棋子,則移動(dòng)棋子;6、如果不屬于1-4條,且落點(diǎn)處為對(duì)方棋子(非老將),則移動(dòng)棋子并除去對(duì)方棋子;7如果不屬于1-4條,且落點(diǎn)處為對(duì)方老將,則移動(dòng)棋子,并提示戰(zhàn)勝對(duì)方,游戲結(jié)束。二、 根據(jù)分析明確原因和結(jié)果原因:1、 落點(diǎn)在棋盤上;2、 落點(diǎn)與起點(diǎn)構(gòu)成日字;3、 落點(diǎn)處為自己方棋子;4、 落點(diǎn)方向的鄰近交叉點(diǎn)無棋子;5、 落點(diǎn)處無棋子;6、 落點(diǎn)處為對(duì)方棋子(非老將);7、 落點(diǎn)處為對(duì)方老將。結(jié)果:21、不移動(dòng)棋子;22、移動(dòng)棋子;23、移動(dòng)棋子,并除去對(duì)方棋子;24、移動(dòng)棋子,并提示戰(zhàn)勝對(duì)方,結(jié)束游戲。添加中間節(jié)點(diǎn)11,目的是作為導(dǎo)出結(jié)果的進(jìn)一步原因,簡(jiǎn)化因果

27、圖導(dǎo)出的判定表考慮結(jié)果不能同時(shí)發(fā)生,所以對(duì)其施加唯一約束O。原因5、6、7不能同時(shí)發(fā)生,所以對(duì)其施加異約束E.三、 根據(jù)因果圖建立判定表:(分為兩表)12345678910111213141516原因10101010101010101200110011001100113000011110000111140000000011111111結(jié)果110000000100000000211111111011111111用例1234567890111213141516原因11010101010101010150011001100110011600001111000011117000000001111111

28、1結(jié)果220010000230000100240000001用例注:1、以上判定表中由于表格大小限制沒有列出最后所選的測(cè)試用例;2、第2表中部分列被合并表示不可能發(fā)生的現(xiàn)象;3、通過中間節(jié)點(diǎn)將用例的判定表簡(jiǎn)化為兩個(gè)小表。減少工作量。四、根據(jù)判定表寫測(cè)試用例表(略)5 路徑覆蓋 熟悉測(cè)試?yán)碚摰娜硕贾?,路徑覆蓋是白盒測(cè)試中一種很重要的方法,廣泛應(yīng)用于單元測(cè)試。那么基于路徑覆蓋的分析方法是不是只能應(yīng)用于單元測(cè)試呢,能不能將其推而廣之呢。一般而言,在單元測(cè)試中,路徑就是指函數(shù)代碼的某個(gè)分支,而實(shí)際上如果我們將軟件系統(tǒng)的某個(gè)流程也看成路徑的話,我們將可以嘗試著用路徑分析的方法來設(shè)計(jì)測(cè)試用例。采用路徑分

29、析的方法設(shè)計(jì)測(cè)試用例有兩點(diǎn)好處:一是降低了測(cè)試用例設(shè)計(jì)的難度,只要搞清了各種流程,就可以設(shè)計(jì)出高質(zhì)量的測(cè)試用例來,而不用太多測(cè)試方面的經(jīng)驗(yàn);二是在測(cè)試時(shí)間較緊的情況下,可以有的放矢的選擇測(cè)試用例,而不用完全根據(jù)經(jīng)驗(yàn)來取舍。下面就具體的介紹一下如何用路徑分析的方法編寫測(cè)試用例。    首先是將系統(tǒng)運(yùn)行過程中所涉及到的各種流程圖表化,可以先從最基本的流程入手,將流程抽象成為不同功能的順序執(zhí)行。在最基本流程的基礎(chǔ)上再去考慮次要或者異常的流程,這樣將各種流程逐漸細(xì)化,這樣既可以逐漸加深對(duì)流程的理解,還可以將各個(gè)看似孤立的流程關(guān)聯(lián)起來。完成所有流程的圖表化后就完成了所有路徑的設(shè)定。&

30、#160;   找出了所有的路徑,下面的工作就是給每條路徑設(shè)定優(yōu)先級(jí),這樣在測(cè)試時(shí)就可以先測(cè)優(yōu)先級(jí)高的,再測(cè)優(yōu)先級(jí)低的,在時(shí)間緊迫的情況下甚至可以考慮忽略一些低優(yōu)先級(jí)的路徑。優(yōu)先級(jí)根據(jù)兩個(gè)原則來選?。阂皇锹窂绞褂玫念l率,使用越頻繁的優(yōu)先級(jí)越高;二是路徑的重要程度,如果失敗對(duì)系統(tǒng)影響越大的優(yōu)先級(jí)越高。將根據(jù)兩個(gè)原則所分別得到的優(yōu)先級(jí)相加就得到了整個(gè)路徑的優(yōu)先級(jí)。根據(jù)優(yōu)先級(jí)的排序就可以更有針對(duì)性的進(jìn)行測(cè)試。    為每條路徑設(shè)定好優(yōu)先級(jí)后,接下來的工作就是為每條路徑選取測(cè)試數(shù)據(jù),構(gòu)造測(cè)試用例。一條路徑可以對(duì)應(yīng)多個(gè)測(cè)試用例,在選取測(cè)試數(shù)據(jù)時(shí),可以充分利用邊界值選取等方法

31、,通過表格將各種測(cè)試數(shù)據(jù)的輸入輸出對(duì)應(yīng)起來,這樣就完成了測(cè)試用例的設(shè)計(jì)。    對(duì)于測(cè)試人員而言,測(cè)試用例的設(shè)計(jì)是一件非常困難的工作,而同時(shí)測(cè)試用例的設(shè)計(jì)好壞又直接關(guān)系到整個(gè)系統(tǒng)的設(shè)計(jì)質(zhì)量。本文介紹了一種更理論化的設(shè)計(jì)方法來盡量簡(jiǎn)化這種工作,將一般應(yīng)用于單元測(cè)試的路徑分析方法推廣到集成測(cè)試、系統(tǒng)測(cè)試等后續(xù)測(cè)試過程中,希望能給大家一點(diǎn)啟示。6 功能圖功能圖方法是一種黑盒、白盒混合用例設(shè)計(jì)方法,是功能圖FD形式化地表示程序的功能說明,并機(jī)器地生成功能圖的測(cè)試用例。功能圖模型由狀態(tài)遷移圖和邏輯功能模型構(gòu)成。狀態(tài)遷移圖用于表示輸入數(shù)據(jù)序列以及相應(yīng)的輸出數(shù)據(jù)。在狀態(tài)遷移圖中,由輸入數(shù)

32、據(jù)和當(dāng)前狀態(tài)決定輸出數(shù)據(jù)和后續(xù)狀態(tài)。邏輯功能模型用于表示在狀態(tài)輸入條件和輸出條件之間的對(duì)應(yīng)關(guān)系。邏輯功能模型只適合于描述靜態(tài)說明,輸出數(shù)據(jù)僅由輸入數(shù)據(jù)決定。測(cè)試用例則由測(cè)試中的一系列狀態(tài)和在每個(gè)狀態(tài)中必須依靠輸入/輸出數(shù)據(jù)滿足的一對(duì)條件組成。(1)功能圖:功能圖由狀態(tài)遷移圖和布爾函數(shù)組成。狀態(tài)遷移圖用狀態(tài)和遷移來描述。一個(gè)狀態(tài)指出數(shù)據(jù)輸入的位置(或時(shí)間),而遷移則指明狀態(tài)的改變,同時(shí)要依靠判定表或是因果圖表示的邏輯功能。例如,一個(gè)簡(jiǎn)化的自動(dòng)出納ATM機(jī)的功能圖。(2)測(cè)試用例生成方法:從功能圖生成測(cè)試用例,得到的測(cè)試用例數(shù)是可以接受的。問題的關(guān)鍵是如何從狀態(tài)遷移圖中選取測(cè)試用例。若用節(jié)點(diǎn)代替狀

33、態(tài),用弧線代替遷移,則狀態(tài)遷移圖就可轉(zhuǎn)化成一個(gè)程序的控制流程圖形式。問題就轉(zhuǎn)化為程序的路徑測(cè)試問題了。(3)測(cè)試用例生成規(guī)則: 為了把狀態(tài)遷移的測(cè)試用例與邏輯模型的測(cè)試用例相組合起來,從功能圖生成生成實(shí)用的測(cè)試用例,需定義下面的規(guī)則。在一個(gè)結(jié)構(gòu)化的遷移(SST)中,定義三種形式的循環(huán):順序、選擇和重復(fù)。但分辨一個(gè)狀態(tài)遷移中的所有循環(huán)是有困難的。(4)從功能圖生成測(cè)試用例的過程。A、生成局部測(cè)試用例:在每個(gè)狀態(tài)中,從因果圖生成局部測(cè)試用例。局部測(cè)試用例由原因值(輸入數(shù)據(jù))組合與對(duì)應(yīng)的結(jié)果值(輸出數(shù)據(jù)或狀態(tài))構(gòu)成。B、測(cè)試路徑生成:利用上面的規(guī)則(3種)生成從初始狀態(tài)到最后狀態(tài)的測(cè)試路徑。C、測(cè)試

34、用例合成: 合成測(cè)試路徑與功能圖中每個(gè)狀態(tài)的局部測(cè)試用例。結(jié)果是初始狀態(tài)到最后狀態(tài)的一個(gè)狀態(tài)序列,以及每個(gè)狀態(tài)中輸入數(shù)據(jù)與對(duì)應(yīng)輸出數(shù)據(jù)的組合。D、測(cè)試用例的合成算法:采用合成構(gòu)造樹。7 正交試驗(yàn)設(shè)計(jì)法 7.1 理論知識(shí)1、什么是因素(Factor在一項(xiàng)試驗(yàn)中,凡欲考察的變量稱為因素(變量)2、什么是水平(位級(jí)Level在試驗(yàn)范圍內(nèi),因素被考察的值稱為水平(變量的取值)3、什么是正交試驗(yàn)設(shè)計(jì)是研究多因素多水平的一種設(shè)計(jì)方法,它是根據(jù)正交性從全面試驗(yàn)中挑選出部分有代表性的點(diǎn)進(jìn)行試驗(yàn),這些有代表性的點(diǎn)具備了均勻分散,齊整可比的特點(diǎn),正交試驗(yàn)設(shè)計(jì)是一種基于正交表的、高效率、快速、經(jīng)濟(jì)的試驗(yàn)設(shè)計(jì)方法4、

35、正交表的構(gòu)成 正交表的構(gòu)成行數(shù)(Runs):正交表中的行的個(gè)數(shù),即試驗(yàn)的次數(shù)因素?cái)?shù)(Factors):正交表中列的個(gè)數(shù)。水平數(shù):任何單個(gè)因素能夠取得的值的最大個(gè)數(shù)。正交表中的包含的值為從最大個(gè)數(shù)。正交表中的包含的值為從0到數(shù) 到數(shù)“水平 水平數(shù)-1”或從 或從1到“水平數(shù) 水平數(shù)”。正交表的表示形式: L行數(shù) (水平數(shù)因素?cái)?shù))正交表的正交性整齊可比性在同一張正交表中,每個(gè)因素的每個(gè)水平出現(xiàn)次數(shù)是完全相同的。由于在試驗(yàn)中每個(gè)因素的每個(gè)水平與其它因素的每個(gè)水平參與試驗(yàn)的機(jī)率是完全相同的,這就保證在各個(gè)水平中最大程度的排除了其它因素水平的干擾。因而,能最有效地進(jìn)行比較和作出展望,容易找到好的試驗(yàn)條件

36、進(jìn)行。均衡分散性在同一張正交表中,任意兩列(兩個(gè)因素)的水平搭配(橫向形成的數(shù)字對(duì))是完全相同的。這樣就保證了試驗(yàn)條件均衡地分散在因素水平的完全組合之中,因而具有很強(qiáng)的代表性,容易得到好的試驗(yàn)條件。三、用正交表設(shè)計(jì)測(cè)試用例 用正交表設(shè)計(jì)測(cè)試用例的步驟 1 有哪些因素(變量) 2 每個(gè)因素有哪幾個(gè)水平(變量的取值) 3 選擇一個(gè)合適的正交表 4 把變量的值映射到表中 5 把每一行的各因素水平的組合做為一個(gè)測(cè)試用例 6 加上你認(rèn)為可疑且沒有在表中出現(xiàn)的組 如何選擇正交表 考慮因素(變量)的個(gè)數(shù) 考慮因素水平(變量的取值)的個(gè)數(shù) 考慮正交表的行數(shù) 取行數(shù)最少的一個(gè) 設(shè)計(jì)測(cè)試用例時(shí)的三種情況 1 因素

37、數(shù)(變量)、水平數(shù)(變量值)相符2 因素?cái)?shù)不相同 3 水平數(shù)不相同 因素?cái)?shù)、水平數(shù)相符 因素?cái)?shù)、水平數(shù)相符 水平數(shù)(變量的取值)相同、因素?cái)?shù)(變量)剛好符合正交表。7.2 實(shí)例一、對(duì)某人進(jìn)行查詢 1、假設(shè)查詢某個(gè)人時(shí)有三個(gè)查詢條件:根據(jù)“姓名”進(jìn)行查詢根據(jù)“身份證號(hào)碼”查詢根據(jù)“手機(jī)號(hào)碼”查詢考慮查詢條件要么不填寫,要么填寫,此時(shí)可用正交表進(jìn)行設(shè)計(jì) 2、因素?cái)?shù)和水平數(shù)有三個(gè)因素: 姓名、身份證號(hào)、手機(jī)號(hào)碼 每個(gè)因素有兩個(gè)水平 姓名:填、不填 身份證號(hào):填、不填 手機(jī)號(hào)碼:填、不填3、選擇正交表表中的因素?cái)?shù)3表中至少有三個(gè)因素的水平數(shù)2行數(shù)取最少的一個(gè)結(jié)果: 4、變量映射姓名:0.填寫,1.不填

38、寫身份證號(hào):0.填寫,1.不填寫手機(jī)號(hào)碼:0.填寫,1.不填寫5、用L4(23) 設(shè)計(jì)的測(cè)試用例測(cè)試用例如下:1:填寫姓名、填寫身份證號(hào)、填寫手機(jī)號(hào)2:填寫姓名、不填身份證號(hào)、不填手機(jī)號(hào)3:不填姓名、填寫身份證號(hào)、不填手機(jī)號(hào)4:不填姓名、不填身份證號(hào)、填寫手機(jī)號(hào)增補(bǔ)測(cè)試用例5:不填姓名、不填身份證號(hào)、不填手機(jī)號(hào)測(cè)試用例減少數(shù):8 56、因素?cái)?shù)不相同水平數(shù)(變量的取值)相同但在正交表中找不到相同的因素?cái)?shù)(變量)(取因素?cái)?shù) (取因素?cái)?shù)最接近但略大的實(shí)際值的表)8 場(chǎng)景設(shè)計(jì)方法8.1 理論知識(shí):現(xiàn)在的軟件幾乎都是用事件觸發(fā)來控制流程的,事件觸發(fā)時(shí)的情景便形成了場(chǎng)景,而同一事件不同的觸發(fā)順序和處理結(jié)果就形成事件流。這種在軟件設(shè)計(jì)方面的思想也可以引入到軟件測(cè)試中,可以比較生動(dòng)地描繪出事件觸發(fā)時(shí)的情景,有利于測(cè)試設(shè)計(jì)者設(shè)計(jì)測(cè)試用例,同時(shí)使測(cè)試用例更容易理解和執(zhí)行?;玖骱蛡溥x流:如下圖所示,圖中經(jīng)過用例的每條路徑都用基本流和備選流來表示,直黑線表示基本流,是經(jīng)過用例的最簡(jiǎn)單的路徑。備選流用不同的色彩表示,一個(gè)備選流可能從基本流開始,在某個(gè)特定條件下執(zhí)行,然后重新加入基本流中(如備選流1和3);也可能起源于另一個(gè)備選流(如備選流2),或者終止用例而不再重新

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論