多くのソフトウェア企業は、新しい機能を製品に迅速に段階的にリリースしていると自慢しています。大企業 X での私のバックエンド プロジェクトでは、大きなリリース (四半期に 1 回のリリース) があります。スクラムを使用して、2 週間のスプリントとシステム統合テストを、隣接するチームとクライアントの間で、本番環境にリリースする前の最終段階として行います (独自のテスト パックがあります)。私たちのチームは、バックエンド サービス (それぞれのテストのパック) に対してのみ、夜間の回帰テストとの継続的な統合を使用しています。また、Jira、git、nexus、コード レビュー用の stash、spock、junit、teamcity などの最新のアジャイル ツールも使用しています。
チームが忙しいため、チーム間で頻繁に統合テストを行う余裕はありません。QA 開発者によって記述された回帰テストには、最大で 10 時間かかります (テラビュートのデータを含むデータベースに対してチェックされる多くの機能があります)。私たちのすべてのバックエンド サービスは、何百もの消費者がいて 24 時間 365 日働くビジネスの観点から重要です。本番環境に移行するには、すべての消費者も統合テストを実行する必要があります。これには多くの調整と時間が必要です。私たちは常に週末の非稼働時間にリリースします。
したがって、迅速なリリースは非常にリスクが高く、時間がかかります。サクセスストーリーとクイックリリースを達成する方法を知りたいですか? これは本当に実行可能ですか?