website cookie testing test cases
クッキーの紹介
主に、Cookieとは何か、およびCookieがどのように機能するかに焦点を当てます。 Cookieがどのように機能するかを明確に理解していれば、Cookieをテストするためのテストケースを理解するのは簡単ですか?クッキーはどのようにしてハードドライブに保存されますか?どうすればCookieの設定を編集できますか?
学習内容:
- クッキーとは何ですか?
- なぜクッキーが使われるのですか?
- クッキーはどのように機能しますか?
- クッキーはどのように保存されますか?
- クッキーの欠点
- WebアプリケーションのCookieテストのテストケース
- 結論
- 推奨読書
クッキーとは何ですか?
Cookieは、Webサーバーによってユーザーのハードドライブ上のテキストファイルに保存される小さな情報です。この情報は、後でそのマシンから情報を取得するためにWebブラウザによって使用されます。通常、Cookieには、異なるWebページ間の通信に使用されるパーソナライズされたユーザーデータまたは情報が含まれています。
なぜクッキーが使われるのですか?
CookieはユーザーのIDに他ならず、ユーザーがWebサイトページ全体をナビゲートした場所を追跡するために使用されます。 WebブラウザとWebサーバー間の通信はステートレスです。
例えば:
ドメイン「http://www.example.com/1.html」にアクセスしている場合、Webブラウザはexample.comWebサーバーにページ1.htmlを照会するだけです。
次回、ページを「http://www.example.com/2.html」と入力すると、2.htmlページを送信するための新しいリクエストがexample.com Webサーバーに送信され、Webサーバーはそれについて何も知りません。前のページ1.htmlが提供した人。
このユーザーとWebサーバーとの通信の以前の履歴が必要な場合はどうなりますか?ユーザーの状態と、WebブラウザとWebサーバー間の相互作用をどこかに維持する必要があります。ここでCookieが登場します。 Cookieは、ユーザーとWebサーバーとの対話を維持する目的で使用されます。
クッキーはどのように機能しますか?
Web上で情報ファイルを交換するために使用されるHTTPプロトコルは、Cookieを維持するために使用されます。
HTTPプロトコルには2つのタイプがあります。ステートレスHTTPおよびステートフルHTTPプロトコル。ステートレスHTTPプロトコルは、以前にアクセスしたWebページの履歴の記録を保持しません。ステートフルHTTPプロトコルは、以前のWebブラウザーとWebサーバーの相互作用の履歴を保持しますが、このプロトコルは、ユーザーの相互作用を維持するためにCookieによって使用されます。
ユーザーがCookieを使用しているサイトまたはページにアクセスするたびに、そのHTMLページ内の小さなコード(通常、JAVAScript、PHP、PerlでCookieのようなCookieを作成するための言語スクリプトの呼び出し)は、ユーザーのマシンに次のテキストファイルを書き込みます。クッキー。
Cookieの作成に使用され、任意のHTMLページに配置できるコードの一例を次に示します。
Set-Cookie:NAME = VALUE; expires = DATE; path = PATH; domain = DOMAIN_NAME;
入出力ファイルc ++
ユーザーが後で同じページまたはドメインにアクセスすると、このCookieがディスクから読み取られ、そのドメインでの同じユーザーの2回目のアクセスを識別するために使用されます。有効期限はCookieの書き込み中に設定されます。今回は、Cookieを使用するアプリケーションによって決定されます。
通常、2種類のCookieがユーザーのマシンに書き込まれます
#1)セッションCookie: このCookieは、Cookieを呼び出したブラウザが開くまでアクティブです。ブラウザを閉じると、このセッションCookieは削除されます。たとえば20分のタイムセッションを設定して、Cookieを期限切れにすることができます。
#2)永続的なCookie: これらは、ユーザーのマシンに永続的に書き込まれ、数か月または数年続くCookieです。
クッキーはどこに保存されますか?
WebページアプリケーションがCookieを書き込むと、ユーザーのハードディスクドライブ上のテキストファイルに保存されます。 Cookieが保存されるパスは、ブラウザによって異なります。異なるブラウザは、異なるパスにCookieを保存します。
以下のパスは、Cookieが保存される場所の例です。
インターネットエクスプローラ: 「C: Users username AppData Roaming Microsoft Windows Cookies」。
Windows 7: 「C: Users username AppData Roaming Microsoft Windows Cookies Low」。
Windows8およびWindows10: 「C: Users username AppData Local Microsoft Windows INetCookies」。
ここで、「デフォルトユーザー」は、「管理者」のようにログインしている現在のユーザー、または「Vijay」のようなユーザー名に置き換えることができます。
Cookieのパスは、ブラウザのオプションをナビゲートすることで簡単に見つけることができます。
Chromeに最適な広告ブロッカー拡張機能
Mozilla Firefoxブラウザでは、ブラウザオプション自体にCookieを表示することもできます。 Mozillaブラウザを開き、「メニューを開く」ボタンを押しますか? 'ウェブ開発者'? 「StorageInspector」または「Shift + F9」の組み合わせを押します。
Google Chromeブラウザでは、アドレスバーに「chrome:// settings / content / cookies」と入力してCookieを見つけることができます。 Cookieには、ブラウザコンソール(F12 –>アプリケーション–>ストレージ–> Cookie->)を使用してアクセスすることもできます。
クッキーはどのように保存されますか?
によって書かれたクッキーの例を見てみましょう rediff.com MozillaFirefoxブラウザで。 Mozilla Firefoxブラウザーで、ページrediff.comを開くか、Rediffmailアカウントにログインすると、Cookieがハードディスクに書き込まれます。
このCookieを表示するには、上記のパスに記載されている(Cookieを表示)ボタンをクリックするだけです。このCookieリストの下にあるRediff.comサイトをクリックします。
Rediffドメインによって異なる名前で書かれた異なるCookieを見ることができます。
地点: Rediff.com Cookie名:RMID
名前: RMID(Cookieの名前)
コンテンツ: 1d11c8ec44bf49e0…(暗号化されたコンテンツ)
ドメイン: .rediff.com
道: /(ドメイン名の後の任意のパス)
送信先: あらゆるタイプの接続
有効期限: 2020年12月31日木曜日午後11時59分59秒
#1)ショッピングカートを実装するには: クッキーは、オンライン注文システムを維持するために使用されます。クッキーは、ユーザーが何を購入したいかを記憶しています。ユーザーがショッピングカートに商品を追加し、何らかの理由で今回はそれらの商品を購入したくないためにブラウザウィンドウを閉じた場合はどうなりますか?
上記の例では、次に同じユーザーが購入ページにアクセスすると、前回のアクセス時にショッピングカートに追加したすべての商品を確認できます。
#2)パーソナライズされたサイト: ユーザーが特定のページにアクセスすると、アクセスまたは表示したくないページを尋ねられます。ユーザーオプションはCookieに保存され、ユーザーがオンラインになるまで、それらのページは表示されません。
#3)ユーザー追跡: 特定の時間にオンラインでユニークビジターの数を追跡するため。
#4)マーケティング: 一部の企業は、ユーザーのマシンに広告を表示するためにCookieを使用しています。クッキーはこれらの広告を管理します。いつ、どの広告を表示する必要がありますか?ユーザーの興味は何ですか?サイトでどのキーワードを検索しますか?これらはすべてCookieを使用して維持できます。
#5)ユーザーセッション: Cookieは、ユーザーIDとパスワードを使用して、特定のドメインへのユーザーセッションを追跡できます。
クッキーの欠点
#1) Cookieを書き込むことは、ユーザーの操作を維持するための優れた方法です。ユーザーがCookieを書き込む前に警告するようにブラウザオプションを設定した場合、またはCookieを完全に無効にした場合、Cookieを含むサイトは完全に無効になり、操作を実行できなくなり、サイトが失われます。トラフィック。これは、ブラウザの設定で無効/有効にできます。
例えば: Google Chromeの場合は、(設定)-> (詳細設定)-> (コンテンツ設定)-> (Cookie)に移動する必要があります。そこで、Cookieポリシーの一般的なルールを適用するか、個々のWebサイトに設定することができます。
ブラウザの設定に加えて、EUと米国の規制にいくつかの変更があり、開発者はWebサイトでCookieが使用されていることをユーザーに警告する必要があります。このような新しい規制への準拠も、特定の地域のテストシナリオの一部として行う必要があります。
#2)クッキーが多すぎる: すべてのページナビゲーションに書き込むCookieが多すぎて、ユーザーがCookieを書き込む前に警告するオプションをオンにしている場合、これによりユーザーがサイトから離れてしまう可能性があります。
#3)セキュリティの問題: 場合によっては、ユーザーの個人情報がCookieに保存され、誰かがCookieをハッキングすると、ハッカーがあなたの個人情報にアクセスする可能性があります。破損したCookieでさえ、さまざまなドメインで読み取られ、セキュリティの問題が発生する可能性があります。
#4)機密情報: 一部のサイトでは、機密情報をCookieに書き込んで保存する場合がありますが、プライバシー上の懸念から許可されるべきではありません。これは、Cookieが何であるかを知るのに十分なはずです。より多くのCookie情報が必要な場合は、を参照してください CookieCentralページ 。
WebアプリケーションのCookieテストのテストケース
最初の明らかなテストケースは、アプリケーションがディスクにCookieを正しく書き込んでいるかどうかをテストすることです。あなたは使用することができます クッキーテスターアプリケーション また、テストするWebアプリケーションがないが、テスト用のCookieの概念を理解している必要がある場合も同様です。
WebアプリケーションのCookieテストのいくつかの主要なテストケース
#1) クッキーとして 個人情報保護方針 設計ドキュメントから、個人データや機密データがCookieに保存されていないことを確認してください。
#二) 保存する以外に選択肢がない場合 機密データ Cookieに保存する場合は、Cookieに保存されているデータが暗号化された形式で保存されていることを確認してください。
Mac上のPythonに最適なIDE
#3) あることを確認してください クッキーの乱用はありません テスト中のサイトで。ブラウザがCookieをより頻繁に要求している場合、Cookieを使いすぎるとユーザーが煩わしくなり、サイトトラフィックが失われ、最終的にはビジネスが失われる可能性があります。
#4)クッキーを無効にする ブラウザの設定から。サイトでCookieを使用している場合、Cookieを無効にすると、サイトの主要な機能が機能しなくなります。次に、テスト対象のWebサイトにアクセスしてみます。
サイトに移動して、「このサイトをスムーズに機能させるために、ブラウザでCookieが有効になっていることを確認してください」などの適切なメッセージがユーザーに表示されるかどうかを確認します。
Cookieを無効にすることによるページのクラッシュは発生しないはずです。 (このテストを実行する前に、必ずすべてのブラウザーを閉じ、以前に書き込まれたCookieをすべて削除してください)
#5)いくつかのCookieを受け入れる/拒否する: Webサイトの機能を確認する最善の方法は、すべてのCookieを受け入れないことです。 Webアプリケーションで10個のCookieを書き込んでいる場合は、ランダムにいくつかのCookieを受け入れ、たとえば5個を受け入れて5個のCookieを拒否します。
上記のテストケースを実行するために、Cookieがディスクに書き込まれるたびにプロンプトを表示するようにブラウザオプションを設定できます。このプロンプトウィンドウで、Cookieを受け入れるか拒否することができます。 Webサイトの主要な機能にアクセスして、ページがクラッシュしたり、データが破損したりしていないかどうかを確認してください。
#6)クッキーを削除する: サイトにCookieの書き込みを許可してから、すべてのブラウザを閉じ、テスト対象のWebサイトのすべてのCookieを手動で削除します。 Webページにアクセスし、ページの動作を確認します。
#7)クッキーを破壊する: クッキーの破損は簡単です。あなたはクッキーがどこに保存されているか知っています。メモ帳でCookieを手動で編集し、パラメータをあいまいな値に変更します。 Cookieの内容、Cookieの名前、またはCookieの有効期限を変更する場合と同様に、サイトの機能を確認してください。
場合によっては、破損したCookieにより、他のドメインのCookie内のデータを読み取ることができます。あなたのウェブサイトのクッキーの場合、これは起こらないはずです。 Cookieが1つのドメインによって作成されている場合は、Cookieが破損して誰かがCookieデータをハッキングしようとしない限り、他のドメインからrediff.comにアクセスできないと言うことに注意してください。
#8)WebアプリケーションページからのCookieの削除を確認します。 ドメインによって書き込まれたCookieは、rediff.comが同じドメインによって削除されても、そのドメインの下の異なるページによって削除される可能性があると言っている場合があります。これは、「アクショントラッキング」Webポータルをテストしている場合の一般的なケースです。
アクション追跡または購入追跡ピクセルはアクションWebページに配置され、ユーザーがアクションまたは購入を行うと、ディスクに書き込まれたCookieが削除され、同じCookieから複数のアクションがログに記録されるのを防ぎます。アクションまたは購入ページにアクセスするとCookieが適切に削除され、同じユーザーから無効なアクションまたは購入がログに記録されないかどうかを確認してください。
#9)複数のブラウザでのCookieテスト: これは、Webアプリケーションページが意図したとおりにさまざまなブラウザでCookieを正しく書き込んでおり、サイトがこれらのCookieを使用して正しく機能しているかどうかを確認するための最も重要なケースです。 Internet Explorer(さまざまなバージョン)、Mozilla Firefox、Netscape、Operaなどの頻繁に使用されるブラウザでWebアプリケーションをテストできます。
#10) Webアプリケーションが使用している場合 任意のユーザーのログ状態を維持するためのCookie 次に、ユーザー名とパスワードを使用してWebアプリケーションにログインします。
多くの場合、ログインしたユーザーIDパラメーターはブラウザーのアドレスバーに直接表示されます。このパラメーターを別の値に変更します。たとえば、前のユーザーIDが100の場合は、101にしてから、Enterキーを押します。適切なアクセスメッセージがユーザーに表示され、ユーザーが他のユーザーアカウントを表示できないようにする必要があります。
#十一) CookieファイルまたはブラウザコンソールでCookieの種類と有効期限を確認して、Cookieが永続的であるかどうかを確認します(要件に応じて)。
#12) 要件に応じて有効期限が設定されているかどうかを検証します。場合によっては、アプリケーションを操作してCookieの有効期限が更新されているかどうかを確認することが重要です(たとえば、セッションを更新するため)。これは、ブラウザコンソールまたはCookieファイル自体で確認できます。
Cookieを手動でデコードすることは最善の方法ではなく、ブラウザデータに依存する方が簡単であることに注意してください。ただし、必要に応じて、このスレッドにはCookieファイル形式に関する回答がいくつか含まれています。
#13) 一部のCookieがユーザー固有である場合、仕様で別の言い方がされていない限り、別のユーザーがアプリケーションにログインした場合は、Cookieが削除されるか、単に無視されるようにすることが重要です。
#14)マルチ環境サイトの特定のテスト: すべての環境で同じCookieが受け入れられるかどうかを確認します。 Cookieパスでのワイルドカード(いわゆるスーパーCookie)の使用が原因である可能性があります。または、これを許可するための要件である場合、異なる暗号化キーが使用されているためにアクセスの問題が発生する可能性があります(for.Netは、特に指定されていない限り、通常は一意のマシンキーです)。
これらは、WebサイトのCookieをテストする際に考慮すべき主要なテストケースの一部です。さまざまな組み合わせを実行することにより、これらのテストケースから複数のテストケースを作成できます。いくつかの異なるアプリケーションシナリオがある場合は、以下のコメントでテストケースについて言及できます。
結論
これで、WebサイトのCookieテストを実行する方法と、WebアプリケーションのCookieをテストするためのテストケースを作成する方法を明確に理解できました。
以下のコメントセクションであなたのコメント/考えを共有してください。
推奨読書
- Webアプリケーションセキュリティテストガイド
- 最高のソフトウェアテストツール2021 (QAテスト自動化ツール)
- デスクトップ、クライアントサーバーテスト、およびWebテストの違い
- PrimereBookダウンロードのテスト
- アプリケーションテスト–ソフトウェアテストの基本に!
- アプリケーションをデバイスにインストールし、Eclipseからテストを開始します
- 破壊検査と非破壊検査のチュートリアル
- パフォーマンステストvs負荷テストvsストレステスト(違い)