かさね抄

「ログインできること」だけでは、何が足りない?

「ログインできること」と書けば、確認する内容は伝わりそうに見えます。でも、使うアカウントや、何を見て合格とするかまではわかりません。この曖昧さをどう減らすか、架空のログイン画面を使って考えてみます。仕様の確認、記入、レビューと順に見ながら、必要な情報を整理します。記入例とテンプレートも用意しました。

この記事で使う資料

登録不要でダウンロードできます。サンプルはすべて架空のデータです。

テストケース記入シート(CSV)表計算ソフトで使える、空欄の記入用シートです。ダウンロード ↓ログインの記入例4件(CSV)架空の仕様 R1〜R4に対応した記入例です。すべて未実行です。ダウンロード ↓

まず、対象の機能と仕様を確認する

かさね抄

操作の順番が書いてあれば、合否まで決められるだろうか?

操作の手順が書けても、正常な状態がわからなければ合否を決められません。そこで、先に確認する機能と、使う仕様の版を決めます。何ができれば「正常に動いた」といえるのかを確認すると、操作と期待結果をつなげて書きやすくなります。

以下の仕様と記入例は、練習用に作った架空のものです。実際のサービスの仕様やテスト結果ではありません。メールアドレスは例示用の値にし、パスワードは検証環境の管理先を参照する書き方にしています。

まず、対象の機能と仕様を確認する
以下は記事用に作成した架空のログイン仕様です。
R1:登録済み・利用可能な一般ユーザーは、正しいメールアドレスとパスワードでログインできる。
R2:成功後はマイページへ遷移し、そのユーザーの表示名を表示する。
R3:メールアドレスまたはパスワードが空欄なら、空欄の項目に「入力してください」と表示し、ログインしない。
R4:メールアドレスとパスワードが両方入力されていて、認証情報が一致しない場合は「メールアドレスまたはパスワードが正しくありません」と表示し、ログインしない。
未定義:失敗回数によるロック、パスワードの長さ、利用停止ユーザー、二要素認証。

正常にログインできるケースを書いてみる

かさね抄

同じ「ログインできた」でも、人によって確認する場所が違うのでは?

画面が切り替わったところで確認を終える人もいれば、表示名まで見る人もいるかもしれません。この例の仕様では、本人のマイページと表示名を確認します。必要な条件、操作の順番、期待結果を分けて書き、ログアウト状態から判定までの流れがわかるようにします。

条件をそろえるには、「正しいパスワード」がどれを指すかも必要です。チームで管理するテストデータの識別子や参照先を書けば、実際の認証情報を公開するシートに載せずに、使うデータを伝えられます。

正常にログインできるケースを書いてみる
項目記入例
ケースID/仕様LOGIN-001/R1・R2
目的有効な一般ユーザーが本人のマイページへ入れること
事前条件検証環境に一般ユーザーAが登録済み・利用可能。ログアウト状態から始める。
データメール:qa-user@example.com、表示名:テストユーザーA。正しいパスワードはテストデータAの管理先を参照。
操作1. ログイン画面を開く。2. メールを入力する。3. 指定のパスワードを入力する。4. ログインを押す。
期待結果マイページへ遷移し、「テストユーザーA」が表示される。
実際の結果/判定実際の結果は空欄。判定は「未実行」。
環境・証跡実行時に環境、アプリ版、実行日、実行者、必要な証跡を記録する。

空欄と認証失敗のケースを足す

かさね抄

ログインできることを確認したら、それで十分だろうか?

この仕様には、空欄や認証の不一致をどう扱うかも書かれています。そのため、メール空欄、パスワード空欄、パスワード不一致の3件を足します。正常系のケースをコピーするときも、変えた条件を明記します。ほかの条件はできるだけそろえ、各ケースを始める前にログアウト状態へ戻します。

この4件だけで、ログイン機能全体を確認できるわけではありません。仕様に書かれていないロックや利用停止ユーザーの扱いは、担当者に確認してから追加します。ダウンロード用の記入例には、4件それぞれの前提・操作・期待結果を省略せず載せています。

空欄と認証失敗のケースを足す
ケース/根拠変える条件期待結果
LOGIN-002/R3メールを空欄にし、指定のパスワードを入力して送信メール欄に「入力してください」。ログインしない。
LOGIN-003/R3メールを入力し、パスワードを空欄にして送信パスワード欄に「入力してください」。ログインしない。
LOGIN-004/R4メールを入力し、認証に使えないテスト用パスワードで送信「メールアドレスまたはパスワードが正しくありません」。ログインしない。

コピーして使える記入テンプレート

かさね抄

毎回同じ項目を書くなら、書式もそろえたほうがよさそう。

前提条件、操作、期待結果を書く場所が決まっていれば、必要な情報を探しやすくなります。文章で管理する場合にコピーして使えるよう、次のテンプレートにまとめました。表で管理する場合は、冒頭のCSVをダウンロードして、1ケースずつ行を追加できます。

使わない欄が多ければ、記入の負担も増えます。項目を減らすときは、何のための欄なのかをチームで確認してから調整します。

コピーして使える記入テンプレート
ケースID:
対象機能・仕様ID/版:
目的・観点:
事前条件:
テストデータ参照先(秘密情報は書かない):
操作手順:
1.
2.
3.
期待結果:
実際の結果(実行時に記録):
判定:未実行/Pass/Fail/Blocked
環境・アプリ版:
実行日・実行者:
証跡・不具合ID:

判定の意味を決め、実際の結果を記録する

かさね抄

実際の動作が期待結果と違ったとき、何を残すべきか?

期待結果を実際の動作に合わせて書き換え、合格にしてしまうと、仕様との違いが残りません。期待結果は残したまま、実際にどう動いたかと、その違いを別の欄に記録します。

結果を共有するには、判定の意味もそろえる必要があります。このテンプレートでは、下の表の意味で判定を使います。管理ツールなどですでに定義している場合は、そちらに合わせます。

判定の意味を決め、実際の結果を記録する
判定このシートでの扱い
未実行まだ実行していない。結果欄は空欄のままにする。
Pass実行し、定めた期待結果を満たした。実際の結果と必要な証跡を残す。
Fail実行した結果が期待結果と異なった。差分と証跡、不具合IDを残す。
Blocked環境停止やテストデータ不足などで実行・判定できない。理由と再開条件を残す。

ほかの人が同じ手順でテストできるか確認する

かさね抄

自分にはわかる手順でも、ほかの人には伝わらないかもしれない。

書いた本人は、使うデータや操作の前提を知っています。その情報を省略していても、自分で読み返すだけでは気づきにくいことがあります。下の項目で内容を確認し、書いた人以外に最初の1件を試してもらうとよいと思います。

そのときに見たいのは、補足の説明なしで進められるかどうかです。迷ったところを聞けば、どの条件や手順を書き足す必要があるかを考えやすくなります。

  • どの仕様の何版を使ったかわかり、期待結果の根拠を確認できる。
  • ユーザー状態、権限、データ、開始画面を用意できる。
  • 操作が順番に書かれ、何を見て結果を確認するかがわかる。
  • 「問題なく」「正しく」だけで合否を判断させていない。
  • 期待結果と実際の結果が別の欄になっている。
  • 不明な仕様を推測で埋めず、確認したいこととして残している。

まず一つの機能でテンプレートを試す

かさね抄

結局、どこまで詳しく書けば「伝わるテストケース」になる?

同じ条件を用意でき、操作の順番を追えて、仕様を根拠に合否を決められること。この3つが、詳しさを考える目安になると思います。まず一つの機能で試し、テストする人やレビューする人が困った箇所を直していきます。同じ項目を同じ場所に書くと、担当者の交代や不具合調査でも情報を探しやすくなります。項目を増やしすぎないよう、記入の負担も見ながら調整します。

必要な項目は用途によっても変わります。探索的テストなら目的・範囲・リスクを書くチャーター、性能テストなら負荷条件などが必要です。共通の項目を決めたうえで、用途に合わせて調整します。過去のケースは、再利用するときに新しい書式へ移しても構いません。

この記事のまとめ

テストケースには、同じ条件を用意できる情報、操作の順番、仕様を根拠にした期待結果をそろえます。実際の結果は、実行後に別の欄へ記録します。ほかの人が同じ基準で判定できるかを確かめながら、必要な詳しさを調整していくのがよいと考えています。

参考資料

関連する記事

QA Notebook / テスト設計

次の記事入力フォームの例でわかるデータドリブンテスト記事一覧へ戻る