AI動画生成・編集UIの要件定義とQA設計
ブラウザ上の制作ワークフローを確認する入口として、PhotoGenerator.ai も参照できます。
この記事は、公開されているAI動画UIを題材にした要件・テスト設計メモです。内部ソースコード、API仕様、モデル性能、処理時間は確認していません。
対象を2つのユースケースに分ける
AI動画機能には、少なくとも次の2種類があります。
- 文章から複数ショットの構成を作り、新しい動画を生成する。
- 既存動画を保持条件付きで編集する。
smart shot の公開UIは、シーン説明、任意の参考画像、ストーリーボード確認・編集、動画生成という流れです。これはショット計画のユースケースです。
edit video は、動画を選択し、編集指示、任意の参考画像、音声保持設定を入力します。画面には3〜10秒、720p以上、参考画像最大7枚という境界も表示されています。
要件の切り分け
ショット計画
- 各ショットに順番がある
- ショットごとの目的を確認できる
- 画角やカメラ移動を修正できる
- 生成前にストーリーボード全体を確認できる
既存動画編集
- 入力動画の条件を確認できる
- 残す対象と変更対象を指示できる
- 参考画像の役割を把握できる
- 音声保持の状態を確認できる
- 失敗後に入力を再利用できる
状態遷移の例
入力作成 -> 入力検証 -> 生成中 -> レビュー -> 採用
| |
+-> エラー <---------+
|
修正して再試行
エラーで画面全体を初期化すると、ユーザーは同じ素材と指示を再入力することになります。修正可能なエラーとして扱い、入力意図を保持することを要件にします。
テストケース
| ID | 条件 | 期待結果 |
|---|---|---|
| S01 | シーン説明とキャラクター画像を入力 | ストーリーボード生成へ進める |
| S02 | ストーリーボードの1ショットを修正 | 対象ショットだけ変更される |
| E01 | 対応条件外の動画を入力 | 理由を含む検証メッセージが出る |
| E02 | 参考画像を追加・削除 | 枚数表示と対象が一致する |
| E03 | Keep Audioを変更 | レビュー時に設定を確認できる |
| R01 | 生成結果を再生 | 最初から最後まで確認できる |
| F01 | 生成が失敗 | プロンプト、素材、設定が残る |
自動化テストの契約例
セレクターは実DOMを検証したものではありません。UI契約を表す例です。
test("編集失敗後も音声保持設定を残す", async ({ page }) => {
const keepAudio = page.getByRole("checkbox", { name: /keep audio/i });
await keepAudio.check();
await page.getByRole("textbox", { name: /edit instructions/i })
.fill("remove the background distraction");
await page.getByRole("button", { name: /edit video/i }).click();
await expect(keepAudio).toBeChecked();
});
品質評価の注意
公開ページに表示された入力項目から、成功率、品質、時間的一貫性、レイテンシを断定してはいけません。評価する場合は、入力動画、参考素材、指示文、モデル、日時を固定し、主役の保持、不要な変化、音声同期、指示遵守を個別に採点します。
まとめ
AI動画UIのQAでは、生成ボタンよりも「どの意図を扱っているか」「何を保持するか」「失敗後に戻れるか」を定義することが重要です。ショット計画と既存動画編集を分けるだけで、要件とテストケースの粒度が揃います。