软件测试之会话管理测试
SessionManagement是开发工程师对 HTTP协议进行无状态会话的管理过程。由于 HTTP是一种无状态协议,即 Web服务器把每一页的访问作为独立访问处理,因此,在此过程中, Web服务器将每个页面的访问作为相互独立的访问进行处理,而服务也不会保留任何先前访问的信息,即使在当前访问几秒钟之前访问。
这些测试的主要内容如下:
识别身份信息的方法测试。
cookie存储方式测试。
使用者登出,退出测试。
登出后会话信息是否清除测试。
会话超时测试。
(1)鉴定身份信息的方法。
认证方式的测试主要是测试系统以何种方式识别用户身份信息。Web系统中的用户通常具有多种不同的角色,不同用户具有不同的权限,因此对用户身份的识别就显得尤为重要。
在测试过程中,在提交 GET或 POST请求时,必须注意不能存在与身份相关的数据或信息,否则系统存在漏洞。
以下测试步骤:
第一步:登录到网络系统。
第2步:使用工具(WebScarab)截获 HTTP的 GET和 POST请求。
第3步:进入登录请求,分析拦截工具截获的请求报文件。
第4步:截获的请求中不应包含与用户标识信息有关的数据,如果发现与用户身份信息有关的数据,可以修改用户的身份信息;当服务器重新提交时,如果服务器以修改的身份运行,说明系统有漏洞。
客户不需要通过客户端提交用户身份信息,而是通过服务器会话管理保存。
(2) cookie存储方式测试。
有些 Web应用将 SessionID置于 URL中进行传输,以便攻击者可以引诱被攻击者访问特定资源(如图片)。当被攻击者查看资源时获得 SessionID (来源地址携带在 HTTP协议 Referer标题头中),从而导致身份盗用。
在测试时,您应该测试不同的业务应用程序,观察 URL的内容,以确保没有 SessionID信息(例如: SID、 JSessionID等等)。
(3)用户注销,退出测试。
使用者登出、退出测试主要测试使用者登陆后,系统各页是否有正确的「退出」或「退出」按钮或连结。
(4)注销后会话信息是否清除测试。
在登出后确认会话信息已被清除,您是否可以在注销前继续访问该页面(即登录之后)访问该页面。
以下测试步骤:
第1步:使用工具(WebScarab)截获 HTTP的 GET和 POST请求。在启动 WebScarab工具之前,打开浏览器中的“Internet选项”对话框,在连接选项卡上单击“LAN设置”按钮,从而弹出图12-17所示的对话框。在其中设置地址为本地主机,端口设置为8008。
第2步:登录到网络系统。
第3步:在 Web系统中执行一些操作(例如添加用户信息),以便 WebScarab工具截获并记录 GET和 POST请求。
第4步:退出或者退出网络系统。
第5步:在 WebScarab工具中选择第3步的 URL,重新发送请求。
第6步:查看返回的结果。
所返回的结果应当是 HTTP/1.1302 MovedTemporarily,也就是说,只有登录才能访问的页面是不能访问的。
(5)会话超时测试。
会话超时是指浏览器窗口空闲超时是否需要重新登录的机制。在测试时使用正确的帐号登录,登录成功后,浏览器待用一段时间后(可以查看 xml文件中的session-timeout参数值,这表示会话超时)。空闲超过此时间值时,系统需要重新登录。
如需了解更多测试技术信息请关注:http://www.duoceshi.cn/ 深圳多测师软件与技术服务有限公司
上一篇: 软件测试之软件的生存周期
下一篇: 软件测试之手工测试人员如何转测试开发?