「TDD」と「テスト戦略からテスト実装」はどのように関わるのか

「テスト戦略からテスト実装」までをうまく理解していないながらもTDDとどのように関わっていくのがいいのか疑問だったところ皆さんからいろいろ意見もらえたのでまとめてみました。
12
SHUJI🐊 @shuji_w6e

2日でユニットテスト66件か。訓練を積んで50件/日くらいのスコアが出したいところだな

2011-03-21 11:01:59
SHUJI🐊 @shuji_w6e

先にユースケースを書く方が結果的に効率が良いということは再認識。早く動くものを作りたい衝動と戦わなければならない

2011-03-21 11:03:52
SHUJI🐊 @shuji_w6e

1. ユースケースと画面モックを作成 2.ユースケースをグループ化 3.グループ毎に低レベルレイヤーから実装(ユースケース/レイヤーで1チケット) という流れがベストかなー

2011-03-21 11:06:09
SHUJI🐊 @shuji_w6e

@kyon_mm テスト戦略ってどの辺りのテスト?

2011-03-21 11:06:39
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

.@shuji_w6e @a_hisame テスト戦略は何を中心にテストを組み立てるかという方針です。流れとしては、テスト戦略、テスト分析、テスト計画、テスト設計となります。なのでさっきのツイートはちょっと不適切ですね。言いたかったのはテスト設計までの流れとTDDについてです。

2011-03-21 11:12:38
SHUJI🐊 @shuji_w6e

@kyon_mm だとすると、TDDは開発手法に近いからテスト戦略とは切り離すのが理想。ただ、ステークホルダを納得させるためにやや強引に関連づける事が現実だと思う。

2011-03-21 11:15:22
あひさめ @a_hisame

@kyon_mm 自分はTDDでは「まずできる事から」テストを作っていって、GREENを確認しながらテストのリファクタリングを進めて行きますね。あと、TDDのテストは設計対象の使い方を考える事も強いメリットであると考えてるので「どの様に使いたいか」を考えてテストを書いてます。

2011-03-21 11:15:27
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

テスト戦略、テスト分析、テスト計画、テスト設計、テスト実装、テスト実行、テスト報告。。。が一連の流れだと思う。それぞれかぶっていたりする部分があるとは思うけど。

2011-03-21 11:15:31
かわにし @tosikawa

@kyon_mm その辺のはなしはとちぎテストの会議なので色々議論されたりしていて、まだ定説はないというか、これから色々まとまってくるかんじだとおもいますよ。

2011-03-21 11:15:54
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@shuji_w6e そこが悩みどころというか、さっきのお話につながって、ユースケースはやっぱり最初にあると思うんです。ある程度のストーリー。そこがテスト設計に関わってきたりするんじゃないかと。(どうやって観測するのかとか)

2011-03-21 11:17:52
あひさめ @a_hisame

@kyon_mm TDDだと結構真逆かも。テスト実装>実行>(自動的な報告)>(場合によっては網羅性の追加)、テストのリファクタリングによる「開発者のための」テストを対象にするので。コード保証のためのテストは、被ってる部分もあると思いますが、自分は(今の所)別物と考えてます。

2011-03-21 11:18:06
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@a_hisame まさしくそれがTDDだと思います。自分でドッグフーディングすることで設計の質を高めて行く。

2011-03-21 11:18:55
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@tosikawa やっぱりそうなんですねー。去年の栃木テストにすっごくすっごくすっごく行きたかったですw

2011-03-21 11:19:24
かわにし @tosikawa

@kyon_mm まあ定説がないってことなんで、「きょんきょんメソッド」の発表が待望されている分野であるともいえます。

2011-03-21 11:20:44
SHUJI🐊 @shuji_w6e

.@kyon_mm ユースケースがテストに関連付くのは自然ですね、システムテストや結合テストという形で。テスト駆動を適用するならば、ユースケース記述レベルからシステムテスト項目をブレイクダウンして、レビューを通してから実装となるのでしょうが、コストとのトレードオフかも。

2011-03-21 11:20:50
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@a_hisame たしかに。ただTDDって実装したいユースケースはありますよね?そこの兼ね合いかと。テスト戦略からテスト設計までは「どうやってテストすることが最もいいのか」を考える段階です。そこがあってTDDに流れて行くのが自然かなーって思ったり。よくわかってないですがw

2011-03-21 11:21:57
SHUJI🐊 @shuji_w6e

.@kyon_mm どうしても上流でテスト設計するほど難易度が高くなります。要求仕様が固まる=受け入れテストが作れるは理想ですが、まず無理。ユースケースレベルで、システムテストの6−7割を埋めてみようというのは今度のプロジェクトで試したいな、と考えていたり。

2011-03-21 11:22:53
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

@tosikawa ゆもつよメソッドに続くですかwww 西康晴さんをご存知でしょうか?実は西さんの学科に1年だけいたのですよw そのときはまるで知らなかったのですが、去年?になってソフトウェアテスト業界の大物だと知ってビックリしましたw

2011-03-21 11:23:33
あひさめ @a_hisame

@kyon_mm 自分は大きく考えなくてもTDDはできると思っているので、むしろユースケース設計時にTDDを(紙の上で)実践するのも良いのではないかと。結局「どの様に使うか」を考える事がそのままTDDに繋がるのではないかと期待してます。使い方が難しい=テストが難しい、なので。

2011-03-21 11:24:33
SHUJI🐊 @shuji_w6e

今度のプロジェクトが取れれば、テストがたんまり出来るので、色々とチャレンジしたいな。特に早い段階でテスト設計をすることが開発全体に与える影響は知りたい。

2011-03-21 11:24:47
あひさめ @a_hisame

まー、まだ働いた事のない若輩の意見ですがが。

2011-03-21 11:24:53
かわにし @tosikawa

@kyon_mm あ、にしさんの講義をうけていたのですねw では大丈夫。

2011-03-21 11:25:16