51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 24218|回复: 37
打印 上一主题 下一主题

[原创] 如何测试cookies?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-3-17 21:18:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天面试问到这个问题,没答好,大家发表高见,我是菜鸟
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2
回复

使用道具 举报

该用户从未签到

推荐
发表于 2006-3-17 21:43:04 | 只看该作者
先研究一下什么是cookie,然后就知道该从哪些方面开展测试了:

因特网的Cookie技术极其简单,却有着旺盛的生命力。Cookie开始引起众人的注意是从2000年二月份随着网络隐私权的提出开始的,有关的辩论至今仍在继续。从另一方面来说,Cookie使得浏览网页更容易了。几乎所有的主要的网站设计者都使用了Cookie,因为他们想为浏览网站的人提供一个更好的浏览环境,同时也能更加准确地收集访客的信息。

  有家颇有影响的报纸上曾刊登了一篇很有深度的关于网络隐私的文章,上面对于Cookie的定义是这样的:

  “Cookie是Web网站放在您的硬盘上的程序。它守在您的电脑里,搜集您的信息以及您在因特网上所做的任何事情,当Web站点需要的时候它能够下载所有这些搜集到的信息。”

  像这样的定义在报刊中相当普遍。问题是,它的定义犯了很大的错误。Cookie不是程序,而且它不能像程序一样地运行,所以它无法为自己搜集任何信息。它也不能从您的电脑上取得您的任何个人资料。

  Cookie的比较确切的定义应该是这个样子:

  “Cookie是Web服务器保存在用户硬盘上的一段文本。Cookie允许一个Web站点在用户的电脑上保存信息并且随后再取回它。信息的片断以‘名/值’对(name-value pairs)的形式储存。”

  举例来说,一个Web站点可能会为每一个访问者产生一个唯一的ID,然后以Cookie文件的形式保存在每个用户的机器上。

  如果您使用IE浏览器访问Web,您会看到所有保存在您的硬盘上的Cookie。它们最常存放的地方是:c:windowscookies(在Win 2000中则是C:Documents and Settings您的用户名Cookies——作者注)。在我的机器上共有165个文件。每一个文件都是一个由“名/值”对组成的文本文件,另外还有一个文件保存有所有对应的Web站点的信息。

  在这个文件夹里的每个Cookie文件都是一个简单而又普通的文本文件。透过文件名,您可以看到是哪个Web站点在您的机器上放置了Cookie(当然站点信息在文件里也有保存)。您也能双击打开每一个Cookie文件。

比如,我访问了goto.com,而且这个站点在我的电脑上放了个Cookie。goto.com的Cookie文件包含了这样的内容:

  UserID A9A3BECE0563982D www.goto.com/

  goto.com在我的电脑上存入了一个单一的“名/值”对。“名/值”对的“名”是UserID,“值”是A9A3BECE0563982D。在我第一次访问goto.com的时候,该网站为我分配了一个唯一的ID并存在我的电脑里。

  (注:除了上面举例的“名/值”对,可能会有其它的“名/值”对同时保存下来。那是浏览器的一些内部信息,一般用户不必多做了解。)


  Amazon.com在我的电脑上保存了稍稍多一些的信息。当我查看Amazon在我的电脑上建立的Cookie文件时,它包含以下内容:

  session-id-time 954242000 amazon.com/

  session-id 002-4135256-7625846 amazon.com/

  x-main eKQIfwnxuF7qtmX52x6VWAXh@Ih6Uo5H amazon.com/

  ubid-main 077-9263437-9645324 amazon.com/

  以上内容显示出Amazon存储了一个主用户ID ubid-main,一个标记每次任务的ID session-id及任务发生的时间session-id-time。还有一个x-main,不知道是什么。

  大多数的网站在您的电脑上只保存一条信息,即用户ID。但一个站点可以用Cookie存储的“名/值”对的最大数目没有任何限制。

  一个“名/值”对仅仅是一条命名的数据,它不是程序,也不能“做”任何事情。一个网站只能取得它放在您的电脑中的信息,它无法从其它的Cookie文件中取得信息,也无法得到您的电脑上的其它任何东西。

  Cookie数据仅仅是Web站点在浏览者硬盘上存储的“名/值”数据对。这就是Cookie的所有内容。Web站点保存了数据,随后又把它取回。一个Web站点只能取得它保存在你电脑上的内容,无法偷窥别的Cookie,更不要说电脑上其他的数据。
  
  Cookie数据的流动过程如下:
  
  ·如果在浏览器上键入了一个Web站点的URL,浏览器向Web站点请求读取网页。比如,您输入了:
http://www.amazon.com
  
  浏览器将从Amazon的服务器读取它的主页。
  
  ·在做上面工作的同时,浏览器将从电脑上寻找Amazon网站设置的Cookie文件。如果找到了Amazon的Cookie文件,浏览器会把文件中的所有“名/值”对同先前的URL一同发给Amazon服务器。如果没有找到,就不发送Cookie数据。
  
  ·Amazon服务器接收Cookie数据和对网页的请求。如果存在“名/值”对,Amazon将使用它。
  
  ·如果没有收到“名/值”对,Amazon知道您在此之前没有访问过它的站点,服务器会为您创建一个新的ID放进Amazon的数据库中,然后把“名/值”对放在传回的网页的头信息里传给您。您的浏览器将在硬盘上保存“名/值”对。
  
  ·每当您再次访问网站时,网站服务器会改变“名/值”对或增加新的“名/值”对。
  
  另外,服务器会随着“名/值”对发送一些其他信息。其一是生存期(Expiration date);还有一个是路径(网站借此把不同的Cookie值与不同的网站部位关联起来)。
  
  您有权控制这个过程。您可以设置一个选项让浏览器在收到网站发来的“名/值”对时提醒您,由您决定是否接受。
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

推荐
发表于 2013-12-21 11:23:24 | 只看该作者
我个人写的一点针对登陆的Cookie测试:
(1)是否有Cookie记录,登陆成功之后Cookie是否记录正确;
(2)如果浏览器中设置为不保存Cookie,关闭浏览器之后,看Cookie是否自动删除;
(3)若Cookie设置为保存一段时间,登陆成功之后关闭浏览器,再次打开浏览器看是否还需要登陆;
(4)Cookie到期之后是否自动从本地删除,Cookie到期保存的登陆状态是否自动退出登陆;
(5)用户登陆之后设置保存登陆状态的Cookie到本地,之后手动删除该Cookie,打开浏览器看用户是否退出登陆;
(6)用户再次登陆Cookie信息是否自动刷新;
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

3#
发表于 2006-3-17 21:51:26 | 只看该作者
不错,解释的比较清楚了。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-4-6 15:48:29 | 只看该作者
学习中
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-4-7 12:05:35 | 只看该作者
谢谢,要拿回去学习学习。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-4-7 12:22:56 | 只看该作者
看了一遍,有些了解了。但是还是不知道如何测试?再需要高手指导!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-3-22 14:46:13 | 只看该作者
能说明详细测试方法吗?谢谢,我正需要
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-3-22 14:49:31 | 只看该作者
解释是明白了 但是楼主需要的是具体的测试方法sdlkfj6
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-3-19 16:12:58 | 只看该作者
主要是测试流程 ~~~~
  望高人指点
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-3-19 16:23:51 | 只看该作者
根据2楼的解释,应该可以设计Case了。感觉这块测的内容不多的
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2008-3-19 16:30:25 | 只看该作者
学习中~~
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2008-3-21 09:55:57 | 只看该作者
是不是测试cookies文件中的 名/值   cookies的有效期限
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2008-3-25 12:00:21 | 只看该作者
主要是来学习的,呵呵,帮不了楼主了
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2008-3-25 12:22:55 | 只看该作者
楼主多从开发角度了解cookie的包含项

2楼的介绍只是一个大概
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2008-3-26 16:44:58 | 只看该作者
方法呢?????
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2008-3-26 17:51:08 | 只看该作者
2楼说得很详细了,如果测的话。

测试你要在cookie里面记录的东西是否记录了,再次使用这些东西是不是可以正确使用。没什么内容了。
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2009-5-5 16:51:51 | 只看该作者

我理解的cookie

那么意思就是说 cookie是用来保存客户端信息的  是相当于百度搜索中的智能感知吧  无论是URL还是文本框的输入  只要提交了  就会有cookie保存信息啦   那么cookie测试主要就是说信息有没有被保存   就是判断信息编辑页面有没有提交  还有就是看在浏览器中删除cookie之后还有没有信息的智能感知  是不是这么一回事呢
回复 支持 反对

使用道具 举报

  • TA的每日心情
    擦汗
    2016-3-16 15:27
  • 签到天数: 25 天

    连续签到: 1 天

    [LV.4]测试营长

    18#
    发表于 2012-5-14 15:22:39 | 只看该作者
    学习了,谢谢楼主
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-3-16 15:27
  • 签到天数: 25 天

    连续签到: 1 天

    [LV.4]测试营长

    19#
    发表于 2012-5-14 15:23:33 | 只看该作者
    回复 17# chsh


        我也有疑惑,怎么样才能全面的测试cookie,是保存还是不保存客户端的信息吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-3-16 15:27
  • 签到天数: 25 天

    连续签到: 1 天

    [LV.4]测试营长

    20#
    发表于 2012-5-14 15:24:28 | 只看该作者
    回复 2# testing


        那么我们测试,主要测试点在哪?着重还是看看cookie有没有保存数据吗?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-22 06:47 , Processed in 0.128388 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表