Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

「【Sansan x メルペイ】QA Tech Talk 〜各社の自動テストの取り組み〜」に登壇しました

こんにちは。技術本部 Quality Assuranceグループの藤原です。前回はDeNAさん主催のQA Online #1に登壇させていただいた記事を書きましたが、今回はメルペイさん主催のQA Tech Talkに登壇させていただきましたので、各社の自動テストの取り組みについて書いていきたいと思います。
mercari.connpass.com
www.youtube.com

イベントテーマ

各社の自動テストの取り組みをテーマに自社ツールを使った自動化のお話やノーコードツールを使ったお話をパネルディスカッション形式でお話させていただきました。今回が人生2度目の登壇でしたが、相変わらずの緊張ぶりでした。
Sansan側はノーコードツールを使った自動テストを導入していますが、メルペイさんは内製ツールを使っているなど、違いがあり興味深いイベントでした。


各社の自動テストの取り組み

メルペイさんはバリバリコードを書いて自社ツールを作っていたり、弊社では"Sansan"と"Eight"で自動化の対象や使っているツールが違ったりと、自動化のアプローチの違いや使っているツールの違いなどがあって面白かったです。
アプローチは違ったとしても根本的な自動テストに取り組んだ背景や目的は共通していたかなと思います。
 - 今までできていなかったリグレッションテストを自動テストで実施する
 - リグレッションテストを自動化することで工数削減を図る
 - 工数をかけずに自動テストを回すことで品質の安定を図る
 - 自動テストを導入することが目的ではなく、課題解決のために自動テストを導入する

また、すべてを自動化すれば課題が解決するというわけではなく、効率よく自動テストを導入するために、課題が何でどの範囲を自動化するかを整理したうえで自動テストに取り組まないと、実装コストやメンテナンスコストがかかってしまい自動テストのメリットがなくなってしまうと思います。
自動テスト導入前の整理が自動テスト導入を成功させるカギになると思います。

各社のツールの違い

メルペイさんは開発エンジニアとQAエンジニアが同じ目線でお互いがコードを書いていて、課題感を同じ目線で見ることができていて、課題に直結した解決ができるのは素晴らしい文化だなと思いました。一方で内製ツールのため、一定のスキルが必要だったり、新しく入った方への導入コストがかかりそうだなと思いました。
Sansan側はQAグループのメンバーが誰でも自動テストの実装、メンテナンスができるようにとノーコードツールを選択しました。立ち上げも早く導入コストは抑えられたかなと思っています。一方でノーコードツールではできる範囲に限界を感じることがあったり、ツールの安定性に問題があったりします。
内製ツール、ノーコードツールそれぞれにメリット/デメリットがあり、会社の文化や解決したい課題、ツールの特性などを整理したうえで技術選定をする必要があると思いました。

自動テストの課題

課題面では両社ともメンテナンス面に課題を感じていました。
ノーコードツールの場合、UIの変更があるとテスト実行が失敗になります。修正するにはテスト項目すべて直す必要がある場合もあります。
ツールによっては各テスト項目で共通する処理を共有ステップとして作れるものもあるので、極力共有ステップ化しておくことによって、修正が発生した場合は共有ステップの修正のみで済むのでメンテナンスが楽になります。
内製ツールの場合も同じような事が言えるかなと思いますが、担当者が変わった時の引継ぎや新しい方の立ち上げをスムーズに行えるように考えておくことも必要そうだなと感じました。
実装時にメンテナンスをもっと考慮しておけば、と今更ながら作りを見直したいと思う今日この頃です。

まとめ

ノーコードツールは確かに操作が容易で導入コストも低いと思いますが、できることに限界を感じるところもありコードを書いての自動化も選択肢にいれるべきなのかなと思っていたこともありました。
そんな中メルペイさんのお話を聞けて参考になった部分も多分にありましたが、導入コストや導入のアプローチなど今回はあまり伺えなかったので、次回がありましたらそのあたりを聞いてみたいと思います。
今後も自動テストの取り組みやQA活動について発信を続けていきたいと思ってます。

また、カジュアル面談を受け付けていますので、QA活動やテスト全般の話など情報交換ができたらうれしいなと思っていますので、ぜひお気軽にお話できればと思います。
meety.net

© Sansan, Inc.