僕が勉強中のNGTの理解度について

NGTを自分なりに勉強しているのですが、それについていくつか教えてもらう事ができました。 そのあたりの時間に見かけたテストの話題もついでにまとめてしまいました。 NGTについては後ろの方です。
3
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@mkoszk ありがとうございます! [うさみみ*´×`*エンジニア]

2012-01-10 19:19:20
鈴木三紀夫 @mkoszk

@kyon_mm あの資料だけだと、僕らのマインドマップを使ってテスト観点を抽出する方法と、違いがなくなるんだな。マインドマップじゃなくて、クラス図もどきで記述する程度になってしまって、NGTらしさやNGTの良さを享受できていないんじゃ無いかなと、ふと思ったんだ。

2012-01-10 19:21:53
Yasuharu NISHI @YasuharuNishi

実際コンサルする時はMMを使いますしね。 RT @mkoszk: …僕らのマインドマップを使ってテスト観点を抽出する方法と、違いがなくなるんだな。マインドマップじゃなくて、クラス図もどきで記述する程度になってしまって、NGTらしさやNGTの良さを享受できていないんじゃ無いかな…

2012-01-10 19:23:06
鈴木三紀夫 @mkoszk

@kyon_mm NGTは、テスト観点の階層構造の各層に意味を持たせたり、観点間の関係に規則を持たせたり、マインドマップに比べてルール・制約があります。そのルールによって、見えてくるところがあります。MMで自由に書くとそれが見えてこない。

2012-01-10 19:29:15
鈴木三紀夫 @mkoszk

@kyon_mm でも、いきなりルールにこだわるとテスト観点を洗い出せなくなるので、にしさんのツイートにあるように、MM→NGTがいいと思うんだ。でね。この「→」を、きょんくんは何時学んだんだろうって思ったの。

2012-01-10 19:30:30
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@mkoszk はい。なので、自分はNGTを勉強しているだけであって、NGTを使えているとは思えてません。資料にある単語1つ1つを調べて、具体的にテスト戦略を作って、自分なりの解釈を探して、また資料に戻っての繰り返しをここ半年続けています。

2012-01-10 19:31:48
鈴木三紀夫 @mkoszk

@kyon_mm ふむふむ。一度、その解釈を聞かせてくださいな。

2012-01-10 19:35:24
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@mkoszk 僕はどちらかと言うとフリースタイルなMMは苦手です。普段から目的とかレベルとかを定めて考える方が好きなんです。自分の考えがすぐに発散してしまう癖があるので。それもあって、抽象化や依存関係を考えやすくしてくれるNGTの概念はMMよりは一種のやりやすさを感じています。

2012-01-10 19:38:28
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@mkoszk NGTをはじめてみようと思ったときにすごく難しいなって思いました。それでとりあえずNGTを意識しつつMMでテスト設計をしました。単体テスト、結合テスト、外部連携テストの全てのテストをテスト設計書のレベルまですべてMMで書いてみたんです。

2012-01-10 19:47:13
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@mkoszk それらを俯瞰したときにたくさんの共通項や依存関係があることに気づきました。リファクタリングが必要でプログラミングと似ているなとも思いました。後はプログラミングのようにコンテキスト、実装パターン、明快さを重ねて学んでいけば綺麗なモデルを書けるのかなと思いました。

2012-01-10 19:52:13
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@mkoszk そこから僕はNGTに取り組み始めた感じですね。これがWACATE2011夏参加直前くらいでしょうか。

2012-01-10 19:55:35
鈴木三紀夫 @mkoszk

@kyon_mm NGTの規則で知っているものは何でしょうか?

2012-01-10 22:55:51
鈴木三紀夫 @mkoszk

@kyon_mm これだけだと、マインドマップの洗練と変わりが無いかな。

2012-01-10 22:56:41
鈴木三紀夫 @mkoszk

@kyon_mm これだけだとマインドマップの発散と収束の話の様に聞こえるんだ。

2012-01-10 22:57:47
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@mkoszk jasst06の資料に書かれているものくらいになります。フォーカスクラスにクラス名・網羅基準・クラスメンバを書く事。フォーカスクラスの組合せを基準とともに書く事、カテゴライズすること。僕自身は依存関係、レイヤー、カテゴリを明示的にすると表現することが多いです。

2012-01-10 23:46:09
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@mkoszk 実装パターンにはレイヤー化や依存関係の整理なども含めての意味だったのですが、マインドマップだとどのように表現することが出来るのでしょうか?恥ずかしいのですが、僕はマインドマップをあまり勉強していないのでそこの表現方法がよくわからずにとまっています。

2012-01-10 23:50:29
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

原則とかよく知らないけどガンガン自分で試しているだけのアカウントがこちらになります。

2012-01-11 00:02:33
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

ごめんなさい。残りの僕のNGTの解釈については明日返します。誰となく。眠気に勝てなかった。

2012-01-11 00:06:09
鈴木三紀夫 @mkoszk

@kyon_mm テスト観点とフォーカス・クラスが同じ概念とした時、レイヤー化とは単にテスト観点の階層化のことを指します。今のNGTは第一階層、第二階層にある程度の意味を持たせているようですが、06年がベースなら違いはないはず。MMで関係線も引けるし、グループ化も行います。

2012-01-11 00:57:33
鈴木三紀夫 @mkoszk

@kyon_mm クラスを用いることによって、クラス属性を活用するのであれば、NGTで行うメリットがあると思います。

2012-01-11 01:00:13
鈴木三紀夫 @mkoszk

@kyon_mm 後は、テスト観点を挙げる時の思考過程にも依存するかも。NGTはクラス図を前提とするので、テスト対象、テストアイテム、テスト目的、テスト条件を明確に分ける必要があるかと。MMの場合、ごっちゃ混ぜになります。どちらが良いかは人次第かな。

2012-01-11 01:04:39
鈴木三紀夫 @mkoszk

@kyon_mm ところで、実装パターンってNGT用語じゃないよね。

2012-01-11 01:06:10
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@mkoszk 第一階層、第二階層に意味を持たせるのですね。初めて知りました!MMでも関係線やグループ化をうまく使えるのですね。今度勉強してみます!

2012-01-11 07:13:20
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@mkoszk なるほど。。。僕の中にOOPの概念が強くあるので、それをそのままNGTの作図にうまく適用できるのではないだろうかという軽い意識があります。たぶんそこがNGTの一種のやりやすさと言っていた部分かもしれません。

2012-01-11 07:17:52
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@mkoszk はい。コンテキスト、実装パターン、明快さといったものはプログラミングの用語になります。わかりにくかったですね。すいません。実装パターンに含めた意味としては、綺麗な実装という意味で、具体的にはレイヤー化、依存関係の整理、デザインパターンなどになります。

2012-01-11 07:19:55