2021年12月16日、第6回目となるAIQVE ONE主催の品質管理をテーマにしたセミナー、QA Tech Nightを開催いたしました。この記事では、株式会社ボルテージの髙橋貞治氏、AIQVE ONE株式会社の仲、桑野による『自動化導入でバグがゼロに!?どこまでできる?自動化テスト』というテーマでのパネルディスカッションの模様をお届けいたします。

<関連記事>
【QA Tech Nightレポート】ボル恋を支えるQAとテスト自動化への挑戦【前編】(株式会社ボルテージ 高橋様)
【QA Tech Nightレポート】ボル恋を支えるQAとテスト自動化への挑戦【後編】(株式会社ボルテージ 高橋様)

自動化導入でバグがゼロに!?どこまでできる?自動化テスト

桑野:
今回のパネルディスカッションのテーマは、『自動化導入でバグがゼロに!? どこまでできる?自動化テスト』です。

今、ボルテージの高橋さんにお話しいただきましたが、今後の展開や、最近はここまで進んでいるという話も交えてお話できればと思っています。はじめに自己紹介というところで、私は、AIQVE ONE株式会社 セールス&マーケティング部 部長の桑野と申します。

高橋さんは、先程のご登壇でお話いただいたので画面で共有いたします。

仲さんの方から自己紹介お願いできますでしょうか。

仲:
AIQVE ONE株式会社 第一QA部 部長をしております、仲と申します。

もともとは人材派遣会社でエリアマネージャーとして、いわゆる営業職に近い仕事をしていたのですが、そこでゲームデバッグを知る機会があり、興味を持ちまして、テスターからこの業界に入ってきました。

もともと営業職をしており、他社との折衝力を買われて割と早い段階からリーダー業務をしていたことから、提案、現場の改善、いわゆるテコ入れといった部分が主業務になっていきましたので、テストの現場からは割と早い段階で離れております。

その後、今所属しておりますAIQVE ONEには、前身のモリカトロンの頃から所属しているのですが、その中でも、テストの効率化や、今お話しいただいた自動化といった部分も日常に取り入れていけないかということを目指して拠点運営を行っております。本日はよろしくお願いいたします。

桑野:
今日は自動化をお願いする側のボルテージの高橋さんと、それを受けて実際に構築していく仲さん2人いらっしゃいますので、そのあたりを深掘りしていければと思います。

自動化導入に向けての準備について

桑野:
自動化導入に向けての準備について、というテーマですが、お互いにどういった準備をし、どういう役割分担で、どういうフローで導入を進めたかというところを深掘りして聞いていきたいと思います。高橋さんのスライドでも役割分担の話が出てきましたが、いろいろ取り組まれて、さぁやろうというときに、まず何をどこからやるかとか、共通の文脈を整理するなど、いろいろ御苦労されたと思うのですが、そのあたりで何かエピソードはありますか。

高橋さんからすると、どこまでやってくれるのかという疑問があったかと思いますし、こちらは、まだこれくらいしかできないというのがあったと思うのですが。

高橋様:
そうですね、最初は全然わからなかったので、先ほどいくつか出てきたと思いますが、ある程度定型的なところ、ここはできるのではないかというところを洗い出して案を出させていただいたという感じですね。そこが最初の一歩だと思います。

桑野:
過去に1回やられているというのもあったから、このあたりは動かしやすいのではないかというのを逆にこちらが教えていただいたような感じですよね。

高橋様:
そうですね、最初はそうでした。ただ当時のテストリーダーの方に実際に入っていただいて、テスト業務もやってもらいつつ、まずある程度コンテンツを知ってもらうという期間もあったかと思います。

桑野:
なるほど。仲さんの方で何か思い出すことはありますか。

仲:
そうですね。会社として自動化を売っていこうと動いてはいたので、まず現場メンバーに対しての自動化への理解の促進を行いました。
自動券売機とか自動販売機とか、「自動」とつくものって世の中に割といろいろあるのですが、買う側は全然自動ではなく、売る側だけが自動なのに、自動って聞くと自分達は何もしなくてもテストできるのではないかというイメージをまずテスターが持ってしまっていたので、その部分を払拭するところから開始しました。

桑野:
なるほど。お客様の中にも『自動化』というのがマジックワードになっていて、「すごいことをやってくれる」という先入観があると思うのですが、社内でもあったんですね。

仲:
そうですね。社内の方が強かったかもしれません。

桑野:
弊社も自動化ツールを開発して動くところまでは割と行きましたが、そのあとどう落とし込んでいくのかというところは、最初答えがあったわけではないですよね。まさに、恐らくテスターへの啓もうから入ったと思うのですが、その意味でもいい機会を頂いたと思います。両者が歩み寄ったと先ほど書いてありましたが、その心意気がないと進まなかったのではないかと思います。

たとえば、丸投げするのではなく、お互いに一緒にやっていきましょうというのがあったからできたのではないかと思うのですがいかがですか?

高橋様:
弊社側もテスト自動化がどのくらいのスケジュールでできるのかというのが全く分からなかったので、最初はある程度スケジュールを提案していただいて、そこを目標にして進んでいく中で、実は最初からは歩み寄ってはいなかったかもしれません。いろいろ問題が起きて大変になり、こちらも本腰というか、何かしら問題を解決しなければならないということに途中で気付いたというところですね。

桑野:
自動化はやってみないとわからない部分もあるので、絶対できるという前提で入るよりは、一回テストで動かしてみたりしながら導入していくのですが、御社との取り組みの最初の頃は弊社も出来立ての頃でしたので、すんなりいかなかった部分もあったんだなと今聞いて思いました。逆に助けていただいた部分もたくさんあったのだろうな、と。

高橋様:
いえいえ。

自動化導入でつまずいた部分

桑野:
これは想定外だったとか、すんなりいくと思ったけれどここでつまずいたとか、そのほかに面白い話があれば、仲さんいかがでしょうか。

仲:
これは、テクニカルな話ではないのですが、先ほどの妥協していただいたという部分で、目線がまず高過ぎたというのがつまずいた原因かなというのはありました。やはり頂いた要望に対して、その通りにできなければいけない、1か0かみたいな考え方でずっと取り組んでいたので、結果的にそれによって進めないことが多々続いてしまっていました。

先ほど高橋さんのパネルの中でもお話があったように、たとえば端末を絞らせていただくとか、できなかったときの判定をこちら側に一回いただいてこちらで改修をするとか、こちら側にボールを預けてもらう範囲を徐々に広げていただけたので、そういった部分で最終的に運用までもっていくことができたのかなというのがありました。その意味では、こちら側も早い段階で妥協案を出すなどしていれば、さらに早い段階で提案のレベルで運用ができたかもしれません。そのようなこともあって、まず目線の変更をし間違えたのが大きな原因かなと思います。

桑野:
なるほど、高橋さんいかがですか?

高橋様:
そうですね。やはりテスト自動化は画像を認識して動かしていくというものだと思うのですが、テクニカルなところはあまり分からないのですが、コンテンツによって解像度が違うとか、画面の鮮明さが違うとか、このコンテンツだと認識しないということなどが結構ありました。そこで、画像認識の仕方を変えてもらうとか、モノクロか何かで見ていたのをカラー判定するなどの細かい調整に、開発者の方はかなり試行錯誤されたのではないかと思います。

桑野:
なるほど、そういったつまずきだとか動かないってなったときに、持ち帰らせていただいて弊社の方でもいろいろ改修すると思うのですが、ツール自体をさらにグレートアップする改修だったり、少しやり方を変えてみたりするということが裏では起きていたという感じでしょうか。

仲:
そうですね。それこそスタートさせていただいたときに比べ、今のツールは精度も上がっていますし、組みやすくもなっているので、当時同じものがあればもっと速くなってはいるのですが、当時の状況ではできないものが結構ありました。たとえばアップデートで実装される画像を先にデータとしてうちにいただくことはできないかとか、そういった部分も相談しながら手探りで、実際にテストバイナリが来る前に組み上がっている状況を作らなければならないというのを整備したというのはありますね。

桑野:
今回、その取り組みの中で出てきた課題で、ツール自体も良くなっていっているというのがあるということですね。そうしていかないとできなかったから、そこまでは直していこうとか、追加機能を入れていこうというのが裏であったのですね。

仲:
そうですね。お客様の前で言うのは絶対ダメなのですが、実際にいただいたテストでトライ&エラーをしていたというのがあるので。

桑野:
なるほど、ツール自体もそれで結構精度が上がり、当初はPythonで普通にコードを書いていたものが、今はより簡易化されてある程度誰でも書けるようになるなど成長していると思うのですが。

仲:
そうですね。今お話があった通りPythonの知識がないと本来は組めないツールだったのですが、パネルを合わせる、いわゆるコマを合わせるような状態である程度おおまかな挙動は作れるようになったので、今弊社のツールはコードを知らないテスターでも組めるような状態にまでは成長しています。

桑野:
なるほど、これは生みの苦しみではないですが、結果的にいい方向に進んでよかったです。

自動化を導入してよかったこと

桑野:
少しずつ進んでいく中で、安定化してきたとおっしゃっていただいていますが、一言でここはよかったなとか、やったからよくなっていくだろうなっていう未来予想図って高橋さんの方でありますか?

高橋様:
そうですね、テスト自動化は、もちろんある程度計算ができるようになって工数削減が実際にできているので、実際に活かしていけることは大きいですし、退路を断つではないですが、最初運用していくときに、先にテスターさんの人数を旧体制から減らしちゃったんです。
ですので、「オフサイトテストは1~2ヵ月分くらい出ても仕方ないよね」というところでスタートしたのですが、今は実際にオフサイトも出すときは出しますが、ある程度昔の状態に戻ったといいますか、テスト自動化を導入して、しっかり削減効果ができて余計なコストを抑えられるようになったのはとても良かったなと思っています。

桑野:
素晴らしい。ありがとうございます。一応弊社の中で言うと、もともと自動化は導入するという形で入らせていただいたのですが、導入するにあたってテスト項目を整備したりというところから着手したと思うんです。

そこから結果的に自動化でここまで動くようになって、弊社の中でも効率化というのがテスターさんにも目に見えてわかってきているというのは、仲さんから見て実感としてありますか?

仲:
ありますね。自動化を導入した一番のメリットというのは、実際案件に自動化が1テスターのような工数で入っている状態なので、しっかり目の前で成果を出しているのが見えるということです。入社したときに自動化に興味がない、純粋にただゲームが好きというテスターも多いのですが、そういったメンバーに知識欲や好奇心を持ってもらえたというのも現場にかなりいい影響を与えているということを実感しています。

桑野:
僕も自動化をずっと見てきて、ツールを使用して動きましたっていうところまでは割と行くのだけれど、どんな人でも使えるツールになるまでには全然行っていないケースの方が多かったのをずっと見てきたので、今のお話には感慨深いものがありますね。

高橋様:
テスターさんが使えているというのがすごいですね。失敗したときに調整もしていただいているので。

桑野:
そうですよね。お客様の中で、少し自動化を知っている方というのは過去に一回やって失敗されているというケースがよくあるんです。お話をしていくと「でも、仕様が変わったり画像が変わったりすると毎回書き換えてメンテナンスが大変でコストがかかるんですよね」みたいなことをよく言われるのですが、そのあたりも割と込み込みで運用できるようになっているということでしょうか。メンテナンスコストを含めても削減できているみたいな。

仲:
そうですね。これは恐らく弊社側の工数になると思うのですが、スクリプターが動くのははじめに大元の根幹の部分を作るところだけですね。あとはバージョンアップのチューニングや、若干のコード修正に関しては、テスター側で行ってしまえるため、一部のスクリプト知識があるレベルのテスターが今増えてきていて、そういう部分だけで全て完結できるような状態にはなっています。

桑野:
そこが本当は理想で、結局、特殊なハイレベルなエンジニアさんに集中して、それ以外の人はできないという状態が続いていたので、いい流れになってきているというのを感じています。

自動化導入の上で注意しておくべきポイント

桑野:
聴いていただいている方も自動化に興味を持っていただいていると思うので、自社でこれから取り組もうとか取り組んでいるという方々向けに、注意しておくべきポイントがありましたらお願いします。

高橋:
そうですね。資料にもありましたけれど、さきほどテスト自動化を入れて良かったポイントの1つに、仕様の網羅ができたということがあるので、ある程度仕様の網羅をしておくと調整期間は短くなるのではないかと思います。

あとは、作って運用していかないと効果が得られないので、運用していくっていうところをルールだとか、自動化テストと手動テストをどう組み合わせてスケジュールを組んでいくかというところですね。たとえば、1つのテストの中で、自動化と手動でそれぞれどのくらいかかるかは、ある程度本運用に入って慣れてきて、初めて匙加減がわかってくるのではないかと思います。

桑野:
ありがとうございます。仲さんからはありますか。

仲:
はい、これから自動化を行うとなった場合に、先ほどの話にもつながるのですが、自動化をお願いした場合、自動化を動かすソフトと仕様書などを共有いただいたら、あとはこちらが自動化組んでくれるみたいなイメージがどうしてもあると思います。ただ、弊社とタッグでやっていただく場合は、自動化を行うための手動が発生するという別作業がどうしても出てきます。自動化で動かすときにどういう動かし方をするのが意図なのかとか、手動でやっているときは流してやっていたものが自動化だとひっかかる原因は何かとか、そういう検知をしたときにそれが必要なのか必要ではないのか、流してしまっていいものなのかとか、今まで確認してこなかったものの確認が発生してくるので、そういった意味で完全に自動化した部分がゼロになるというよりは、1が0.5になるけど、0.2くらい考えていなかったことが発生するというイメージを持っていると、ギャップを感じずに導入していけるのではないかと思います。

桑野:
なるほど。そこは心構えとしてわかっていた方が、そこでつまずいたりとか諦めたりせずに済みますよね。簡単にはいかないですものね。

1 2