DOCUMENT 09

テスト報告書

calendar_today 作成日:2026-05-14 / 更新日:2026-06-12 person 作成者:清水宏美 push_pin Ver 3.0

1 テスト計画

テスト対象・範囲 必須
テストの対象となる機能・画面と、テストの種類(Ver 2.0 現行実装ベースに更新)

認証・共通(F-001〜F-002)

  • F-001 ログイン認証(BCrypt)
  • F-001b パスワード再設定(メールトークン、ForgotPasswordController)
  • F-002 ダッシュボード(ロール別KPI)

ペット・健康管理(F-003〜F-005)

  • F-003 ユーザー管理 CRUD
  • F-004 ペット管理 CRUD
  • F-005 健康記録管理 CRUD

診療・予約(F-006〜F-007)

  • F-006 診療予約(申請:USER / 承認・却下:VET/STAFF/SUPER / キャンセル:オーナーのみ・スタッフ不可)
  • F-007 診療記録 CRUD(SUPER / VET / STAFF のみ。ADMIN はアクセス不可)

AI・チャット(F-009・F-022)

  • F-009 AI症状チェック(Standard以上:OpenAI API / Light:キーワードフォールバック。アクセス制限なし・結果品質で差別化)
  • F-022 チャットボット相談(Groq AI/フォールバック、全プラン利用可

カレンダー・通知(F-011〜F-012)

  • F-011 カレンダー(手動シール・自動シール・予約表示)
  • F-012 通知・スケジュールリマインダー

サブスク・パスワード(F-013〜F-014)

  • F-013 サブスクリプション確認
  • F-014 パスワード変更

外部連携(F-015〜F-017)

  • F-015 LINE Bot(Webhook受信・返答・Broadcast送信)
  • F-016 Slack Bot(Webhook受信・返答)
  • F-017 Zoom オンライン診療(Premium)

管理・運営(F-018〜F-021)

  • F-018 予約枠管理(ADMIN/STAFF)
  • F-019 お知らせ管理(ADMIN/STAFF)
  • F-020 ユーザー連携ステータスアイコン
  • F-021 サービス統計・DBバックアップ(ADMIN)
  • F-011b 請求・決済管理(BillingController・BillingService)
  • F-011c 請求書・領収書ビュー(UserInvoiceController)
  • F-013b 診療情報印刷(health-records/print)

共通制御(F-008・SEC)

  • F-008 入力バリデーション
  • ロール別アクセス制御
  • 未認証アクセス制御

対象外(今回)

  • メールテンプレート管理UI(schema のみ・UI未実装)
  • 汎用 PDF ダウンロード(iText 等未導入・未実装)
  • 外部決済事業者の内部システム動作
  • 本番運用監視・災害復旧訓練

2 テストケース一覧

テストケース一覧 必須
Ver 3.0 — 現行実装(2026-06-01)ベースに更新。総件数 67 件
ID 対象機能 テスト種別 テスト内容 期待結果
TC-001 F-001 ログイン認証 正常系 正しいメール・パスワードでログインする 認証成功しダッシュボードへ遷移する
TC-002 F-001 ログイン認証 異常系 パスワード誤りでログインする 認証エラーが表示されログイン不可
TC-003 F-001 ログイン認証 異常系 未登録メールでログインする 認証エラーが表示される
TC-004 F-001 ログイン認証 セキュリティ 認証なしで /app/dashboard に直接アクセスする ログイン画面にリダイレクトされる
TC-005 F-002 ダッシュボード 正常系 ADMIN でログインしてダッシュボードを開く 管理系KPI(ユーザー数・予約数等)が表示される
TC-006 F-002 ダッシュボード 正常系 一般ユーザー(Light)でログインしてダッシュボードを開く ユーザー系KPI(自ペット・予約・通知)が表示される
TC-007 F-002 ダッシュボード 境界値 ペット・予約ともに0件の状態でダッシュボードを開く 0件表示で画面崩れなく表示される
TC-008 F-003 ユーザー管理 正常系 必須項目を入力してユーザー登録する ユーザーが保存され一覧に反映される
TC-009 F-003 ユーザー管理 異常系 既存メールアドレスで登録する USR-001 重複エラーが表示され保存されない
TC-010 F-003 ユーザー管理 正常系 一般ユーザーのプランを Standard に変更する サブスクリプションが更新され一覧に反映される
TC-011 F-003 ユーザー管理 正常系 LINE ID・Slack ID を登録して編集フォームの連携ステータスを確認する LINE/Slack チップが色付きで表示される
TC-012 F-003 ユーザー管理 正常系 LINE ID 未登録のユーザーの連携ステータスを確認する LINE チップがグレー表示、ツールチップに「ID未登録」と表示される
TC-013 F-003 ユーザー管理 セキュリティ VET ロールでユーザー編集フォームを開く 編集・削除ボタンが表示されない(閲覧のみ)
TC-014 F-004 ペット管理 正常系 必須項目を入力してペットを登録する ペット情報が保存され一覧に表示される
TC-015 F-004 ペット管理 正常系 既存ペットの編集フォームを開く 登録済み生年月日が日付フィールドに表示される
TC-016 F-004 ペット管理 異常系 ペット名未入力で登録する 必須エラーが表示される
TC-017 F-004 ペット管理 境界値 生年月日に当日を入力して登録する 未来日でないため保存できる
TC-018 F-005 健康記録管理 正常系 記録日・体重を入力して登録する 記録が保存され時系列一覧に表示される
TC-019 F-005 健康記録管理 異常系 体重に文字列を入力する 数値形式エラーが表示される
TC-020 F-005 健康記録管理 境界値 体重0.1 kg で登録する 下限値として正常登録される
TC-021 F-006 診療予約 正常系 Standard 以上のユーザーが未来日時で予約申請する ステータス REQUESTED で保存される
TC-022 F-006 診療予約 正常系 STAFF が申請中の予約を承認する ステータスが CONFIRMED になりオーナーに通知が届く
TC-023 F-006 診療予約 正常系 STAFF が承認後にカレンダーを開く 承認済み予約が該当日に表示される
TC-024 F-006 診療予約 正常系 STAFF が申請中の予約を却下する ステータスが CANCELED になりオーナーに通知が届く
TC-025 F-006 診療予約 異常系 過去日時で予約申請する 「未来日時を指定してください」エラーが表示される
TC-026 F-006 診療予約 異常系 診療受付時間外(17:01)で申請する 「診療受付時間外」エラーが表示される
TC-027 F-006 診療予約 セキュリティ ADMIN ロールで /app/appointments にアクセスする アクセス拒否ページが表示される(設計通り)
TC-027b F-006 診療予約 セキュリティ STAFF ロールのユーザーがオーナーの予約をキャンセルしようとする 「自分の予約のみキャンセルできます」エラーが返る(スタッフのキャンセルは禁止)
TC-028 F-007 診療記録 正常系 VET が実施日・対応内容を入力して診療記録を登録する 記録が保存され一覧に表示される
TC-029 F-007 診療記録 セキュリティ 一般ユーザーが /app/consultations にアクセスする アクセス拒否ページが表示される
TC-029b F-007 診療記録 セキュリティ ADMIN ロールで /app/consultations にアクセスする アクセス拒否ページが表示される(ADMIN は意図的に除外)
TC-030 F-008 入力バリデーション 正常系 全必須項目を満たしてフォームを送信する エラーなく保存処理へ進む
TC-031 F-008 入力バリデーション 異常系 メール形式不正で送信する 形式エラーが表示される
TC-032 F-009 AI症状チェック 正常系 Standard 以上のユーザーが症状種別・発症時期を入力して実行する 重症度と推奨対応が表示される
TC-033 F-009 AI症状チェック プラン差異 Light プランのユーザーが症状種別・発症時期を入力して実行する アクセス拒否にはならず処理継続。OpenAI API は呼ばれず、キーワードベースのフォールバック(free-local)で重症度と推奨対応が返る
TC-034 F-022 チャットボット相談 正常系 症状を複数ターンにわたって入力する 情報収集 → トリアージの順で返答が進行する(毎回同じ返答にならない)
TC-035 F-022 チャットボット相談 正常系 「2日間食べない」と入力する 「今すぐ受診してください」即時受診案内が返答される
TC-036 F-011 カレンダー 正常系 月次カレンダーを表示する 当月のすべての日付・手動シール・自動シールが表示される
TC-037 F-011 カレンダー 正常系 同一ペット・同日に「診察」と「注射」の2種シールを追加する 両方のシールが表示される
TC-038 F-011 カレンダー 異常系 同一ペット・同日・同種別のシールを重複追加する 「同じ日に同じ種類のシールがすでに貼られています」エラーが表示される
TC-039 F-011 カレンダー 正常系 VET ロールでカレンダーを開く 全ユーザーの確定済み予約がサイドバーに表示される
TC-040 F-012 通知・リマインダー 正常系 予約が承認された後に通知一覧を開く 承認通知が未読として表示される
TC-041 F-012 通知・リマインダー 正常系 通知を既読にする 既読ステータスに変わり未読バッジが減る
TC-042 F-013 サブスクリプション 正常系 一般ユーザーでサブスクリプション画面を開く 現在の契約プランが表示される
TC-043 F-014 パスワード変更 正常系 現在パスワードを正しく入力して変更する パスワードが更新されログイン可能
TC-044 F-014 パスワード変更 異常系 現在パスワードを誤って入力して変更する 認証エラーが表示され変更されない
TC-045 F-015 LINE Bot 正常系 LINE で Bot を友達追加する ウェルカムメッセージが自動返信される
TC-046 F-015 LINE Bot 正常系 LINE Bot に症状メッセージを送信する キーワードに応じた返答が届く
TC-047 F-015 LINE Broadcast 正常系 ADMIN が LINE 一斉送信フォームからメッセージを送信する Bot フォロワー全員にメッセージが届く
TC-048 F-015 LINE Broadcast 異常系 LINE_CHANNEL_TOKEN 未設定の状態で一斉送信画面を開く 「チャンネルトークンが設定されていません」警告が表示され送信ボタンが無効になる
TC-049 F-016 Slack Bot 正常系 Slack の DM で Bot に症状メッセージを送信する 緊急度に応じた返答が届く
TC-050 F-017 Zoom オンライン診療 正常系 Premium ユーザーがオンライン診療を予約する 予約が登録され承認後に Zoom リンクが通知される
TC-051 F-017 Zoom オンライン診療 異常系 Standard ユーザーが /app/premium/online-care にアクセスする アクセス制限エラーが表示される
TC-052 F-018 予約枠管理 正常系 ADMIN が予約枠を登録する 予約枠が保存され一般ユーザーのカレンダーに「空き」が表示される
TC-053 F-018 予約枠管理 セキュリティ VET ロールで /app/admin/appointment-slots にアクセスする アクセス拒否ページが表示される
TC-054 F-019 お知らせ管理 正常系 ADMIN がお知らせを作成・公開する お知らせが保存され一般ユーザーのダッシュボードに表示される
TC-055 F-021 サービス統計 正常系 ADMIN でサービス統計ページを開く ユーザー数・ペット数・予約数等の集計値が表示される
TC-056 F-001b パスワード再設定 正常系 登録済みメールアドレスを入力してリセットメールを送信する 「メールを送信しました」画面に遷移し、SendGrid 経由でトークン付きリセットメールが届く
TC-057 F-001b パスワード再設定 正常系 メール内のリンクを開き、新しいパスワードを設定する パスワードが BCrypt で更新され、新パスワードでログインできる
TC-058 F-001b パスワード再設定 異常系 有効期限切れのトークンでリセットURLにアクセスする 「トークンが無効または期限切れです」エラーが表示される
TC-059 F-011b 請求・決済管理 正常系 ADMIN で請求一覧(/app/admin/billing)を開く UNPAID/PARTIAL/PAID 各ステータスの請求が一覧表示される
TC-060 F-011b 請求・決済管理 正常系 UNPAID 請求に入金を登録し金額が請求額未満の場合 支払状況が PARTIAL に更新される
TC-061 F-011b 請求・決済管理 正常系 入金を登録し合計が請求額に達した場合 支払状況が PAID に更新され入金日時が記録される
TC-062 F-011b 請求通知再送 正常系 ADMIN が請求詳細画面から「お支払い案内を再送」ボタンを押す アプリ内通知が即時作成され、メール・LINE 通知が非同期で送信される
TC-063 F-011c 請求書・領収書ビュー 正常系 ADMIN が /app/invoices/{id} を開く 請求書・領収書が表示されブラウザ印刷ダイアログを開けること
TC-064 F-013b 診療情報印刷 正常系 ペット詳細から「印刷」リンクを開く(/app/pets/{id}/health-records/print) ペット情報・ワクチン記録・診療履歴・AI症状チェック履歴・健康記録が印刷用レイアウトで表示される
TC-065 F-022 チャットボット相談 正常系 Light プランのユーザー(owner1)で /app/consult/chatbot にアクセスする プランゲートなしでチャットボット画面が表示され、メッセージを送受信できる
TC-066 F-022 チャットボット相談 異常系 空メッセージで送信ボタンを押す 必須エラーが表示され送信されない
TC-067 F-022 チャットボット相談 正常系 CHATBOT_API_KEY 未設定の状態でメッセージを送信する fallbackReply() が動作し5段階フローで返答が届く

3 テスト結果サマリー

テスト結果サマリー 必須
テスト実施後に集計結果を記入してください
項目 件数
総テストケース数 67
OK 55
NG 0
未実施 3
合格率 94.5%

4 バグ一覧

発見されたバグと対応状況 必須
バグID 発見日 対象機能 内容 重大度 対応状況
BUG-001 2026-06-09 アクセス拒否ページ 初回ログイン時に `/app/access-denied` へ遷移すると、プラン機能判定が `null` を返して 500 エラーになる 修正済
BUG-002 2026-06-11 ユーザー管理 VET アカウントでユーザー管理を開くと、閲覧のみなのに削除ボタンが有効になっており、押下すると「削除は管理者のみ実行できます」の 400 エラーになる 修正済
BUG-003 2026-06-11 ユーザー管理 管理画面のユーザー編集で新しいパスワードを入力しても、DB の password_hash に反映されず、変更後のパスワードでログインできない 修正済
BUG-004 2026-06-11 パスワード再設定 SMTP 未設定などでパスワード再設定メールの送信に失敗した場合、例外が握りつぶされ画面上は無反応になる 修正済
BUG-005 2026-06-11 パスワード再設定画面 reset-password 画面で invalid が未設定の場合、Thymeleaf の条件評価で 500 エラーになる 修正済
BUG-006 2026-06-11 お問い合わせ・メール送信 お問い合わせメール送信時に SENDGRID_API_KEY が必須扱いになっており、SMTP 設定のみの local 環境で送信できない 修正済
BUG-007 2026-06-11 ユーザー一覧 ユーザー一覧で SUSPENDED の状態が編集画面と異なり「無効」と表示され、停止状態を判別しづらい 修正済
BUG-008 2026-06-11 診療予約フォーム 必須項目未入力でも予約ボタンを押下でき、バリデーション失敗時にフォーム情報が戻らず白画面になる 修正済

5 ブラウザ・デバイス対応

対応状況 必須
ブラウザ/デバイス バージョン 表示 機能 備考
Chrome(PC) バージョン 148.0.7778.216
(公式ビルド) (arm64)
主環境 Mac
Firefox(PC) (バージョン) (未実施)
Edge(PC) 149.0.4022.80 Windows 11
Stable 版
Chrome(スマートフォン) ver 149.0.7827.45 iPhone
Safari(iPhone) (バージョン)26.5.2 iOS 26.5.2