VSTePとHAYST法におけるテストアーキテクチャのタイミングの話

VSTePのテストアーキテクチャについて悩ましく感じていたところに、VSTePとHAYST法の両方からの意見を頂きました。
5
みずのり:jack of all trades @NoriyukiMizuno

そっか、VSTePが悩ましいのはある程度テストケースまで作り切った例となる公開情報が少ない感じだからかな。具体例がもう少し欲しいですよね(お前が作れと言われそうだけど)

2016-10-25 10:04:51
みずのり:jack of all trades @NoriyukiMizuno

@akiyama924 ですよねぇ^^; ちょいとVSTeP好きグループと相談しつつ、軽く情報整理する方向は考えまーす。

2016-10-25 10:11:19
あきやま🏃🏻‍♂️=͟͟͞͞ @akiyama924

@NoriyukiMizuno VSTePが悩ましいのは、「テスト観点を挙げてからテストアーキテクチャを作る」ところだと思っています。

2016-10-25 10:21:00
みずのり:jack of all trades @NoriyukiMizuno

@akiyama924 その部分は難しいのははげしく同意です… テスト観点を出す⇒簡単なモデル整理⇒テスト詳細設計というカタチで紹介までかなーと思います。

2016-10-25 10:29:52
あきやま🏃🏻‍♂️=͟͟͞͞ @akiyama924

@NoriyukiMizuno 誤解されてしまった感じがあるので追記します。 私が悩ましく思っているのは「テストアーキテクチャを構築すること」ではありません。そこについては、単にスキルの問題で、スキルが高ければ良い物ができますし、低ければへぼいアーキテクチャーになるだけです。

2016-10-25 10:49:36
あきやま🏃🏻‍♂️=͟͟͞͞ @akiyama924

@NoriyukiMizuno 私がVSTePで悩ましく思っているのは「テスト観点を挙げる → テストアーキテクチャを構築する」の順序関係です。もちろん、順番を逆にしろといっているわけでもありません。

2016-10-25 10:51:51
みずのり:jack of all trades @NoriyukiMizuno

VSTePにおける流れに対する自分の理解と解釈でのコメント。 ※なので公式な内容とは異なる可能性が有ります。 VSTePはテスト観点を出しながらモデルとして整理をしつつ、最終的にはテストケースの構成要素となる入出力のパラメータまで落とし込むことが出来ます。

2016-10-25 11:05:28
みずのり:jack of all trades @NoriyukiMizuno

テストで必要なものを考えて、それを(階層構造などで)整理をしながら不足点などないかを考えながら進めます。 この整理段階では抽象度の扱い方、ロジックツリー的な網羅度合の知見により、モデルとしての良さがあらわれると思われます。

2016-10-25 11:06:01
みずのり:jack of all trades @NoriyukiMizuno

ここでVSTePでは、テスト観点をモデルとして整理しながらテストケースまで落とし込めることになります。 テストの検討開始段階からテストケースまで一気通貫で作業が出来ます。 んで、この手順で進めると、「いつテストアーキテクチャを作るのか」のタイミングが分かりづらかったりします。

2016-10-25 11:06:57
みずのり:jack of all trades @NoriyukiMizuno

テスト観点の詳細化に何処かで区切りをつけたいと思うのですが、どの抽象度で区切るか?というのが分からないまま、テストケースまで出来上がってしまうのですね。 なので、個人的にはどのタイミングでテストアーキテクチャを作るか?というのは悩ましい感じがするのでした。

2016-10-25 11:07:39
みずのり:jack of all trades @NoriyukiMizuno

自分がVSTePを紹介するのであれば、テスト観点をそれっぽいモデルとして整理しながらテストケースなで落とし込むという手順については紹介出来そうです。 ただ、何処かで区切りをつけてテストアーキテクチャを構築する説明は、現状の自分にはちょっと難しいと感じてます。

2016-10-25 11:09:08
Yasuharu NISHI @YasuharuNishi

一部でVSTePにおけるテストアーキテクチャ設計のタイミングについて議論されてるので、私見をば。ボトム観点に落とし込めたあたりで始めるというのが、ウォーターフォール的なイメージです。

2016-10-25 20:07:08
リリカル @mhlyc

@YasuharuNishi 語弊のある言い方をして申し訳ありませんm(_ _)m 今度お会いする時に、質問させてください!

2016-10-25 20:07:58
Yasuharu NISHI @YasuharuNishi

ところが実際には、観点の詳細化や整理と、フレーム組みと、コンテナ組みが同時に進行していきます。なぜなら、それらは全てその時のテストの理解度を高める働きをするからです。

2016-10-25 20:09:24
Yasuharu NISHI @YasuharuNishi

イタラティブなプロセスとして記述するのはできなくもないのですが、私の印象では、それらは行ったり来たり、もしくは同時に進行します。頭の中だったり、モデルとして可視化したりしながらね。

2016-10-25 20:11:00
Yasuharu NISHI @YasuharuNishi

実際にVSTePに習熟すると、驚くほど機敏に、柔軟に、臨機応変に、それでいてきめ細かく進んでいきます。アジャイルVSTePとか呼ぶとそれっぽいのかもしれませんが、世界のNAGATA感が出てしまうのでそうは呼びません。

2016-10-25 20:13:03
Yasuharu NISHI @YasuharuNishi

ソフトウェア開発でも同じですが、その状況を上手に解説するのは難しいです。どんな作業が必要か、から解説しないといけませんから。よほど上手にやらないと、ごちゃごちゃで属人的なのね、という間違った印象を与えてしまいます。

2016-10-25 20:15:06
Yasuharu NISHI @YasuharuNishi

みわさんはテストの地図でそうした進め方をしているんだと思います。想像ですが。

2016-10-25 20:15:43
Yasuharu NISHI @YasuharuNishi

そういったわけで、VSTePの説明資料ではウォーターフォールっぽくシーケンシャルなプロセスモデルとして描かれています。そうすると確かに、切れ目はどこなのか迷うでしょうね。

2016-10-25 20:17:20
Yasuharu NISHI @YasuharuNishi

行ったりきたりすると、テストの意図のようなものが創発的にまとまっていきます。とてもクリエィティブですよ。

2016-10-25 20:18:20
あきやま🏃🏻‍♂️=͟͟͞͞ @akiyama924

久しぶりにワイン飲んだ-。美味しいステーキも食べた-。おなかいっぱいです。 ということで、続きのツイートをしようっと。

2016-10-25 20:19:27
Yasuharu NISHI @YasuharuNishi

テストアーキテクチャをシーケンシャルに決めない代わりに登場するのが、ナビゲーションです。自分たちが進むべきなのか留まるべきなのか、進むならどこに向かうべきか、などを共感しながら皆で意思決定する作業です。イテレーションごとにナビゲーションをします。

2016-10-25 20:20:47
みずのり:jack of all trades @NoriyukiMizuno

機能単位で分割して進めるイメージはできたのでした。 大規模なWFを対象とする際、段階的詳細化を行おうとする場合に切れ目が難しいと思ったのでした…

2016-10-25 20:21:16