blog/docs/auto/web/web-test.md

259 lines
9.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 了解Web测试
date: 2020-06-24 17:24:41
tags: [Web测试]
categories: [Web测试]
author: 阿竺
---
> Web测试是软件测试的一部分是针对Web应用的一类测试。
>
>由于Web应用与用户直接相关又通常需要承受长时间的大量操作
>
>因此Web项目的功能和性能都必须经过可靠的验证。
>
>通过测试可以尽可能地多发现浏览器端和服务器端程序中的错误并及时加以修正,以保证应用的质量。
整个Web测试在测试过程中大体可以分为一下几个点。
## 功能测试
测试用例是测试的核心,测试用例的设计是一种思维方式的体现。
在用例的设计中,用的比较多的方法是边界值分析法和等价类划分法,
下面主要从输入框搜索功能添加、修改功能删除功能注册、登录功能以及上传图片功能等11个方面进行总结说明。
### 输入框
输入框是测试中最容易出现bug的地方所以在测试时一定要多加注意。
![](https://limeng-blog.oss-cn-hangzhou.aliyuncs.com/auto/web-test1.jpg)
![](https://limeng-blog.oss-cn-hangzhou.aliyuncs.com/auto/web-test2.png)
![](https://limeng-blog.oss-cn-hangzhou.aliyuncs.com/auto/web-test3.png)
![](https://limeng-blog.oss-cn-hangzhou.aliyuncs.com/auto/web-test4.png)
![](https://limeng-blog.oss-cn-hangzhou.aliyuncs.com/auto/web-test5.png)
### 搜索功能
1比较长的名称是否能查到
2空格 或空
3名称中含有特殊字符 $ % & *以及空格等
4关键词前面或后面有空格
5如果支持模糊查询搜索名称中任意一个字符是否能搜索到
6输入系统中不存在与之匹配的条件
7两个查询条件是否为2选1来回选择是否出现页面错误
8输入脚本语言,如:等
### 添加、修改功能
1是否支持tab键
2是否支持enter键
3不符合要求的地方是否有错误提示
4保存后是否也插入到数据库中
5字段唯一的是否可以重复添加
6对编辑页列表中的每个编辑项进行修改点击保存是否保存成功
7对于必填项修改为空、空格或其他特殊符号是否可以编辑成功
8在输入框中直接回车
9是否能够连续添加
10在编辑的时候要注意编辑项的长度限制有时添加时有长度限制但编辑时却没有添加和修改规则是否一致
11添加时字段是唯一的不允许重复但有时编辑时却可以修改为相同字段相同字段包括是否区分大小写以及在输入内容的前后输入空格
12添加含有特殊符号或空格的内容
13对于有图片上传功能的编辑框对于没有上传的图片查看编辑页面时是否显示默认图片如果上传了图片是否显示为上传图片
### 删除功能
1输入正确数据前加空格看是否能正确删除
2是否支持enter键
3是否能连续删除多个产品当只有一条数据时能否成功删除
4删除一条数据后能否再添加相同的数据
5当提供能一次删除多条信息的功能时注意删除的数据是否正确
6不选择任何信息直接点击删除按钮看有什么错误提示
7删除某条信息时应该有错误提示信息
### 注册、登录模块
1注册成功但登录失败注册时密码设置为一些特殊符号但登录时失败
2注册时连续点击提交按钮
3注册成功后页面应该以登录状态跳转到首页
3登录时没区分大小写注册时是小写字母但登录时用大写字母也能登录进去
4登录时当页面刷新或重新输入新数据时验证码是否也随之更新
5对密码的修改当把密码修改为很长或含有特殊符号时能够修改成功但却不能成功登录。
### 上传图片测试
1文件类型正确文件大小合适
2文件类型正确文件大小不合适
3文件类型错误文件大小合适
4文件类型和大小都合适上传一个正在使用中的图片
5文件类型和大小合适手动输入一个存在的图片地址来上传
6文件类型和大小合适手动输入一个不存在的图片地址上传
7文件类型和大小都合适手动输入图片名称来上传
### 返回键检查
1一条已经成功提交的记录返回后再提交看系统是否做了处理
2检查多次使用返回键的情况在有返回键的地方返回到原来页面重复多次看是否会出错
### 回车键检查
在输入结束后,直接按回车键,看系统处理如何,是否会报错
### 刷新键检查
在web系统中使用浏览器的刷新键看系统处理如何是否会报错
### 直接URL链接检查
在web系统中直接输入各功能页面的URL地址看系统如何处理
### 其他
1在测试时有与网络有关的步骤必须考虑到断网的情况
2每个页面都有相应的页面title
3在测试的时候要尽量考虑在页面出现滚动条时滚动条上下滚动下页面显示是否正常
4URL不区分大小写
### 测试中,并发情况的考虑
总结了以下两种情况:
1某个字段是唯一的当多个用户并发点击产生该字段时检查系统是怎么处理的
2对于电子商务网站当两个或多个用户并发购买量总和大于产品库存量时能否购买成功
## 界面和易用性测试
1、界面测试主要测试网站的界面是否和设计一致是否有错别字页面布局是否合理格式是否正确是否有相应的错误提示信息等。
2、易用性测试主要是考察所开发出的功能是否人性化是否易用是否符合大多数用户的使用习惯等。
3、对Tab和Enter键的测试。
## 兼容性测试
兼容性测试不只是指界面在不同操作系统或浏览器下的兼容有些功能方面的测试也要考虑到兼容性比如涉及到ajax、jquery、javascript等技术的
都要考虑到不同浏览器下的兼容性问题。
## 链接测试
主要是保证链接的可用性和正确性,它也是网站测试中比较重要的一个方面。
## 业务流程测试
业务流程,一般会涉及到多个模块的数据,所以在对业务流程测试时,首先要保证单个模块功能的正确性,
其次就要对各个模块间传递的数据进行测试,这往往是容易出现问题的地方,测试时一定要设计不同的数据进行测试。
## 安全性测试
1SQL注入
2XSS跨网站脚本攻击程序或数据库没有对一些特殊字符进行过滤或处理
导致用户所输入的一些破坏性的脚本语句能够直接写进数据库中,浏览器会直接执行这些脚本语句,
破坏网站的正常显示,或网站用户的信息被盗,构造脚本语句时,要保证脚本的完整性。
```javascript
document.write("abc")
<script>alter("abc")</script>
```
3URL地址后面随便输入一些符号
4验证码更新问题
## web测试中容易忽略的问题
很多时候基于需求的测试和针对web特有的浏览器兼容性测试、cookie失效的验证对于测试人员并不陌生。但实际上与浏览器相关的测试内容远不止这些。
举一个例子来说,很多时候我们都非常明确页面上的所有入口,并对这些入口设计了大量的用例,
而浏览器的地址栏却常常会被我们忽略。实际上url的输入意义远比我们意识中的重要忽略了url的测试很容易造成安全上的隐患。
再进一步的说,浏览器的前进、后退、刷新按钮同样是测试人员需要关注的点。
前进、后退在用户登录、注销信息的测试中应用最为频繁。
而刷新往往容易被忽视但其同样是bug的“温床”。
在最近的一次测试中,我就遇到过在我删除某条记录系统提示删除成功后,点击“刷新”按钮,页面提示出错的情况。
出现该现象的原因就在于页面试图去取已删除的内容,导致出现异常。
其实这个问题应该隐藏了比较久的时间,但是却一直未被发现,足可见我们都忽视了“刷新”的测试。
除了上述的内容外,我相信一定还存在很多我们在测试中忽视的内容,而这些点的补充,是我们每一个人的责任
- 相关性检查:
增加/删除一些功能,是否对其他项有影响;
增加某个数据项后,该数据某字段内容过长,查询显示回事数据列表变形;
字符串长度、类型检查。
- 标点符号检查:
把空格键当成一个字符处理,但查询时空格被屏蔽,查询不到添加的内容;
查询时输入特殊字符“_”程序返回所有记录。
- 检查添加与修改是否一致
- 脚本错误IFrameJSAjax易造成浏览器兼容性问题
- 查询列表如果有重复信息distinct去重
- 登录信息cookies缓存保留
- JS格式控制验证处理注意验证条件验证未知触发时间及验证的必要性
---
原文链接https://blog.csdn.net/carian_violet/java/article/details/89336251