<< 実践 ICONIXプロセス : バグの発見は勝利 | main | 実践 ICONIXプロセス : 単体テスト >>

実践 ICONIXプロセス : NGこそ正解

ソフトウェアをテストする前に準備しておくこと。

・解答付き問題集
・テストデータ

解答付き問題集

テストをやるには、問題が必要です。それも解答付きの問題集を準備する。

性能テストで、性能の測定結果だけのテスト報告書を見たことがあります。合格したのか、不合格かの判定結果がない。そもそも、どこが合格ラインか事前に決まっていない。

単体テスト、統合テスト、システムテストなど、どんなテストでも、これと同じことがおきがちです。テストという作業はしているが、判定基準が決まっていないか、きわめて曖昧。

例えば、入力画面のテストで、漠然と、すべての項目にそれらしいデータを入力して、登録ボタンを押して、エラーにならなければ、OK、というようなパターン。

このようにOKケース(晴れの日のシナリオ)中心のテストは、たいていの場合、時間のムダ。
開発者は多かれ少なかれ無意識にOKになるようにデータを入力し、操作するから。
(そのチェックするやらないのは論外です)

模範解答はNGケース

NGケース(エラーを起こす)は「正解」です。

OKケースが正解なのは当たり前ですが、NGケースこそ正解です。

想定したNGケースを実行し、予定通りにエラー処理をしていることを確認する。これがテストの基本です。
駆け出しの技術者とベテランの発想の違いがとても良くでる場面ですね。

NGケースを発生させること、そして、予定通りのエラー処理ができたことを確認することがテスト作業の大半を占めます。

ユースケースの代替コース

ICONIXプロセスのガイドブックでは、繰り返し、ユースケースモデリングの「代替コース」の洗い出しを強調しています。

ユースケースを記述する時、要求レビューの時、ロバストネス分析の時、予備設計レビューの時、詳細設計の時、詳細設計レビューの時、コードを書くとき、コードレビューの時。

すべての作業段階で繰り返しやるべきことが「代替コースの洗い出し」です。

ICONIXプロセスでは、コードができあがったときには、これだけ念入りに作成しレビューした強靭な「代替コースのセット」があります。

解答付き問題集、それも、いちばん重要なNGケースを網羅した解答付き問題集がすでに完成しているわけです。
あとは、この問題集をやりながら、答え合わせをすれば良いわけですね。

テストデータ

・画面から入力するデータ
・データベース上に準備するデータ
・テストコードに埋め込んだデータ
・モックアップに埋め込んだデータ
・入力ファイルのデータ
...

テスト、特に業務系のアプリケーションのテストでは、テストデータの設計と実装が中心課題です。

この場合も、最低限のOKケース用のデータだけ用意ということをやりがちです。

いかにNGケース用のデータを用意するか?
これも、NGケースを事前に洗い出してあれば、比較的容易な作業です。

テストデータの設計という独立した仕事でやろうとしても、そう簡単にはNGケースの洗い出しはできません。

ユースケースから始まる一連のプロセスで、繰り返しNGケースを洗い出して検証してあれば、NGケース用のデータもおのずと固まってきますね。

コメント
コメントする









この記事のトラックバックURL
トラックバック
calendar
  12345
6789101112
13141516171819
20212223242526
27282930   
<< September 2020 >>
システム設計日記を検索
プロフィール
リンク
システム開発日記(実装編)
有限会社 システム設計
twitter @masuda220
selected entries
recent comment
recent trackback
categories
archives
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM