ホワイトボックステスト技法

19
ホワイトボックステストの技法

Upload: hayabusa333

Post on 18-Jul-2015

939 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: ホワイトボックステスト技法

ホワイトボックステストの技法

Page 2: ホワイトボックステスト技法

自己紹介• 名前

• 橘田隼一• TwitterID

• hayabusa333

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

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

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

Page 3: ホワイトボックステスト技法

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

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

Page 4: ホワイトボックステスト技法

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

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

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

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

Page 5: ホワイトボックステスト技法

ホワイトボックステストの定義• テスト対象のソフトウェアの実装を分析する

• テスト対象のソフトウェアのパスを分析する

• テスト対象のソフトウェアの特定のパスを実行するような入力を求める

• テスト対象を実行する

• 実際の出力結果と期待する出力値を比較する

• テスト対象のソフトウェアが正常に機能しているかどうかを判定する

Page 6: ホワイトボックステスト技法

ホワイトボックステストの範囲

• 単体テスト、結合テスト、システムテスト

• ホワイトボックステストはソフトウェアのパス(経路)に対してのテストである

Page 7: ホワイトボックステスト技法

技法の種類

• 制御フローテスト

• データフローテスト

Page 8: ホワイトボックステスト技法

制御フローテスト• 制御フローテストではプログラムコードの実行パスを識別して、それらのパスを網羅するようにテストケースを作成する

• 制御フローグラフが制御フローテストの元となり、制御フローグラフのパスを分析してテストケースを作成します。

Page 9: ホワイトボックステスト技法

制御フローグラフA

B C

D E F

G H

IJ

K

Page 10: ホワイトボックステスト技法

制御フローグラフA

B C

D E F

G H

IJ

K

• A→B→D→G→I→Kなど、すべての経路を最低1回は通るようにテストケースを作る

• すべての経路を網羅するようにテストケースを作成する

Page 11: ホワイトボックステスト技法

データフローテスト• データフローテストは制御フローテストに似ているがパスを定義した後、すべての変数に対して、定義ー使用ー消滅のパターンが正しいか確認する

• 通過するパスを列挙し、各変数の定義と使用のペアを少なくとも1回は網羅するテストケースを作る

Page 12: ホワイトボックステスト技法

定義ー使用ー消滅• データ値を持つ変数にはライフサイクルが存在する

• それが、定義、使用、消滅

• プログラム言語によっては定義と消滅が自動的に処理されるものもある

Page 13: ホワイトボックステスト技法

データフローダイアグラムXを定義

Xを使用Yを定義Yを使用

Yを使用

Xを消滅

Yを消滅

Page 14: ホワイトボックステスト技法

データフローダイアグラムXを定義

Xを使用Yを定義Yを使用

Yを使用

Xを消滅

Yを消滅

左のルートは

XもYも定義されて

いるため問題はない

Page 15: ホワイトボックステスト技法

データフローダイアグラムXを定義

Xを使用Yを定義Yを使用

Yを使用

Xを消滅

Yを消滅

右のルートは定義されていないYを使用したり消滅しようとしているため問題が発生する

Page 16: ホワイトボックステスト技法

ホワイトボックステストの利点

• ホワイトボックステストを用いると、テスト対象のソフトウェアの全パスを識別してテストを行うことができる

Page 17: ホワイトボックステスト技法

ホワイトボックステストの難点• 数が多くなりすぎて、すべてのテストパスをテストすることはできない

• データのケースによっては、依存する欠陥を見つけることができない

• ホワイトボックステストは現在の定義されている制御フローが正しいことが前提であり、存在しないパスのテストはできない

• テスト担当者にプログラミングスキルが必要である

Page 18: ホワイトボックステスト技法

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

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

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

Page 19: ホワイトボックステスト技法

参考文献

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