« 自分に出来ること。。。 | トップページ | 九州が、あつい!! ~SPL&MDDセミナー受講記~ »

2011年3月21日 (月)

原因結果グラフを使った仕様書分析

先日(っといっても、2週間前)、ソフトウェアテスト系コミュニティの方々が、原因結果グラフの勉強会をやると聞いたので、突如参加させてもらいました。
41ctqk0bjl_sl160_
この勉強会は、テスト技法ドリルをベースに、毎回いろいろな技法についてについての勉強を行う会なのだそうです。その第3章に、入り組んだ論理関係を確認する技法として、原因結果グラフによる分析が書かれています。
  書籍: ソフトウェアテスト技法ドリル  ~テスト設計の考え方と実際~
  著者:秋山浩一さん
  出版:日科技連盟 

ここで、仕様書から原因結果グラフを検討する方法を学びました。これは、仕様書から開発対象物を分析する一手段であるため、テストにかぎらず、設計前の分析にも役立つものだと思います。

ということで、早速LEDキューブシステムの仕様書で試してみましたので、ご紹介します。


分析元となる仕様書は、CQ出版のサイトで公開しているもの(USDM版ではない方)です。
ソフトウェア要求仕様書

この仕様書の3ページ目にある、動作概要を分析してみました。

手始めに、習ったとおりに仕様書をよく読み”機能”を探してみました。
その際の作業としては 
 ・ 動詞句を探し出す
 ・ 動詞にかかる、目的語を探す
から、始めています。 (実際に仕様書に、これらの印を入れたモノはこちら → _forcegtest.pdf

そこから、この仕様の中の主機能を探し、その機能を”結果ノード”に据え、それを導き出す”原因ノード”を検討しました。その結果できたのが、こちらの原因結果グラフです。
_ledcube_

※ 原因結果グラフの作成には、加瀬正樹さんが作られたフリーツール CEGTest(セグテスト) を使いました。


~試してみた感想~
今回は、「動画概要」を取り上げて、原因結果グラフで分析してみました。
書いてみて感じたのは、どうも分析するターゲット範囲が広すぎたのではないかということです。その理由は次のような点です。
 ・概要を取り上げてしまったため、分析したページ内にすべての原因が示されているわけではない。
   → 実際、”表示動作の移行”の原因ノードには漏れがある。
 ・原因結果グラフは、粒度の大きい機能の分析には向かなかったのではないか?
   → 原因結果グラフは、論理関係からデシジョンテーブルを導きだせるものであり、
      抜け漏れのない組合せ検討などのためには適していそう。
      今回対象にした機能は、たくさんの子機能を包括してしまっていて、原因ノードが多量になる。
      原因が多量になると、グラフ表示が複雑になり、グラフによるレビューでも漏れが発生しそう。

反対に、ターゲット範囲(結果ノードの粒度)を絞り込んでの分析には、適しているのではないかと思いました。
たとえば、エラーに関してや、一つの操作による結果など、機能を限定しての分析には良さそうに感じています。(この辺は、もう一度範囲を絞って原因結果グラフ作成を試みたい)

試してみて良いなと思った点は、機能項目間の関係性が、この方法では示せます。
Interface紙面上では、USDM表記による仕様分析を紹介しています。USDMを使っていて気になるのは、機能間の関連性(排他や連動など)が示せないことです。
USDMによる仕様書と併用しての分析という使い方もないものか...と、思ったりしました。


(注意&お願い)
今回試しに書いた原因結果グラフ自体に、用法の間違いなどあるかもしれません。あくまでも、こんな感じ... という参考程度にご覧ください。

« 自分に出来ること。。。 | トップページ | 九州が、あつい!! ~SPL&MDDセミナー受講記~ »

ソフトウェア開発」カテゴリの記事

Interface記事」カテゴリの記事

コメント

コメントを書く

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

トラックバック


この記事へのトラックバック一覧です: 原因結果グラフを使った仕様書分析:

« 自分に出来ること。。。 | トップページ | 九州が、あつい!! ~SPL&MDDセミナー受講記~ »