僕が勉強中のNGTの理解度について
@kyon_mm あの資料だけだと、僕らのマインドマップを使ってテスト観点を抽出する方法と、違いがなくなるんだな。マインドマップじゃなくて、クラス図もどきで記述する程度になってしまって、NGTらしさやNGTの良さを享受できていないんじゃ無いかなと、ふと思ったんだ。
2012-01-10 19:21:53実際コンサルする時はMMを使いますしね。 RT @mkoszk: …僕らのマインドマップを使ってテスト観点を抽出する方法と、違いがなくなるんだな。マインドマップじゃなくて、クラス図もどきで記述する程度になってしまって、NGTらしさやNGTの良さを享受できていないんじゃ無いかな…
2012-01-10 19:23:06@kyon_mm NGTは、テスト観点の階層構造の各層に意味を持たせたり、観点間の関係に規則を持たせたり、マインドマップに比べてルール・制約があります。そのルールによって、見えてくるところがあります。MMで自由に書くとそれが見えてこない。
2012-01-10 19:29:15@kyon_mm でも、いきなりルールにこだわるとテスト観点を洗い出せなくなるので、にしさんのツイートにあるように、MM→NGTがいいと思うんだ。でね。この「→」を、きょんくんは何時学んだんだろうって思ったの。
2012-01-10 19:30:30@mkoszk はい。なので、自分はNGTを勉強しているだけであって、NGTを使えているとは思えてません。資料にある単語1つ1つを調べて、具体的にテスト戦略を作って、自分なりの解釈を探して、また資料に戻っての繰り返しをここ半年続けています。
2012-01-10 19:31:48@mkoszk 僕はどちらかと言うとフリースタイルなMMは苦手です。普段から目的とかレベルとかを定めて考える方が好きなんです。自分の考えがすぐに発散してしまう癖があるので。それもあって、抽象化や依存関係を考えやすくしてくれるNGTの概念はMMよりは一種のやりやすさを感じています。
2012-01-10 19:38:28@mkoszk NGTをはじめてみようと思ったときにすごく難しいなって思いました。それでとりあえずNGTを意識しつつMMでテスト設計をしました。単体テスト、結合テスト、外部連携テストの全てのテストをテスト設計書のレベルまですべてMMで書いてみたんです。
2012-01-10 19:47:13@mkoszk それらを俯瞰したときにたくさんの共通項や依存関係があることに気づきました。リファクタリングが必要でプログラミングと似ているなとも思いました。後はプログラミングのようにコンテキスト、実装パターン、明快さを重ねて学んでいけば綺麗なモデルを書けるのかなと思いました。
2012-01-10 19:52:13@mkoszk そこから僕はNGTに取り組み始めた感じですね。これがWACATE2011夏参加直前くらいでしょうか。
2012-01-10 19:55:35@mkoszk jasst06の資料に書かれているものくらいになります。フォーカスクラスにクラス名・網羅基準・クラスメンバを書く事。フォーカスクラスの組合せを基準とともに書く事、カテゴライズすること。僕自身は依存関係、レイヤー、カテゴリを明示的にすると表現することが多いです。
2012-01-10 23:46:09@mkoszk 実装パターンにはレイヤー化や依存関係の整理なども含めての意味だったのですが、マインドマップだとどのように表現することが出来るのでしょうか?恥ずかしいのですが、僕はマインドマップをあまり勉強していないのでそこの表現方法がよくわからずにとまっています。
2012-01-10 23:50:29@kyon_mm テスト観点とフォーカス・クラスが同じ概念とした時、レイヤー化とは単にテスト観点の階層化のことを指します。今のNGTは第一階層、第二階層にある程度の意味を持たせているようですが、06年がベースなら違いはないはず。MMで関係線も引けるし、グループ化も行います。
2012-01-11 00:57:33@kyon_mm 後は、テスト観点を挙げる時の思考過程にも依存するかも。NGTはクラス図を前提とするので、テスト対象、テストアイテム、テスト目的、テスト条件を明確に分ける必要があるかと。MMの場合、ごっちゃ混ぜになります。どちらが良いかは人次第かな。
2012-01-11 01:04:39@mkoszk 第一階層、第二階層に意味を持たせるのですね。初めて知りました!MMでも関係線やグループ化をうまく使えるのですね。今度勉強してみます!
2012-01-11 07:13:20@mkoszk なるほど。。。僕の中にOOPの概念が強くあるので、それをそのままNGTの作図にうまく適用できるのではないだろうかという軽い意識があります。たぶんそこがNGTの一種のやりやすさと言っていた部分かもしれません。
2012-01-11 07:17:52@mkoszk はい。コンテキスト、実装パターン、明快さといったものはプログラミングの用語になります。わかりにくかったですね。すいません。実装パターンに含めた意味としては、綺麗な実装という意味で、具体的にはレイヤー化、依存関係の整理、デザインパターンなどになります。
2012-01-11 07:19:55