« オープンソーステクノロジー勉強会 -Webアプリケーションのテストをもっと深く考えてみよう- | トップページ | [本]ソフトウェア・テストの技法 »

ソフトウェア品質向上のための考察 -テストとレビューとインスペクション(1)-

今までこのブログで雑記程度にソフトウェアテストについて書いてきましたが、ひとつきちんとした読み物としてまとめてみようと思います。いろいろなセミナー・雑誌・書籍・ウェブサイト・ブログなどを元に学んだこと・発見したことなどを、自身の考察を交えてまとめていけたら、と考えてます。

==

ソフトウェア開発の中でレビュー・インスペクション・テストというプロセスがあります。3つとも目的は一緒で「ソフトウェアの品質を向上させる」のが大前提です。それでは何が違うかというと、それぞれアプローチの仕方が違ってきます。

レビュー・インスペクション - 未然の「欠陥防止」



一般的にレビューやインスペクションは直接成果物に触れてバグを取り除くのではなく、成果物に作り込こまれてしまうバグをより少なくするためのプロセスです。人は知らないうちにバグを作り込んでしまいます。それは、単なるヒューマンエラーであったり、仕様の勘違いであったり、仕様漏れや考慮漏れであったり、原因は無数にあります。僕はレビューやインスペクションというのは、作り込まれてしまったバグに「気づき」を与える、あるいは今後は作り込ませないための「気づき」を与えるアプローチだと考えています。多くのレビューやインスペクションは上流工程で行われるのは、そういった「気づき」を早いうちから出しておき、成果物に含まれるバグ数を小さくする効果を期待しているからです。学生のころの定期テストで解答用紙を最後に見直すというのもレビューのひとつです。作家の書いた原稿を編集者が推敲するのもレビューといえるでしょう。

では、インスペクションとはどういったプロセスでしょうか。


[ITプロフェッショナルのスキル] ソフトウェアプロセス用語集 -インスペクション-

インスペクションの訓練を受けた専門家が、数名の関係者を招集して行うレビュー。参加者には事前に資料を配布しておき、各参加者がレビュー前に問題点を把握しておき、レビュー実施時に指摘するという方法をとることが多い。開発会議より、客観性が高い。

主な手法として2点紹介します。(ソフトウェア・テストPRESS Vol.2 からの引用)



  • パースペクティブ・ベース・インスペクション

  • パスアラウンド法


  • パースペクティブ・ベース・インスペクションは、参加者が各人違う観点を意識しながら対象物を検査する手法です。観点は例えば、エンドユーザー観点・データーベース担当者観点・テスト担当者観点・運用担当者観点など、プロジェクトによって様々な観点があります。多様な切り口からの「気づき」が得られるといった効果があります。

    パスアラウンド法は、検査対象物を事前に提出しておき、検査担当者での回覧ベースでバグを指摘してもらうという手法です。検査担当者および関係者を参集する必要がなく、効率的に「気づき」を得られます。しかし、指摘が重複したり、検査担当者によっては回答が遅れたりするなどの問題も認識しておく必要があります。

    (続く)

    |

    « オープンソーステクノロジー勉強会 -Webアプリケーションのテストをもっと深く考えてみよう- | トップページ | [本]ソフトウェア・テストの技法 »

    コメント

    コメントを書く



    (ウェブ上には掲載しません)




    トラックバック

    この記事のトラックバックURL:
    http://app.f.cocolog-nifty.com/t/trackback/155415/3535870

    この記事へのトラックバック一覧です: ソフトウェア品質向上のための考察 -テストとレビューとインスペクション(1)-:

    « オープンソーステクノロジー勉強会 -Webアプリケーションのテストをもっと深く考えてみよう- | トップページ | [本]ソフトウェア・テストの技法 »