テスト自動化の第一歩は「人が注力すべき部分」と「自動化すべき部分」の見極め

株式会社bitFlyer

暗号資産交換業および金融商品取引業

業種 金融・保険

従業員数500名未満

利用サービス テスト自動化

システム開発本部 副本部長 山内 和春様(写真左)
システム開発本部 システム開発部 QAリーダー 大澤 陽様(写真右)

株式会社bitFlyer

  • 課題:多数の開発プロジェクト間でのナレッジ共有の不足などソフトウェアテストに非効率な状況が発生していた、テスト品質の向上と工数を抑えたいという要望が社内で高まっていた
  • POINT1:最初の一歩は「テスト自動化する箇所」の見極め
  • POINT2:テスト自動化を念頭に置いたプロダクト開発

日本の暗号資産業界をリードし続ける株式会社bitFlyer様。自社内に開発チームを有し、安全性の高いサービス提供を続ける一方、ソフトウェアテストの実施については課題感を持っていらっしゃいました。当社ではその課題を解決するべく、テスト自動化支援(お客様の環境を考慮した初期段階のコンサルティングやテストシナリオ作成)、QAチームへの人材提供をさせていただきました。今回はテスト自動化を決意した経緯を、システム開発本部 副本部長 山内和春様と、QA(品質管理)チームを率いるシステム開発本部 システム開発部 QAリーダー 大澤陽様にお話をお聞きしました。

初心者でも使いやすく、取引の安全性にも注力

まず最初に、貴社の事業について教えてください。

山内様:当社は2014年1月に創業した、国内初の暗号資産取引所です。初心者の方でも簡単にお使いいただける販売所と、暗号資産取引所での売買に慣れた方やプロ向けの取引所の両方を有しています。幅広いニーズに対応できるようなサービスを提供しているほか、かんたん積み立てやビットコインが貯まるクレジットカード、Tポイントとの交換、日本円の入金については三井住友銀行からの振り込みであれば手数料無料など、お客様に喜んでいただけるような取り組みを継続して展開しています。また、現在計15種類の暗号資産を取り扱っていることなど、間口が広いのも特徴です。

さらに当社は創業以来8年間、ハッキングなどの情報漏えいトラブルを起こしておらず、お客様に安心してご利用いただけるサービスとなっていると自負しています。

当社にテスト自動化におけるご相談をいただいたのは1年ほど前。どのような課題を感じていらっしゃったのでしょうか?

山内様:大きな課題だったのは、社内で実施するソフトウェアテストが非効率だったことでした。

当社では社内に開発チームを持ち、常時かなりの数のプロジェクトが動いています。プロジェクトチームごとにテストを行っているのですが、プロジェクト間でナレッジ共有が十分に行えておらず、会社全体としてナレッジがなかなか蓄積していかないという課題を感じていました。

また 2021年は暗号資産市場が活況だったこともあり、当社でも例年以上に機能追加やシステムの改修を実施しました。テストの質を向上させるとともに、テスト実施に掛かる工数を抑えたいという要望が社内で高まっている状況でした。

当社にご相談いただく前に、貴社内でテスト自動化ツールを導入されたと聞いておりますが、どのような状況だったのかお聞かせください。

山内様:実は自社でツールを導入したものの、上手く運用に乗せることができませんでした。要因としては、テスト自動化ツールを頻繁にメンテナンスする必要があったことです。

先程お話したとおり、当社では数多くの機能追加・変更が行われています。各システムに何らかの変更があった場合、テスト自動化ツールのほうも修正する必要が出てきます。この修正の手間が、ボトルネックになってしまいました。

AGESTにご相談したのも、本格的にテスト自動化を推し進める上で、やはり知見のある企業と一緒に進めていきたいと考えたからです。

テスト自動化支援を手掛ける企業が数あるなかで、弊社を選んでいただけた要因は何でしょうか?

山内様:委託先を選定する際は、品質や情報管理の点など、様々な観点で評価をさせていただいています。

今回重視した観点の一つは、セキュリティに関する感度の高さです。

また今回のテスト自動化を進める上で、テスト自動化について深い見識をお持ちのAGESTのCTSO 高橋寿一氏が参画してくれる点にも、安心感を持ちました。
※CTSO=Chief Testing Solution Officer(最高テストソリューション責任者)

40本のテストシナリオを、プロならではの観点で提案

取り組みが始まったのが2021年の中旬。最初の1ヶ月間をコンサルティング期間とし、まずは業務のヒアリングをさせていただきました。

山内様:実際の運用を見てもらい、業務の把握をしてもらいました。この間に考えていただいたのは「どの部分のテストを自動化するか」でした。

テスト自動化といっても、全てのテストを行うわけではありません。自動化して工数を削減する部分と、人の目で見るべき部分を慎重に見極める必要があります。

ヒアリングを通じて当社が提案させていただいたのは、大きく分けて3つ。自動化することで大きな効果の見込めるテストの選定、貴社のテスターの方が使いやすい自動化ツールの選定、既存の運用に合う自動テストスクリプトの提案でした。これに合わせて、40の自動化したテストシナリオを実施し、PoC(概念実証)として効果検証をさせていただきました。

山内様:実際に当社で各シナリオを自動化させるか否かは、発生する変更頻度やリスクの観点で決めさせていただきました。現在は提案いただいた、既存のテスト管理ツールと上手く連携するスクリプトの開発を行っていただいています。

最初の一歩は「自動化する箇所」の見極めを

テスト自動化の取り組みを開始して約1年。これまでの取り組みを振り返って、率直な感想をお聞かせください。

山内様:現在も日々スクリプトの開発中で、テスト自動化はある意味、終わりのない取り組みだと思っています。常に改善していく部分もありますし、スクリプトの開発が完了したら終わり、というわけではなく、今後も継続して取り組んでいきます。

また今後は、「今あるプロダクトに自動化ツールを当てはめる」というだけではなく、「テスト自動化を前提としてプロダクトを作る」という必要があると思っています。テスト自動化を念頭に置きながらプロダクト開発を進めるとともに、QAチームにも自動化の知見を蓄積していく予定です。

今回の取り組みでは、テスト自動化以外にQAチームへの人材提供も手掛けさせていただいています。QAチームの状況はいかがでしょうか?

大澤様:人員補強における点でご協力をいただいており、皆さん責任感を持って業務に取り組んでいただいていると感じています。

当社では小規模なプロジェクトの場合、少人数のチームでテスト業務を行ってもらうこともあります。そういった場合でも、「どうすればよりお客様が使いやすくなるか?」という観点で提案をもらうこともあり、とても助かっています。

またQAチームの人員が拡充したことで、より積極的にナレッジ共有ができるようになりました。定期的にチーム内で各プロジェクトにおいて工夫した点や、当初の工数見積りと乖離が生まれた要因などを振り返り、ナレッジの共有に努めています。

当社では小規模なものから大規模なものまで多くの開発プロジェクトが動いているため、QAチーム内の情報連携やテスト結果の情報共有が非常に重要になっています。

今後はテスト自動化の知見もQAチームで蓄積していく必要があるので、どちらもAGESTと連携して進めているのは心強いですね。

最後にテスト自動化にチャレンジしたいと考える企業に対して、アドバイスがあればお聞かせください。

山内様:今回の取り組みを通じて、改めて「人が注力すべき部分」と「自動化すべき部分」を見極めることが重要だと実感しました。全ての工程を自動化するのが良いことではないはずですし、どうしても人が介在しないといけない箇所があると思っています。

テスト自動化の検討を進める際、どうしても使用するツールや手法に目が行きがちですが、まずは「どこを自動化するか」を見極めることが最初の一歩になるのではないでしょうか。この見極めの際、AGESTのような知見を持っている企業に協力してもらうのも有効だと思います。

そして繰り返しになりますが、テスト自動化は「ツールを入れたら終わり」というものではありません。当社もより効率的に、より安定的に運用していくために、これからも改善を続けていきます。

この記事をシェア