スピーディーなDevOpsチームは、製品、プロジェクト、チームに関するコラボレーションを安全かつ効果的に行うために、バージョン管理を行っています。mablのブランチ指定機能とバージョン管理機能を使用すると、チームメンバーは、コアのテストスイートに影響を与えたり、互いの作業を妨げたりすることなく、テストとフローに個別の変更を加えることができます。同様に重要なのは、準備が整った段階で、個別の変更をコアのテストスイートに容易かつ安全に統合し直すことができる点です。ソフトウェア開発のCI/CDパイプラインを中断することはありません。
ブランチのワークフローを使用したテスト
ブランチ指定のユースケース
テストのブランチ指定には、以下の3つの主要なユースケースがあります。
- テストのmasterバージョンに影響を与えることなく、テストに個別の変更を加える。たとえば、追加のステップを実装する際、チームの他のメンバーが監視している本番環境のテスト実行を中断せずに、追加のステップを安全に開発し、テストしたい場合です。
- 2つの異なる環境 (例: DevとProd) で、同じテストの別々のバージョンを実行する、または同じテスト対象アプリケーションの別々のバージョンを実行する。たとえば、テストのmasterバージョンを本番環境で実行し、最新の変更を組み込んだブランチバージョンをステージング環境で実行する場合です。同様に、実際に開発が行われているプレビュー環境で開発者が独自のバージョンのテストを実行する場合も、このケースに該当します。
- CI/CD環境間で、mablテストをコードとともに昇格させる。たとえば、アプリケーションのソースコード (たとえばGitHubを使用) であるブランチに新しい機能を構築する場合、この機能に関連するブランチをmablで作成して、新しいテストを追加したり、変更反映のために既存のテストを更新したりすることができます。機能のブランチをステージング環境 (リグレッションスイートをデプロイによってトリガーできる場所) にマージできる準備が整った段階で、開発者は自身のmablブランチを同時にマージして、変更内容を同期し、更新済みアプリケーションに対して更新済みテストを実行することができます。
mablのブランチの仕組み
mablのすべてのワークスペースは、開発の主要ラインを表すmasterブランチで始まります。テストまたはフローを変更して保存すると、新しいバージョンが作成され、masterブランチに格納されます。テストの実行のたびに、mablはテストとフローの最新バージョンを実行します。
開発用として、masterブランチから枝分かれする別のラインを作成できます。これが開発ブランチです。新しく作成された開発ブランチには、すべてのテストとフローが自動的に格納されるわけではありません。既存のテストまたはフローに新しい変更が保存されたとき、あるいはブランチに新しいテストまたはフローが直接作成されたとき、それらのテストまたはフローはブランチに明示的に追加されます。開発ブランチをmasterにマージすると、ステップと変数の競合を事前に解決できるため、masterの変更への意図しない上書きを避けることができます。
ブランチでテストを実行すると、そのブランチのテストまたはフローの最新バージョンが実行されます。そのブランチにテストまたはフローがない場合、masterブランチのテストまたはフローの最新バージョンが実行されます。
- ブランチ名を変更できません
- masterからのブランチ指定のみがサポートされます。つまり、開発ブランチAから開発ブランチBにバージョンを作成したり、2つの開発ブランチ間で競合を解決したりすることはできません。
- テストまたはフローの改訂履歴をブランチごとに表示することはできません。バージョンは、masterブランチまたは開発ブランチいずれかのテストまたはフローの保存済みバージョンを順に表します。
- スニペットのブランチ指定はサポートされていません。ある開発ブランチでスニペットを更新すると、そのスニペットが使用されているすべての開発ブランチとバージョンでそのスニペットが更新されます。
- ビジュアルテストのブランチ指定はサポートされていません。
- APIテストはブランチ化することができますが、競合の解決やCOMPAREタブでの差分表示はサポートされていません。
- ブランチは一度マージすると、再度開くことはできず、テストも実行できません。
- ブランチ全体を復元することはできません。つまり、ブランチのすべてのテストまたはフローを一度に以前のバージョンに戻すことはできません。ただし、テストまたはフローごとに戻すことはできます。
- 名前、説明、ラベルなど、テストまたはフローのメタデータは、バージョン管理の対象ではありません。
ワークスペースでブランチ指定を開始するには、以下のガイドを参照してください。
スナップショット
スナップショットは環境全体に適用され、特定の時点でのテストとフローの状態を保存します。ある環境 (スナップショット環境) でアプリケーションのテストの状態を保存し、別の環境で同じテストをアクティブに更新する場合、スナップショットを利用すると便利です。
スナップショットの使用方法の詳細については、ガイドを参照してください。