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 是什么。