川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

软件测试之Cookies 测试

作者:川石学院 日期:2021-03-11 15:53:38 点击数:

        Cookies 是一种提供 Web 应用程序中存储用户特定信息的方法,能够让网站服务器把少量数据 存储到客户端的硬盘或内存,或是从客户端的硬盘读取数据的技术。 Cookies 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递,Cookies 包含每次用户访问站点时 Web 应用程序都可以读取的信息。例如,如果在用户请求站点中的页面 时,应用程序发送给该用户的不仅仅是一个页面,还有一个包含日期和时间的 Cookie,用户的浏 览器在获得页面的同时还获得了该 Cookie,并将它存储在用户硬盘上的某个文件夹中。之后,如 果用户再次请求该站点中的页面,当该用户输入 URL 时,浏览器便会在本地硬盘上查找与该 URL 关联的 Cookie。如果该 Cookie 存在,浏览器便将该 Cookie 与页面请求一起发送到浏览的站点。应 用程序便可以确定该用户上次访问站点的日期和时间,可以使用这些信息向用户显示一条消息,也 可以检查到期日期。


软件测试之Cookies 测试(图1)


        从本质上讲,Cookies 可以看作是访问者的身份证。但 Cookies 不能作为代码执行,也不会传 送病毒,且为访问者所专有,并只能由提供它的服务器来读取。保存的信息片断以“名/值对” (name-value pairs)的形式存储,一个“名/值对”仅仅是一条命名的数据。一个网站只能取得其 放在访问者的计算机中的信息,无法从其他的 Cookies 文件中取得信息,也无法得到访问者的计算机上的其他任何东西。 Cookies 的测试包含以下几个方面:  Cookies 的作用域是否正确合理;  Cookies 的安全性;  Cookies 的过期时间是否正确;  Cookies 的变量名与值是否正确;  Cookies 是否必要,是否缺少。

        默认情况下,一个站点的全部 Cookies 都存储在客户端上,当客户端向服务器发送请求时, Cookies 会随请求一起被发送到服务器端。Cookies 一般通过以下两种方式来设置作用域,测试时 需要注意:  将 Cookies 的范围限制在服务器上的某个文件夹,允许将 Cookies 限制到网站上的某个应 用程序。  将范围设置为某个域,允许指定域中的一些子域访问 Cookies。 将 Cookies 限制到服务器上的某个文件夹的代码如下(与 Visual Basic 和 C#为例): (1)Visual Basic 语言: Dim appCookie As New HttpCookie("AppCookie")  appCookie.Value = "written " & DateTime.Now.ToString()  appCookie.Expires = DateTime.Now.AddDays(1)  appCookie.Path = "/Application1"  Response.Cookies.Add(appCookie) (2)C#语言: HttpCookie appCookie = new HttpCookie("AppCookie");  appCookie.Value = "written " + DateTime.Now.ToString();  appCookie.Expires = DateTime.Now.AddDays(1);  appCookie.Path = "/Application1";  Response.Cookies.Add(appCookie); 默认情况下,Cookie 与特定域关联,例如,当用户向亚马逊网站www.amazon.cn请求任何页面 时,Cookie 就会被发送到服务器,那么该 Cookie 的作用域则为特定域(这可能不包括带有特定路径 值的 Cookie)。如果站点具有子域(例如 sales.contoso.com),则可以将 Cookie 与特定的子域关联。 (1)Visual Basic 语言: Response.Cookies("domain").Value = DateTime.Now.ToString()  Response.Cookies("domain").Expires = DateTime.Now.AddDays(1)  Response.Cookies("domain").Domain = "sales.contoso.com" (2)C#语言: Response.Cookies["domain"].Value = DateTime.Now.ToString(); Response.Cookies["domain"].Expires = DateTime.Now.AddDays(1); Response.Cookies["domain"].Domain = "sales.contoso.com"; 需要设计不同的 Cookie 来测试其他作用域是否正确。

        (1)Cookies 的安全性。 Cookie 其实是一种存储用户信息的方式,因此很容易被人非法获取和利用,因此 Cookie 同样 也存在安全性问题。因此 Cookie 中最好不要存储一些敏感的信息,如用户名、密码、信用卡号等。 需要时应该对 Cookie 中的一些字段进行加密处理,避免 Cookie 以明文形式在浏览器与服务器之间 发送,测试时需要确定 Cookie 中一些重要的信息是否被加密处理。 (2)Cookies 过期时间是否正确。 在开发过程中会对 Cookie 的过期日期和时间进行设置,测试需要注意 Cookie 的过期时间是否 正确。当用户访问编写 Cookie 的网站时,浏览器会将过期的 Cookie 删除,如果是设置为永不过期 的 Cookie,可以将日期设置为从现在起 50 年。如果未设置 Cookie 的有效期,仍然会创建 Cookie 文件,但不会将该文件存储在用户硬盘上,只是将 Cookie 作为用户会话信息的一部分进行维护。 当用户关闭浏览器时,Cookie 会被丢弃。 (3)Cookies 的变量名和值是否正确。 以 JavaScript 为例,Cookie 的定义格式为“变量 1=值 1;变量 2=值 2;变量 3=值 3;”。下面是一 个 Cookie 的实例代码: email="bush@usa.com"; firstname="arivn"; lastname="test"; expireDate="Thursday,01-Jan-2050 12:00:00 GMT"; document.cookie="email="+email+";expires="+expireDate; document.cookie="firstname="+firstname+";expires="+expireDate; document.cookie="lastname="+lastname+";expires="+expireDate;  测试时需要测试 Cookie 文件中每个变量名和值是否对应,并且需要保证其正确性。 (4)Cookies 是否必要,是否缺少。 测试 Cookie 是否必要和是否缺少有两个方面的测试内容:一是生成的 Cookie 文件是否与创建 的一致,不能多也不能少;二是对于不必要的 Cookie 可以删除。


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2021-03-11 15:53:38
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2021-03-11 15:53:38
  • 国外的月亮也不一定比国内测试猿的年薪美~2021-03-11 15:53:38
  • 建筑工程专业朱同学成功转行为软件测试人!2021-03-11 15:53:38
  • 财务管理专业转行软件测试月薪甩会计几条街!2021-03-11 15:53:38
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2021-03-11 15:53:38
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2021-03-11 15:53:38
  • 文科生转行软件测试照样拿下高薪15K!2021-03-11 15:53:38
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2021-03-11 15:53:38
  • 毕业1年,迷茫的他最终选择转行软件测试2021-03-11 15:53:38