習題1
為以下流程圖所示的程式段設計一組測試用例,要求分别滿足語句覆寫、判定覆寫、條件覆寫、判定/條件覆寫、組合覆寫和路徑覆寫。
語句覆寫
原則覆寫程式中所有可執行的語句
設計的測試用例如下
編号 | 輸入項 | 執行語句 |
---|---|---|
① | {x=17,y=6} | 執行語句3 |
② | {x=1,y=-1} | 執行語句2 |
③ | {x=-1.y=-1} | 執行語句1 |
判定覆寫
覆寫所有的路徑
覆寫的分支 | ||
---|---|---|
{x=9,y=11} | b->f | |
{x=15,y=9} | y->e | |
{x=7,y=-1} | a->d | |
④ | {x=-1,y=-1} | a->c |
條件覆寫
判定的每個條件的可能值至少滿足一次
對取值進行标記
判定 | 條件 | 取值标記 (true) | 取值标記(false) |
---|---|---|---|
x>8 and y>5 | x > 8 | T1 | -T1 |
y>5 | T2 | -T2 | |
x>16 or y > 10 | x > 16 | T3 | -T3 |
y > 10 | T4 | -T4 | |
x > 0 or y > 0 | x > 0 | T5 | -T5 |
y > 0 | T6 | -T6 |
産生測試用例
原則 對産生的的判定中的每個原則都要滿足
測試用例 | 執行路徑 | 覆寫條件 | 覆寫分支 |
---|---|---|---|
{x=17, y=11} | T1 T2 T3 T4 | b分支 f分支 | |
{x=15, y=6} | b->e | T1 T2 -T3 -T4 | b分支 e分支 |
{x=7,y=4} | -T1 -T2 T5 T6 | a分支 d分支 | |
{x=-1, y=-1} | -T1 -T2 -T5 -T6 | a分支 c分支 |
判定條件覆寫
将判定覆寫和條件覆寫結合,使得判定中的每個條件的所有取值至少滿足一次。同時每個判定的結果至少出現一次。将判定覆寫和條件覆寫相結合
結果如下;
組合覆寫
每一個判定的所有可能的條件取值的組合
取值标記
取分支
序号 | 取的分支 | |
---|---|---|
T1 T2 | 第一個分支取真 | |
T1 -T2 | 第一個分支取假 | |
-T1 T2 | ||
-T1 -T2 | ||
⑤ | T3 T4 | 第二個分支取真 |
⑥ | T3 -T4 | |
⑦ | -T3 T4 | |
⑧ | -T3 -T4 | 第二個分支取假 |
⑨ | T5 T6 | 第三個分支取真 |
⑩ | T5 -T6 | |
十一 | -T5 T6 | |
十二 | -T5 -T6 | 第三個分支取假 |
生成測試用例
覆寫組合号 | 覆寫的路徑 | |
---|---|---|
{x=17,y=11} | 1 and 5 | |
{x=17,y=9} | 1 and 6 | b -> f |
{x=15,y=11} | 1 and 7 | |
{x=9,y=6} | 1 and 8 | b -> e |
{x=9, y =4} | 2 and 9 | a -> d |
{x=7, y=-1} | 3 and 10 | |
4 and 11 | ||
{x=-1, y =-1} | 4 and 12 | a -> c |
路徑覆寫
要求路徑全部覆寫
習題2
某城市電話号碼由三部分組成,分别是:
地區碼—— 空白或三位數字;
前 綴—— 非‘0’或‘1’開頭的三位數字;
後 綴—— 4位數字。
假定被測程式能接受一切符合上述規定的電話号碼, 拒絕所有不符合規定的電話号碼。
請選擇适當的黑盒測試方法,寫出選擇該方法的原因,并使用該方法的步驟,給出測試用例表。
選用的測試
準備選擇場景發進行測試,理由如下
- 該軟體是采用事件觸發用來控制流程
- 使用場景法較為簡單
- 該軟體邏輯清晰,備選分支不是很多
繪制場景圖
編寫測試用例
地區碼測試
輸入 | 說明 | |
---|---|---|
1 | 空 | 對應輸入地區碼為空 |
2 | 000 | 對應數字輸入3位數字地區碼 |
3 | www | 對應輸入非數字地區碼 |
字首測試
222 | 非0 1 開頭的三位數字 | |
022 | 0開頭三位數字 | |
122 | 1開頭三位數字 | |
4 | 0開頭非三位數字 | |
5 | 1開頭的非三位數字 | |
6 | 1w | 1開頭非數字内容 |
7 | 0w | 0開頭非數字内容 |
8 | 34324 | 非0 1 開頭的非三位數字 |
9 | w | 非0 1 開頭的非數字 |
字尾測試
4位字尾數字 | ||
非4位數字 | ||
空 | 非數字内容 |
www.iming.info