ソフトウェア品質向上のための考察 -テストとレビューとインスペクション(2)-
今回は3つのプロセスの中で「テスト」に焦点をあててみたいと思う。
==
テストの手順として思いつくものとして、
- テスト対象の分析をする
- 分析結果を元にしてテスト設計をする
- テスト設計をテスト計画・テストケースといった具体化をする
- テスト計画に沿ってテストケースを実行する
- テスト結果を分析し、テスト対象の評価をする
といったステップが考えられる。まずはテスト対象を抽象化したり、ドキュメントからテスト対象を明確化したり、ドキュメントに載っていない性質を洗い出すことからはじまる(分析)。その分析を元にしてテスト対象の品質を向上させるという目的で、どういった検証をどういった期間でどういったアプローチで行うかを検討する(テスト設計)。設計されたテスト計画は、掘り起こし作業によってより具体的な項目となり(テストケース作成・実装)、その検証作業が実行される(テスト実施)。検証結果が当初の目的=テスト対象の品質向上が達成されたかを確認し(評価)、テストプロセスは完結する。
このプロセスの中で明確化されてはいないが、重要な作業として私は「テストケースの順位付け」を挙げたい。テストケースの並べ替え、でもよい。順位付けはテスト設計者によって多少変わるだろうし、プロジェクトによっても変わることが予想されるが、私の考えではより影響度の大きい、より重要度の大きいものをテストケースの処理順序で前のほうに配置し、比較的軽微なテストケース(文言チェック・静的リンク切れチェックなど)は中間くらいに、終盤には組み合せテストケースの網羅漏れケースを配置すべきではないかと考えている。まずは修正コストの大きいと思われるテストケースの検証を行い、最後はフリーテストと似た位置づけで網羅漏れテストケースを実施する。
さて、皆さんはテストケースの順番はどうやって決定していますか?
(続く)
| 固定リンク
この記事へのコメントは終了しました。

コメント