レポート

自動化エンジニアのロールモデルを探せ!! 「システムテスト自動化カンファレンス2015」参加レポート

この記事を読むのに必要な時間:およそ 5 分

キーワード駆動によるシステムテストの自動化について/小井土 亨(SQiP運営委員会メンバー,株式会社OSK)

小井土さんによるキーワード駆動の実例を紹介するセッションです。

ソフトウェアの機能追加や変更時には,回帰テストや構成テストなどコストが増大していきます。もちろんそれを自動化していくのですが,自動テストそれ自体にも作成工数,保守工数は存在します。それを解決するひとつのアプローチがキーワード駆動による自動テストです。

スクリプトからデータを分離したのがデータ駆動スクリプトであり,さらに対象や操作を抽象化したものがキーワード駆動スクリプトです。全てのテストをキーワード駆動にするのではなく,システムの特性に応じてデータ駆動とキーワード駆動をハイブリッドで用いるほうが現実的な解決策となります。

小井土さん

小井土さん

一通りの説明を終えた後,小井土さんはキーワード駆動の実例を簡単なサンプルアプリとそのコードを見せながらデモを実施しました。この仕組みはC#とPowerShellで書かれていて,コードはCodePlexで公開されているので,興味ある方は参照してください。このデモではあるフォルダ内の1つのファイルが1つのテストケースとして実行されます。本体のアプリに手が入ったときもコードを変更することなく,テストケースを追加するだけで,テストが実行されてキーワード駆動のメリットも感じることができました。

キーワード駆動の仕組みはアーキテクチャやフレームワークといっても過言ではありません。アーキテクチャは強制しないといけない,なんでもできるアーキテクチャは大抵ダメと,システムテストの自動化セッションにもかかわらず,しっかりと設計の真髄も教えてくれました。

※)
『システムテスト自動化標準ガイド』の第3章に載っていますので,詳しくはそちらを参照ください。

Testing Tools for Mobile App/松尾和昭(クックパッド)

クックパッドの松尾さんによるモバイルアプリ開発のツールや事例のセッションです。松尾さんは猫好きらしく,壁紙に猫の画像を出すことで参加者の疲れを癒しつつ,ハートをガッチリとキャッチしていました(笑⁠⁠。

松尾さん

松尾さん

クックパッドは元々Webで伸びましたが,最近ではモバイルからのアクセスが多く,Apple製品やAndroid製品に力を入れています。移り変わりが早いiOSとAndroidのプラットフォームの比較やクックパッドで実際に使っているツール群を紹介しました。環境の変化が激しく,高頻度なリリースを行うためには必然的に標準で提供されるツール中心になります。変化は強制され,無視することはできません。

事例の紹介では,CPU/メモリの過剰消費の障害から,その対策とそこから得た学びを共有しました。見えていないものは改善することができないので,必要なものは開発フローに組み込むようにして,プロセスを改善しているとのことです。

本セッションはモバイル関連でシステムテストの自動化を進めているエンジニアにとっては,とても有意義だったと思います。また松尾さんがクックパッドに入社し,テストやテスト自動化に真摯に取り組んだことで,クックパッドのエンジニアにとって,それまでの『テストする人』のイメージがガラリと変わったようです。一人のエンジニアが企業文化を変えたというエピソードに驚きを隠せませんでした。

パネルディスカッションLIVE! テスト自動化”エンジニア” の今とこれから

登壇者
森下 大介(ヤフー株式会社⁠⁠/荻野 恒太朗(楽天⁠⁠/小井土 亨(SQiP運営委員会メンバー,株式会社OSK⁠⁠/松尾 和昭(クックパッド⁠⁠/みうみう(おいしが)
モデレータ
浅黄 友隆(ヒューマンクレスト⁠⁠/松木 晋祐(ベリサーブ)

パネラーの皆さん

パネラーの皆さん

モデレータのお2人

モデレータのお2人

事前に用意された質問とTwitterに投稿された質問をパネリストに聞いていくパネルセッションです。ここでは注目の質問と回答をいくつか紹介します。

今後テスト自動化で広げたいこと挑戦したいことは何ですか?

荻野さん:テスト実行以外の自動化に挑戦したいです。自分はもともとデータ屋で機械学習などを担当していました。メトリクスを集めて,テスト設計の一部を自動化できると思っています。

森下さん:機能テスト,システムテストはやりきれていないので,そこに注力していきたいです。他にも環境の構築,データの投入などの自動化の仕組みも気になっています。

今後IoTの問題は避けて通れないと思うけどどう思いますか?

みうみうさん:廉価な機器と簡易に使えるAPIが増えてきたことで,IoTへのハードルが下がっていくと思います。

小井土さん:IoTは分散型のシステムなので,問題発生時に自動で収集し,絞込みを行うところまで自動化しないと辛いのではないでしょうか?

自動テストと手動テストの切り分けはどうやっているのか?

松尾さん:テスト設計自体は差がありません。0か1かはっきりしているものに関しては自動化へ切り出すようにしています。

小井土さん:市場にインパクトがあるところで,Checkingにあたるものを優先的に自動化していきます。

自動化を進める上で一番重要な要素は何でしょうか?

小井土さん:メンドクサイからどうにかしたいなと思うことです。自分がやっていることに対して疑問を持つことが重要です。

森下さん:取り組む側や推進する側の視点があります。取り組む側はまず手を動かしてなんぼだと思っています。

荻野さん:パッション,スキル,スモールチーム!

松尾さん:問題解決することを楽しむことが一番です。

みうみうさん:人が幸せになれること。幸せ指数が一番高いものを取ります。

閉会の挨拶

最後に,前実行委員長の太田さんからの閉会の挨拶がありました。STARに閉じない外部への広がりが出てきて,テスト自動化が進んできましたのを嬉しく思いますとのことでした。さらにスポンサー提供の自動化関連本プレゼントのじゃんけん大会が大いに盛り上がりを見せ,最後まで熱気に包まれたカンファレンスとなりました。

太田さんによる閉会の挨拶

太田さんによる閉会の挨拶

感想

昨年のSTAC2014では,システムテスト標準ガイドに沿いながら自動化の現場でのパターンなどが多く語られていましたが,今年のSTAC2015ではさらに実務者寄りのカンファンスになりました。これからシステムテストに取り組む開発者にとっては一筋の光明が見え,自動化エンジニアになりたいと考えているテスターにはプログラミングの壁が立ちはだかったように見えたのではないでしょうか?

開発者は,自動化の仕組みの構築と同時に,同値分割,境界値分析などのテスト技法を学び,テストの質を上げていくのが良いと思います。一方,プログラムに壁を感じたテスターは簡単なプログラムの作成や,可能であれば単体テストコードを書いていくことで,プログラミングがより身近になり,自動化への道が開けていくと思います。

本カンファレンスでは同じような悩みを持つ仲間と知り合う機会となったと共に,各セッションの講演者がみなさんの自動化エンジニアのロールモデルになるのではないでしょうか?最後に3年目となる本カンファレンスを継続して開催してくださったスタッフ,講演者の皆様に心から感謝し,本レポートを終えたいと思います。本当にどうもありがとうございました。

著者プロフィール

nemorine(ねもりん)

JaSST北海道実行委員/JaSST東北実行委員/TEF道 お肉担当/AgileJapan仙台サテライト実行委員/Certified ScrumMaster。

札幌の某半導体メーカに勤める開発エンジニア。北海道と仙台をこよなく愛す。開発も大好きだが,いいものを作るためには品質も大事だと気付き,ソフトウェアテストのイベントに参加するようになる。2012年から仙台ソフトウェアテスト勉強会を企画運営し,2013年5月に東北初となるJaSST東北を立ち上げた。2015年本拠地を札幌に移し、北日本のエンジニアとして頑張ることを誓う。

Twitter:@nemorine