一、功能测试
输入框
输入框是测试中最容易出现Bug的地方,所以在测试时,一定要重点注意。
| 一般情况 | 描述 |
|---|---|
| 汉字 | |
| 数字 | 最大值,最小值,位数限制 |
| 空 | |
| 特殊字符 | |
| 字数限制考虑,超长或为空的考虑 | |
| 空格、回车、Tab | |
| 字符前有空格 | |
| 字符后有空格 | |
| 字符前后都有空格 | |
| 多行文本框输入 | 是否支持回车换行 |
| 使用复制粘贴功能尝试输入时 |
| 安全性检查 | 描述 |
|---|---|
| 特殊字符串 | null、NULL、 、document.write("123")、<script></script>、<iframe></iframe>等 |
| 特殊情况 | 描述 |
|---|---|
| 敏感词处理 | 非必须 |
- 图片上传处理
| 一般情况 | 描述 |
|---|---|
| 图片大小限制 | |
| 图片类型限制 | 上传类型不正确的拦截处理 |
- 用户请求
| 一般情况 | 描述 |
|---|---|
| 防抖节流处理 | |
| 网速慢的情况考虑 | 请求失败的提示 |
| 用户及时反馈信息以及请求失败撤销结果 | |
| 添加数据时,字段是否唯一 | 添加重复数据的情况 |
| 添加含有空格或者特殊字符的内容 | |
| 修改/删除/查询不存在的信息时的情况 | |
| 修改数据时,字段是否唯一 | 修改数据为相同字段的情况,前后添加空格的情况 |
| 查询数据时,如果有重复数据是否去重 |
| 登录注册 | 描述 |
|---|---|
| 用户名密码去除空格 | 也许只是字符前后的空格 |
| 是否区分大小写 | |
| 用户名密码的字数限制 | |
| 已经登录过的用户是否跳转首页 | |
| 注册成功时,用户是否以登录状态跳转到首页 | |
| 退出登录时,是否保留cookie |
直接URL链接检查
直接输入各功能页面URL地址,看系统如何处理,是否会报错.
网络
在测试时,有与网络有关的步骤必须考虑到网速慢,或者断网的情况.
并发情况考虑
| 一般情况 | 描述 |
|---|---|
| 当某个资源被删除时 | 如果发送的请求需要依赖这个资源,需要检查是该资源否存在 |
| 多个用户同时操作同一个数据时 |
二、界面和易用性测试
- 主要观察网站的界面是否和设计稿一致,是否有错别字,页面布局是否合理,是否有相应的错误提示信息等。
- 主要是考察交互是否人性化,是否易用,是否符合大多数用户的使用习惯等。
三、兼容性测试
界面在不同操作系统或浏览器下的兼容情况,以及不同功能方面的测试,也需要考虑到不同浏览器下的兼容问题。
四、业务流程测试
业务流程,一般会涉及到多个模块的数据,所以在对业务流程测试时,首先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进行测试,这往往是容易出现问题的地方,测试时一定要设计不同的数据进行测试。
五、浏览器相关测试
浏览器的前进后退,刷新按钮。
六、安全性测试
- SQL注入: SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
- XSS跨网站脚本攻击:程序或数据库没有对一些特殊字符进行过滤或处理,导致用户 所输入的一些破坏性的脚本语句能够直接写进数据库中,浏览器会直接执行这些脚本语句,破坏网站的正常显示,或网站用户的信息被盗,构造脚本语句时,要保证脚本的完整性。