スタートアップには20人体制のQAチームはいません。エンジニア2人と締切があるだけです。すべてをテストすることはできません。
問題は「テストすべきか?」ではなく、「何を最初にテストすべきか?」です。
リスクベースのテストピラミッド
従来のテストピラミッド(単体テスト > 結合テスト > E2Eテスト)は忘れてください。スタートアップには、リスクベースのアプローチを使います。
優先度1:お金を失うものをテストする。 決済フロー、サブスクリプション管理、課金計算。ここでのバグは実際の金額と実際の顧客を失います。
優先度2:データを失うものをテストする。 データベースマイグレーション、データエクスポート、バックアップ/リストア。ここでのバグは壊滅的で、多くの場合取り返しがつきません。
優先度3:信頼を失うものをテストする。 認証、認可、パスワードリセット、メール配信。ここでのバグはユーザーにセキュリティへの疑念を抱かせます。
優先度4:その他すべてをテストする。 UI操作、エッジケース、パフォーマンス、アクセシビリティ。重要ではありますが、存続に関わるものではありません。
最小限のテストスイート
一般的なSaaSスタートアップの場合、1週目に以下のようにセットアップします。
