ささいなことですが。

Windowsアプリテスト自動化ライブラリFriendly開発者の日記です。

STAC2014で登壇してきました。

これは「Friendly Advent Calendar 2014 - Qiita」の記事です。
昨日は、ONIGIRI-SOFTさんの
UIの不具合要因が簡単に見つけられます! :: おにぎりブログ|yaplog!(ヤプログ!)byGMO
でした。

システムテスト自動化カンファレンス2014

実は一昨日は「システムテスト自動化カンファレンス2014」で登壇してきました。
システムテスト自動化カンファレンス2014 - connpass

200人以上入れるのに、一日で埋まってしまうプラチナチケット的なカンファレンスです。東京はテスト自動化盛り上がってますね!いいなー。

.reviewrcというコミュニティーで、ぽざうねさん、みうみうとともに「自動化大好きおじさん」枠で話しました。

テスト自動化のパターンと実践

このコミュニティーではテスト自動化あるあるをパターンランゲージ形式でまとめています。
実際の現場での成功談、失敗談を集めて、実践的なパターン集になっています。
これから自動化を始めようと思っている方は目を通しておくと、先達たちの失敗を回避したり、効率よく自動化を進めるための気づきが得られると思います。

パターン自体はGitで管理されてて、プルリクも受付中です。
KenColle/AutomationPatternLanguage · GitHub

皮を剥く

で、その中の「皮を剥く」というパターンに関してWindowsアプリでの実践談という形で話させてもらいました。
パターン自体は、Windowsに限らず様々なものに適用できると思いますので、
各々のコンテキストに合わせて変換しながら読んでいただければ。

1.なぜ剥くのか

これは、Friendlyを作った理由です。
圧倒的な自由度で対象のアプリを操作したいからです。
あと、ホワイトボックス的にアプリを見る視点は自動化の際には重要ですね。

2.皮の剥き方

以下の3パターンを紹介しました。
しかし、Friendlyはかなり自由です。
これだけではなく、それぞれの対象にあった皮の剥き方があると思います。

  • 普通にGUIコントロールを操作する
  • ボトルネックとなる処理を避けてテストを書く
  • 速度向上のためGUI処理を完全に省く
3.新たな皮をかぶせる

アプリケーションアダプタの話ですね。
テストシナリオをすっきり記述するとはメンテナンス面から考えて非常に重要なのですね。
あと、これを使うと分業が簡単になるのです。
アプリケーションアダプタを開発チームが記述し、それを使ってテストチームがテストを作る。
テストチームの方はもちろんテストのエキスパートであってプログラムは本職ではないのですが、以下の理由により比較的簡単に皆さんテストを実装できています。

  • アプリケーションアダプタが外側には外部仕様からわかるインターフェイスのみを公開している。
  • VisualStudioのインテリセンスが優秀。
  • テストシナリオ自体複雑に書くものではなく、シンプルに処理を並べていくものである。
皮を剥く まとめ

システムテスト自動化って、難しい部分があります。
一筋縄ではいかない。
で、皮を剥いてホワイトボックスにシステムを見ることによって、様々な解決方法が考えられるのではないでしょうか。
もちろん、Windowsならその皮むき器にFriendlyを使うと良いですねw

自動家を作る

そして、最後の「自動家を作る」では、みうみうがそのエモーションを爆発させてくれました。
これは、その場で空気感を味わってほしかったですねw

もちろん他の登壇者の方々も素晴らしかったです。

とりあえず、今の時点で発見できたスライドです。

1時間で分かるSTA (Software Test Automation) #stac2014

GUI自動テストの保守性を高めるには

#STAC2014 システムテスト自動化ハンズオン

ビルドプロセスとCI #STAC2014

*未発見でしたが、Yahooさんの社内でのスマホアプリのテスト方法や、しんすくさんの海外のテスト自動化パターンの話も大変興味深いものでした。

やっぱり皆さんの話は、単に本を読んだだけでは身につかない、現場で四苦八苦しながら知識を知恵に昇華したものでしたね。
スライドだけ見ると、難しい話に感じる部分もありますが、直に話を聞くとなるほど、その現場の雰囲気が伝わってきて不思議とすっと入ってくるのですよね。
本当に色々な学びがありました。
ありがとうございましたー。

明日からはまたハンズオンに戻ります。