一、UI界面测试
- 布局合理性
需求UI原型布局合理性评估、实际样式布局合理性评估,会不会不对齐、大小不一导致不美观甚至出现用户操作困难的情况。
- 与设计是否一致
UI布局是否与设计稿一致,出现新布局样式与开发人员及时确认,会不会出现控件互相遮挡影响阅读与功能
- 功能定位准确性
页面控件的命名与选择是否合理,是否有选取合适的控件,各个控件的命名是否准确,如:取消与确认按钮命名是否与其功能一致,是否应该使用长文本输入框还是短文本输入框等等
- 色调搭配合理性
1、页面颜色搭配是否符合审美,长期观看是否引起不适,会不会影响阅读,只读页面是否统一灰色背景
- 字体
页面字体大小比例是否合适,是否有字体需要加粗或者灰度化等。是否出现错别字。
- 分辨率影响
在业务范围内要求的分辨率下是否会产生页面变形,浏览器正常的缩小放大是否会对使用产生影响
- 浏览器兼容性影响
在不同浏览器下页面各个控件是否显示正常,不同浏览器对应不同分辨率下是否有影响,需要测试的浏览器有:IE11、chrome、firefox,个别业务系统涉及到IE8适配
- 特殊字符的显示
在系统要求的范围内,特殊字符的显示是否正常
- 图片
图片的尺寸大小、位置合理性、对齐方式、排序等因素对UI界面的影响
- 数据溢出框外
在web网站,一般经常是后台控制前台的显示,因此在对后台进行数据添加时,查看前台是否有变化,并且查看界面的数据是否溢出框外。特别注意数据溢出对表单的形变影响。
二、控件类测试
- 日期控件
日期选择控件是否可以正常选择想要的日期,快速的年月切换,会不会出现选择到不合理的时间比如今天之后的日期。日期是24小时制还是12,12小时制是否有am pm区别。
1、日期型输入框:
(1)合法性检查:(输入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]
(2)异常值、特殊字符:输入空白或NULL、输入~!@#¥%……&*(){}[]等可能导致系统错误的字符
(3)安全性检查:不能直接输入,就copy,是否数据检验出错?
- 只读控件
在“查看”这种只读页面去点击输入框是否可以输入,如果不行尝试是否可以粘贴进去,点击控件是否会有反应。确保所有可操作点都不允许操作
- 按钮控件
各个地方的按钮是否实现了我们想要的功能,多次快速点击按钮是否出现异常情况比如:页面报错,出现两条记录等,是否需要控制并发点击次数
- 下拉控件
下拉是否影响页面形变,是否易选取内容,下拉内容显示是否完整, 上下选择方向键是否能用。
- 输入框
输入内容类型、长度、特殊字符的验证,sql注入攻击对系统的影响,<> , . ; : 等相关会使用到的符号输入对页面的影响。长文本输入框换行是否可用
1、字符型输入框:
(1)字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。
(2)长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超工字符比如把整个文章拷贝过去。
(3)空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格
(4)多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示)、
(5)安全性检查:输入特殊字符串(null,NULL, ,javascript,<script>,</script>,<title>,<html>,<td>)、输入脚本函数(<script>alert("abc")</script>)、doucment.write("abc")、<b>hello</b>)
2、数值型输入框:
(1)边界值:最大值、最小值、最大值+1、最小值-1
(2)位数:最小位数、最大位数、最小位数-1最大位数+1、输入超长值、输入整数
(3)异常值、特殊字符:输入空白(NULL)、空格或"~!@#$%^&*()_+{}|[]:"<>?;',./?;:'-=等可能导致系统错误的字符、禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交、word中的特殊功能,通过剪贴板拷贝到输入框,分页符,分节符类似公式的上下标等、数值的特殊符号如∑,㏒,㏑,∏,+,-等、
输入负整数、负小数、分数、输入字母或汉字、小数(小数前0点舍去的情况,多个小数点的情况)、首位为0的数字如01、02、科学计数法是否支持1.0E2、全角数字与半角数字、数字与字母混合、16进制,8进制数值、货币型输入(允许小数点后面几位)、
(4)安全性检查:不能直接输入就copy
- 图像上传类控件
对不图像分辨率大小、存储大小要求是否严格,针对不符合要求的图像如何处理,上传后显示的区域是否正常
(1)文件类型正确、大小合适
(2)文件类型正确,大小不合适
(3)文件类型错误,大小合适
(4)文件类型和大小都合适,上传一个正在使用中的图片
(5)文件类型大小都合适,手动输入存在的图片地址来上传
(6)文件类型和大小都合适,输入不存在的图片地址来上传
(7)文件类型和大小都合适,输入图片名称来上传
(8)不选择文件直接点击上传,查看是否给出提示
(9)连续多次选择不同的文件,查看是否上传最后一次选择的文件
- 滚动条
页面滚动条数量是否合理,是否有多余无用的滚动条存在,浏览器缩放页面内容显示不足时是否自动生成滚动条,滚动条对操作是否有影响。
- 单选复选控件
控件功能是否正常,页面刷新、保存没保存是否正常勾选,页面嵌套弹层,跳跃式操作后保存是否正常勾选
- 树形菜单控件
子父级是否划分明确,是否有限制层级数量,各个层级名称长度是否会影响整体机构形变
- 控件关联
通过相关证件读取信息时,使用非该证件类型的号码是否可以读取出相关信息。比如:选择证件为身份证,输入手机号确读取出该病人的信息
- 图表控件
是否能准确将数据在图表显示出需要的数据要求以及相关的操作
三、功能类测试
- 分页功能
分页的相关按钮是否正常跳页;其他的操作会不会影响页面位置,比如:对该页的选项进行操作后是否还在当前页面会不会自动跳回到首页
- 搜索功能
1、功能实现:
(1)如果支持模糊查询,搜索名称中任意一个字符是否能搜索到
(2)比较长的名称是否能查到
(3)输入系统中不存在的与之匹配的条件
(4)用户进行查询操作时,一般情况是不进行查询条件的清空,除非需求特殊说明。
2、组合测试:
(1)不同查询条件之间来回选择,是否出现页面错误(单选框和多选框最容易出错)
(2)测试多个查询条件时,要注意查询条件的组合测试,可能不同组合的测试会报错。
- 刷卡功能
在通过读取证件的页面,输入证件号再关闭页面会不会也能读取处信息
- 友好性提示
相关控件的信息输入错误,给予的提醒是否正确
- 特殊字符输入
输入框要特别注意一下跟编程语言有关的符号常见的有:<> / () . ‘’ ; @ & * 等等。这些符号的显示是否正常会不会被强制转换成其他字符。比如:<>被转成u0027。
- 时间计算
年龄、日期等相关差值的计算
- 长文本显示处理
输入保存的字符长度过长的地方是否有预览办法
- 地址匹配
地址的省市县不匹配时会不会有提示或者出现异常
- 虚拟运营商号码段
联系电话填写的地方注意170,171这种号码段
- 键盘功能定义冲突
键盘操作时注意tab,enter,↑,↓的功能是否正常,会不会起冲突。
- 控件可操作范围控制
对于勾选框,可操作的区域是否正常,会不会出现在小方块外面点击也可以勾选起来的情况
- 打印功能
对于打印页面重点关注与排版,显示是否有误,内容是否缺失
- 只读操作
只读的位置是否不允许录入内容,是否有灰度背景区别
- 文件导入
格式、大小、内容格式是否符合要求
- 单功能测试
增加——>增加——>增加 (连续增加测试)
增加——>删除
增加——>删除——>增加 (新增加的内容与删除内容一致)
增加——>修改——>删除
修改——>修改——>修改 (连续修改测试)
修改——>增加(新增加的内容与修改前内容一致)
修改——>删除
修改——>删除——>增加 (新增加的内容与删除内容一致)
删除——>删除——>删除 (连续删除测试)
四、配置相关
- 硬件配置
机器是否符合最低配置要求
- 软件配置
软件是否支持适配,软件参数配置是否正确
- 数据库配置
数据库字段定义是否完整,关联数据是否有关联配置
- 服务器配置
服务器环境部署是否正确
- 基础数据配置
基础数据是否完整录入数据库
五、标准规范
- 输入规范
标准规范目前遇到的主要是格式问题,比如联系电话,日期,证件号等
- 接口规范
接口传输脚本规范,是否有无用字段
- 模版规范
基础数据模版,导入文件模版规范
六、其他
- 流程
系统主流程、分支流程、异常流程验证
- 安全相关
是否可以通过直接访问页面地址绕过密码验证,F12打开是否能查到输入的登陆信息等
(1)SQL注入(比如登陆页面)
(2)XSS跨网站脚本攻击:程序或数据库没有对一些特殊字符进行过滤或处理,导致用户所输入的一些破坏性的脚本语句能够直接写进数据库中,浏览器会直接执行这些脚本语句,破坏网站的正常显示,或网站用户的信息被盗,构造脚本语句时,要保证脚本的完整性。
document.write("abc")
<script>alter("abc")</script>
(3)URL地址后面随便输入一些符号,并尽量是动态参数靠后
(4)验证码更新问题
(5)现在的Web应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。
(6)Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。
(7)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
(8)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。
(9)服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
- 数据校验
与数据进行比对,查询日志信息
l 测试中应该注意的其他情况
1、在测试时,与网络有关的步骤或者模块必须考虑到断网的情况
2、每个页面都有相应的Title,不能为空,或者显示“无标题页”
3、在测试的时候要考虑到页面出现滚动条时,滚动条上下滚动时,页面是否正常
4、URL不区分大小写,大小写不敏感
5、、对于电子商务网站,当用户并发购买数量大于库存的数量时,系统如何处理
6、测试数据避免单纯输入“123”、“abc“之类的,让测试数据尽量接近实际
7、进行测试时,尽量不要用超级管理员进行测试,用新建的用户进行测试。测试人员尽量不要使用同一个用户进行测试
8、提示信息:提示信息是否完整、正确、详细
9、帮助信息:是否提供帮助信息,帮助信息的表现形式(页面文字、提示信息、帮助文件),帮助信息是否正确、详细
10、可扩展性:是否由升级的余地,是否保留了接口
11、稳定性:运行所需的软硬件配置,占用资源情况,出现问题时的容错性,对数据的保护
12、运行速度:运行的快慢,带宽占用情况