24
ブラックボックステストの技法

ブラックボックステスト技法

Embed Size (px)

Citation preview

Page 1: ブラックボックステスト技法

ブラックボックステストの技法

Page 2: ブラックボックステスト技法

自己紹介• 名前

• 橘田隼一• TwitterID

• hayabusa333

• 興味があること• カーネルとかGCとか

• 現在のお仕事• ウェッブプログラマー

• 信仰• Joel教翔鶴瑞鶴仲良し姉妹同盟

Page 3: ブラックボックステスト技法

テストとはなにか• IEEE 標準規格 620.12-1990 の定義

「ある特定の条件化でシステムまたはコンポーネントを操作するプロセスであり、その結果を観察または記録して、システムまたはコンポーネントのある側面を評価すること」

Page 4: ブラックボックステスト技法

テストケースの三元素• 入力

• キーボード、インターフェース、ファイル、DB

• 出力• 画面、外部機器、ファイル、DB

• 実行の順番• 順次実行のケース、独立なテストケース

Page 5: ブラックボックステスト技法

ブラックボックステストの定義

• ブラックボックステストは、要件と仕様書だけをもとにテストの作成を行う

• ホワイトボックステストとは違い、ソフトウェアの内部パスや構造や実装に関する知識を必要としない

Page 6: ブラックボックステスト技法

技法の種類• 同値クラステスト

• 境界値テスト

• デシジョンテーブルテスト

• ペア構成テスト

• 状態遷移テスト

• ドメイン分析テスト

Page 7: ブラックボックステスト技法

同値クラステスト• 同値テストは入力に対して、有効値と無効値の最低

1つを選出してテストを行う

• 同値テストにて組み合わせテストを行う場合には、1つの入力項目のエラーが別の項目のエラーを覆い隠さないように、1つのテストケースに対して無効値は1つとする

Page 8: ブラックボックステスト技法

同値クラステスト有効値と無効値の最低1つを選出するため、下記では有効値として5無効値として10を選出する

Page 9: ブラックボックステスト技法

同値クラステスト3~8以外の数値や文字入力が無効値であるが、何の入力があるかはわからない

Page 10: ブラックボックステスト技法

境界値テスト• 境界値テストは入力の境界の値に注目するテスト

• 境界の周辺には欠陥が潜んでいる可能性が高いため

• テストは境界上の値、境界のすぐ下の値、境界のすぐ上の値を1点ずつ選んでテストケースを作成する

Page 11: ブラックボックステスト技法

境界値テスト境界値テストでは、境界値のすぐ近くのテストを行うため、下記の図では2・3・8・9のテストを行う

Page 12: ブラックボックステスト技法

デシジョンテーブルテスト• 複雑なビジネスルールを記載し、テストケースを作成する指針となる

• 条件、アクション、ルールによって期待される結果をテーブルとして表したものである

• 各ルールに対してテストケースを少なくとも1つ作成する必要がある

Page 13: ブラックボックステスト技法

デシジョンテーブルテストルール1 ルール2 ルール3 ルール4

条件

条件1 Yes Yes No No

条件2 Yes NO Yes No

アクション

アクション1 Xをする Yをする Xをする Zをする

アクション2 Aをする Bをする Bをする Bをする

Page 14: ブラックボックステスト技法

デシジョンテーブルテストルール1 ルール2 ルール3 ルール4

条件

18歳か? Yes Yes No No

普通免許を持っているか?

Yes NO Yes No

アクション

運転 可能 不可能 不可能 不可能

Page 15: ブラックボックステスト技法

ペア構成テスト• 直行表を作成し、直行表に各変数を記載しテストケースを作成する。

• テストケースの変数はペアを構成し、変数の数が足りない場合でも、何かしらの値を記載しペアを作成することによってテストケースを作成を行う

Page 16: ブラックボックステスト技法

ペア構成テストOS ブラウザ サーバ

Windows 7 IE10 Linux

Windows 7 IE11 Linux

Windows 7 Chrome Linux

Windows 8 IE10 Linux

Windows 8 IE11 Linux

Windows 8 Chrome Linux

Page 17: ブラックボックステスト技法

状態遷移テスト• 状態遷移図は、テストすべき状態、イベント、アクション、遷移を明確にしてくれる

• 状態遷移図は理解しやすいが体系的な分析はできないため状態遷移表の作成などを行うべきである

• 状態遷移図をテストとして使う場合は、すべての遷移を少なくとも1回は通るようにテストを作成する

Page 18: ブラックボックステスト技法

状態遷移表現在の状態 イベント アクション 次の状態

なし 入力 買い物 確認

なし 確認 ー なし

なし タイムアウト ー タイムアウト

確認 入力 ー 確認

確認 確認 ー 確認

確認 タイムアウト ー タイムアウト

タイムアウト 入力 ー タイムアウト

タイムアウト 確認 ー タイムアウト

タイムアウト タイムアウト ー タイムアウト

Page 19: ブラックボックステスト技法

状態遷移表現在の状態 イベント アクション 次の状態

なし 入力 買い物 確認

なし 確認 ー なし

なし タイムアウト ー タイムアウト

確認 入力 ー 確認

確認 確認 ー 確認

確認 タイムアウト ー タイムアウト

タイムアウト 入力 ー タイムアウト

タイムアウト 確認 ー タイムアウト

タイムアウト タイムアウト ー タイムアウト

全ての遷移を1回は通るテストを行う

Page 20: ブラックボックステスト技法

ドメイン分析テスト• ドメイン分析は、同値クラステストや境界値テストを多次元に拡張して一般化したものである

• ドメイン分析では各種の用語を使いケースを分類する• Onポイント:境界上の値• Offポイント:境界に隣接する値• Inポイント:全ての境界条件を満たすが境界上ではない• Outポイント:いずれの境界条件ではない値

Page 21: ブラックボックステスト技法

ドメイン分析テスト

Page 22: ブラックボックステスト技法

ドメイン分析テスト条件 テストケース

結果

Page 23: ブラックボックステスト技法

まとめ• 技法は、ただの道具である

• 道具を知ることによってより良いテストを行えるようになる

• 道具を使って良きプロセスを育てよう

Page 24: ブラックボックステスト技法

参考文献

• はじめて学ぶソフトウェアテスト技法