テストや開発環境における自動化に関して議論したICST2017 unofficial meetup

技術部品質向上グループの松尾(@Kazu_cocoa)です。

2017年3月13日〜2017年3月17日の間に、東京にてICST2017という国際学会が開かれました。 その学会に基調講演としてGoogleの方などが来日しました。そのさい、非公式ながらミートアップを開いたのでその時の学びを共有したいと思います。

ICST2017とは

ICST2017とは、2017年に開催された第10回 IEEE International Conference on Software Testing, Verification and Validationの略です。Webサイトはこちら。 そこではソフトウェアテストや開発環境、品質に関する研究や事例が発表され、議論されました。 今年は10周年である上に、この会が始まって以来、初めて日本で開催されたようです。

学会と聞くと学術的すぎると思うかもしれませんが、比較的実務に近い話や産業界で実際に活動している人も参加者に多かったです。 例えば、会の中にありましたパーティーでは、様々な国の産業界で働いている多くの方と会話することもできました。

ミートアップ開催のきっかけ

このICST2017のkeynote speakerの1人としてGoogleからJohn Miccoさんが登壇しました。 とあるご縁から彼と直接やりとりを行うきっかけを作ることができたので、ICST2017に絡めてその日程付近で彼や彼の同僚の人とmeetupを開けないか誘ってみました。 好感触の返事をもらえたので、国内のテスト、品質、CI/CD周りに従事している幾人かの知人に声をかけ、今回のmeetupを開きました。

ゲストや知人のほか、一般参加者も募るため、以下の通りmeetup.comにも募集を開き少数ではありますが参加者を募りました。 基本的には英語による議論になるため、募集はmeetup.comに絞りました。

https://www.meetup.com/Tokyo-Software-Test-Quality-Meetup/events/238376025/

開催にあたり

実際に声をかけて発表者を募り、最終的に以下の人たちに話してもらいました。

  • Cookpad
  • DeNA
  • Mercari
  • Rakuten

スライドは一番下に参考資料として添付しています。

また、ICSTのために日本に来日している人もいましたので、日本料理も幾つか楽しんでもらうことができるよう、寿司(板前さん付き)や日本酒も用意しました。フードスポンサーとして以下の企業様方に協賛していただきました。

f:id:kazucocoa:20170404135813p:plain

meetupの前に

スケジュールの都合上、イベント前に時間の余裕があったのでJohnさんにクックパッドオフィスを案内しました。 途中からBaoさん(Johnさんの同僚の方で、ICST2017ではパネルディスカッションのセッションで登壇された)も加わり、3人でオフィスを回りました。

そこの中で、ビルド環境としてのBazelの話や、翻訳タスクのGoogleの現状の話、クックパッドの海外事業部の取り組みの話を主にしました。

また、弊社における日本/海外事業部における現在ある開発環境や取り組みの差などの話もしました。 例えばGoogleが1つのリポジトリで全て管理していることに対して、クックパッドではチーム/事業部など単位はありますが様々なリポジトリが独立して存在していることに触れることもありました。 それに対してJohnさんは複数チーム、事業部などでコードを共有したりしないのか?というような疑問を投げかけてきました。 クックパッドの文脈では、現状は海外事業部と国内を主とする事業部でサービスの長さに差があり、現状はこうなっているというような話、モバイルアプリといったところではライブラリを共通化していきたいと言った話もでている、と言った時代的な背景などを共有しながら、リポジトリ管理に関して意見を交わしたりしました。

meetupにおいて

実際のmeetupでは、先ほど挙げた4社のスライドを約10~15分間隔で発表しながら、聴講者が適宜質問を行ったり議論したりしながら進行しました。 中には、Johnさんが発表者にかわって回答する場面もあり、白熱した議論が展開されました。

幾つかのスライドの中で共通に存在していた課題は、やはりどうスケールするか、でした。 つまり、組織やサービス、関わる人といった様々な要素の規模が大きくなるにつれて問題になる、分断された環境や情報をどう共有し、集約していくかという問題でした。

この場にいた人の多くは実際にソフトウェアエンジニアとしてテスト、開発環境、様々な自動化にとりくんでいる人たちです。 そのため、ある程度の知識をあらかじめ保有している状態で議論ができたことも大きいのかもしれません。

meetupを終え、その先へ

GTAC2017

今回の発表の中には、GTAC2017へ是非とも応募してほしい!というものもありました。 GTACとは、Google Test Automation Conferenceの略で、2006年から毎年行われ続けている歴史のある自動化カンファレンスです。 今年はおそらくロンドンであるそうです。

参加者にも是非とも参加しなよ!とあったので、興味のある人はまずは応募してみてはいかがでしょうか!?(現地に行くことができるかは抽選です)

ICST2018

最後に、忘れてはダメなものとしてICST2018があります。 次回はスウェーデンのようです。 是非とも産業分野、学術分野で応募して採択、もしくは一般参加者として参加して自動化周りの先を見てみませんか?

最後に

今回、幾つかのご縁が重なりこのように濃いmeetupを開くことができました。 ご協力いただいた方々、本当にありがとうございました。

英語を主体としてソフトウェアテストやその周辺のことを対面で議論できる場所は日本ではおそらく少なく、そのためこのような場所が参加者、または参加者の所属する企業などへ広がると幸いです。

資料(発表順)

Cookpad

DeNA

Mercari

Rakuten

/* */ @import "/css/theme/report/report.css"; /* */ /* */ body{ background-image: url('http://cdn-ak.f.st-hatena.com/images/fotolife/c/cookpadtech/20140527/20140527163350.png'); background-repeat: repeat-x; background-color:transparent; background-attachment: scroll; background-position: left top;} /* */ body{ border-top: 3px solid orange; color: #3c3c3c; font-family: 'Helvetica Neue', Helvetica, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'MS Pゴシック', sans-serif; line-height: 1.8; font-size: 16px; } a { text-decoration: underline; color: #693e1c; } a:hover { color: #80400e; text-decoration: underline; } .entry-title a{ color: rgb(176, 108, 28); cursor: auto; display: inline; font-family: 'Helvetica Neue', Helvetica, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'MS Pゴシック', sans-serif; font-size: 30px; font-weight: bold; height: auto; line-height: 40.5px; text-decoration: underline solid rgb(176, 108, 28); width: auto; line-height: 1.35; } .date a { color: #9b8b6c; font-size: 14px; text-decoration: none; font-weight: normal; } .urllist-title-link { font-size: 14px; } /* Recent Entries */ .recent-entries a{ color: #693e1c; } .recent-entries a:visited { color: #4d2200; text-decoration: none; } .hatena-module-recent-entries li { padding-bottom: 8px; border-bottom-width: 0px; } /*Widget*/ .hatena-module-body li { list-style-type: circle; } .hatena-module-body a{ text-decoration: none; } .hatena-module-body a:hover{ text-decoration: underline; } /* Widget name */ .hatena-module-title, .hatena-module-title a{ color: #b06c1c; margin-top: 20px; margin-bottom: 7px; } /* work frame*/ #container { width: 970px; text-align: center; margin: 0 auto; background: transparent; padding: 0 30px; } #wrapper { float: left; overflow: hidden; width: 660px; } #box2 { width: 240px; float: right; font-size: 14px; word-wrap: break-word; } /*#blog-title-inner{*/ /*margin-top: 3px;*/ /*height: 125px;*/ /*background-position: left 0px;*/ /*}*/ /*.header-image-only #blog-title-inner {*/ /*background-repeat: no-repeat;*/ /*position: relative;*/ /*height: 200px;*/ /*display: none;*/ /*}*/ /*#blog-title {*/ /*margin-top: 3px;*/ /*height: 125px;*/ /*background-image: url('http://cdn-ak.f.st-hatena.com/images/fotolife/c/cookpadtech/20140527/20140527172848.png');*/ /*background-repeat: no-repeat;*/ /*background-position: left 0px;*/ /*}*/