Spec Driven テストシナリオ
SDD の詳細については Spec-Driven Development をご覧ください。
概要
このページでは、Spec-Driven Development 機能に関連するテストシナリオと要件を追加します。
Agent プラン
前提条件
テストシナリオを実行する前に、以下の条件を満たしていることを確認してください:
- フィーチャーフラグ
- テスト対象のユーザー、グループ、またはインスタンスに対して
agent_planフィーチャーフラグを有効にする必要があります。 - 確認方法: Rails コンソール(
Feature.enable(:agent_plan))または GitLab 管理 UI の/admin/feature_flagsから確認してください。
- テスト対象のユーザー、グループ、またはインスタンスに対して
- EE モード
- インスタンスは EE モードで動作している必要があります。この機能は FOSS のみのモードでは利用できません。
- 確認方法:
FOSS_ONLY=1で GDK を起動しないでください。そのフラグを付けて起動するとウィジェットが表示されないはずです — これ自体がテストケースです(セクション 1 参照)。
- ユーザー / データのセットアップ
- 利用可能な各ワークアイテムタイプ(Issue、Task、Incident、Epic)を持つプロジェクトが少なくとも 1 つ必要です。
- ワークアイテム(Issues、Epics)を持つグループが少なくとも 1 つ必要です。
- プロジェクトとグループの両方のコンテキストでワークアイテムを閲覧するための十分な権限を持つユーザーアカウント。
セクション 1 - フィーチャーフラグと EE のゲーティング
これらのテストは、UI テストを開始する前に機能が正しくガードされていることを確認します。
1.1 - agent_plan フラグがオフの場合、機能が非表示になる
手順:
agent_planフィーチャーフラグを無効にします。- 任意のワークアイテム(例: プロジェクトの Issue)に移動します。
- ワークアイテムの詳細パネルまたはフルページを確認します。
期待される結果: Agent プランウィジェットがレンダリングされません。空のプレースホルダーや壊れた UI は表示されません。
1.2 - FOSS のみのモードで機能が非表示になる
手順:
FOSS_ONLY=1 gdk startで GDK を起動します。agent_planフィーチャーフラグを有効にします。- 任意のワークアイテムに移動します。
期待される結果: Agent プランウィジェットがレンダリングされません。ワークアイテム UI の残りの部分は正常にレンダリングされます。
1.3 - EE モードでフラグがオンの場合、機能が表示される
手順:
FOSS_ONLY=1なしで GDK が動作していることを確認します。agent_planフィーチャーフラグを有効にします。- 任意のワークアイテムに移動します。
期待される結果: Agent プランウィジェットがワークアイテム詳細ビュー内に表示されます。
セクション 2 - プロジェクトのワークアイテム
これらのテストは、プロジェクトコンテキストにおける Agent プランウィジェットをカバーします。各シナリオをパネルビューとフルページ(単一アイテムビュー)の両方で実行してください。
各シナリオでテストするビュー:
- パネルビュー — ワークアイテムをサイドパネルとして開く(例: ボードやリストから)
- フルページ — ワークアイテムを固有の URL で直接開く
2.1 - プロジェクトの Issue
手順:
- プロジェクトに移動します。
- パネルビューで Issue を開きます。Agent プランウィジェットが表示されていることを確認します。
- 同じ Issue(または別の Issue)をフルページ URL で開きます。Agent プランウィジェットが表示されていることを確認します。
期待される結果: Agent プランウィジェットがパネルビューとフルページの両方で正しくレンダリングされます。
2.2 - プロジェクトの Task
2.1 と同じ手順で、Task ワークアイテムタイプを使用します。
期待される結果: Agent プランウィジェットが両方のビューでレンダリングされます。
2.3 - プロジェクトの Incident
2.1 と同じ手順で、Incident ワークアイテムタイプを使用します。
期待される結果: Agent プランウィジェットが両方のビューでレンダリングされます。
2.4 - プロジェクトの Epic
2.1 と同じ手順で、Epic ワークアイテムタイプを使用します(プロジェクトレベルで利用可能な場合)。
期待される結果: Agent プランウィジェットが両方のビューでレンダリングされます。
2.5 - その他 / 追加のワークアイテムタイプ
プロジェクトがサポートする他のワークアイテムタイプ(例: OKR、Key Result、Test Case)については、同じパネル + フルページの確認を繰り返します。
期待される結果: Agent プランウィジェットがワークアイテムタイプに関係なく一貫してレンダリングされます。
セクション 3 - グループのワークアイテム
これらのテストは、グループコンテキストにおける Agent プランウィジェットをカバーします。
注意: グループのワークアイテムは、ワークアイテムがグループレベルでスタンドアロン URL を持つ場合を除き、パネルビューでのみアクセス可能です。それに応じてテストしてください。
3.1 - グループの Issue(パネルビュー)
手順:
- グループのワークアイテムリストに移動します。
- パネルビューで Issue を開きます。
期待される結果: Agent プランウィジェットがパネルに表示されます。
3.2 - グループの Epic(パネルビュー)
手順:
- グループの Epics リストに移動します。
- パネルビューで Epic を開きます。
期待される結果: Agent プランウィジェットがパネルに表示されます。
3.3 - グループの Epic(フルページ)
手順:
- グループの Epics リストに移動します。
- Epic をフルページ URL で開きます。
期待される結果: Agent プランウィジェットがフルページに表示されます。
セクション 4 - ネガティブ / エッジケース
これらのテストは、リグレッションや機能の意図しない公開から保護します。
4.1 - セッション途中でフラグがオフになった場合
手順:
- フラグを有効にしてワークアイテムに移動します。ウィジェットが表示されていることを確認します。
- フラグを無効にします。
- ページを更新します。
期待される結果: フラグを無効にしてページを更新した後、ウィジェットはレンダリングされなくなります。
4.2 - 権限が不十分なユーザー
手順:
- プロジェクトに対してゲストレベルのアクセス権を持つユーザーとしてログインします。
- ワークアイテムに移動します。
期待される結果: 想定される動作を確認します — 意図した権限モデルに応じて、ウィジェットが非表示になるか、読み取り専用状態でレンダリングされるかのいずれかです。チームと確認し、ここに期待される状態を文書化してください。
5d840611)