ソフトウェア テストでテスト ケースを作成するには? (フォーマットと例付き)
テスト管理ツールコラム
ソフトウェアテストにおけるテストケースとは何ですか?
テスト ケースは、ソフトウェア テストで特定の機能を検証するために必要なアクションを指します。テスト ケースには、機能を検証するために必要な手順、データ、前提条件、事後条件が詳しく記載されています。
これは、QA が期待される結果と実際の結果を比較して、機能が機能するかどうかを結論付けるために必要な特定の変数を示します。テスト ケースのコンポーネントでは、入力、実行、および予想される出力/応答について言及します。それはエンジニアに、何をすべきか、どのように行うか、そしてどのような結果が受け入れられるかを伝えます。
目次
- ソフトウェアテストにおけるテストケースとは何ですか?
 - ソフトウェアテストにおけるテストケース作成の目的
 - 標準テストケース形式
 - テストケースの書き方(テストケース例)
 - テストケースの共通機能
 - テストケースを書くためのベストプラクティス
 - BrowserStack によるテスト ケース管理
 
ソフトウェアテストにおけるテストケース作成の目的
- ソフトウェアの特定の機能を検証するため。
 - 日々の実践的なアクティビティを通じてテスターをガイドします。
 - 実行された手順のカタログを記録し、バグが発生した場合に再確認できるようにします。
 - 将来のプロジェクトやテスターがゼロから作業を開始する必要がないように、青写真を提供するため。
 - ユーザビリティの問題やデザインのギャップを早期に発見するのに役立ちます。
 - 新しいテスターや開発者が、進行中のプロジェクトの途中から参加した場合でも、すぐにテストを開始できるようにするため。
 
標準テストケース形式
- テストケースID
 - テストシナリオ
 - テスト手順
 - 前提条件
 - テストデータ
 - 期待/意図された結果
 - 実績
 - テストステータス – 合格/不合格
 
テスト ケースを作成するときは、次のことを忘れずに含めてください。
- 要件の合理的な説明
 - テストプロセスの説明
 - テスト設定に関する詳細: テスト対象のソフトウェアのバージョン、データ ポイント、OS、ハードウェア、セキュリティ クリアランス、日付、時刻、前提条件など。
 - テスターが必要とする関連文書または添付ファイル
 - 前提条件が存在する場合はその代替
 
ソフトウェア テストでテスト ケースを作成する際には、テストケースの優先順位付けが不可欠です。テスト スイートですべてのテスト ケースを実行するには、多くの時間と労力が必要です。機能の数が増えると、すべてのビルドでスイート全体をテストすることは事実上不可能になります。テスト ケースの優先順位付けは、これらの課題を克服するのに役立ちます。
テストケースの書き方(テストケース例)
特定のシナリオに基づいてテスト ケースの例を構築してみましょう。ここにサンプルケースがあります。
- テストケースID : #BST001
 - テスト シナリオ: Gmail.com でのユーザー ログインの成功を認証するには
 - テスト手順:
- ユーザーは Gmail.com に移動します。
 - ユーザーは「電子メール」フィールドに登録済みの電子メール アドレスを入力します。
 - ユーザーは「次へ」ボタンをクリックします。
 - ユーザーは登録されているパスワードを入力します。
 - ユーザーは「サインイン」をクリックします。
 
 - 前提条件: 一意のユーザー名とパスワードを持つ登録済みの Gmail ID。
 - ブラウザ: Chrome v 86。デバイス: Samsung Galaxy Tab S7。
 - テストデータ:正当なユーザー名とパスワード。
 - 期待/意図された結果:ユーザー名とパスワードが入力されると、Web ページはユーザーの受信箱にリダイレクトされ、上部に新着メールが表示および強調表示されます。
 - 実際の結果:期待通り
 - テストステータス – 合格/不合格: 合格
 
テスト ケースが形成されたら、対応するテストを実際のブラウザ、デバイス、オペレーティング システム上で実行する必要があります。デバイスの断片化はすべての開発者とテスターにとって重大な懸念事項であることを忘れないでください。すべての Web サイトは、複数のデバイス、ブラウザー、OS の組み合わせでシームレスに動作する必要があります。インターネットへのアクセスには世界中で 9000 以上の異なるデバイスが使用されているため、すべてのソフトウェアをさまざまな構成、ビューポート、画面解像度に合わせて最適化する必要があります。
テストケースの共通機能
- 定期的に改訂および更新される可能性があります:ソフトウェア要件は、ビジネスの優先順位や顧客の好みに応じて変更される可能性があります。要件が変化した場合は、それに応じてテスト ケースを変更する必要があります。バグの検出とデバッグ手順では、テスト ケースの変更が必要になる場合もあります。
 - クラスタリングが関与する可能性が高い: 単一のテスト シナリオ内のテスト ケースは、通常、特定の順序またはグループで実行する必要があります。この場合、1 つのテスト ケースの特定の前提条件が、同じシーケンス内の他のケースに適用されます。
 - 相互依存する可能性が高い: 多くの場合、テスト ケースは相互に依存する可能性があります。これは、多層ビジネス ロジックを備えた層状アプリケーションに特に当てはまります。
 - テスターと開発者が使用する可能性が高い:テスト ケースは開発者とテスターにとって役立ちます。たとえば、開発者がバグを修正する場合、テスト ケースはそのバグを再現するのに非常に価値があります。テスト駆動開発 (TDD)では、開発者はテスト ケースを作成してビジネス ロジックを作成し、複数のテスト シナリオをカバーし、コードの作成を開始します。
 
こちらもお読みください:モバイル アプリケーションのテスト ケースの作成方法
テストケースを書くためのベストプラクティス
- 明瞭さと透明性を優先します。テスターが何をする必要があるか、そして理想的にはどのような結果が得られるべきかを明確、簡潔、かつ積極的に説明してください。
 - サンプル テスト ケースを作成するときは、エンド ユーザーの要件に焦点を当てます。テスト ケースをマップして、ユーザー ジャーニーのあらゆる側面を反映します。これを行うには、仕様書と要件書を使用します。
 - 繰り返しは避けてください。同じテスト ケースで複数のテストを実行できる場合は、テスト ケース ID を使用して必要なテスト ケースを参照します。
 - テスト手順は可能な限り最小限に抑えてください。可能であれば、10 ~ 15 ステップに抑えるのが理想的です。
 - 最大のテスト カバレッジを達成することに重点を置きます。100% のテスト カバレッジを達成できることはほとんどありませんが、適切な戦略を使用すれば高い割合を達成できます。
 - 自動クリーニング テスト ケースを作成します。テスト ケースでは、テスト環境をテスト前の初期の状態に戻す必要があります。テストが完了したときに、テスト自体の残骸を環境に残すべきではありません。これは構成管理に不可欠な要素です。
 - 誰が実行しても同じ結果が返されるテストのテスト ケースを作成します。テストが自立していることを確認します。
 
BrowserStack によるテスト ケース管理
適切に構造化された結果指向のテスト ケースを作成することは、テストを成功させるための基本です。さらに、包括的なテスト範囲を保証し、QA が従うべき明確な計画を提供します。
更新:
BrowserStack Test Managementを使用すると、チームは統合されたワークフローを使用してテスト ケースとテスト実行を作成、管理、追跡できます。リリースに関するリアルタイムの洞察を通じてソフトウェアの品質を向上させます。履歴データ、自動化カバレッジ指標、テスト傾向を監視します。
BrowserStack などのテスト管理ツールを使用すると、チームは次のことが可能になります。
- 最終製品に欠陥が生じる可能性を減らすために、すべてのシナリオがカバーされていることを確認します。
 - チームが進捗状況を追跡し、問題を特定し、テスト結果を分析できるようにする堅牢なレポート機能にアクセスします。
 - より注意が必要な重要な領域に焦点を当て、全体的な効率を向上させます。
 - 少ないクリック数とページ読み込みで移動し、フォルダーとタグを使用してテスト ケースを整理します。
 - 事前定義されたパラメーターを使用して、テスト ケースを簡単に検索、並べ替え、フィルター処理します。
 - すぐに使用できるテスト ケース フィールドを活用します。
 - Jira アプリを使用した双方向バインディングを通じてテスト ケースとテスト実行を追跡することで、より優れたトレーサビリティを実現します 。
 - 豊富なダッシュボードを通じて、テスト ケースとテスト実行の詳細な概要を取得します。
 - さらに、 Test Observabilityを通じて、テスト実行のパフォーマンスと品質に関する豊富な洞察を得ることができます。
 
PractiTest(プラクティテスト)に関する
お問い合わせ
PractiTest(プラクティテスト)のトライアルアカウントお申し込みや、製品デモの依頼、
機能についての問い合わせなどお気軽にお問い合わせください。


