【初心者向け】テスト ケースの種類と書き方
テスト管理ツールコラム
テスト ケースは、アプリケーションが期待どおりに動作していることを検証するように設計されています。テスト ケース作成者は、テスト担当者がアプリまたはソフトウェア システムの機能が正しく動作しているかどうかを判断できるように、テスト ケースを設計します。アプリケーションは徹底的にテストして、考えられるすべての入力条件下でシステムがどのように動作するかを確認する必要があります。ソフトウェアの機能とテストプロセスを明確に理解すると、欠陥を特定するテストの作成が容易になります。さまざまな種類のテスト ケースの作成と書式設定について記載しました。
QAテストケースとは何ですか?
テスト ケースは、プログラムが適切に機能していることを確認するためにテスターが従うべき指示です。これらは、正常、異常、またはエラーの動作条件でソフトウェアがどのように動作するかを説明します。テスト ケースを作成すると、ユーザーの要件が、システムがどのように機能するかを示す一連のテスト条件と説明に変換されます。自動テスト スクリプトでは、複数のテスト ケースを組み合わせてテスト スイートを形成できます。
テストケースとテストシナリオ
テスト ケースを作成するときは、通常、何かが「どのように」動作するかについてあらゆる詳細を考慮します。たとえば、ログイン システムを開発している場合、間違った電子メール アドレスを入力するとエラーが表示されるというテスト ケースが考えられます。次に、次のテストを行うことができます。
- メールアドレスを入力していない場合
- メールアドレスの末尾にスペースを追加する
- メールアドレスにはすべて大文字を使用してください
- メールアドレスの最初の文字を大文字にする
テスト シナリオは、テスト条件またはテストの可能性とも呼ばれ、ユーザーがソフトウェアを使用して実行する可能性のある典型的なタスクを表します。単純なテスト シナリオでは、さまざまな結果をカバーするために複数のテスト ケースが必要になる場合があります。弊社のログイン システムでは、「正常にログインできる」または「メール アドレスを正しく入力しないとログインできない」というシナリオが考えられます。
※テスト ケースとテスト シナリオという用語は同じ意味で使用できるように見えることがありますが、 「シナリオ」はテストで達成しようとしている全体像を指し、「テスト ケース」はその分に焦点を当てていることを覚えておくと役立ちます。
テストケースの種類
テスト ケースは、テストで果たされる目的に基づいて分類できます。品質保証の専門家として、これらの違いを理解することは、努力に焦点を当て、適切なテスト形式を選択するのに役立ちます。
- 機能テスト ケース:これらは、作成する最も基本的で明白なテスト ケースです。これらは、システムの各機能が正しく動作することを保証します。
- パフォーマンス テスト ケース:このテストでは、システムが十分な速度で動作することを確認します。速度、拡張性、安定性に関して、すべてのシステム要件が期待どおりに動作することを確認します。
- 単体テストのケース:ソフトウェア開発者は通常、コードの単体テストを作成して、モジュール、プロシージャ、関数などの個々のユニットをチェックし、それらが期待どおりに動作するかどうかを判断します。
- ユーザー インターフェイス (UI) のテスト ケース:ユーザー インターフェイスは、機能が表示される単なるシェルではなく、システム全体の一部であることを覚えておくことが重要です。UI テスト ケースでは、各 UI 要素が正しく動作し、表示され、使いやすいかどうかをチェックします。
- セキュリティ テスト ケース:セキュリティ テスト ケースは、悪意のあるユーザーが不正アクセスを試みたり、システムに損害を与えようとした場合など、あらゆる条件下で製品またはシステムが適切に機能することを確認するのに役立ちます。これらのテスト ケースは、データのセキュリティ、プライバシー、機密性を保護します。
- 連携テスト ケース:これらは、アプリケーション コンポーネントが期待どおりに連携して動作することを確認します。これらのテスト ケースは、モジュールまたはコンポーネントがシームレスに連携されて完全な製品を形成しているかどうかをチェックします。
- データベース テスト ケース:これらのテスト ケースは、データベースが機能要件および非機能要件を満たしていることを確認します。データベース管理システム (DBMS) がすべてのビジネス要件をサポートしていることを確認します。
- ユーザビリティ テスト ケース:ユーザビリティ テスト ケースは、ユーザーがアプリケーションを正常に使用できるかどうかを確認するのに役立ちます。これらは、ユーザーが困難や混乱なくシステムを簡単に使用できるかどうかを決定します。また、ユーザーが共通の手順と機能を使用してシステムを操作できるかどうかも検証します。
- ユーザー受け入れテスト ケース:ユーザー受け入れテスト ケースでは、アプリケーションがビジネス要件を満たしているかどうかを、ユーザーが受け入れる前に検証します。これらは、ライブ環境にリリースする前に、特定のシステムによって生成された出力をユーザーが受け入れるか拒否するかを決定します。
- 回帰テスト:回帰テスト ケースでは、開発中に行われた変更によって既存の機能が動作しなくなることがないことを検証します。回帰テストは、既存のコードに変更が加えられた後に行われ、すべての既存または従来の機能が変更後も期待どおりに動作し続けるかどうかをテストします。
テストケースを書く人は?
テスト ケースの作成は通常、ソフトウェア開発チーム、テスト チーム、または品質保証チームに所属する方が作成します。通常、コードの作成に関与していない専門家がテスト ケースを作成することが推奨されます。アジャイルやスクラムなどのソフトウェア開発フレームワークによって、QA テストのアプローチが異なる場合があります。
テスト ケースの書き方
テスト ケースは、明確で、徹底的、正確である必要があります。以下に、新しいテスト ケースを作成する場合でも、既存のテスト ケースを再検討して評価する場合でも実行できる 10 のステップの概要を説明します。
- テスト シナリオからカバーする領域を定義します。
- テストケースがテスターにとって理解しやすく、実行しやすいものであることを確認してください。
- 関連するテスト設計を理解し、適用します。
- 一意のテスト ケース ID を使用します。
- 可視性のテストには要件トレーサビリティ マトリックスを使用します。
- 各テストには明確な説明を含めてください。
- 適切な前提条件と事後条件を追加します。
- 期待される正確な結果を指定します。
- 適切なテスト手法を利用します。
- 先に進む前に、テスト計画をピアレビューしてもらいます。
適切に作成されたテスト ケースのベスト プラクティス
このセクションのヒントと上記のリストを併用すると、効率的かつ完全なワークフローを作成できます。まずは 2 つの簡単なヒントから始めましょう。
- 可能な限り、テスト ケースを再利用可能および保守可能にします。ニーズは、テストするソフトウェア、アプリケーション、または特定の機能によって異なります。ただし、再利用可能で保守が容易なテスト ケースを意識的に作成することで、時間とエネルギーを節約できます。
- エンドユーザーの視点を念頭に置いてテストケースを作成します。テスト ケース作成プロセス全体を通じて、ユーザーの立場に踏み込もうとしていることを忘れないでください。探索的テスト方法をユーザーの視点に合わせると、効率的で関連性のあるソフトウェア アプリケーションのテスト ケースを作成するのに役立ちます。
再利用可能なテスト ケース テンプレートの作成を検討してください。
テスト ケース テンプレートは、必要に応じてカスタマイズできる柔軟かつ基本的な構造を提供します。また、すべての重要な要素が含まれていることを確認するためのチェックリストとしても機能します。多くのテスターは、行ごとに 1 つのテストと列にテスト要素を含むスプレッドシートを使用します。テスト ケース テンプレートに追加できる要素をいくつか示します。
- テストケースID
- テストケースの説明
- 事前条件
- テスト手順
- テストデータ
- 期待される結果
- 事後条件
- 実行結果
- 状態
高品質のテストケースを作成する利点
テスト ケースを作成すると、ソフトウェアのあらゆる側面を検討できるようになり、開発中にソフトウェアのギャップを特定しやすくなります。正式なテスト ケースを作成すると、いくつかの利点が現れます。
- ドキュメント化とは、テストの範囲を保証できることを意味します。
- ソフトウェアのメンテナンスやバグ修正を削減し、将来のコストをサポートできます。
- テスト ケースは、現在および将来のプロジェクトで再度使用できます。
- ソフトウェアの品質とユーザー エクスペリエンスを向上させることができます。
- 製品の品質が高ければ、顧客の満足度も高まり、利益も高まります。
PractiTest(プラクティテスト)に関する
お問い合わせ
PractiTest(プラクティテスト)のトライアルアカウントお申し込みや、製品デモの依頼、
機能についての問い合わせなどお気軽にお問い合わせください。