Web测试点总结
对于一个
Web网站来说,主要从这么几个大的方面来进行测试:
1. 功能测试
2. 界面测试
3. 易用性测试
4. 兼容性测试
5. 链接测试
6. 业务流程测试
7. 安全性测试
1 功能测试
测试用例是测试的核心,测试用例的设计是一种思维方式的体现。在用例的设计中,用的比较多的方法是边界值分析法和等价类划分法。
下面主要从输入框,搜索功能,添加、修改功能,删除功能,注册、登录功能以及上传下载功能等方面进行总结说明。
1.1 输入框
输入框是测试中最容易出现bug的地方,所以在测试时,一定要多加注意。
类型
|
大分类
|
小分类
|
检查内容
|
输入框
|
字符型
|
字符种类
|
英文全角字符
|
英文半角字符
| |||
数字(注意实数和0)
| |||
空或空格
| |||
特殊字符"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符,特别要注意单引号和&符号
| |||
禁止直接输入特殊字符时,使用“粘贴”“拷贝”功能的尝试输入,并测试能否正常提交
| |||
长度检查
|
最小长度
| ||
最大长度
| |||
最小长度-1
| |||
最大长度+1
| |||
输入超工字符:比如把整篇文档拷贝过去
| |||
空格检查
|
输入的字符间有空格
| ||
字符前有空格
| |||
字符后有空格
| |||
字符前后有空格
| |||
多行输入
|
允许回车换行
| ||
保存后再显示能够保存输入的格式
| |||
仅输入回车换行,检查能否正确保存;若能,查看保存结果,若不能,查看是否有正常提示
| |||
安全性检查
|
输入特殊字符串:
null,NULL, ,javascript,<script>,</script>,<title>,<html>,<td>等
| ||
输入脚本函数:
<script>alter("abc")</script>,document.write("abc"),<b>helle></b>
| |||
数值型
|
边界值
|
最小值
| |
最大值
| |||
最小值-1
| |||
最大值+1
| |||
位数
|
最小位数
| ||
最大位数
| |||
最小位数-1
| |||
最大位数+1
| |||
输入超长值
| |||
异常值、特殊字符
|
输入[空白(NULL)、空格或"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符
| ||
禁止直接输入特殊字符时,使用“粘贴”“拷贝”功能的尝试输入,并测试能否正常提交
| |||
word中的特殊功能,通过剪贴板拷贝到输入框:分页符,分节符,类似公式的上下标等
| |||
数值的特殊符号如:∑,㏒,㏑,∏,+,-等
| |||
输入负整数,负小数,分数
| |||
输入字母或汉字
| |||
小数:小数点前零舍去的情况。如.12;多个小数点的情况;0值:0.0.0,.0
| |||
首位为零的数值:如01、02
| |||
科学记数法是否支持:如1.0E2
| |||
全角数字与半角数字
| |||
数字与字母的混合:16进制数值,8进制数值
| |||
货币型输入项:允许小数点后几点
| |||
安全性检查
|
不能直接输入,就COPY
| ||
日期型
|
合法性检查
|
日输入[0日][1日][32日]
| |
月输入[1、3、5、7、8、10、12]、日输入[31]
| |||
月输入[4、6、9、11]、日输入[30][31]
| |||
输入非闰年,月输入[2],日输入[28,29]
| |||
输入闰年,月输入[2],日输入[29,30]
| |||
月输入[0、1、12、13]
| |||
异常值、特殊字符
|
输入[空白(NULL)、空格或"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符
| ||
安全性检查
|
不能直接输入,就COPY
|
1.2 搜索功能
查询条件为输入框则参考上面的输入对应的测试方法
类型
|
分类
|
检查内容
|
搜索功能
|
功能实现
|
如果支持模糊查询,搜索名称中任意一个字符是否能搜索到
|
比较长的名称是否能查到
| ||
输入系统中不存在与之匹配的条件
| ||
用户进行查询操作时,一般情况是不进行查询条件的清空,除非需求特殊说明
| ||
注意检查页面数据和数据库数据的一致性
| ||
组合测试
|
不同查询条件来回选择是否出现页面错误(单选框及多选框最容易出错)
| |
根据数据呈现的时间精度,查询条件相应的应注意开始时间等于结束时间的情况
| ||
测试多个查询条件时,要注意查询条件的组合测试,可能不同组合的测试会报错,无需所有组合都测试,主要是挑用得较多的条件进行组合查询
|
1.3 添加、修改功能
类型
|
分类
|
检查内容
|
新增、修改功能
|
特殊键
|
是否支持tab键
|
是否支持enter键
| ||
提示信息
|
不符合要求的地方是否有错误提示
| |
唯一性
|
字段唯一的,是否可以重复添加,添加后是否能修改为已存在的字段(字段包括是否区分大小写以及在输入内容的前后输入空格)
| |
数据正确性
|
保存后,数据是否真正插入到数据库中,注意保存后的数据正确性
| |
对编辑页列表中的每个编辑项进行修改,点击保存,是否保存成功,检查是否会更新到其他数据
| ||
进行必填项检查,注意系统所做的操作(即是否给出提示及提示后是否依然把数据存到数据库中;是否提示后出现页乱错等情况)
| ||
是否能够连续添加(针对特殊需求而定)
| ||
在编辑的时候,要注意编辑项的长度限制,有时,添加时有长度限制,但编辑时却没有(添加和修改规则是否一致)
| ||
对于有图片上传功能的编辑框,对于没有上传的图片,查看编辑页面时,是否显示默认图片,如果上传了图片,是否显示为上传图片
| ||
新增或修改数据时,要注意相应查询页面数据的及时更新,特别是在测试首页显示时要注意数据更新
| ||
提交数据时连续多次点击,检查系统会不会连续新增多条一样的数据或报错
| ||
增、删、改完成后,注意数据的关联性,如修改新增部门后,添加用户时,其所属部门选项是否有新增的部门选项
| ||
结果列表中没记录或没选择某一记录时点击修改按钮,系统是否会抛异常
| ||
新增、修改信息时,多页面标签切换,保存成功后,数据是否与一致
| ||
新增、修改信息时,信息是已删除过的旧信息,是否能成功添加和修改
|
1.4 删除功能
类型
|
分类
|
检查内容
|
删除功能
|
特殊键
|
是否支持tab键
|
是否支持enter键
| ||
提示信息
|
不选择任何信息,直接点击删除按钮,看有什么错误提示
| |
删除某条信息时,应该有询问提示信息
| ||
数据实现
|
是否能连续删除多个产品
| |
当只有一条数据时,能否成功删除
| ||
删除一条数据后,能否再添加相同的数据
| ||
如系统支持一次删除多条信息的功能时,注意删除的数据是否正确
| ||
如有“全选”功能,要注意全选是否把所有数据删除
| ||
删除数据时,要注意相应查询页面数据的及时更新,特别是在测试首页显示时要注意数据更新
| ||
如删除的数据与其他数据有业务关联,要注意其关联性(例子:删除部门信息时,如部门下有相应员工,则应该给出提示)
| ||
结果列表中没记录或没选择某一记录时点击删除按钮,系统是否会抛异常
|
1.5 注册、登录模块
类型
|
分类
|
检查内容
|
注册、登录功能
|
注册功能
|
注册时,密码设置为特殊符号,检查登陆时会否报错
|
注册成功后,页面应以登陆状态跳转到首页或指定页面
| ||
在注册信息中输入已删除的用户信息,检查能否注册成功
| ||
登录功能
|
输入正确的用户名和正确的密码
| |
输入正确的用户名和错误的密码
| ||
输入错误的用户名和正确的密码
| ||
输入错误的用户名和错误的密码
| ||
不输入用户名和密码/或均为空格
| ||
只输入用户名,密码为空/或为空格
| ||
用户名为空/或为空格,只输入密码
| ||
用户名、密码,若无特殊需求,一概不区分大小写
| ||
用户名和密码包括特殊字符
| ||
用户名和密码输入超长值
| ||
已删除或已禁用的用户名和密码
| ||
密码能否复制、粘贴
| ||
登录成功后页面Url是否暴露了传输给数据库的用户名和密码
| ||
注意用户登录是否有有效期设定,有则检查其正确性
| ||
是否支持Tab、Enter键
| ||
登录时,当页面刷新或重新输入新数据时,验证码是否也随之更新
|
1.6 文件上传
类型
|
分类
|
检查内容
|
上传功能
|
功能实现
|
文件类型正确,文件大小合适
|
文件类型正确,文件大小不合适
| ||
文件类型错误,文件大小合适
| ||
文件类型和大小都合适,上传一个正在使用中的图片
| ||
文件类型和大小合适,手动输入一个存在的图片地址来上传
| ||
文件类型和大小合适,手动输入一个不存在的图片地址上传
| ||
文件类型和大小都合适,手动输入图片名称来上传
| ||
上传不支持上传的文件。常见文件格式后缀名:
1. txt\pdf\chm
2. rar\zip\iso\exe
3. bmp\jpg\gif\psd\png
4. xls\doc\ppt\xlsx\docx\pptx
5. mp3\wma\mp4\mid\avi\rmvb\rm
6. bat\bak\vbs\html\htm\aspx\asp\java\sql\mdf\ldf\mdb
| ||
不选择文件直接点击上传,检查是否给出提示
| ||
能否上传空文件,即0字节大小的文件
| ||
注意上传文件,其内容格式不符合系统要求时,是否给出了合理提示
| ||
上传重复文件,是否有覆盖提示
| ||
上传大文件,等待过程中是否有良好提示
| ||
连续多次选择不同文件,检查系统是否上传最后选择的文件
| ||
手工输入文件路径
| ||
选择多文件时,是否能正常上传
|
1.7 文件下载
类型
|
分类
|
检查内容
|
下载功能
|
功能实现
|
检查用户是否具有下载权限
|
检查下载的文件的正确性
| ||
若有打开选项,检查能否直接打开
| ||
打开进行编辑,保存后,再次打开该文件,检查是否修改了文件内容
| ||
检查磁盘不足时下载情况
| ||
下载大文件,等待过程中是否有良好提示
| ||
下载重复文件至同一目录,是否有覆盖提示
| ||
手工输入文件路径
| ||
选择多文件时,是否能正常下载
|
1.8 文件导入
类型
|
分类
|
检查内容
|
导入功能
|
功能实现
|
文件类型正确,数据字段合适
|
文件类型正确,数据字段不合适
| ||
文件类型错误,数据字段合适
| ||
文件类型和数据的字段都合适,上传一个正在使用中的图片
| ||
文件类型和数据字段合适,手动输入一个存在的图片地址来上传
| ||
文件类型和数据字段合适,手动输入一个不存在的图片地址上传
| ||
文件类型和数据字段都合适,手动输入图片名称来上传
| ||
上传不支持上传的文件。常见文件格式后缀名:
1、txt\pdf\chm
2、rar\zip\iso\exe
3、bmp\jpg\gif\psd\png
4、xls\doc\ppt\xlsx\docx\pptx
5、mp3\wma\mp4\mid\avi\rmvb\rm
6、bat\bak\vbs\html\htm\aspx\asp\java\sql\mdf\ldf\mdb
| ||
不选择文件直接点击导入,检查是否给出提示
| ||
能否导入空文件,即0字节大小的文件
| ||
注意导入文件,其内容格式不符合系统要求时,是否给出了合理提示
| ||
导入重复文件,是否有覆盖提示
| ||
导入大文件,等待过程中是否有良好提示
| ||
连续多次选择不同文件,检查系统是否导入最后选择的文件
| ||
文件中包含部分错误数据,是否给出合理的提示
|
1.9 文件导出
类型
|
分类
|
检查内容
|
导出功能
|
功能实现
|
检查用户是否具有导出权限
|
检查导出的文件的正确性
| ||
打开进行编辑,保存后,再次打开该文件,检查是否修改了文件内容
| ||
导出大文件,等待过程中是否有良好提示
| ||
导出重复文件至同一目录,是否有覆盖提示
| ||
客户端空间不足的情况
| ||
导出的时候用打开的方式系统会怎么处理
| ||
当时查不到数据时,导出的数据会不会出现乱码
| ||
当加上查询条件进行查询再进行导出操作时,导出的数据是否正确
| ||
导出所有数据,检查数据的正确性及是否把不应该导出的数据导出
|
1.10 查询结果列表
类型
|
分类
|
检查内容
|
查询结果列表
|
功能实现
|
列表列宽是否合理
|
列表数据太长有没有提供横向滚动
| ||
列表的列名与列的内容没有正确对应
| ||
列表的每列的列名描述不清晰
| ||
列表把不必要的列都显示出来
| ||
无数据时,列表是否有合理提示,翻页控件是否正常
| ||
点击某列进行了排序,是否只对当前页进行了排序,而不是排序了所有查询结果
| ||
双击或单击某列信息是否会报错
| ||
多页数据时,进行中间某页,此时修改查询条件。数据和翻页控件信息就相应进行更新
| ||
1.11 返回键检查
(1)一条已经成功提交的记录,返回后再提交,看系统是否做了处理
(2)检查多次使用返回键的情况,在有返回键的地方,返回到原来页面重复多次,看是否会出错
1.12 回车键检查
在输入结束后,直接按回车键,看系统处理如何,是否会报错
1.13 刷新键检查
在web系统中,使用浏览器的刷新键,看系统处理如何,是否会报错
1.14 直接URL链接检查
在web系统中,直接输入各功能页面的URL地址,看系统如何处理
1.15 其他
(1)在测试时,有与网络有关的步骤必须考虑到断网的情况
(2)每个页面都有相应的页面title
(3)在页面出现滚动条时(滚动条上下滚动),页面显示是否正常
(4)URL不区分大小写
(5)某个字段是唯一的,当多个用户并发点击产生该字段时,检查系统是怎么处理的
(6)电子商务网站,当两个或多个用户并发购买总和大于产品库存时,能否购买成功
(7)1测试数据避免单纯输入“123”或“aa”之类的数据,让测试数据尽量接近实际。
(8)进行测试时,尽量不要用超级管理员进行测试,尽量使用自己新增的用户。
(9)多个测试人员同时对系统进行测试时,尽量不要同时使用一个用户。
(10)做功能测试时,也要注意系统的性能(如操作的响应时间、内存使用情况等)
2 界面测试
2.1 易操作性
用性包含易理解性、易学习性和易操作性;即易用性是指在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。
类型
|
检查内容
|
操作易用性
|
菜单和右键快捷菜单深度控制在三层以内
|
界面要支持键盘自动浏览按钮功能,即按Tab键的自动切换功能
| |
界面上首先应输入的和重要信息的控件在Tab顺序中应当靠前,位置也应放在窗口上较醒目的位置
| |
Tab键的顺序与控件排列顺序要一致,目前流行总体从上到下,同时行间从左到右的方式
| |
默认按钮要支持按Enter键执行下一步操作,即按Enter后自动执行默认按钮对应操作
| |
打开一个新界面,光标默认停留在第一个待输入的文本框中
| |
输入控件检测到非法输入后应给出提示,并能自动获得焦点
| |
界面的必填项必须以红色*号标识出来
| |
当选择下拉框不存在默认值时,默认为“请选择”;当存在默认值时,显示默认值
| |
复选框和单选框要有默认选项,并支持Tab选择
| |
界面空间较小时使用下拉框而不用选项框
| |
可输入/选择框以正常色显示;不可输入/选择框以灰色显示
| |
对可能造成数据无法恢复的操作,必须提供确认信息,给用户放弃选择的机会
| |
操作成功后给予成功提示信息
| |
需要后续操作的操作,在成功后给予下一步如何操作的提示信息
| |
提示信息不宜太长,超过当前窗口的1/2的,视具体情况进行换行
| |
对可能造成等待时间较长的操作,应该提供等待提示和中途取消功能
| |
与系统采用的保留字符冲突的要加以限制
| |
有些读入数据库的字段不支持中间有空格,但用户切实需要输入中间空格,这时要在程序中处理
| |
当子窗体的任何操作影响了父窗体的数据时,子窗体关闭返回必须刷新父窗体数据
| |
关闭父窗体必须连同子窗体一同关闭
| |
子窗体的大小最好不要超过父窗体,且最好不要遮住父窗体的主要信息
| |
如果存在多层嵌套窗口,每层窗口弹出时都自动往右下移动一点点,以保证不遮盖上层窗口标题为准
| |
当输入的内容达到了字段的长度限制时,应控制不允许再输入
|
2.2 友好性
屏幕对角线相交的位置是用户直视的地方,正上方四分之一处为易吸引用户注意力的位置,在放置窗体时要注意利用这两个位置。
类型
|
检查内容
|
友好性
|
登录界面上要有本产品的标志,同时包含公司图标
|
主界面,最好是大多数界面上要有公司图标
| |
公司的系列产品要保持一致的界面风格,如背景色、字体、菜单排列方式、图标、按钮字面描述、时间控件、翻页控件、人员或部门选择控件等应该一致
| |
帮助文档中应有版权和产品信息
| |
必须要能自适应1024*768、800*600两种分辨率
| |
默认窗口设置下,不应出现水平、垂直滚动条
| |
正在操作的页面,其标题应高亮显示,来和其他未被操作页面相区别
| |
长宽接近黄金点比例,切忌长宽比例失调、或宽度超过长度
| |
布局要合理,不宜过于密集,也不能过于空旷,合理的利用空间
| |
按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置
| |
按钮的大小要与界面的大小和空间要协调
| |
避免空旷的界面上放置很大的按钮
| |
放置完控件后界面不应有很大的空缺位置
| |
字体的大小要与界面的大小比例协调, 通常使用的字体为中宋体9-12
| |
使用颜色时,主色要柔和,具有亲和力,坚决不用刺目的颜色
| |
界面风格要保持一致,字的大小、颜色、字体要相同,除非是需要艺术处理或有特殊要求的地方
| |
如果窗体支持最小化和最大化或放大时,窗体上的控件也要随着窗体而缩放;切忌只放大窗体而忽略控件的缩放
| |
父窗体或主窗体的中心位置应该在对角线焦点附近
| |
子窗体位置应该在主窗体的左上角或正中
| |
多个子窗体弹出时应该依次向右下方偏移,以显示窗体出标题为宜
| |
提示信息如有主语,请统一为‘您’
| |
提示信息中标点符号请统一为全角符号
| |
表头水平/垂直居中对齐
| |
表单中内容如为定长,则为居中显示;如为不固定的中英文内容,则为居左显示;如为数值形式,则为居左显示
| |
保证表格的宽度不被挤变形,对于不定长的内容,可固定显示宽度,当超出此显示宽度后,以……显示,光标停留后,详细内容再在浮动层显示
|
3 兼容性测试
兼容性测试不只是指界面在不同操作系统或浏览器下的兼容,有些功能方面的测试,也要考虑到兼容性,比如涉及到ajax、jquery、javascript等技术的,都要考虑到不同浏览器下的兼容性问题。
4 链接测试
主要是保证链接的可用性和正确性,它也是网站测试中比较重要的一个方面。
5 业务流程测试
业务流程,一般会涉及到多个模块的数据,所以在对业务流程测试时,首先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进行测试,这往往是容易出现问题的地方,测试时一定要设计不同的数据进行测试。业务流程要注意数据的走向及正确性、关联性。
6 安全性测试
(1)SQL注入
(2)XSS跨网站脚本攻击:程序或数据库没有对一些特殊字符进行过滤或处理,导致用户
所输入的一些破坏性的脚本语句能够直接写进数据库中,浏览器会直接执行这些脚本语句,破坏网站的正常显示,或网站用户的信息被盗,构造脚本语句时,要保证脚本的完整性。
document.write("abc")
<script>alter("abc")</script>
(3)URL地址后面随便输入一些符号
(4)验证码更新问题