VB のたまご

作成日: 2016/08/06, 更新日: 2016/08/13


uwsc を使った WinForms アプリの自動テストを楽したい

  •  実験的なネタではありますが、GUI テストをしよう、自動操作&自動消化しよう。という話です。 ただ今回作ってみて、やっぱりどこかしらに面倒くささが残るのだなと感じました。

  •  例えば、自動化しようとなると UI を操作するコードを書く必要が出てきます。 プロダクトは頻繁に強化されるので、画面が変更される都度、合わせてテストコードを修正する手間が発生します。 逆に、そういう手間が出ないように手動で画面操作して目視チェック、みたいな確認方法だと、 単純に、同じ操作とテスト結果を控えるのが面倒くさい、という別の手間が発生します。 1画面修正するだけなのに、既存画面に影響が出ていないか全画面確認してね、をその都度やるとか、大変すぎます。

  •  つまり、どちらを選択しても、結局どこかで面倒くさい作業が発生します。 以降では、【手動でやる】ではなく【自動でやる】という考えで、 かつ、自動でやるからには、その都度テストコードの修正もやる!という考えの方向けに、1つの提案内容を記載しています。

  • スポンサーリンク


uwsc を使って思った事

  •  uwsc って何?って方は、申し訳ないですがググって勉強してください。 以降では、ある程度 uwsc の使い方を知っている方向けの内容となっています。

  •  uwsc を使うことで、GUI を持ったアプリケーションを操作することができます。 私が uwsc を使っていて思ったことがあって、もう少し、.net 寄りの命令だったら、操作方法が分かりやすいよな~、ということでした。

  •  例えば、ボタンをクリックする場合は、ClkItem() という命令を書くのですが、これよりも、 Button.Click() みたいな命令の方が、直観的に分かりやすいよな~と思うのです。

  •  この操作をするにはどの命令使うんだっけ?と、ヘルプファイルを見たりググったりと、調べることが多かったのですが、 コントロール名.アクション名() というルールさえ覚えていれば、プログラムが書きやすい、後から見ても読みやすい、となるよねと思ったのです。 つまり、.net 側に寄せたラッピング命令を用意して、こっちを使ってもらうことで、調べる回数が減るのではと考えたのです。

  •  今回のタイトルに含めた「楽したい」は、テスト消化作業をパソコンにやってもらうことで楽したい、というよりは、 テストソース作成を楽したいという意味合いがあります。

.net 操作モジュール集

  •  こうして1つ1つ、各コントロールに対応したモジュールを用意していったのが、.net 操作モジュール集です。 まだ完成してはいないのですが、それでも良ければどうぞお使いください。
  • 以下のリンクからダウンロードできます。

  •  無料ダウンロードする(uwsc_winforms.zip, 872 KB)

  •  まだ説明書ができていないため、ひどいですが詳しい説明はしませんので、ソースを見ながら少しずつ理解していただきたいです。 一度、同封している readme.txt に目を通していただけますようお願いいたします。

おわりに

  •  テストを実行して、OK や成功と表示されると、なんだか安心しますよね。保証をもらったような感じで。 でも、テストを作るのはどうしてこんなに億劫な気分になってしまうのか、手が進まないのか、謎です。 だからこそ、テスト作成の工程を乗り越えるため、早くゴールにたどり着けるように、ジェットエンジンを装備してみませんか?

  •  最後までこの記事を読んでいただき、ありがとうございました。

  • スポンサーリンク