EDITABLE SAMPLE / VERSION 1.0

架空案件の記入例です。企業内でコピー・編集して利用できます。

この文稿をダウンロード(Markdown) ↓

単体テスト仕様・結果・障害票サンプル

文書ID: UT-PLAN-014 / 版: 1.0 / 関連: REQ-014〜016 / 状態: 記入例・未実施

以下は架空案件のテスト設計とコード例です。合格証跡や実測カバレッジではありません。

工程定義

1. テストケース

ID対応条件入力・前提期待結果実際の結果
UT-014-01AC-014-01U002、承認権限あり、U001のsubmitted申請承認可能未実施
UT-014-02AC-014-02U001、承認権限あり、U001の申請SELF_APPROVAL未実施
UT-014-03AC-014-03U003、承認権限なしFORBIDDEN未実施
UT-014-04AC-014-04U002、approved申請ALREADY_PROCESSED未実施
UT-014-05AC-014-05監査保存処理が例外ロールバック処理が呼ばれる未実施

テストデータには実在する利用者情報を使わない。同時要求と実DBでのロールバックは結合テストで別途検証する。

2. 自動テストコード例

以下は説明用の純粋関数とNode.js組込みテストの例。実APIの認証・DB処理を検証するコードではない。実案件では対象モジュールをimportし、実装とテストを分離する。

const test = require('node:test');
const assert = require('node:assert/strict');

function canApprove(actor, expense) {
  if (!actor.canApprove) return 'FORBIDDEN';
  if (actor.id === expense.applicantId) return 'SELF_APPROVAL';
  if (expense.status !== 'submitted') return 'ALREADY_PROCESSED';
  return 'OK';
}

test('REQ-014: 承認権限があっても自己承認は拒否', () => {
  const actor = { id: 'U001', canApprove: true };
  const expense = { applicantId: 'U001', status: 'submitted' };
  assert.equal(canApprove(actor, expense), 'SELF_APPROVAL');
});

例の利用方法: 上記をapproval-example.test.cjsとして保存し、対応するNode.js環境でnode --test approval-example.test.cjsを実行する。実案件の成功証跡とは分けて保存する。

3. 実行結果テンプレート

対象コミット: {{COMMIT_SHA}} / 実行環境: {{TEST_ENV}} / コマンド: {{UNIT_TEST_COMMAND}} / 日時: 未実施

必須ケース総数: 5 / 合格: 未計測 / 不合格: 未計測 / 未実施: 5

カバレッジ: 対象モジュール、行・分岐、除外理由、測定ツールを記録。実測値: 未計測。自社目標: {{COVERAGE_TARGET}}。高いカバレッジだけで業務上の正しさを判定しない。

4. 障害票の記入例(架空)

障害ID: BUG-014-EXAMPLE / ケース: UT-014-02 / 前提: U001に承認権限がある / 操作: 自分の申請を承認 / 期待: SELF_APPROVAL / 仮の症状: OKが返る

原因仮説: 権限判定だけで承認可とし、申請者との照合がない。修正案: 自己承認判定を追加。再試験: UT-014-01〜04と関連結合・E2Eケース。実際の修正コミットと結果: 未登録。

自社への適用・完了確認

{{TEST_FRAMEWORK}}、期待値、境界値、例外パターンを自社仕様から作る。QAが「AI生成の実装とテストが同じ誤解を共有していないか」を確認する。

レビュー担当: {{QA_OWNER}} / 完了判定: 未承認 / 証跡: {{EVIDENCE_REFERENCE}}

全11文稿とZIPのダウンロードへ →

無料相談