Webアプリケーションのテストケース例(チェックリスト)

⚡ スマートサマリー

ウェブアプリケーションのテストチェックリストは、ユーザビリティ、機能性、互換性、データベース、API、セキュリティ、パフォーマンス、アクセシビリティといった項目を網羅しています。以下の各セクションには、品質保証チームがテスト管理ツールに直接コピーして使用できる、すぐに使えるテストシナリオが用意されています。

  • ⚙️ 機能性を最優先に: 外観上のレビューを開始する前に、必須項目、境界値の長さ、閏年、ゼロ除算、タイムアウト動作を検証してください。
  • 🧭 ユーザビリティの指標: 初めて利用するユーザーが操作に困らないよう、配置、ツールチップ、キーボード操作、スクロールバー、エラーメッセージからの復旧などを確認してください。
  • 🌐 互換性マトリックス: Chrome で重要なフローを繰り返します。 FirefoxEdge、Safari、およびモバイルブラウザにおけるレイアウトとスクリプトの違いを明らかにする。
  • 🗄️ データベースの整合性: フロントエンドの値を保存済みのレコードと照合し、両方のレイヤーでキー、トリガー、ストアドプロシージャ、およびフィールドの長さを検証します。
  • 🔌 API レイヤー: ステータスコード、スキーマ、認証、レート制限、およびダウンストリームの障害処理は、ブラウザとは別にアサートする。
  • 🔐 セキュリティ基準: HTTPS接続を強制し、保存されている秘密情報を暗号化し、度重なる失敗後にアカウントをロックし、SQLインジェクション攻撃やブルートフォース攻撃を検知する。
  • 🚀 パフォーマンスとアクセス: スクリプトの読み込みプロファイルを手作業ではなく自動化によって作成し、その後、WCAGのコントラスト、ラベル、キーボード操作を確認します。

Web アプリケーションをテストするときは、以下に説明するテンプレートを考慮する必要があります。 以下に説明するチェックリストは、ビジネス要件に応じて、あらゆる種類の Web アプリケーションにほぼ適用できます。

上記のテンプレートは、1枚のシートでチェックリストのすべての領域のシナリオを記述する方法を示しています。背景については、以下を参照してください。 Webアプリケーションのテスト 概要。

それでは、各チェックリストを詳しく見てみましょう。

機能テスト

機能テストとは何ですか?

  • 製品の機能と動作をテストして、仕様に準拠していることを確認します。
  • システムまたはコンポーネントの内部メカニズムを無視し、選択された入力と実行条件に応じて生成される出力のみに焦点を当てるテスト。

機能テストの目的または目標は何ですか?

  • の目標 機能テスト 製品が開発ドキュメントに記載されている意図された機能仕様を満たしているかどうかを確認することです。

機能テストのシナリオの例:

  • すべての必須フィールドをテストして検証する必要があります。
  • すべての必須フィールドにアスタリスク記号が表示されるかどうかをテストします。
  • システムがオプションのフィールドにエラー メッセージを表示しないことをテストします。
  • うるう年が正しく検証され、エラーや計算ミスが発生しないことをテストします。
  • 数値フィールドがアルファベットを受け入れず、適切なエラー メッセージが表示されることをテストします。
  • 数値フィールドで許可されている場合は負の数をテストします。
  • テストのゼロによる除算は、計算のために適切に処理される必要があります。
  • すべてのフィールドの最大長をテストして、データが切り捨てられていないことを確認します。
  • データがフィールドの最大サイズに達した場合に表示されるポップアップ メッセージ (「このフィールドは 500 文字に制限されています」) をテストします。
  • 更新および削除操作に対して確認メッセージが表示されることをテストします。
  • 金額値が通貨形式で表示されるかどうかをテストします。
  • すべての入力フィールドに特殊文字がないかテストします。
  • タイムアウト機能をテストします。
  • 並べ替え機能をテストします。
  • 利用可能なボタンの機能をテストする
  • プライバシー ポリシーと FAQ をテストし、明確に定義されており、ユーザーが利用できるようにする必要があります。
  • いずれかの機能が失敗するかどうかをテストすると、ユーザーはカスタム エラー ページにリダイレクトされます。
  • アップロードされたすべてのドキュメントが正しく開かれることをテストします。
  • ユーザーがアップロードされたファイルをダウンロードできるかどうかをテストします。
  • システムの電子メール機能をテストします。
  • テストする Java スクリプトはさまざまなブラウザー (IE、 Firefox、クローム、サファリ、 Opera).
  • ユーザーがサイト内で Cookie を削除した場合に何が起こるかをテストします。
  • ユーザーがサイトにアクセスした後に Cookie を削除するとどうなるかをテストします。
  • コンボ/リスト ボックス内のすべてのデータが時系列順に並べられていることをテストします。

機能が正しく動作することが確認できたら、次に問われるのは、実際のユーザーが補助なしでそれらを操作できるかどうかだ。

ユーザビリティテスト

ユーザビリティテストとは何ですか?

  • ユーザビリティテストとは、まさに使いやすさのチェックです。
  • ユーザビリティテストでは、新規ユーザーがアプリケーションを容易に理解できるように、アプリケーションの操作フローをテストします。
  • 基本的に、システムナビゲーションはユーザビリティテストでチェックされます。

ユーザビリティテストの目的または目標は何ですか?

ユーザビリティ テストでは、標準的なユーザビリティ テスト手法を使用して、製品の使いやすさと有効性を確立します。

ユーザビリティテストケースの例

  • Web ページのコンテンツは、スペルや文法の誤りがなく正確である必要があります。
  • すべてのフォントは要件に従って同じである必要があります。
  • すべてのテキストが適切に配置されている必要があります。
  • すべてのエラー メッセージが正しく、スペルや文法の間違いがなく、エラー メッセージがフィールド ラベルと一致している必要があります。
  • ツールヒントのテキストはすべてのフィールドに存在する必要があります。
  • すべてのフィールドが正しく配置されている必要があります。
  • フィールド ラベル、列、行、およびエラー メッセージの間には十分なスペースを確保する必要があります。
  • すべてのボタンは標準の形式とサイズである必要があります。
  • ホーム リンクはすべてのページに存在する必要があります。
  • 無効なフィールドはグレー表示されます。
  • リンク切れや画像がないか確認してください。
  • あらゆる種類の更新および削除操作に対して確認メッセージが表示される必要があります。
  • さまざまな解像度 (640 x 480、600 x 800 など) でサイトを確認してください。
  • エンドユーザーがストレスなくシステムを実行できることを確認してください。
  • タブが正しく機能することを確認してください。
  • スクロール バーは必要な場合にのみ表示されます。
  • 送信時にエラー メッセージが表示された場合は、ユーザーが入力した情報がそこにあるはずです。
  • タイトルは各 Web ページに表示される必要があります
  • すべてのフィールド (テキスト ボックス、ドロップダウン、ラジオ ボタンなど) とボタンはキーボード ショートカットでアクセスでき、ユーザーはキーボードを使用してすべての操作を実行できる必要があります。
  • フィールド サイズが原因でドロップダウン データが切り捨てられていないかどうかを確認します。 また、データがハードコーディングされているか、管理者によって管理されているかどうかを確認してください。

あるブラウザでは問題なく表示されるレイアウトでも、別のブラウザでは正しく表示されない場合があるので、サポートされているすべての環境で同じ画面を再生するようにしてください。

互換性テスト

互換性テストとは何ですか?

  • 互換性テストは、ソフトウェアが、ブラウザなど、動作する必要があるシステムの他の要素と互換性があるかどうかを判断するために使用されます。 Operaシステム、またはハードウェア。

互換性テストの目的または目標は何ですか?

  • 互換性テストの目的は、特定のブラウザーでのソフトウェアのパフォーマンスを評価することです。 Operaシステム、ハードウェア、またはソフトウェア。

互換性テストのサンプル シナリオ:

  • さまざまなブラウザ (IE、 Firefox、Chrome、Safari、 Opera) を確認し、Web サイトが適切に表示されていることを確認します。
  • 使用されている HTML バージョンが適切なブラウザのバージョンと互換性があるかどうかをテストします。
  • さまざまなブラウザで画像が正しく表示されるかテストします。
  • フォントがさまざまなブラウザで使用できるかどうかをテストします。
  • Java スクリプト コードがさまざまなブラウザで使用できるかどうかをテストします。
  • さまざまなブラウザでアニメーション GIF をテストします。

一貫したレンダリングは、画面の背後にある記録について何も証明するものではない。 クロスブラウザテスト マトリックスのおかげで、この領域は管理しやすくなっています。

データベースのテスト

データベーステストとは何ですか?

  • In データベーステスト Web またはデスクトップ アプリケーションを通じて挿入されたバックエンド レコードがテストされます。 Web アプリケーションに表示されているデータは、データベースに保存されているデータと一致する必要があります。

データベース テストを実行するには、テスターは以下の点に注意する必要があります。:

  • テスターは、機能要件、ビジネス ロジック、アプリケーション フロー、データベース設計を十分に理解する必要があります。
  • テスターは、アプリケーションに使用されるテーブル、トリガー、ストア プロシージャ、ビュー、およびカーソルを把握する必要があります。
  • テスターは、作成されたトリガー、ストア プロシージャ、ビュー、カーソルのロジックを理解している必要があります。
  • テスターは、Web またはデスクトップ アプリケーションを通じて挿入、更新、削除 (DML) 操作が実行されたときに影響を受けるテーブルを把握する必要があります。

上記のポイントを活用すると、テスターはデータベース テストのテスト シナリオを簡単に作成できます。

データベーステストのテストケースの例:

  • データベース名を確認してください。データベース名は仕様と一致している必要があります。
  • テーブル、列、列タイプ、デフォルトを確認します。すべてが仕様と一致している必要があります。
  • 列が NULL を許可するかどうかを確認します。
  • 各テーブルの主キーと外部キーを確認します。
  • ストアド プロシージャを確認します。
  • ストアド プロシージャがインストールされているかどうかをテストします。
  • ストアド プロシージャ名を確認する
  • パラメータの名前、タイプ、パラメータの数を確認します。
  • パラメータが必要かどうかをテストします。
  • いくつかのパラメータを削除してストアド プロシージャをテストする
  • 出力がゼロの場合にテストすると、ゼロのレコードが影響を受けるはずです。
  • 簡単な記述でストアド プロシージャをテストする SQL クエリ
  • ストアド プロシージャが値を返すかどうかをテストする
  • サンプル入力データを使用してストアド プロシージャをテストします。
  • 表内の各フラグの動作を確認します。
  • 各ページを送信した後、データがデータベースに適切に保存されていることを確認します。
  • DML (更新、削除、挿入) 操作が実行された場合は、データを検証します。
  • すべてのフィールドの長さを確認します。バックエンドとフロントエンドのフィールド長は同じである必要があります。
  • QA、UAT、および運用のデータベース名を確認します。 名前は一意である必要があります。
  • データベース内の暗号化されたデータを確認します。
  • データベースのサイズを確認します。 実行された各クエリの応答時間もテストします。
  • フロントエンドに表示されるデータを確認し、バックエンドでも同じであることを確認します。
  • 無効なデータをデータベースに挿入して、データの有効性を検証します。
  • トリガーを確認します。

APIテストチェックリスト

現在、ほとんどのビジネスルールはRESTまたはGraphQLエンドポイントの背後に存在するため、ブラウザチェックだけではシステムが正しく動作していることを証明できません。エンドポイントを直接テストすると、tracユーザーインターフェースよりもはるかに早く、認証の欠陥を検出します。

エンドポイントの承認前に、以下のシナリオを網羅的に検討してください。

APIテストのサンプルテストシナリオ:

  • 成功、検証失敗、不正アクセス、サーバーエラーに関する、文書化されたステータスコードを確認してください。
  • レスポンスペイロードが、フィールド名やデータ型を含め、公開されているスキーマと一致していることを確認してください。
  • パラメータが欠落しているか形式が不正な場合、スタックではなく読みやすいメッセージが返されることを確認します。 trace.
  • 認証トークンが期限切れになり、正しく更新され、ログアウト後に再利用できないことを確認します。
  • 役割ベースの認証を検証し、標準アカウントが識別子を変更することで管理者エンドポイントにアクセスできないようにします。
  • 空文字列や最大長など、すべてのパラメータの境界値を検証してください。
  • レート制限が、エラーを黙って発生させるのではなく、正しいスロットリング応答を返すことを確認します。
  • サードパーティサービスがタイムアウトした場合に、エンドポイントが適切にダウングレードすることを確認してください。
  • 応答やエラーメッセージにパスワード、トークン、内部パスが含まれていないことを確認してください。

ステージング環境と本番環境では権限セットが異なる場合が多いため、すべての環境でこのリストを実行してください。 APIテスト 概要と REST APIを手動でテストする.

これらのチェック項目のいくつかは、セキュリティ業務と重複している。

セキュリティテスト

セキュリティテスト セキュリティの観点から欠陥やギャップを特定するテストが含まれます。

セキュリティ テストのサンプル テスト シナリオ:

  • パスワード、クレジットカード番号、セキュリティの質問に対する秘密の回答などの重要なデータが含まれる Web ページは、HTTPS (SSL) 経由で送信されることを確認します。
  • パスワード、クレジットカード番号などの重要な情報が暗号化された形式で表示されることを確認します。
  • 「登録」、「パスワードを忘れた場合」、「パスワードの変更」などのすべての認証ページにパスワード ルールが実装されていることを確認します。
  • パスワードが変更された場合、ユーザーは古いパスワードでログインできなくなることを確認します。
  • エラー メッセージに重要な情報が表示されていないことを確認します。
  • ユーザーがシステムからログアウトしているか、ユーザー セッションの有効期限が切れているかどうかを確認します。ユーザーはサイトに移動できません。
  • ログインせずに、保護された Web ページと保護されていない Web ページに直接アクセスできることを確認します。
  • 「ソースコードの表示」オプションが無効になっていて、ユーザーに表示されていないことを確認します。
  • ユーザーが間違ったパスワードを何度も入力した場合、ユーザー アカウントがロックアウトされることを確認します。
  • Cookie にパスワードが保存されていないことを確認します。
  • 機能が動作していないか、システムがアプリケーション、サーバー、またはデータベースの情報を表示しないことを確認します。 代わりに、カスタム エラー ページが表示されるはずです。
  • SQL インジェクション攻撃を確認します。
  • ユーザーの役割とその権限を確認します。 たとえば、要求者は管理ページにアクセスできないようにする必要があります。
  • 重要な操作がログファイルに書き込まれていることを確認し、その情報が trac食べられる。
  • アドレス バーのセッション値が暗号化された形式であることを確認します。
  • Cookie 情報が暗号化された形式で保存されていることを確認します。
  • ブルート フォース攻撃に対するアプリケーションを検証する

荷重がかかると座屈してしまうような硬化処理されたアプリケーションは依然として使用できないため、次の工程ではスケールを測定する。

性能試験

性能試験 システムまたはコンポーネントが指定されたパフォーマンス要件に準拠しているかを評価するために実施されます。

一般的なテスト シナリオ:

  • さまざまな負荷条件下でのアプリケーションのパフォーマンス、安定性、スケーラビリティを判断します。
  • 現在のアーキテクチャがピークユーザーレベルでアプリケーションをサポートできるかどうかを判断します。
  • どの構成サイジングが最高のパフォーマンス レベルを提供するかを判断します。
  • アプリケーションとインフラストラクチャのボトルネックを特定するため。
  • ソフトウェアの新しいバージョンが応答時間に悪影響を及ぼしたかどうかを判断するため。
  • 製品やハードウェアを評価して、予測される負荷量を処理できるかどうかを判断します。

パフォーマンステストを行うにはどうすればよいですか? 手動テストまたは自動化による

実際には、次のような欠点があるため、パフォーマンス テストを手動で実行することはできません。

  • さらに多くのリソースが必要になります。
  • 同時動作はできません。
  • 適切なシステム監視が利用できません。
  • 繰り返しのタスクを実行するのは簡単ではありません。

したがって、上記の問題を克服するには、パフォーマンス テスト ツールを使用する必要があります。 以下は、一般的なテスト ツールのリストです。

まだ見落とされている層が一つある。それは、支援技術を通してこれらの画面にアクセスするユーザーだ。

アクセシビリティテストチェックリスト

アクセシビリティテストは、スクリーンリーダー、キーボードのみのナビゲーション、または拡大機能を使用する人が、他のすべての人と同じ操作を完了できることを確認します。また、これは調達要件でもあります。tracts は一般的に参照します WCAG 2.2 レベル AAこれらの欠陥は構造的なものであり、早期に修復すれば費用ははるかに少なくて済む。

アクセシビリティテストのサンプルテストシナリオ:

  • 意味のある画像には説明的な代替テキストが付けられ、装飾的な画像は支援技術から非表示になっていることを確認してください。
  • すべてのフォームコントロールに、隣接するプレースホルダーテキストではなく、プログラムによって関連付けられたラベルが設定されていることを確認してください。
  • キーボードのみでページが正しく動作すること、および各停止位置でフォーカスインジケーターが表示されることを確認してください。
  • テキストおよびインタラクティブ要素が、背景に対して最低限のコントラスト比を満たしていることを確認してください。
  • 見出しが論理的な順序で並び、階層が飛ばされていないことを確認してください。そうすることで、スクリーンリーダーのナビゲーションが正しく機能します。
  • エラーメッセージが支援技術に通知されていることを確認し、問題のあるフィールドを特定します。
  • 水平スクロールなしで、200%ズーム時でもページが問題なく使用できることを確認してください。
  • モーダル、タブ、アコーディオンなどのカスタムウィジェットが、正しい役割と状態を公開していることを確認します。

自動スキャナーではこれらの問題の一部しか検出できないため、手動キーボードとスクリーンリーダーによる確認を追加してください。 アクセシビリティテスト 参考資料には、工具類に関する記述が含まれています。

よくあるご質問

テスト計画とは、リリースにおける範囲、スケジュール、リソース、リスク、および終了基準を網羅した正式な文書です。チェックリストは、検証すべき条件を一覧にした、簡略化されたカバレッジ確認ツールです。計画はプロジェクト全体を統括し、チェックリストは個々のテストセッションを統括します。

Revメジャーリリース、新規統合、または本番環境でのインシデントが発生するたびに、このチェックリストを確認してください。見落とされた不具合ごとに1行追加し、同じ不具合が繰り返されないようにする必要があります。チェックリストが改訂されないと、アプリケーションの実際の動作を反映しなくなってしまいます。

ほとんどのチームはセキュリティ対策を OWASPウェブセキュリティテストガイドアクセシビリティに関してはWCAG 2.2に準拠し、プロセス全体の用語はISTQBに準拠しています。これらの参照基準により、チェックリストはチームの習慣のみに基づくのではなく、監査可能なものとなります。

はい。要件、ユーザーストーリー、またはAPI仕様を大規模な言語モデルに入力することで、シナリオのしっかりとした最初のドラフトを作成できます。ただし、テスターは重複を削除し、モデルが推論できないビジネスルールを追加し、各項目が実際に検証可能であることを確認する必要があります。

自己修復型ロケーターは、マークアップの変更後に要素を再識別し、保守作業の主要因となる不安定な障害を削減します。また、AIは重複する欠陥をクラスタリングし、どのスイートを優先的に実行すべきかをランク付けするため、チェックリストが増えても回帰テストのサイクルを短縮できます。