プロジェクト

全般

プロフィール

バグ #538

未完了

[テンプレート] ユーザーサービス単体テスト

Redmine Admin さんが8日前に追加. 8日前に更新.

ステータス:
新規
優先度:
高め
担当者:
-
開始日:
2025-06-11
期日:
進捗率:

0%

予定工数:

説明

概要

このチケットは単体テストのテンプレートサンプルです。特定の実装に対する単体テストの要件と実施内容を定義しています。

テスト対象

  • コンポーネント/モジュール名: UserService
  • 実装チケット: #XXX ユーザー登録API実装
  • 機能: ユーザーの登録、取得、更新、削除機能

テスト項目

  1. ユーザー登録機能のテスト

    • 正常系:
      • 有効な入力でのユーザー作成
      • 最小限の必須項目のみでのユーザー作成
      • 全項目入力でのユーザー作成
    • 異常系:
      • 不正な入力値(バリデーションエラー)
      • 既存ユーザーとの重複
      • 必須項目の欠落
      • 不正な形式(メールアドレス、パスワード)
  2. ユーザー取得機能のテスト

    • 正常系:
      • IDによるユーザー取得
      • メールアドレスによるユーザー取得
      • 複数条件での検索
    • 異常系:
      • 存在しないユーザーの取得
      • 不正なIDフォーマット
      • 権限のないユーザーの取得
  3. ユーザー更新機能のテスト

    • 正常系:
      • 基本情報の更新
      • パスワードの更新
      • 権限の更新
    • 異常系:
      • 存在しないユーザーの更新
      • 不正な入力値での更新
      • 権限のないユーザーの更新
  4. ユーザー削除機能のテスト

    • 正常系:
      • ユーザーの削除
      • 関連データの削除/匿名化
    • 異常系:
      • 存在しないユーザーの削除
      • 権限のないユーザーの削除
      • システム管理者の削除

テスト環境

  • テストフレームワーク: Jest/Mocha
  • テストデータベース: インメモリDB/テスト用DBコンテナ
  • モック/スタブ: Sinon/Jest Mock
  • カバレッジツール: Istanbul/NYC

テスト前提条件

  • 実装コードがマージされていること
  • テスト環境が構築されていること
  • テストデータが準備されていること

テスト実施計画

  1. テストケース作成
  2. テストコード実装
  3. テスト実行
  4. カバレッジ計測
  5. 不具合報告/修正
  6. 再テスト

完了条件

  • すべてのテストケースが成功すること
  • コードカバレッジが90%以上であること
  • エッジケースが適切にテストされていること
  • パフォーマンス要件を満たしていること

関連チケット

  • #XXX ユーザー登録API実装(テスト対象)
  • #XXX テスト環境構築

担当者

  • テスト担当:
  • レビュー担当:

注意事項

  • モック/スタブを適切に使用し、外部依存を排除すること
  • テストの独立性を確保すること
  • テストケースは明確な目的を持つこと
  • テストコードもレビュー対象であること

Redmine Admin さんが8日前に更新

親チケット#525との親子関係を設定します。これはテンプレート例として、ユーザーサービス単体テストのテンプレートです。

他の形式にエクスポート: Atom PDF