003 テスト仕様 (TEST)
前提条件
本アプリケーションはシンプルな単一ページ構成であるが、品質を自動的かつ継続的に担保するため、Playwrightを用いた高度なE2Eテストを導入している。 これにより、手動テストの手間を省き、UIの破壊(ビジュアルリグレッション)やプライバシー要件(意図しない外部通信)を自動検証する。
テスト項目 (Playwright自動化)
1. QRコード生成とデザインの保証 (GEN, BRAND)
- [x] URL入力時、瞬時に「生成時間」が表示されること。
- [x] ビジュアルリグレッションテスト: QRコード表示エリアのスクリーンショットを撮影し、初回の正解画像から1ピクセルでも崩れていないかを自動で比較・検証する。(黄色の付箋スタイル、サイズ、余白の完全一致)
- [x] クレジットのチェックボックスを外した際にも、ウォーターマーク(powered by 俺の付箋)が消えたデザインが維持されていることを画像比較で検証する。
2. 保存機能とプライバシーの安全性 (SAVE)
- [x] 保存ボタンを押下した際、OSの
showSaveFilePickerが正しいファイル名(俺のQR.png)で呼び出されることをモックにより監視する。 - [x] ネットワーク監視: 保存ボタン押下時に、Firebaseへのカウントアップ以外の意図しない外部通信(画像データの送信など)が一切発生していないことを厳密に検証し、クライアントサイド完結のプライバシー要件を保証する。
テスト項目 (マニュアル・手動確認)
以下の項目については、テストの実行によって本番のデータベース(Firebase)のアクセス数・保存数(STATS)が意図せずカウントアップされ、本番データが汚染されることを防ぐため、自動テストには組み込まず手動で担保する。
3. Firebase 連携 (STATS)
- [ ] 初めてアクセスした際、来訪者数が+1されるか
- [ ] 画面をリロードした際、来訪者数が連続して増えないか(LocalStorage制御)
- [ ] 画像保存が成功した際、Firestore上の保存数が+1されるか