かけあい テスト構成

目的を決める。必要な検査を実行する。結果を次の開発につなげる。

目的から結果まで

Kiwiで目的を決め、Nxで実行し、Allureで結果を見る。

図を拡大 ↗
目的から結果まで
細かなテスト条件はコードで管理し、Kiwiには検査目的をまとめます。

Kiwi TCMSで自動9目的と手動1目的を管理し、レビュー済みの目的をGitへexportする。Nxはその定義に対応したVitest、Playwright、pytestを実行する。今回実行した結果はAllureへ、再利用元を含む実行記録は目的単位でKiwiへ同期する。

必要な検査を、一度ずつ

ローカル一式ではbuildを共有し、同じ入力の単体・型検査を再利用します。

図を拡大 ↗
必要な検査を、一度ずつ
矢印は依存関係です。実行は並列数1で、兄弟タスクの固定順序は求めません。

Nxのローカル一式は126条件と型検査、build。単体・画面部品72条件と型検査はcache対象。運用38条件は毎回実行する。buildの後にDB統合14条件とブラウザ2条件が実行可能になり、buildは一つのグラフで一回。矢印は依存関係で、兄弟タスクの固定順序や並列実行を示さない。

検査ごとに環境を分ける

DB統合とブラウザは、それぞれのPostgreSQLを持ちます。

図を拡大 ↗
検査ごとに環境を分ける
Testcontainersで検査用DBを準備し、終了時は所有する環境を片付けます。

DB統合はVitestから業務API・AI Workerと実PostgreSQLを確認し、固定providerの応答を使う。ブラウザはPlaywrightから専用Web・Auth Worker・D1と別のPostgreSQLを使用し、PCと狭幅で利用者を分ける。共有するのはSaaS build成果物。共有Staging・本番DBを初期化せず、実OpenAIへ通信しない。終了時にそれぞれが所有する接続・process・containerを片付ける。

本番反映は、段階ごとに確認

ローカル検査、準備、切替、公開後の確認を、それぞれ判定します。

図を拡大 ↗
本番反映は、段階ごとに確認
確認段階を示す図です。自動検査の成功だけで、配備・公開後確認を完了にしません。

固定した候補のローカル検査後、署名bundle・隔離DBの予行・実環境readinessを確認する。承認範囲の正規CLIで切り替え、公開後はsmoke 3条件に加えobserverとログ・主要操作を確認する。DB更新なしは無停止Blue/Green、DB更新ありは明示的な計画停止。手動1目的で準備と公開後確認を記録し、自動検査の合格で代替しない。この図は確認段階を示し、実際の配備完了状態ではない。

最小構成を保つ3つのルール