MoTLab -GO Inc. Engineering Blog-MoTLab -GO Inc. Engineering Blog-

RPAツールを活用した「テスト業務の自動化」

テストQA自動化
September 07, 2021

プロダクトマネジメント本部クオリティマネジメント部の澤田です。

クオリティマネジメント部では、『業務効率化・最適化』に対する活動を日々進めています。 この活動の一つとして、弊社プロダクトの一つである「DRIVE CHARTのQCチームにおいて、RPAツールを活用した「テスト業務の自動化」を実現しましたので、今回は、テスト業務における自動化部分の選定から実現方法までの流れをご紹介します。


自動化作業の対象の選定について

まずはDRIVE CHARTチームのテスト業務における作業の中で、自動化できそうな作業を2点ピックアップしました。

1.検証用の環境構築 DRIVE CHARTのテスト業務では開発要件単位で都度検証環境を作成しているが、使用するデータ自体はほぼ定型であるため毎回同じ作業となります。 作成作業は基本的にWeb上ですべて完結するため、RPAツールを利用すれば同じ作業の部分を効率化出来るのではないか。

2.Webの画面表示検証 条件により異なってくる画面表示の検証をRPAツールの自動実行で肩代わりできないものか。 RPAツールは検証用ではないものの、検証に応用することはできるのではないか、そしてそれが実現できれば工数削減(テスト工数削減)に繋がるのではないか。

チーム内で意見を出し合い議論を重ねた結果、以下理由により、まずは『検証用の環境構築(※1)』をターゲットに自動化を進めることで決定しました。

  • 初めての自動化なのでシンプルなものから実践したい (最初から複雑にすると途中で断念する可能性もあるため)
  • RPAツールで作業を完結できること(人力がほぼ不要)
  • 費用対効果(自動化による工数削減)が見込めそうであること

(※1)『検証用の環境構築』についての補足

💡
基本となるテストデータを登録するための環境構築が開発要件ごとに都度発生します。 過去データの利用が難しく、テストの目的にあわせて新規でのデータ作成が毎回必要となっています。CSVでの一括登録が出来るものの、各テーブルのいくつかのカラムを手動登録が必要となるため、オペレーションミスによる誤登録なども発生している。

自動化作業の実現のために、RPAツールを採用した理由

既に部署内で株式会社ディー・エヌ・エー(DeNA)が提供している「Coopel」が導入されており、定常作業の効率化が図られてた背景もあり、今回の自動化作業において、RPAツール(Coopel)を利用することにしました。

またCoopelの特徴として、自動化未経験者にも利用しやすいメリットが複数あったことも、決め手になりました。

  • クラウドサービスの操作が可能
  • ノンプログラミングで敷居が低い
  • UIが直感的で分かりやすく、教育・導入コストが最小限に抑えられる

検証用の環境構築概要

まず、現状どのような手順で検証用の環境構築を行っているのかを簡単にご紹介します。 使用しているデータベースはRDB(リレーショナルデータベース)であり、データをテーブルにインポートすると各テーブル毎のユニークキー(id)が自動採番されます。 それらがテーブル間の紐づきアイテムとなります(下図参照)。

An image from Notion

実際のデータ作成の作業工程としては、以下となります

  1. スプレッドシートにテーブルの元データを準備
  2. 用意したスプレッドシートをCSVでダウンロードし、DB参照ツールからテーブルにアップロード
  3. 必要項目を画面上での編集
  4. 自動採番されたユニークキーを下位テーブルのスプレッドシートへ設定
  5. 用意したスプレッドシートをCSVでダウンロードし、DB参照ツールからテーブルにアップロード

のように、テーブル数分繰り返しの作業が発生します。

今回は、この繰り返し作業部分の他、データ作成作業開始・作成終了のSlack通知やデータ用スプレッドシートのバックアップ操作を自動化のターゲットとしております

An image from Notion

自動化の対象機能・操作

実際にRPAツール(Coopel)を動かしながらフィージビリティ調査を行い、今回対象とした『検証用の環境構築』では以下作業を自動化の対象としました。

  • 元データ用のtemplateファイル(スプレッドシート)の事前準備
  • templateファイル(スプレッドシート)の操作

  ・Webシステムで自動採番された値の反映、CSVダウンロード、ファイルのバックアップなど

  • Webシステムの操作

  ・ログイン、CSVアップロード、自動採番値の取得、登録後データの編集など

  • Slack通知

  ・データ登録の作業開始、作業完了の通知を社内Slackに通知

工夫したこと

上記方針で実際に作業を進めていくと、全ての作業をRPAツール(Coopel)だけで実現することは難しいことが分かりました。(複雑なシナリオになる、あるいはそもそも機能として実現できない、非効率などの理由により)

そのため各自動化対象となった作業に対して、「手作業での対応」、「スプレッドシート側での対応」、「Coopel側での対応」といったようにそれぞれの得意分野を活かす形で作業を分割し、分割した機能ごとに作成を進めていくことで、工程を意識せず効率良く作業を進めていくことが出来ました。

結果的に、ある機能が実装されていなく、それがボトルネックになり先に進められないということが発生せずに自動化の取り組みがスムーズに行えました。

An image from Notion

尚、RPAツール(Coopel)では、操作やアクション毎にシナリオ作成者を分担し、必要なアクションの調査用シナリオを作成してシナリオ作成を実施。最終的に各自の調査結果をマージして、一つのシナリオを作成しております。

An image from Notion

本自動化導入による効果

全て手作業で行っていた作業時間と本自動化を導入した際の作業時間を比較し、自動化導入による効果を測定しました。

結果・・・手作業による作業時間が約95%削減されました!!

  • 自動化導入前

   作業時間:約90分〜120分

  • 自動化導入後

   作業時間:約5分

※自動化導入後は、裏でRPAツール・Google Apps Scriptが並行して処理を行っているため、作業者が手を動かす時間としては約5分に短縮

また、今回の自動化実現によって作業時間の短縮以外に、以下の期待効果が見込めることが分かりました。

  • オペレーションミス等、手作業による単純ミス・手戻りの防止
  • 単純作業をRPAツール(Coopel)やGoogle Apps Scriptに任せることで、作業者は付加価値の高い作業に注力出来る
  • 今回対応した自動化のナレッジを活かし、他作業への自動化導入

最後に

今回、自動化を進めるにあたって、目的や設計方針・スコープ決め、現状把握・実現方法を順序よく進めていけたことで、効率良く作業を進めることが出来たと考えます。

また、通常のテスト業務と並行して本取り組みを行う必要があったため、各自の作業時間にも差異がありました。その際は必要作業の洗い出しと共に、分担の可否を検討し、都度作業者間でフィードバックを行いながら作業出来たことも良かった点と考えます。

尚、今回の対応で、RPAツール(Coopel)の利用メリットだけでなく、現状作業の見直しの重要性にもチームメンバー全員が気付きを得ることが出来ました。また、1つのツールを作成するだけでなく、運用に耐えうるものが出来たのはチームにとって大きな経験になったと感じています。

今後も作業時間をより有効活用していくために、既存システムの見直しや改善だけでなく、今回の経験を活かして、業務効率化や自動テストにも取り組んでいきたいと思います。

そしてMaaS領域を牽引していくMoTにはチャレンジできる環境がたくさんあります。今回紹介したように自動化へのチャレンジを含め、チーム全体での業務改善活動などが活発に行われています。 私たちと一緒にチャレンジしてくれる仲間を募集中ですので、ご興味ある方は採用ページからご連絡ください!

 


■QAポジションに興味がある方はこちら!

https://hrmos.co/pages/mo-t/jobs/4000000

■DRIVE CHARTについて

https://drive-chart.com/

■もっとMoTについて知りたい方はこちら!

https://mo-t.com/recruit/


 

■引用・参照リンク

Coopel:https://coopel.ai


 

■共同執筆

 今回の自動化施策に貢献頂いたメンバー

  • 丸 靖和 (株式会社デジタルハーツ)
  • 二河 亮 (ソーバル株式会社)
  • 岩本 梨香 (ソーバル株式会社)