
こんにちは、kickflow QAチームの川村です。
今回はQAチームがどのようなツールを導入し、どのように活用しているのかをご紹介します。
テスト管理ツールからE2Eテスト自動化、そして最新のAI活用まで、私たちのツールスタックを大公開します!
プロジェクト・テスト管理
まずは、日々のタスクやテストケースを管理するための基盤となるツールを紹介します。
開発チームとの円滑な連携や、QA活動の可視化に不可欠な存在です。
Asana
Asanaは、kickflowのプロダクト側で利用しているタスク管理ツールです。
QAチームでは主に、不具合チケットの管理や日々のQAタスクの管理に活用しています。
利用している機能は主にボードビューとレポートダッシュボードの2つです。
現在、プロダクト開発本部には他に開発、デザイン、プロダクトマネジメント、テクニカルサポート、CREチームがありますが、全チームがAsanaでタスク管理をしています。
朝会や夕会で作業報告する際は各チームのAsanaボードを投影しながら行えるので、他のチームの作業内容や進捗などを一箇所で確認できて便利です。
最近では、ビジネス側からの問い合わせ管理もAsanaのプロジェクトでおこなうようになりました。

開発チームと同じツールを使うことで、不具合が発見されてから修正、そしてQAによる確認までのフローが非常にスムーズになります。
コメントや担当者の変更履歴がすべてAsana上に残るため、誰が何をしているのかが一目瞭然です。
また、不具合だけでなく、業務効率化タスクやE2E拡張タスクなどQA関連のあらゆるタスクもAsanaで管理し、チーム全体の作業を見える化しています。

個人的にはレポートダッシュボード機能を気に入っていて、不具合のトラッキングだけでなく、QAの定量目標管理にも利用しています。
もともとタスク・バグの管理にはJIRAを使っていたのですが、チケットが増えるに連れて動作が重くなったため、2023年末にAsanaに移行しました。
AsanaはJIRAに比べて読み込みが早いのと、他人の入力内容が即時反映されるので、JIRA時代に抱えていたペインは解消しました。
最近ではZapierやSlackと連携して業務を一部自動化したり、独自のChrome拡張機能を作ってカスタマイズしています。
Qase
Qaseは、テスト項目書の管理とテスト実行管理に利用しています。
以前はTestRailでテストケースを管理していましたが、動作が重いこと、他ツールとのインテグレーションがしにくいこと、高額であることなどの理由から、今年の4月にリプレイスしました。
TestRailとの比較についてはこちらに書かれています。 qase.io
Qaseの導入にあたり、QAチームのメンバーには通常ライセンスを、それ以外のメンバーには安価なRead-onlyライセンスを割り当てています。
このライセンス体系のおかげで、TestRailを使用していた頃に比べて、大幅なコストダウンを図ることができています。
また、TestRailよりもモダンなUIで直感的に利用できて動作も軽いため、ストレスなく利用できるようになりました。
Qaseの使用感やインテグレーションについてはまた別記事で詳細を書こうと思っています。
テスト自動化
自動テストツールは、UIのテストにはメインでAutify、サブでCypressを使っていて、APIテストはPostmanを利用しています。
kickflowでは毎朝リリースがあるので早朝に完了するように定期実行を設定していて、機能全体に対してリグレッションテストを自動化しています。
Autify
Autifyは、ブラウザ操作を記録するだけでテストシナリオを作成できる、ノーコードのE2Eテスト自動化プラットフォームです。
運用にかかる人的負担が低いことから、Autifyで実装可能なテストについては全てAutifyで実装しています。
GUIベースで直感的にシナリオを作成・編集できるため、プログラミング経験が少ないメンバーでもテスト自動化に参加しやすいのが大きな魅力です。
現在はほぼ全ての画面の基本的なテストに加え、主要機能に関しては機能を網羅するようにE2Eテストを構築しています。
コードベースで実装しにくいファイルダウンロードやメール・外部連携通知のテストもAutifyでは容易に実装できています。
どのように利用しているかの概要はこちらの資料にまとめてあります。
(今年の3月におこなわれたAutifyイベント登壇時の資料です。)
speakerdeck.com
今年の3月から7月にかけてAutifyの運用シナリオ数が84本→288本に増えたので、それについてもまた別で書こうと思っています。
Cypress
Cypressでは、Autifyで実装が難しいテストや不安定になるテストを実装しています。
ノーコードのAutifyとコードベースのCypressを適材適所で使い分けることで、テスト自動化のカバレッジとメンテナンス性の両方を高めています。
AIオプション機能のような毎回同じアウトプットにならないようなテストや、同一画面で似たような動作を繰り返し行うようなテストの実装をしています。
Autifyでは「10回中8回以上このアウトプットだったらOK」のようなテストが実装できなかったり、1画面にたくさんのチェックボックスがあるようなテストを作ろうとすると管理しにくくなるので、そういったテストをCypressで解決しています。
Cypressは効率よくテストの記述・実行ができるように結構カスタマイズしていて、並列実行については先日記事を出しました。
最近では、Playwright MCPを使ってAIでCypressのテストコードを自動生成させたりしているので、それについてもまた書こうと思います。
Postman
Postmanは、お客さま向けに提供しているREST APIの手動テストと自動テストで利用しています。
APIテストでは、API単体で期待通りに動作するかの単体テストと、複数のAPIを組み合わせてユースケースを実現できるかを確認するための結合テストを実装しています。
単体テストでは、さまざまなパラメータでデータの取得・登録・更新・削除ができるかや、認証やバリデーションに関するエラーをチェックしています。
結合テストでは、ユーザー情報やワークフロー情報を取得後にその内容を使ってチケットを作成し、承認や差し戻しができるかなどをチェックしています。
「カスタムバリデーションエラーがあるときに申請できない」のような機能的な要件もこちらで実装しています。
ちなみに、Github ActionsからはPostman CLIを使ってCollectionを直接実行しているので、チームワークスペースのCollectionを直接修正するだけでテストの修正が完了するようになっています。
GitHub Actions
GitHub Actionsは、これまで紹介したAutify, CypressやPostmanによる自動テストを実行するための基盤(CI/CD)として利用しています。
E2Eテストの定期実行の設定や、Autifyシナリオのメンテナンス用のjobを設定したりしています。
各種実行結果はすべてSlackチャンネルに通知するようにしています。
また、Cypressのテストコードのpush時にLintを自動実行する設定を入れて、複数人でのE2Eテスト実装においても品質基準を満たしたコードのみがマージされるようにもしています。
AI関連ツールの活用
最後に、QAチームでよく利用するAI関連のツールを紹介します。
kickflowにはAI 1stというバリューがあり、QAチームでもAIツールを積極的に業務に活用しています。
kickchat
kickchatは、kickflow社内で開発されたChatGPT連携のSlackボットです。
Slack上で利用できるので、ちょっとした調査や文章の作成、画像生成などに利用しています。
社内のドキュメントに対応しているので、社内制度やkickflowの仕様に関する質問も答えてくれます。
kickchatの開発や活用については下記の記事に書かれています。
tech.kickflow.co.jp en-jp.wantedly.com
実はkickchatとは別にkickchat-Rという、推論に強いモデルが搭載されたチャットbotもあるので、簡単なプログラムの作成はSlack上で完結してしまいます。

kickchatは先日GPT-5系にアップデートされました🎉

Dify
DifyはAutifyのJSステップのコードやPostmanのテストコードを生成するアプリを作ったりして利用しています。
Difyで作成したアプリはAPIで呼び出せるので他のツールと結合させてAIによる処理部分を担わせたり、単純にアプリを公開してテストベンダーのメンバーも利用できるようにしたりしています。
実験的に仕様書を与えて二因子間網羅のテスト項目書を生成させるアプリを作ったり、既存のテスト仕様書をナレッジベースに食わせてテストケースを自動修復できるかを試したりと、Difyは割と自由に使っています。
DifyはAI 1stを推進する際に戦略的に全社員にアカウントが配布されたので、他のメンバーがどのようにアプリを作っているかを参考にして作ることができるのも良い点です。
Google Gemini
Geminiは雑多なタスクを効率化するためにGemを整備したり、Gemini Canvas機能を利用してQAポータルを実装するのに使っています。
個人的には、管理業務を効率化するためにタスクごとにGemを作成して使ったり、複数の画像と適当なテキストを渡してドキュメントを作成するのに使うことが多いです。
Gemの中で他のメンバーも利用できそうなものをDifyに移植したりしています。
Gemini Canvasを使ったQAポータルサイトの構築についてはこちらの記事に書かれています。
Anthropic Claude
E2Eテストの実装や業務効率化ツールの開発にはClaude Codeを利用しています。
また、プロダクトのソースコードを読ませて実装仕様に関するドキュメントを作ったり、テスト観点の作成に役立てたりしています。
kickflowではAIによるコーディングや業務効率化を推進しているので、開発者だけでなく、QAメンバーにもClaude Maxの$200プランが付与されています。
ちなみに、ターミナルでの利用よりエディタ内で利用したいメンバーはRoo CodeのAPIプロバイダーにClaude Codeを設定して利用しています。
Devin
DevinはPlaybookを整備してテスト観点の作成に利用したり、不具合の原因特定に活用しています。
Slackから呼び出せるAI Agentなので、SlackのメッセージにリアクションをつけたらDevinが呼び出されるようにオートメーションを組んだりしています。
Devinを活用したテスト観点生成についてはこちらの記事に書かれています。
最近では、簡単な仕様変更に合わせてコードベースのE2Eテストを修正するのにも使い始めています。
まとめ
今回は、kickflowのQAチームがプロダクトの品質を支えるために活用しているツール群をご紹介しました。
- 管理基盤: Asana, Qase
- テスト自動化: Autify, Cypress, Postman, GitHub Actions
- AI活用: kickchat, Dify, Gemini, Claude, Devin
重要なのは特定のツールに固執するのではなく、目的やチームのスキルセットに合わせて最適なツールを適材適所で組み合わせることだと考えています。
私たちはこれからも新しい技術やツールを積極的に取り入れながら、お客様に最高のプロダクトを届けられるよう品質向上に努めていきます。
kickflowでは、一緒にプロダクトを創り上げてくれる仲間を募集しています!
少しでもご興味をお持ちいただけた方は、ぜひ採用サイトをご覧ください。