AIツールカタログのFreshnessを検証する要件とテスト
AIツールの比較ページは、候補を並べた瞬間に完成するわけではありません。料金、機能、提供形式、リンク、対象ユーザーなど、時間で変わる情報を「いつ確認したか」「再確認が必要か」と一緒に扱う必要があります。
本稿は公開画面を題材にした要件・QAメモです。特定サービスの内部実装やAPIを調査したものではありません。
公開ページから置き換えられる要件
AiTop10.ai のホームページには、AIサイト・ツールのランキングに加えて、価格確認、主要機能、スクリーンショット、スコアカード、編集部レビューなどの比較要素が示されています。これをカタログの受け入れ条件へ分解します。
「top AI tools」という検索語 top AI tools は、用途や対象ユーザーの条件を含むことがあります。条件を保持しない一覧は、最新でも判断材料として弱くなります。
| 要件 | 受け入れ条件 | stale時の表示 |
|---|---|---|
| 用途 | 各候補にカテゴリーと想定作業がある | カテゴリー再確認 |
| 対象 | 読者が向いている場面を読める | 対象不明 |
| 価格 | 確認日と再確認導線がある | 公式ページを確認 |
| 機能 | 主張ごとに根拠または確認日がある | 変更確認待ち |
| リンク | 候補とリンクの対応が壊れない | リンクエラー |
| 更新 | 変更イベントを履歴に残す | 編集キューへ |
状態を型にする
type Freshness = "current" | "stale" | "unknown" | "link-error";
type CatalogItem = {
id: string;
name: string;
category: string;
bestFor: string;
freshness: Freshness;
checkedAt?: string;
verifyUrl?: string;
};
unknown と stale を current に寄せないことが重要です。確認日がない価格を無料と表示したり、リンクエラーの候補を通常カードとして残したりすると、読者は欠損を事実と誤解します。
代表的なQAケース
- 確認日が古い候補は
staleと表示する。 - 価格が空の場合は無料と表示せず、公式確認を促す。
- ベンダーURLが失敗しても、他カードは表示する。
- カテゴリー条件をURLへ反映し、詳細画面から戻っても保持する。
- 退役候補が通常のランキングへ再流入しない。
さらに、確認担当と再確認期限を要件に含めます。担当者が不明なカードは、表示を続ける前に編集キューへ送ります。更新イベントを削除せず残しておけば、順位やカテゴリーが変わった理由を追跡でき、同じ不具合の再発防止にもつながります。
以下は契約を説明するためのPlaywright例です。セレクター、APIパス、文言は実装に合わせて変更してください。
import { test, expect } from "@playwright/test";
test("stale item asks for verification", async ({ page }) => {
await page.route("**/api/catalog?category=writing", async (route) => {
await route.fulfill({
contentType: "application/json",
body: JSON.stringify([{
id: "tool-stale",
name: "Example Tool",
category: "writing",
bestFor: "Editors",
freshness: "stale",
checkedAt: "2026-01-01",
}]),
});
});
await page.goto("/catalog/writing");
const card = page.getByTestId("catalog-item-tool-stale");
await expect(card).toContainText("確認");
await expect(card).not.toContainText("最新");
});
このテストはAiTop10.aiのDOMやAPIを検証するものではありません。実装側の契約を説明する例です。実際のQAでは、モバイル幅、0件、重複ID、日付のタイムゾーン、リンク切れの再試行も追加します。
まとめ
Freshnessは小さなバッジではなく、要件と運用の境界です。比較ページが「何が上位か」だけでなく「何を確認すべきか」を表示できれば、変化の速いAI市場でも読者と編集者が同じ前提で判断できます。