みなさん、こんにちは。株式会社マネーフォワードのCQO室 プロセスエンジニアリング部の角田と申します。
マネーフォワードといえば家計簿アプリ「マネーフォワード ME」が有名ですが、実はグループ全体で多様なサービスやプロダクトを展開しています。主に以下3つのサービス領域に分かれており、それぞれが幅広いユーザーの課題解決を目指しています。
法人向けサービス 会社のバックオフィス業務をサポートするサービス群です。会計や勤怠、給与管理など、業務を効率化するためのシステムを多数提供しています。
個人向けサービス 代表的なのが「マネーフォワード ME」という家計簿アプリです。ウェブサービスとしても利用でき、多くの個人ユーザーにご愛用いただいています。
金融機関向けサービス 金融機関の顧客向けに「マネーフォワード for ○○」のような形で家計簿サービスを提供しています。さらに、金融機関の顧客向けサービスを強化・支援するソリューションも展開しています。
また、この他にも内部共通処理のマイクロサービスを開発するチームなどがあり、エンジニアリング組織全体としてはかなり大規模になっています。
QAとSDETロールに求めるスキルとは
まず前提として、「QA」と「SDET」は明確に区別があるわけではなく、実際にはグラデーションがあるイメージです。QA寄りのスキルが得意な方もいれば、SDET寄りのスキルが得意な方もいる、といった形です。
採用面では「QA Lead」や「SDET」という職種名で募集しているケースが多いですが、それぞれの役割を簡単に整理すると、QAはISTQBのテストアナリストに近いイメージで、プロジェクトやプロダクトの品質保証をリードするポジションです。具体的にはテスト設計や品質保証活動の推進などが中心になります。SDETは開発チームを支援する仕組みづくりを担うポジションです。テスト自動化の整備やCI/CDパイプラインの構築など、開発効率や品質向上を図るための環境を整備するのが主な役割となります。
実務では「この人は完全にQA」「この人は完全にSDET」というわけではなく、求めるスキル領域が重なる部分もあります。
また、マネーフォワードには海外拠点があり、エンジニアは色々な国籍の方がいます。そのため、コミュニケーションやドキュメントは英語が基本です。グローバルな体制でテストを行う場合は、時差や言語などの課題が出てくることもあります。
領域横断型の組織で会社全体の品質を管理するCQO室
続いて、私が所属しているCQO室についてご説明します。 マネーフォワードは法人向け・個人向け・金融機関向けなど、多彩な領域でプロダクトを提供しており、サービスごとにグループや会社が分かれています。その中でCQO室は、会社を横断して各事業・各プロダクトの品質やプロセスをサポートする組織です。
QA/SDETに関しては、事業部ごとに在籍している場合もあれば、いない場合もあり、CQO室からのサポートによってカバーしているケースもあります。明確に「CQO室所属の人だけがQA/SDETを担当する」というわけではなく、必要に応じて柔軟に連携しているイメージです。なお今回ご説明するのは、あくまで私の所属するCQO室周辺で進めている内容になります。
テストプロセス改善
まず取り組んでいるのがテストプロセスの改善です。私たちは横断的な組織として、複数のプロダクトに一律に改善活動を行う必要があります。そのため、テスト計画とリリース基準・エビデンスというドキュメントを整備するように呼びかけています。 テスト計画はプロダクトやプロジェクトの開始時に、どのように体系的なテストを行うのかを明確にしてほしいという狙いがあります。 リリース基準やエビデンスは、リリースを行う前にどのような判断を下してリリースを決定したのかを明確化し、後からでも確認できるようにするために作成を推奨しています。 具体的には、リリース前にテストが完了しているかを確認し、リリース前に修正しきれなかったバグや修正しないと判断したプロダクトリスクを明確にします。それらがリリース後に顕在化した場合の対応方法を事前に決めることで、万が一問題が起きたときに素早く対処することが可能になります。
併せて、カスタマーサポートやセールス、マーケティング、カスタマーサクセスなど、複数のステークホルダーへも確実に周知が行き渡るようにチェックリストを導入してリリース情報を共有する仕組みを整えています。
自動テスト構築
自動テスト構築についてですが、私たちはテストピラミッドをモデルにしてユニットテスト・インテグレーションテストやAPIテスト・E2Eテストのバランスを取りながら構築しています。
ユニットテストが土台として最も多く、上位レイヤーになるインテグレーションテストやE2Eテストの量は比較的少なくすることを目指しています。自動テストの検討も「まずユニットテストで何をするのかを決めた後に、APIテストをどうするのか、E2Eテストをどうするのかを考えていく」というステップを踏むことで安定性の高い自動テストの構築が実現できるようにしています。
実際に、社内プロダクトのユニットテストに関しては、すでにコードカバレッジやブランチカバレッジが70%を超えるプロダクトが増えてきており、一定の成熟度に達し始めました。 そこで次の段階として、APIテストの構築に力を入れています。
APIテスト
APIテストの構築を効率よく進めるために、OpenAPI(Swaggerファイルなど)の仕様からエンティティやインターフェースを自動生成する方法や、テストケースをソースコードから独立して保持し、AIのサポートを使って省力化を図る取り組みを進めています。
メトリクス解析
複数のプロダクトを一律に品質評価していくためには、横断的に分析できるような取り組みが必要になります。そこで、テスト管理ツールや静的解析ツールのAPIからデータを取得し、BIツールに連携して可視化する取り組みを行っています。
AIツール活用と研究開発
最後にAIツールの活用についてです。自動テストの効率化に限らず、コードレビューやユニットテスト生成のサポートとしてAIを積極的に取り入れたいと考えています。ソースコードやドキュメントをAIで解析し、そこからテストケースやテストコードを自動生成するアイデアは、すでに実験的に進めているところです。 既存のコードレビューAIツールの性能を比較検討し、社内のプロダクトにどのように適用できるかを探っている段階でもあります。また、マネーフォワードとソニーグローバルマニュファクチャリング&オペレーションズ株式会社様、宮崎大学様との共同でユニットテストコードの自動生成の研究開発もしています。
AI戦略と今後のビジョン
先日、マネーフォワードは「Money Forward AI Vision 2025」を社外向けに発表し、AIエージェントやAIエージェントプラットフォームへの投資と開発を加速させる方針を明確にしています。さらに、CEOのnoteでは「No.1 バックオフィス AI カンパニー」を目指すと宣言しており、全社的にAI活用の取り組みを拡大する流れが本格化してきました。
このような中で、QA組織や品質保証組織に期待される役割は大きく二つあると考えています。一つ目はAIシステムに対する品質保証をどのように行うかという「QA4AI (QA for AI)」の領域、もう一つはAIを活用して品質保証を改善する「AI4QA (AI for QA)」、この二軸を同時に推進していく必要があります。
QA4AI(QA for AI) AIシステムの品質保証に関しては、日本国内でも「QA4AIガイドライン」が公開されており、生成AIを含むAIシステム特有の注意点が整理され始めています。国際的にもISO/IEC 25059:2023のようにAIシステムの品質モデルを定義する動きが進んでいるため、品質保証担当者としては従来のソフトウェアとAIシステムの違いをしっかりと押さえながら、適切な評価・テストを行う必要があります。
AI4QA(AI for QA) AIシステムを活用した品質保証に関しては、テストケースの自動生成やコードレビューのサポートなど、さまざまな切り口が考えられます。社内ではGitHub CopilotやCursorといったツールを実験的に活用しており、ドキュメントレビューから設計、リリース、モニタリングまで、ソフトウェアライフサイクルのあらゆるフェーズでAIを活用できる可能性を探っています。ライフサイクル全般での効率化と品質向上を両立させるためにも、今後はAIツールの選定や導入をより体系的に行うことが重要だと感じています。
We Are Hiring!
ここまでご紹介したように、品質保証組織が担うべき役割は今後ますます広がっていきますが、現時点ではまだ人手が十分とは言えません。そこで、マネーフォワードの採用ページではQAエンジニアを募集しています。今回の内容に少しでも興味を持っていただけた方は、ぜひ採用情報をご覧いただけると幸いです。[1]
-
※本記事は、2025年4月21日に開催されたイベントの内容を元に編集したものです。 ↩