Web测试检查清单
目录
- 1、通用
- 1.1、数据攻击类型
- 1.2、网页测试
- 1.3、启发式测试
- 2、数据输入
- 2.1、表格输入
- 2.2、数据验证
- 2.3、数据1致性
- 2.4、日期输入
- 2.5、数字输入
- 2.6、数字字符输入区
- 3、导航与链接
- 3.1、导航
- 3.2、链接
- 3.3、颜色
- 3.4、字体
- 4、内容、图片、按钮
- 4.1、内容
- 4.2、图片
- 4.3、按钮
- 5、用户可用性和访问控制
- 5.1、用户可用性
- 5.2、访问控制
- 6、消息和帮助
- 6.1、消息
- 6.2、帮助
- 7、功能测试
- 7.1、链接测试
- 7.2、表单测试
- 7.3、数据库测试
- 7.4、业务功能逻辑测试
- 8、可用性测试
- 8.1、导航测试
- 8.2、图形测试
- 8.3、内容测试
- 8.4、易用性测试(友好性测试)
- 9、兼容性测试
- 9.1、平台测试
- 9.2、浏览器的兼容性
- 10、安全性测试
- 11、性能测试
- 11.1、连接速度测试
- 11.2、负载测试
- 11.3、压力测试
1、通用
1.1、数据攻击类型
1、路径、文件攻击
长文件名(超过 255 字符的文件名);
文件名中的特殊字符(比如空格 * ? / | < > , . ( ) [ ] { } ; : ‘ “ !@ # $ % ^ &);
已经存在的文件名;没有存储空间;只读模式;
文件被锁定;文件位于远程机器上;文件损坏。
2、时间、日期攻击
超时测试;两台机器上存在不同的时间;跨越不同时区;闰日;
绝对非法的日期(如 2 月 30 日、9 月 31 日);非闰年的 2 月 29 日;
不同的日期格式(如 07/02/2013, 07/02/13, 07-02-13, 7/2/2013 19:39)。
3、数字攻击
0; 32768(2^15); 32769(2^15-1); 65536 (2^16); 65537 (2^16 1);
2147483648 (2^31);2147483649 (2^31 1);
4294967296 (2^32); 4294967297 (2^32 1); 1,234,567.
4、字符串攻击
长字符串(255, 256, 257, 1000, 1024, 2000, 2048 或更多字符);
带音标的字符(àáâãäåçèéêëìíîðñòôõöö等);亚洲字符(比如中文字符);
分隔符和特殊字符(“ ‘ ` | / , ; : & < > ^ * ? Tab );
单空格;多空格;字符串打头的空格。
5、通用攻击
违反特定区域的规则(比如:数字区域输入的字母,ip 地址 999.999.999.999,未包含@符号的 email 地址,年龄-1);
违反唯一性限制等。
1.2、网页测试
1、网页浏览
后退;刷新;将当前 URL 添加到收藏夹;登出之后选择收藏夹里的链接;利用多个浏览器打开链接;基本网页浏览操作测试。
2、网页输入
检查文本输入框的最大输入长度;尝试输入超过 5000 个字符到文本区域;
通常测试人员需要检查输入的最小和最大长度,比如不输入(输入长度为 0)和输入超长时的情况;
需要测试各种不同的输入方式,包括键盘输入、复制粘贴输入、拖拽输入、利用工具栏操作“文件-导入”、“文件-打开”等操作实现。
3、网页首选项
关闭 Cookie;设置高安全性;更改字体大小;
针对网页的首选项,需要检查首选项中的设置是否正常工作,并查看首选项的更改能否正常保存。
1.3、启发式测试
1、变量
找出所有可以修改数值的区域,其中变量可能是显式的、隐藏的或者不明显的;
在对变量的测试过程中,可以从很多个角度进行攻击;
首先,不做任何改变时,看产品如何响应,是否有合理的默认值生效;
尝试输入空格、0 等值来查看产品是否处理得当;
有些隐藏的变量值可能是通过其他页面设置生效,这时候我们需要探寻该数值的源头并尝试修改,查看该隐藏数据是否生效,并查看生效时间有无滞后现象,如果数值的改变并非实时抓取,而是定期更新的,测试人员需要查看更新的间隔是多少,并检查该更新间隔是否清楚的告知了用户。
2、边界值
靠近边界值(有效范围内尽量大、有效范围内尽量小);处于边界值。
边界值是软件测试中非常重要的一类测试用例,通过检查测试边界值,可以更快速的发现潜在的缺陷。
3、跟随数据
执行一个包含数据的序列操作,在每一步均验证数据的完整性(例如:数据输入-搜索-报告-导出-导入-更新-查看)。
数据的完整性对于特定用户来说具有很高的优先级,比如说对于银行客户,数据必须要保证一致性和完整性,用户的银行账户决不允许出现差错,否则将会引起极大的恐慌。测试人员需要确保在各种交易流程中,数据均能保持一致性,尤其是存在一定交易压力、出现异常等情况下,依然能做到数据完整一致。
4、权限选择
测试以下几种权限情况:部分权限、无权限、全部权限。
权限控制在当今互联网时代显得尤其重要,只有权限控制得当,才能保证用户的数据安全。测试过程中,需要严格检查各级权限等级,要做到该有的权限必须有,不该有的权限绝不能有。也要考虑中途改变用户权限的情况,查看更改权限前后产品是否都可以控制得当。
5、数量
交易数量首先包括“有”跟“没有”的区别,也就是 0 和非 0 的区别,其次又包括交易量大和量小的问题。
众多的软件产品在交易量不大时都可以正常运行,但一旦交易量增大,会出现各种各样的问题,比如交易响应时间会急剧增加甚至导致无法完成交易的情况,更严重的可能导致整个系统瘫痪。
6、多用户
两个用户同时进行创建、更新、删除操作,或者同一个用户两次登陆进行此类操作。
并发性在业务量较大的应用环境中非常重要,当大量的并发交易发生时,需要保证数据的一致性。举例,比如一个产品允许用户买入和卖出一件商品,用户首先以 10 元价格买入商品,然后该用户通过多个连接同时发出卖出该商品请求,如果产品对此类卖出请求处理不当,就会出现多次卖出成功的现象,比如用户提交的并发请求有 3 次成功,这样就会导致有 3*10=30 元的退款到账。这是不可接受的,这将会是产品的严重漏洞。
7、流量泛滥
利用大量并发交易或请求充满整个队列。
这里测试是的是当交易以正常的方式充满整个队列时,产品是否工作正常,是否存在正确的溢出保护机制。比如,当消息队列变满时,溢出的消息是否会丢失,当队列重新获得空间之后,溢出的消息是否能重新载入队列实现正常处理,这都是测试人员需要考虑的问题。
8、限制
违反限制约定(不输入需要的区域,在相互依赖区域输入非法的组合,输入同名的用户名和名字)。
9、输入方法
敲击输入,复制粘贴,导入,拖拽放下,各种各样的接口(GUI 或者 API)。
10、操作顺序
改变操作的顺序,撤消操作、重新执行,反转操作,结合,颠倒顺序,同步执行。
11、排序
字母顺序对比数字顺序,多页面排序。
也要考虑多级排序,也就是首先根据属性一进行排序,当属性一的值相同时,根据属性二进行排序,以此类推,还可以有更多的属性参与排序。
2、数据输入
2.1、表格输入
1、接收到非法输入时是否能恰当处理
2、该输入是可选输入还是必填输入
3、输入超过允许长度的数据
4、页面装载或重装载后默认值
5、组合框中的数据可以正常选择和更改
6、表格是否显示了所有的部分,是否十分正确的排列,文字内容是否处于正确的位置
7、滚动条是否在需要时出现
2.2、数据验证
1、任何时候当输入非法数据时,系统都不能表现糟糕
2、如果用户在产品使用过程中删除 cookie 会有什么后果
3、如果用户在使用产品后删除 cookie 会有什么后果
2.3、数据一致性
1、检查输入最大字符长度时显示、工作是否正常
2、验证数字输入域是否接受负值及接受负值是否合理
3、确保数据保存之后所有的数值在数据库中都得到完整的保存
2.4、日期输入
1、验证闰年被正确验证并且不引起计算错误
2、网页版权信息中的日期是否已更新
2.5、数字输入
1、确保最小、最大值正确处理
2、确保数值输入框的第一个字符位置输入空格时报错
3、确保输入值输入框的最后一个字符位置输入空格时报错
4、确保正号 ( ) 和负号 (-) 被正确处理
5、避免除数为 0
6、在所有的运算中加入 0
2.6、数字字符输入区
1、尝试空数据和非空数据
2、尝试输入非法字符和符号
3、尝试合法字符
3、导航与链接
3.1、导航
1、检查滚动条在需要时是否能正确显示
2、验证网页上的所有操作均可以通过键盘操作完成
3、面包屑导航是否存在
4、确保在未保存当前页面时离开页面有用户提示信息
3.2、链接
1、检查站点地图中的所有链接并查看是否存在损坏的链接
2、确保所有链接的目的地址跟标题描述相符
3、确保没有孤儿页面(没有链接指向它)
4、检查所有的网络站点和邮箱地址是否添加了超链接
5、确保光标置于超链接之上时呈现为手形
6、确保所有的链接都带下划线
7、确保相关信息链接出现在内容的底端或者靠近顶端位置
3.3、颜色
1、检查超链接的颜色
2、确保所有页面的背景颜色都被测试
3、检查警告消息的颜色是否符合规范
4、确保相似页面的颜色一致
5、确保前景色和背景色是易读的
6、确保不要用红色高亮显示活跃组件
3.4、字体
1、确保整个网页产品中字体设置的一致性
2、确保字体放大时页面布局不被破坏
3、确保所有字体设置的易读性
4、确保不同类型内容在同一页面显示时尽量选用不同字体
4、内容、图片、按钮
4.1、内容
1、检查内容排列是否恰当
2、检查标签排列是否恰当
3、确保所有单词大小写使用正确
4、确保所有的错误消息中没有拼写错误
5、检查产品页面中是否存在冗余信息
6、确保不可编辑区域呈现为黑色文字、灰色背景、黑色标签
7、确保产品在最大、最小和最优分辨率下都能正确显示
8、确保内容表述清晰准确
4.2、图片
1、确保所有的图表排列整齐
2、确保产品中无失效图片
3、检查所使用图片的尺寸
4、检查所有的标题区域及其尺寸
5、尽量少在图表中使用文本
6、确保所有图表与其描述和标题相符
4.3、按钮
1、确保所有最大化、最小化和复原按钮工作正常
2、确保下拉列表框底部无空行
3、触发所有的滚动条并确保所有内容可见
4、确保所有按钮的命名合理并与其操作一致
5、确保光标在且仅在激活的按钮上方显示为手形
5、用户可用性和访问控制
5.1、用户可用性
1、检查所有字体大小以确保内容可读
2、检查网页的整体外观和感觉
3、当从网页中的任务中途退出时任务是否取消
5.2、访问控制
1、确保登录用户名密码有确定的命名规范
2、检查密码是否有合理的过期策略
3、检查密码输入错误指定次数后是否锁定用户
4、检查是否存在忘记密码帮助链接
5、检查是否存在密码管理流程
6、检查用户权限是否划分等级
7、检查低权限用户是否能访问高权限用户功能
6、消息和帮助
6.1、消息
1、确保系统消息框能正确展开和收起
2、确保所有的消息正确显示
3、确保消息内容足够清楚以告诉用户确切的错误所在
4、确保警告和错误消息无拼写错误
5、当页面有非法输入时,提交后应定位光标到出错区域
6、确保所有的消息标题为粗体
6.2、帮助
1、确保当前页面的帮助与页面内容相符
2、确保帮助文档打开后其他页面功能可正常执行
3、确保所有必要的悬浮帮助窗出现并显示准确
7、功能测试
7.1、链接测试
1、测试所有链接是否按指示的那样确实链接到了该链接的页面
2、测试所链接的页面是否存在
3、保证Web应用系统上没有孤立的页面(所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问)
4、测试链接URL地址是否符合要求,测试需要登录后才能访问的页面URL是否泄漏用户的相关信息
5、检测需要用户登录后才可访问的URL地址,直接在未登录状态下通过输入访问是否可以访问成功,确认是否跳转到提示用户登录页面
7.2、表单测试
1、注册、登陆、信息提交等,必须测试提交操作的完整性,以校验提交给服务器的信息的正确性
2、表单输入框、选择框要测试其限制条件是否符合需求文档(例如:页面用户名输入限制为4-20字符,但需求文档限制条件为6-16字符,不符合需求文档要求)
3、信息提交时,对必填及非必填项的输入验证
4、检验表单输入提示、错误提示信息是否合理
5、表单输入框输入非法特殊字符、HTML语言(<td>、<script></script>等),是否正确处理
6、表单提交时,检验是否对所有字段进行验证,校验是否符合要求
7、cookies检验,确认是否起作用;刷新页面,检查是否对cookies有影响
8、快捷键、回退、回车等功能的测试
7.3、数据库测试
1、数据一致性错误:主要是由于用户提交的表单信息不正确而造成的,检查用户提交的信息与数据库存储的信息是否一致
2、输出错误:主要是由于网络速度或程序设计问题等引起的,检查页面从数据库获取的信息是否与数据库存储的信息一致
7.4、业务功能逻辑测试
1、测试业务处理流程是否符合需求规范
2、业务异常处理流程是否正确
8、可用性测试
8.1、导航测试
1、导航是否直观,Web页面的主要部分是否可通过导航找到
2、检测页面导航搜索部分功能是否正确
3、页面结构、导航、菜单、连接的风格是否一致
4、web系统页面的导航帮助是否准确
8.2、图形测试
1、要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间
2、图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面
3、验证所有页面字体的风格是否一致
4、背景颜色应该与字体颜色和前景颜色相搭配
5、图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩
8.3、内容测试
1、检验Web页面提供信息的正确性、准确性和相关性
2、检验web页面内容显示的合理性,如长标题的字段截取、文章摘要的形成等
3、检验web页面内容排版是否正确,页面是否有文字溢出、样式错位等
8.4、易用性测试(友好性测试)
1、检验页面排版是否符合多数用户的使用习惯,如确认靠左,取消靠右等
2、检验快捷键的设置是否实现,例如table键换行、回车键确认等
3、检验页面的提示信息等,例如有字段截取的标题,鼠标放上去会自动显示含有被截取部分的完整内容等
9、兼容性测试
9.1、平台测试
1、操作系统Windows、Mac、Linux
2、手机系统Android、iOS、鸿蒙
9.2、浏览器的兼容性
1、IE系列(7、8、9、10、11)浏览器下的兼容性测试,对整个web页面所有内容进行测试
2、Edge浏览器
3、火狐firefox浏览器
4、谷歌chrome浏览器
5、苹果safari浏览器
6、其他浏览器(Opera、360、QQ等)
10、安全性测试
1、Web应用系统是否有超时的限制,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用
2、测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等
3、为了保证Web应用系统的安全性,需要测试相关信息是否写进了日志文件、是否可追踪
4、打开新的页面输入某个用户登录后某个功能点的url地址看其是否能跨过系统的登录模块直接进入该功能点
11、性能测试
11.1、连接速度测试
1、Web系统响应时间
2、超时的限制
11.2、负载测试
1、Web应用系统能允许多少个用户同时在线,超过用户数量时,页面的打开速度等情况
2、某个时刻大量用户对同一个页面的请求
11.3、压力测试
1、同时在线的用户数量超多多少时,页面出出现响应时间过长打开不开等
2、压力测试的区域包括表单、登陆和其他信息传输页面等