自動化はテスター撲滅の夢を見るか?JaSSTで語られたテストの未来、品質の未来 #JaSST

2019年3月27日、日本大学理工学部 駿河台校舎1号館にて、「JaSST’19 Tokyo」が開催されました。初日のセッション B2「テストの未来、品質の未来~自動化はテスター撲滅の夢を見るか?~」において、生まれて初めてモデレータをさせていただき、自動化を中心としたテストの未来、品質の未来を議論しました。この記事はそのセッションログをまとめたものです。

スポンサーリンク

このセッションについて

(文章を読みやすくするために内容を変えないように書き起こしています)

藤原:みなさん、こんにちは。よろしくおねがいいたします。本日は「自動化はテスター撲滅の夢を見るか」というパネルディスカッションということで、5人の方をお招きしてお話をさせていただきたいと思います。司会はメルカリでAutomation & QA グループ(以下:AQA)のエンジニアリングマネージャをしている藤原と申します。よろしくおねがいします。

セッションチェアは米山さん、同じくメルカリのQAエンジニアなんですけれども、一緒にこのセッションを作り上げてきました。

ハッシュタグも作ってみたので、ご自由にお使いください(#jasstb2)。このセッションは結構時間がギリギリになるかもしれませんので、質問とかがあればぜひこのハッシュタグを使っていただければと思います。

ではさっそく、話を進めさせていただきたいのですが、まず、パネリストの方々のご紹介をさせていただきたいと思います。

山口鉄平氏(以下、山口):ヤフー株式会社の山口と申します。今日の話は前の仕事の話なので「元」という形を使わせていただいてますが、システム統括本部という全社の開発基盤、サービス基盤、社内情報システムなどを作っている大きな部門の1セクションで、テストとかテスト自動化の社内普及をやっていました。

もともとは組み込みのソフトウェア書いたりとか、ソフトウェア開発技術の研究開発を努めた後に、アジャイルコーチでヤフーに来て、そのあとにテスト自動化普及といった仕事をさせていただいていました。

当社の場合は大きなサービスから小さなサービスまで、多種多様なものがありまして、いろんなサービスがいろんな作り方でつくられています。私自身はユニットテストのトレーニングやその導入、エンドツーエンド(以下、E2E)からAPIなど幅広く活動していました。

ヤフー社内の構造は、プロダクトの単位で分かれていて、その中にすべての機能(職能)が入っています。ここではDEVとだけ書いていますが、DEV以外にももちろんデザイナー、ディレクション、ビジネス、企画といった方がいる形になっています。そして、その単位でプロダクトですとかサービスが動いていく形になっていて、テストはその中で、その組織の中において責任を持って実施をする形になっております。

そこに我々のような間接支援部門が、入っていく形になっていて、QAというロールは社内にありませんし、QAというプロセスが全社的に存在しません。この点は、ひょっとするとみなさまの会社と違うかなと思っております。

藤原:ありがとうございます。今回自己紹介と一緒に、働いている組織の形もまとめてみたので、ぜひこちらも参考にしていただければと思います。山口さんの場合は、やっぱり職能がDEVしかない(「〜エンジニア」みたいに細かく分けてない)のと、QAというプロセスがないという点が、とても印象的かなと思います。

つづきまして、Lineの大園さん。よろしくおねがいします。

大園博昭氏(以下、大園):Line Fukuokaの大園ともうします。今、開発室というところでUIテストオートメーションチームのマネージャをやっております。弊社におきましては、おもにUIテスト、E2EのUIテストをおもに自動テストで行っております。

ここではQAエンジニアから今のロールと書いてあるのですが、実際には、ちょっとアカデミックなことをやったのち、今の会社にひろっていただいているという経歴を持っています。

Lineグループも様々なプロダクトややりかたがあるため、今回お話するのは私のチームが関わっている、主に福岡の話題をさせていただこうと思っております。

基本的にはプロダクト単位でチームを組んでおりまして、そのなかに開発者、プロダクトマネージャ、プロジェクトマネージャ、QA、デザイナ、いろんなロールの方たちと一緒にやっています。私のチームのメンバーもその中にテスト自動化エンジニアというロールで、プロダクト開発の一員として中に入って活動する構造になっています。

藤原:ありがとうございます。Lineさんの場合は、ちょっとよこのメモにも書かせていただいたのですが、役割分担がちゃんとされていて、テスト自動化チームとSoftware Engineer in Test(以下、SET)が別にあったりとか、QAが発達した組織としてあるのが印象的かなぁと思います。つづきまして、ライフルの木住野さん、よろしくおねがいいたします。

木住野奈夫人氏(以下、木住野):株式会社LIFULL(ライフル)の木住野です。所属としてはSETグループにいまして、SETという役割で働いています。経歴については、もともと開発志向があって、新卒でQAチームに配属されました。QAチームでの仕事は、テストのサポート活動、それとプラス、テスト自動化、CI/CD(継続的インテグレーション/継続的デリバリ)の支援というのがあって、約半年前ほど前に、QAチームから分離する形でSETグループが作られました。私はそのチームのリーダーをやっております。

現在は、3人でSETチームを運営していて、E2Eをメインに活動していて、かつ、CI/CDの整備と拡充なども行っております。メインにしているサービスはHOME’Sという不動産情報サイトになりまして、少し開発規模の話をさせていただくと、全体で数十チームあり、1チームが4〜5名で、週4回のリリースがあって、いろいろな施策がどんどんリリースされています。

これが体制の概要図なんですけど、チームがいくつかあって、各チームのリリースがまとまってリリースパッケージになるのですけれども、そのリリースパッケージに対するE2Eを主に開発運用していて、あとは、チームごとにかかえる開発リスクや不安があった場合に、自動テストでその不安を解消できないかという相談の対応をしています

藤原:ありがとうございます。去年の10月SET立ち上げされたばかりという、比較的新しいチームの活動を今日紹介していただこうかなと思っております。つづきまして、メルカリの根本さんよろしくおねがいいたします。

根本征氏(以下、根本):根本征と申します。3年前に新卒でメルカリに入社しまして、最初、WebのバックエンドエンジニアとしてPHPとかJavascriptを書いてたんですけども、そのあと、SETチームにうつり、次に現在のAQAチームにいます。主には、iOSとかAndroidとかWebのUIテストとか、CI/CDをメインに行なっています。

現在のAQAですけれども、自動化するエンジニアと、QAエンジニアが一緒にいるチームになっています。別にSETという形もいまして、どちらかというと現在はテストがメインと言うよりは開発環境、検証環境、開発者の生産性を向上するためのDevOps的なことをやっている人がいます。

我々自動化エンジニアは、これまでQAエンジニアと協業で自動化を進めてきたんですけれども、それもやりつつ、開発組織の中でマイクロサービス化や、既存のサービスのアーキテクチャを変えるプロジェクトが増えてきたため、既存機能が壊れていないことの確認だけでなく、よりリリースをはやくするために、直接プロジェクトに入ってE2E UIテスト開発をして貢献するということをやっています。

藤原:ありがとうございます。じゃ、最後は松尾さん、よろしくおねがいいたします。

松尾和昭氏(以下、松尾):Headspinという会社で働いている松尾です。少し前まではクックパッドのテストエンジニアとして活動していて、その後、僕は今Appium(Tariqさんが今朝話しした中にも出てきたのですが)のメイン開発者として活動もしていて、現在はHeadspinという米国のスタートアップに転職して今に至ります。なので、時期が来たら向こう(US)に行く予定です。

今回、自動テストが焦点になると思うので、クックパッドでの過去の経験をベースにお話をさせて頂く予定です。経験としては、今はソフトウェアエンジニアとして開発もしているので、ユニットテストだったり、UIを使ったE2Eテストだったり、プロセス改善、プロセスを作っていく、(開発の)フローを作る、そういうところもクオリティエンジニアとして過去活動をやっていました。

僕がいたときのクックパッドの体制を例にとってきています。クックパッドでは国内外の開発にいろいろたずさわっていたんですけど、そのころのは大きく分けて、ひとつはプロダクトに対していろいろなサービス(機能)ですね。たとえば、投稿するとか検索するとか。そういう単位でわかれていた部署に対して、テストやクオリティエンジニアに従事する役割として僕がひとりめで入って、どこかに属している形ではなくて、基盤グループみたいな感じで横断的にまたがって、いろんなところにかかわったりしていました

僕がいなくなるときも、特定のサービスに完全に属する形ではなく、横断的に見る形で活動をしていました。今現在のクックパッドの体制がこうなっているかどうかはわからないので、過去のベースで話をしています。

藤原:ありがとうございます。松尾さんに事前インタビューさせていただいたときに一番の印象的だったのは、テストの破綻を見越してこういう基盤グループでテストエンジニアとして活躍されていて、自動テストをほぼ完璧にやられていいたのが印象的です。

みなさまありがとうございました。このセッションは「自動化はテスター撲滅の夢を見るか」ということで、自動化を中心とした議論をもとに、テストの未来、品質の未来というものをお話させていただこうかなと思っております。

このセッションの元ネタは、事前にパネリストの方と自動化に興味がある20人の方(20戦士とここでは呼んでいます)にアンケートさせていただいて、その中で、集まってきた情報をもとに質問を組ませていただいています。また、パネリストの方とは事前インタビューをさせていただきアンケート内容の詳細を伺いました。

アンケート内容については書いているとおりで、現在の開発体制ですとか、テスト自動化に対してどんな課題がありましたかなど聞いています。複数回答ありなので、トータルの回答率が100%にならない場合もありますがご了承ください。

このセッション、前半の45分ぐらいで自動化の課題部分を、ぜひ実践されている方々から語っていただこうとかなと思っていまして、後半は、その自動化によってQA、テスター、SET、自動化エンジニアを含め、どういう働き方になって、どういう組織になっていくのか。そういうことを考えながら、未来をちょっとでも感じ取っていただければと思っております。

セッション内での用語集についても軽くまとめているんですけれども、テスト自動化はテスト自動化すること。テストというのはUT(ユニットテスト)のような小さいレベルから、E2Eのような大きいレベルまで全部含めています

自動テストはテスト自動化したもので、テスターはテストを実行するのを主としている人、QAエンジニアは品質管理に関わる方全般を指しています。SETや自動化エンジニアは、自動化エンジニアでまとめております。

自己紹介でもあったとおり、組織の体制って本当にそれぞれ違うんですよね。今回、アプリとかWebを中心にした企業の方に集まっていただいているので、もしかしたら、自分たちの環境とは違う部分があるかもしれません。

よって、このパネルディスカッションはあくまで一説なので、「ほんとかよ?」ぐらいで考えていただければよいかなと思っております。特に大きな組織だと、様々なサービスを抱える場合もありますし、サービスごとのコンテキストが違って、なかなかうちではなーと思うところもあるとおもいます

ただ、パネリストの方々は面白い経験をされている方々なので、ぜひご自身が自動化などにかかわるときに、参考にしていただければと思っております。

はたして自動化によってコスト削減できるのか

まず、前半戦はテスト自動化に対する課題をパネリストから伺ったのですが、まずテスト自動化をはじめたときの話を聞いてみました。質問は「テスト自動化への期待とその結果」。どういう期待を持って自動化をはじめて、その結果、現段階でどうなったのかを聞いています。

アンケート結果はこちらです。左側の白い文字で書かれているのが期待で、右の黄色い文字が結果です。

おもしろいのがですね、期待も結果もすばやいフィードバックと答えた方がほとんどで、その次にでてくるのがテストの効率化、コスト削減、素早いデリバリー、これらはみなさん考えられたことがあるのかなと思いますし、心の平安のように「安心するためのテスト」もあるのでしょう。。

なによりも面白いのがですね、この結果を見るとコスト削減が消えているんですよね。おそらく、やってみて、それじゃないなと気がついたのではないかと僕は感じていたんですけど、まさにそういう回答をしていただいたのがLine大園さんとメルカリ根本さんでした。

>> なぜコスト削減ができなかったのか? その核心に迫ります。

タイトルとURLをコピーしました