Cookie 測試:網站示例測試用例


Cookie 的基礎知識

我們將首先討論什麼是 Cookie 以及它們是如何工作的。

當您瞭解 Cookie 的工作原理時,您將更容易理解 Cookie 測試的測試用例。Cookie 如何最終出現在您計算機的硬碟驅動器上?此外,我們如何更改 Cookie 偏好設定?

什麼是 Cookie?

Cookie 是 Web 伺服器儲存在使用者硬碟上的文字檔案中的少量資料。然後,Web 瀏覽器使用此資訊從該機器獲取資訊。

Cookie 通常包含自定義使用者資料或用於跨網站通訊的資訊。

Cookie 的用途是什麼?

Cookie 僅僅是使用者的標識,用於監控使用者在網站頁面上的瀏覽軌跡。Web 瀏覽器和 Web 伺服器之間存在無狀態通訊。

例如

如果您訪問域 http://www.example.com/1.html,您的 Web 瀏覽器將簡單地向 example.com Web 伺服器請求頁面 1.html。如果您下次寫頁面為 http://www.example.com/2.html,則會向 example.com Web 伺服器發出新的請求以傳送 2.html 頁面,並且 Web 伺服器不知道之前向誰提供了頁面 1.html。

如果您想檢視此使用者與 Web 伺服器互動的歷史記錄怎麼辦?必須在某處維護使用者狀態和 Web 瀏覽器與 Web 伺服器之間的互動。這時 Cookie 就派上用場了。Cookie 用於保持使用者與網站的互動。

什麼是 Cookie 測試?

Cookie 測試是一種軟體測試形式,它檢查在您的 Web 瀏覽器中生成的 Cookie。Cookie 是 Web 伺服器儲存在使用者(客戶端)硬碟上的文字檔案中的少量資訊。每次瀏覽器向伺服器請求頁面時,此資訊都會發送回伺服器。Cookie 通常包含自定義使用者資料或用於跨網站通訊的資訊。下面的螢幕截圖顯示了不同網站上的 Cookie。

換句話說,Cookie 不過是使用者的識別碼,用於監控使用者在網站頁面上的瀏覽軌跡。Cookie 的目的是讓使用者和網站能夠快速通訊。Cookie 可以用於提供購物車、個性化的線上體驗、使用者追蹤、行銷、使用者會話等應用程式。

Cookie 的作用是什麼?

用於維護 Cookie 的是 HTTP 協議,該協議用於在 Internet 上通訊資訊檔案。

HTTP 協議分為兩種。有兩種 HTTP 協議:無狀態 HTTP 和有狀態 HTTP。無狀態 HTTP 協議不跟蹤之前訪問的網頁。而有狀態 HTTP 協議確實保留了之前 Web 瀏覽器和 Web 伺服器互動的一些歷史記錄,Cookie 使用此協議來維護使用者互動。

當用戶訪問使用 Cookie 的站點或頁面時,該 HTML 頁面內包含的小程式碼(通常是呼叫某種語言指令碼以寫入 Cookie,例如 JAVASCRIPT、PHP 或 Perl 中的 Cookie)會建立一個文字檔案。

當用戶返回到同一頁面或站點時,此 Cookie 將從磁碟中檢索並用於識別使用者對該域的第二次訪問。在建立 Cookie 時會設定過期時間。此時間由將使用 Cookie 的程式設定。

通常,兩種型別的 Cookie 儲存在使用者的計算機上。

  • 會話 Cookie - 此 Cookie 在設定它的瀏覽器開啟期間保持活動狀態。當我們退出瀏覽器時,此會話 Cookie 將被刪除。有時可以將 Cookie 配置為在 20 分鐘的會話後過期。

  • 持久 Cookie - 這些是無限期儲存在使用者計算機上的 Cookie,可以持續數月或數年。

Cookie 的內容是什麼?

Cookie 由三個主要組成部分組成。

  • 傳送 Cookie 的伺服器的名稱

  • Cookie 的生命週期

  • 貨幣價值。這通常是一個隨機生成的唯一數字。

Cookie 儲存到哪裡?

任何寫入 Cookie 的網頁程式都將其儲存在使用者硬碟上的文字檔案中。Cookie 的位置由瀏覽器確定。不同的瀏覽器將 Cookie 儲存在不同的路徑中。

例如,可以在 Mozilla Firefox 的瀏覽器設定中看到 Cookie。要檢視它,請轉到工具 -> 選項 -> 隱私,然後“刪除單個 Cookie”。

在 Internet Explorer 瀏覽器中,Cookie 儲存在“C:\Documents and Settings\Default User\Cookies”位置。

如何對 Cookie 進行測試

以下是有關如何在網站上測試 Cookie 的重要檢查清單和分步指南 -

必須停用 Cookie - 停用所有 Cookie 並嘗試使用網站的主要功能。

Cookie 汙染 - 在記事本中手動修改 Cookie 並將引數替換為一些任意引數。

  • 加密 Cookie - 例如,密碼和使用者名稱應在傳輸到我們的計算機之前進行加密。

  • 使用各種瀏覽器進行 Cookie 測試 - 檢查您的網頁是否按預期在單獨的瀏覽器中正確寫入 Cookie。

檢查從 Web 應用程式頁面中刪除 -

  • 逐案拒絕 Cookie - 刪除所有網站的 Cookie 並檢視網站的行為。

  • Cookie 可訪問性 - 一個網站建立的 Cookie 不應被其他網站訪問。

  • 不應過度使用 Cookie - 如果被測程式是公共網站,則不應過度使用 Cookie。

  • 嘗試各種設定 - 應徹底進行測試以確保網站在各種 Cookie 設定下都能正常工作。

  • 單獨對 Cookie 進行分類 - Cookie 不應與病毒、垃圾郵件或惡意軟體歸為同一類。

多環境站點的特定測試

一個特定的測試 檢查對於多環境站點,是否在所有環境中都允許相同的 Cookie。Cookie 路徑中萬用字元的使用可能是原因(所謂的超級 Cookie)。如果這是必需的,則由於使用了備用加密金鑰,可能會出現某些訪問問題(對於.Net,它是一個機器金鑰,通常是唯一的,除非另有指定)。

在評估網站 Cookie 時,需要牢記一些最重要的測試場景。您可以透過以不同方式組合這些測試用例來建立許多測試用例。如果您有其他應用程式場景,請在下面的評論部分分享。

Cookie 可以透過以下方式使用 -

  • 實施購物車 - Cookie 用於使線上訂購系統順利執行。Cookie 會跟蹤使用者想要購買的東西。如果消費者將某些商品新增到購物車,然後由於某種原因決定這次不購買它們並關閉瀏覽器視窗會發生什麼?當同一使用者返回購買頁面時,他將能夠看到他上次訪問時新增到購物車中的所有商品。

  • 個性化網站 - 當一個人檢視特定網站時,會詢問他們不想檢視哪些其他頁面。使用者的首選項儲存在 Cookie 中,並且在使用者線上之前不會向用戶顯示這些頁面。

  • 使用者跟蹤 - 統計任何特定時間線上的唯一訪客數量。

  • 廣告 - 一些企業使用 Cookie 在使用者計算機上顯示廣告。這些廣告受 Cookie 控制。何時以及如何顯示廣告?使用者的觀點是什麼?他們在網站上查詢哪些關鍵詞?Cookie 可以用來跟蹤所有這些內容。

  • 使用者會話 - 使用使用者 ID 和密碼,Cookie 可以監控到特定域的使用者會話。

Cookie 的缺點

  • 雖然寫入 Cookie 是保持使用者參與度的一種好方法,但如果使用者已將其瀏覽器設定為在寫入任何 Cookie 之前對其進行警告,或完全停用了 Cookie,則包含 Cookie 的網站將完全停用且無法執行任何操作,導致網站流量損失。這可以在瀏覽器的設定中關閉或開啟。例如,對於 Google Chrome,請轉到設定 -> 高階 -> 內容設定 -> Cookie。您可以將 Cookie 策略應用於所有網站,或為特定網站設定它。除了瀏覽器設定之外,歐盟和美國法規的變更還要求開發人員通知使用者其網站上正在使用 Cookie。對這些新規則的合規性應包含在特定領域的測試場景中。

  • Cookie 過多 − 如果您在每次頁面導航時都寫入過多 Cookie,並且使用者啟用了寫入 Cookie 之前的警告選項,這可能會導致使用者離開您的網站。

  • 安全問題 − 使用者的個人資訊有時會儲存在 Cookie 中,如果 Cookie 被駭客入侵,駭客可以訪問您的個人資訊。即使損壞的 Cookie 也可能被多個網站讀取,從而造成安全風險。

  • 敏感資訊 − 一些網站可能會在 Cookie 中寫入並儲存有關您的敏感資訊,由於隱私問題,這是不允許的。這應該足以理解 Cookie 是什麼。

更新於: 2021年9月22日

1K+ 閱讀量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告