关于一个web界面可用进行哪些测试?
Web 测试就是对 Web 应用程序从用户在浏览器地址栏中输入 URL 发送请求开始,到返回响应最后展现并在浏览器中加载出页面全部对象这一系列过程中可能产生问题的地方进行测试。
web测试对象:
1.浏览器向 DNS 服务器请求域名解析,查找域名的 IP 地址。
2.浏览器根据得到的 IP 地址,向对应的 Web 服务器发送一个 Http 请求。
3.服务器处理请求。
4.浏览器开始显示 HTM L。
与服务器成功建立连接后,浏览器开始请求数据并进行页面渲染的具体过程如下:
假设用户是第一次访问一个 html 页面,那么首先,浏览器向服务器发出请求,服务器返回 html 文件,浏览器开始载入 html 代码,发现 标签内有一个 标签引用外部 CSS 文件;于是浏览器又发出 CSS 文件的请求,服务器返回这个 CSS 文件;这时浏览器继续载入 html 中 部分的代码,并且 CSS 文件已经拿到手了,可以开始渲染页面了;如果浏览器在代码中发现一个 标签引用了一张图片,向服务器发出请求。此时浏览器不会等到图片下载完,而是继续渲染后面的代码;接下来服务器返回图片文件,由于图片占用了一定面积,影响了后面段落的排布,因此浏览器需要回过头来重新渲染这部分代码;然后浏览器发现了一个包含一行 Javascript 代码的 标签,随即开始运行 Javascript 脚本。最后等到 < / html> 标签,浏览器才算把页面渲染完毕,展现在用户面前的就是相应的页面。
为了加速用户访问速度,网站对静态资源,使用 CDN 缓存。具体过程如下:
用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。
5.浏览器发送异步( AJAX )请求:在前端页面上,我们可能会做一些操作,比如修改数据。为了更新用户修改的数据, 浏览器中执行的 JavaScript 代码会给服务器发送异步请求 ,将更新后的数据发送到服务器端并重新显示在页面中。
web测试基础知识:
1.https、http协议
一次 HTTP 操作称为一个事务,其工作过程可分为四步:
1 )首先客户机与服务器需要建立连接。只要单击某个超级链接, HTTP 的工作开始。
2 )建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符( URL )、协议版本号,后边是 MIME 信息包括请求修饰符、客户机信息和可能的内容。
3 )服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是 MIME 信息包括服务器信息、实体信息和可能的内容。
4 )客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。
如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由 HTTP 自己完成的,用户只要用鼠标点击,等待信息显示就可以了。
HTTP 消息由客户端到服务器的请求和服务器到客户端的响应组成。请求消息和响应消息都是由开始行(对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行),消息报头(可选),空行(只有 CRLF 的行),消息正文(可选)组成。 HTTP 消息报头包括普通报头、请求报头、响应报头、实体报头。
普通报头
通用头既可以包含在 HTTP 请求中,也可以包含在 HTTP 响应中。通用头的作用是描述 HTTP 协议本身。比如描述 HTTP 是否持久连接的 Connection头, HTTP 发送日期的 Date 头,描述 HTTP 所在 TCP 连接时间的 Keep-Alive 头,用于缓存控制的 Cache-Control 头等。
请求报头
请求头是那些由客户端发往服务端以便帮助服务端更好的满足客户端请求的头。请求头只能出现在 HTTP 请求中。比如告诉服务器只接收某种响应内容的Accept 头,发送 Cookies 的 Cookie 头,显示请求主机域的 HOST 头,用于缓存的 If-Match , If-Match-Since,If-None-Match 头,用于只取 HTTP 响应信息中部分信息的 Range 头,用于附属 HTML 相关请求引用的 Referer 头等。
响应报头
HTTP 响应头是那些描述 HTTP 响应本身的头,这里面并不包含描述 HTTP 响应中第三部分也就是 HTTP 信息的头(这部分由实体头负责)。比如说定时刷新的 Refresh 头,当遇到 503 错误时自动重试的 Retry-After 头,显示服务器信息的 Server 头,设置 COOKIE 的 Set-Cookie 头,告诉客户端可以部分请求的 Accept-Ranges 头等。
实体报头
实体头是那些描述 HTTP 信息的头。既可以出现在 HTTP POST 方法的请求中,也可以出现在 HTTP 响应中。其它还有用于描述实体的 Content-Language,Content-MD5,Content-Encoding 以及控制实体缓存的 Expires 和 Last-Modifies 头等。
2.hosts
为了提高对经常访问的网络域名的解析效率,可以通过利用 Hosts 文件中建立域名和 IP 的映射关系来达到目的。根据 Windows 系统规定,在进行 DNS 请求以前, Windows 系统会先检查自己的 Hosts 文件中是否有这个网络域名映射关系。如果有则,调用这个 IP 地址映射,如果没有,再向已知的 DNS 服务器提出域名解析。也就是说 Hosts 的请求级别比 DNS 高。
3.浏览器
4.session
5.cookie
6.DNS
7.CDN
.在地址栏输入URL地址后,可以按下面顺序测试思路进行测试:
先粗略看一遍页面上的内容(包括图片、文字风格是否统一,是否有乱码)是否存在且正常,顺序是从上到下,从左到右
然后开始
页面功能点测试
web测试有其自有的特点,主要包括以下六部分测试
1.链接测试
A.测试所有链接是否按指示的那样确实链接到了该链接的页面
B.测试所链接的页面是否存在
C.保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问
1.表单提交测试
A,首页的登陆注册功能能否正常实现
B.提交、清空按钮功能是否实现;
C.表单提交,删除,修改后是否有提示信息;提示、警告、或错误说明应该清楚、明了、恰当
D.提交的数据是否能正确保存到后台数据库中(后台数据库中的数据应与前台录入内容完全一致,数据不会丢失或被改变);
E.提交重复或是无效数据时是否会进行验证并提示信息
F.刷新页面时,界面填入的数据是否被清空
2.搜索测试
A.支持精确查询或是模糊查询
B.输入框输入特殊字符、空格,点击查询按钮系统如何处理
C.网站中存在的信息能否查询出正确信息内容
D.搜索按钮功能能否正常使用
E.搜索出的结果界面风格是否与其他的统一
F.是否支持回车键和TAB键,是否支持回车键监听
3.分页测试
A.是否能正确跳转到指定的页数
B.当没有数据时,首页、上一页、下一页、尾页标签全部置灰
C.各个分页标签是否在同一水平线上,格式是否统一
D.在首页时,“首页”“上一页”标签置灰;在尾页时,“下一页”“尾页”标签置灰;在中间页时,四个标签均可点击,且跳转正确;
4.输入项测试
A.长度限制、格式限制、类型限制
B.必填项和非必填项
C.清空数据时,默认值不会被清空
5.交互性测试
A.按照要求填写的资料是否可以保存入库,不按照表单要求填写的数据是否能保存,不能保存的话是否有相应提示
B.表单中是否存在与其他界面数据显示相关联的地方,存在要检查数据一致性
C.用户权限改变时,数据必须通过审核才能展示給用户看
业务流程测试:
结合具体业务需求,保证单个模块功能正确性后,要去检查多个模块之间数据传输的正确性,操作流程时各个页面之间的链接顺序是否正确,保证整个业务流程数据和功能的正确性。
其他测试注意点:
1.接口测试
A接口传输数据的完整性和正确性
2.安全性测试
A.用户登录和注册的安全性校验,用户密码的加密传输,大小写敏感
B.登陆次数和超时限制
C.日志文件跟踪
D.脚本测试
3.兼容性测试
A.不同的操作系统
B.不同的浏览器
C.不同电脑分辨率
4.COOKIES测试:保存和刷新功能
5.性能测试:
A.用户量大的时候界面功能是否正常
B.链接速度
6.界面测试
主要是检查HTML设计是否合理
1.查看标题是否正确,LOGO图片是否正常
2.LOGO下的一级、二级栏目是否能够链接到正确内容
3.首页左中右栏目下的内容和链接是否正常
4.导航文字是否在同一行显示
5.页面风格是否统一,包括前景色和背景色的颜色、字体、按钮、图片方面的布局是否协调;数据的精度统一、日期格式统一,相同字段名统一;内容是否会出现乱码
6.切换窗口大小,将窗口缩小后,页面是否按比例缩小或出现滚动条;各个页面缩小的风格是否一致,文字是否窜行;
7.打开多个窗体后,子窗体父窗体的位置显示
8.超过一屏显示底部应该有回到顶部的按钮
9.报表显示需要考虑自适应和自动换行
10.界面是否有用户操作流程提示或是操作限制提示
11.是否有分页功能