テストアイデアの書き換え
<default_to_action>
テストアイデアを書き換えるときは、次の手順に従います。
- 正規表現を使って、すべての「Verify X」パターンを検出します
- 適切な動作動詞のカテゴリを特定します
- 「[ACTION] [trigger]; [OBSERVE] [result]」のパターンに書き換えます
- すべてのメタデータ(ID、優先度、自動化の種類)を保持します
- 「Verify」パターンが残っていないことを確認します
- 入力と同じ形式で出力します
成功条件: /<td>Verify\s/gi の一致が 0 件であること
</default_to_action>
クイックリファレンスカード
書き換えパターン
[ACTION VERB] [specific trigger]; [OUTCOME VERB] [observable result]
動作動詞のクイックリファレンス
| カテゴリ | 動詞 | 使用する場面 |
|---|
| 操作 | Click, Type, Submit, Navigate, Scroll | UI 操作 |
| トリガー | Send, Inject, Force, Simulate, Load | API/システム操作 |
| 測定 | Measure, Time, Count, Profile | パフォーマンスチェック |
| 状態 | Set, Configure, Enable, Disable, Toggle | セットアップ操作 |
| 観察 | Confirm, Assert, Check, Observe | 結果の検証 |
よくある書き換え
| 書き換え前 | 書き換え後 |
|---|
| ログインが機能することを確認する | 有効な認証情報を送信する;セッションが作成されたことを確認する |
| API が 200 を返すことを確認する | GET リクエストを送信する;500ms 以内に 200 のレスポンスが返ることをアサートする |
| エラーが表示されることを確認する | 検証エラーを発生させる;エラーメッセージを確認する |
| データが保存されることを確認する | レコードを挿入する;データベースをクエリする;フィールドが一致することを確認する |
| パフォーマンスを確認する | 100 件のリクエストを実行する;p99 が 200ms 未満であることを測定する |
書き換えルール
パターン検出
/<td>Verify\s/gi // HTML table cells
/^Verify\s/gim // Line starts
/"Verify\s[^"]+"/gi // Quoted strings
書き換えカテゴリ
API/ネットワークテスト
| 入力パターン | 出力パターン |
|---|
| API が X を返すことを確認する | [METHOD] リクエストを送信する;[STATUS] のレスポンスをアサートする |
| エンドポイントが Y を受け付けることを確認する | [PAYLOAD] をエンドポイントに POST する;[RESPONSE] を確認する |
| Webhook が発火することを確認する | [EVENT] を発生させる;Webhook が受信されたことを確認する |
UI/UX テスト
| 入力パターン | 出力パターン |
|---|
| ボタンが機能することを確認する | [BUTTON] をクリックする;[EFFECT] を確認する |
| フォームが送信されることを確認する | [FIELDS] に入力する;フォームを送信する;[RESULT] を確認する |
| ナビゲーションが機能することを確認する | [LINK] をクリックする;[PAGE] が読み込まれることを確認する |
データテスト
| 入力パターン | 出力パターン |
|---|
| データが保存されることを確認する | [RECORD] を挿入する;クエリを実行する;[MATCH] を確認する |
| 検証が機能することを確認する | [INVALID] を入力する;[ERROR] を確認する |
| 形式が受け付けられることを確認する | [FORMAT] を送信する;[PROCESSED] を確認する |
パフォーマンステスト
| 入力パターン | 出力パターン |
|---|
| パフォーマンスが良好であることを確認する | [LOAD] を実行する;[METRIC] が [THRESHOLD] 未満であることを測定する |
| スケーラビリティを確認する | [USERS] を [N] まで増やす;[RESOURCE] を監視する |
| タイムアウトが機能することを確認する | [DELAY] を注入する;[TIME] 後にタイムアウトすることを確認する |
動作動詞リファレンス
操作動詞
| 動詞 | 使用する場面 | 例 |
|---|
| Click | UI 要素の操作 | 「Submit」ボタンをクリックする |
| Type | テキスト入力 | 「[email protected]」と入力する |
| Submit | フォームの完了 | 登録フォームを送信する |
| Navigate | ページの切り替え | /settings に移動する |
| Scroll | ビューポートの移動 | ページの最下部までスクロールする |
| Drag | ドラッグ&ドロップ | ファイルをアップロード領域にドラッグする |
| Hover | マウスの位置合わせ | ツールチップのトリガーにマウスを合わせる |
| Select | ドロップダウン/チェックボックス | ロールのドロップダウンから「Admin」を選択する |
トリガー動詞
| 動詞 | 使用する場面 | 例 |
|---|
| Send | HTTP リクエスト | /api/orders に POST を送信する |
| Inject | 障害の注入 | 500ms の遅延を注入する |
| Force | 状態の操作 | オフラインモードを強制する |
| Simulate | イベントの生成 | デバイスの回転をシミュレートする |
| Load | リソースの読み込み | 50MB のテストファイルを読み込む |
| Execute | スクリプト/コマンド | データベースのマイグレーションを実行する |
| Invoke | 関数/Webhook | 決済コールバックを呼び出す |
| Trigger | イベントの発火 | スケジュール済みジョブを発火させる |
測定の動詞
| 動詞 | 使用する場面 | 例 |
|---|
| 測定する | 定量的な確認 | 応答時間を測定する |
| 時間を計る | 所要時間の追跡 | ページのレンダリング時間を計る |
| 数える | 数量の確認 | 検索結果を数える |
| プロファイルする | リソースの分析 | CPU 使用率をプロファイルする |
| ベンチマークする | 比較 | v1.0 と比較してベンチマークする |
| キャプチャする | 状態の記録 | ネットワークトラフィックをキャプチャする |
| 監視する | 継続的な観察 | 5 分間メモリを監視する |
観察の動詞
| 動詞 | 使用する場面 | 例 |
|---|
| 確認する | 真偽の確認 | ユーザーがログインしていることを確認する |
| アサートする | 値の比較 | 合計が $99.99 であることをアサートする |
| チェックする | 状態の確認 | カートに商品が 3 つあることをチェックする |
| 観察する | 動作の監視 | スピナーが表示されることを観察する |
| 検証する | ルールへの準拠 | メールアドレスの形式を検証する |
| 期待する | 予測される結果 | /home へのリダイレクトを期待する |
| Verify(避ける) | 代わりの表現を使う | 代わりに「確認する」/「アサートする」を使う |
品質の検証
変換前のチェック
- 入力内の「Verify」パターンの数を数える
- 各パターンの文脈を特定する
- 適切なアクション動詞のカテゴリに割り当てる
変換後のチェック
- 正規表現による検証:「Verify」に一致するものがゼロであること
- すべてのテスト案がアクション動詞で始まること
- 各テストに観察可能な結果が含まれていること
- すべてのメタデータが変更されずに保持されていること
検証用正規表現
// Must return 0 matches for success
const verifyPattern = /<td>Verify\s/gi;
const matches = content.match(verifyPattern);
if (matches && matches.length > 0) {
throw new Error(`${matches.length} "Verify" patterns remain`);
}
エージェントとの統合
// Single file transformation
await Task("Rewrite Test Ideas", {
inputFile: "assessment.html",
outputFile: "assessment-rewritten.html",
preserveFormatting: true
}, "qe-test-idea-rewriter");
// Batch transformation
await Task("Batch Rewrite", {
inputDir: "./assessments/",
outputDir: "./assessments-clean/",
pattern: "*.html"
}, "qe-test-idea-rewriter");
メモリの名前空間
aqe/rewriting/
├── transformations/* - Transformation logs
├── patterns/* - Learned patterns
└── vocabulary/* - Custom verb mappings
関連スキル
覚えておくこと
すべてのテスト案は実行可能であるべきです。「X が動作することを検証する」では、どのようにテストするのかがまったくわかりません。「[アクション]X を実行し、[観察]Y を確認する」とすれば、明確な手順と期待される結果が示されます。受動的な説明を、能動的で観察可能なテストに変換しましょう。