「やる夫で学ぶTDD」六日目 四日目の付け足し〜すべての状態遷移モデルを今テストへ〜 #ytdd
やる夫で学ぶTDD 6日目 4日目の付け足し すべての状態遷移モデルを今テストへ ということで、遅くなりましたが、ちょっとだけやります。 #ytdd
2011-02-10 01:11:39やらない夫:来週、やらない夫をはじめとするデブサミ2011というイベントで、やらない夫が属するTDD研究会では、TDDをペアプロでやろうっていうことになっているのだけだが、一通りの言語を押さえておこうということで、 #ytdd
2011-02-10 01:13:38やらない夫:Visual Studio Expresss でC#の勉強をしていたのだ。なので、遅くなってしまってすまん。まあ、それはさておき、夜も更けているので、昨日はボウリングのスコア計算と予告していたが、ちょっと趣向を変えて、 #ytdd
2011-02-10 01:14:53やらない夫:4日目のCSVParserの時に作った、状態遷移モデル(ステートマシーン図)を、他のツールを使ってテストにもっと役立ててみようというネタでやってみたいと思う。 #ytdd
2011-02-10 01:15:47やる夫:たしか、astahでこんなの作ったお。 http://twitpic.com/3x41cj #ytdd
2011-02-10 01:16:23やらない夫:そうだ。もちろん、これだけでも十分、状態遷移が分かるし、クラス設計にもテストにも役立つ。ただし、状態遷移モデルだけからテストケースを作ると謝った状態遷移のチェックができず、テストしては弱い。 #ytdd
2011-02-10 01:17:31やらない夫:そこで、遷移前の状態と、イベント、遷移後状態を組み合わせたマトリックスである状態遷移表を状態遷移モデルから作る。 #ytdd
2011-02-10 01:18:23やる夫:Excelとかで書くのかお。図を描くのにもそれなりに時間がかかったのに、さらに表も書くのかお。 #ytdd
2011-02-10 01:19:16やらない夫:それを自動的にやってくれるツールがある。 Enterprise Archtictは状態遷移図を書くと同時に状態性意表も作ってくれる。 http://bit.ly/gcqS5f #ytdd
2011-02-10 01:20:31やらない夫:まて、これは30に日の評価版はダウンロードできるが、商用ツールだ。正式に仕事で使うにはお金払う必要があるから注意な。評価版のダウンロードはこちらだ。 http://bit.ly/hRYRC6 機能制限なくフルの機能が使える。 #ytdd
2011-02-10 01:22:57やる夫:1まん7せんえん!!!!エロゲが3本も買えるお。ありえないお。ネットで落ちていないか探すお。 #ytdd
2011-02-10 01:24:52阿部さん:男は度胸、何でもやってみるものさ。 やる夫、ようやくEnterprise Architectまでたどり着いたか。実は、秘密にしていたがコーポレートライセンスで購入済みだ。その必要性が分かったお前はもう自由に使える。#ytdd
2011-02-10 01:26:10やる夫:さすが阿部さんだお。使ってみるお。で、まずは評価版で、CSVPaserの状態遷移図を書いてみるお。 #ytdd
2011-02-10 01:26:43やる夫:astahで書いたのと同じやつをEA(もう略す)で書いてみたお! #ytdd http://twitpic.com/3y15h4
2011-02-10 01:29:36阿部さん:そして、状態遷移図上で、右クリック Statechart Editor -> Tableだ。 #ytdd
2011-02-10 01:30:52阿部さん:そして、なんと、こちらの状態遷移表でも編集ができ、その編集結果は状態遷移図に反映されている。2wayだな。後、テーブルのパターンは3つあるので、目的に応じて使い分けてほしい。Excelで状態遷移表書いている場合じゃないぞ。 #ytdd
2011-02-10 01:34:35やらない夫:阿部さんにだいぶお株を奪われしまったが、この状態遷移表をベースにテストケースを作れるわけだが、さらに高度な状態遷移のカバレッジであるNスイッチカバレッジを満たすテストケースを作るための方法として、#ytdd
2011-02-10 01:36:15やらない夫:この、状態遷移図からCSVファイル、そうCSVファイルにエキスポートして、それをExcel、今度は使っていいぞ、で開く。 #ytdd
2011-02-10 01:38:20やらない夫:こんな感じの元の状態遷移表から、#ytdd http://twitpic.com/3y191f
2011-02-10 01:42:15