ドリる~面で逃がさない~ 原因結果グラフ | TEF-DO

TEF-DO

TEF北海道テスト勉強会「TEF-DO」

ちわ!!TEF-DO-ほよこ_前

やりました。

書籍
『ソフトウェアテスト技法ドリル』
著:秋山 浩一
$TEF-DO-ソフトウェアテスト技法ドリル

を使った勉強会。


開催日:8/6
内容:
 本の要約解説しながら、参加者同士でディスカッション。
 最後にアル課題を使ってワーク。
範囲:第3章 原因結果グラフ


今回は原因結果グラフの勉強を加瀬氏が作成されたCEGTestというツールを使って行いました。

まず原因結果グラフとは?
電子回路設計で使われていたブールグラフをテストに応用したもの。

加瀬氏のサイトの説明を参照すると。
入力やイベントの組合せと、出力との関係をブールグラフ化し、そこからデシジョンテーブルを作成するテスト設計技法。
複雑な論理関係を網羅的にテストするための道具であると同時に、仕様の漏れや矛盾を見つけたり、設計を単純化するためにも利用される。
原因結果グラフ技法は、組合せテスト技法とみた場合に有則系のテスト(設計)技法に分類される。
 有則:動作が定義された入力条件の組を指す
 無則:組み合わせても何の影響も及ぼさない入力条件の組を指す


仕様の論理関係を整理する有則領域のテスト設計技法ということですね。
テスト設計技法ではありますが、これは仕様の整理にもなるので、実装にも使えます。

こんな図↓
$TEF-DO-原因結果グラフ


原因結果グラフで使われる論理記号
記号意味解説単語の例
AND、論理積「P ∧ Q」
「命題 P と命題 Q がともに真」という命題を表す。
かつ、~と、すべて、および
OR、論理和「P ∨ Q」
「命題 P と命題 Q の少なくとも一方は真」という命題を表す。
または、~か、もしくは、どちらか
¬NOT、否定「¬P」
「命題 P が偽」という命題を表す。
でない、ではない、ありえない、しない


原因結果グラフで使われる制約条件
記号分類解説
ONE集合Only One(唯一)の略
どれか一つ必ず選択する
EXCL集合Exclusive(排他)の略
どれか一つを選択するか、まったく選択しない
INCL集合Inclusive(包括)の略
少なくとも一つは選択する
REQ順序Require(前提)の略
あるノードが真になるために、事前に真となっていることが
必要となるノードを指定
MASK順序Mask(隠蔽)
あるノードが真となると、Mask制約で指定された2つ目以降のノードは
真意が確認できない


ざっくり説明した後は
簡単な例題を使って手を動かすことにする。
何か出来たような気もするけど…。

今回も、ただ解くだけではなく、解答にたいするコードの例を書いてもらう。
参加者には若手が数名いたので、実装でも使えると実感していただいたはず。

一通りグラフも描いてみたし、CEGTestにも慣れてきた(?)と思うので、
参加者全員でドリル本にも載っている「マイヤーズ 三角形問題」に挑戦。
もちろんドリル本の解答例は見ないようにして。

結果




原因結果グラフの勉強というよりも、
 三角形の定理の議論
 CEGTestの操作法講座
になってしまった。
オーナーの予習不足が浮き彫りに(汗

今回の原因結果グラフ作成にあたって、戸惑ったこと
1.ノードとなる情報を抽出することができない
2.ノードをどのように表現したらよいかが分からない
3.ノードの関係をグラフに落とせない

1は、3色ボールペンで解決できそう。
2、3は、慣れか?
ノードの表現の仕方を間違えると、関係を整理することができない、
という手詰まりに陥ってしまうことが…。
難しい…。


本当はもう一つお題を用意していたのですが、タイムアップ。
そのお題は前回のデシジョンテーブルと同じものなのですが、
原因結果グラフを使うとどうなるのかな?
というものでした。

【お題】
最後は第3章の内容を踏まえて、
SESSAMEの組込みシステム教育教材
『話題沸騰ポット GOMA-1015型』
要求仕様書の給湯機能とロック機能に関する仕様について



TEF-DO-ほよこ_後したっけ!!



【参考情報】
①組込みシステム教育教材話題沸騰ポット
(http://www.sessame.jp/workinggroup/WorkingGroup2/POT_Specification.htm)
ソフトウェアテスト技法ドリル
JSTQB用語集
ソフトウェアテストの勉強室