surfup

オンラインスクールのEdTechプラットフォーム

QA体制をゼロから構築し、本番環境を壊すリリースを解消

教育 · QA · テスト自動化 · 負荷テスト
プロジェクトの背景

顧客は、インタラクティブ授業、宿題、生徒と保護者のマイページ、オンライン決済を備えたオンライン教育プラットフォームです。事業には強い季節性があり、9月に新規受講者が最も増えます。新学期の最初の数週間に停止すれば、顧客を失い、戻ってこない可能性があります。社内にQAチームはなく、開発者が他の作業の合間にテストしていました。リリース前の回帰テストに3日かけても、決済、授業予約、教室へのログインといった重要なシナリオを見逃していました。決済バグにより、夏に集めた申し込みの一部を学校が失ったインシデントを受け、顧客から相談がありました。

01 · 課題

品質保証プロセスをゼロから整備します。ビジネスリスクに基づく優先順位付け、重要シナリオの自動化、CIへのチェック統合、9月のピーク前の負荷テストを行います。開発を止められないことも条件でした。リリースは毎週続いており、9月を待たせることはで

きません。

02 · 実施した作業

自動テストからではなく、リスク分析から始めました。どのシナリオが最も頻繁に壊れ、どこでバグの損失が最大になるかを洗い出し、そのリストに沿って自動化しました。

  • 品質を監査しました。直近半年のバグを分析し、各チームに聞き取りを行い、決済、授業予約、教室へのログイン、保護者への通知といった問題の大きいシナリオを整理しました。
  • テスト戦略を作成しました。テストレベル、責任範囲、機能の完了条件、バグ報告手順を定め、3つの開発チームで統一しました。
  • 重要な経路を自動化しました。WebプラットフォームにはPlaywrightのE2Eシナリオ、バックエンドにはAPIテストを導入し、各リリース前にスモークテストを実行します。
  • QAゲートをCIに組み込みました。スモークテストが成功しなければリリースできず、完全な回帰テストは毎晩実行され、結果はGitLab上で全チームが確認できます。
  • k6で負荷テストを行いました。9月のピーク流量を再現してボトルネックを見つけ、シーズン前にバックエンドチームと解消しました。
  • プロセスを顧客側へ引き継ぎました。ドキュメントと運用手順を整え、QAエンジニアに自動テストとパイプラインの使い方をトレーニングしました。

重要な判断は、見栄えのよいカバレッジ率ではなくビジネスリスクで優先順位を付けることでした。100%自動化は目指しませんでした。重要シナリオの75%をカバーすることで効果の大部分を得られました。プラットフォームが収益を得る、または顧客を失う経路を守れたからです。残りは重要なリリース前に手動の探索的テストで確認します。

03 · 結果

主な経済効果は、欠陥をより早く検出できるようになったことです。CIの自動テストで見つけるバグは、生徒の保護者が本番環境で見つけるバグより修正費用が何十倍も安く済みます。プラットフォームは余裕を持ってシーズンに入り、チームは「金曜日効果」を恐れずに頻繁に変更をリリースできるようになりました。事業側の信頼も高まり、営業チームは募集ピークでも安定したプラットフォームを提供できると、提携校に正直に約束できます。

04 · 主な成果
指標結果
本番環境の重大なバグ月5〜7件 → 四半期1〜2件
リリース前の回帰テスト手作業で3日 → 自動テストで4時間
9月の負荷ピーク毎年インシデント → 0件、性能劣化なし
欠陥の検出タイミング多くは本番環境 → 自動テストがリリース前に検出

指標はケースの原資料から転記しています。期間は出典に記録がある場合に記載しています。

4か月間の取り組み
四半期あたりの重大バグ(以前は月5〜7件)
1–2
自動テストによる回帰(以前は手作業で3日)
4時間
の重要シナリオを自動テストでカバー
75%
9月ピーク時のインシデント
0
カバレッジとテスト速度
自動テスト対象の重要シナリオ
導入前0%
導入後75%
本番環境の重大バグ
導入前月5〜7件
導入後四半期に1〜2件
低いほど良い
リリース前の回帰テスト
導入前3日
導入後4時間
低いほど良い

参考尺度:3日を72時間に換算。バーの長さでは月次のバグ範囲を3倍して四半期換算し、上限同士を比較しています。

CIのQAゲート
  1. 01コミット
  2. 02スモークテストテストが成功しなければリリース不可
  3. 03リリース毎週
  4. 04毎晩実行完全な回帰テスト
今後の展開

プラットフォームに次に推奨する施策:

  • ビジュアル回帰テスト。授業、メール、マイページのレイアウトを自動で確認します。
  • テストデータファクトリー。実際に近い生徒、クラス、決済データを実行ごとに生成します。
  • 本番QA。feature flagsとカナリアリリースで新機能を段階的に有効化します。
お客様の声
リリースを恐れなくなりました。以前は金曜のたびに苦情対応になることがありましたが、今では本番リリースは15分の定型作業です。

— オンラインスクールのCTO

最新の資料

すべての資料

SurfUpの実践的な記事とガイド。

ガイド · 10分

「〜とは」ページとAI回答:失われたクリックか、需要の低下か

ある銀行の解説セクションは、需要が13%減る中で訪問を24%失いました。AIブロックに奪われたクリックと需要の低下の見分け方と、その測定方法。

読む
ガイド · 8分

Googleのアップデート後にトラフィックが減った

減少の原因がGoogleのアップデート、季節性、サイトの不具合のどれかを確認する方法。2026年のアップデート年表、6つの質問による確認、最初の14日間の計画を紹介します。

読む
ガイド · 9分

需要が減ったのか、サイトが負けたのか:流入とWordstatの突き合わせ

預金の需要は75%減、流入は37%減。カードは需要−35%、流入−63%。流入と需要を突き合わせ、市場の変化をサイトのせいにしない方法。

読む