写在前面
所有的测试都以需求为依据,当然有时候需求文档并不健全,就需要测试人员通过其它人员口述获取,或者通过比较市面上同类型的产品作为比较。
接触过Web项目测试的人都应该知道Web端测试也就分为两种,一种是功能测试,一种是非功能测试。
这篇文章仅从工作中(持更)这两大方面进行梳理,有不足的地方希望能指出促进修改。
测试点
一、功能测试
1.UI界面
需求文档角度:
- 是否和产品原型一致(一般产品开始前都会有demo图)
- 是否与UI效果图一致(由UI完成的效果图)
- 是否与需求说明书一致(如说明书中约定好的像素大小,色 )
用户使用角度
- 排版是否美观(美观性)
- 操作动作是否合理(易用性)
2.链接测试
- 所有的连接是否成功链接到相应的界面
- 链接不能为空连接(可以点击但是没有反应,准确来讲是不能为空按钮)
3.表单测试
表单测试常见的控件:输入框、下拉框、单选框、复选框、文本域、提交按钮、上传文件选项
输入框
多用于注册、登录功能
需求分析
- 输入分析:从五个方面:长度、类型、是否为空、是否重复、组成规则
- 处理分析:正常处理和异常处理
- 输出分析:正常或异常的时候系统的反应(弹窗提示等等,参考需求)
数据构造
- 有效等价类(满足需求):通过不同的分析方法,构造出有效的数据
- 无效等价类(不满足需求):构造无效的数据
编写测试用例
- 利用构造出的有效、无效数据,并预期出正常还是异常结果
- 测试用例八大要素:用例编 、用例标题、用例模块、用例级别、前置条件、测试数据、执行步骤、、预期结果
执行测试用例
- 按照测试用例的步骤和数据,逐条执行测试用例,并填写好执行结果(Pass / Fail)
发现并跟踪BUG
- 执行用例时实际结果与预期结果不一致时,基本判断为BUG
- 发现BUG就编写缺陷 告,提交至开发并做好跟踪工作
下拉框
- 是否存在默认选项(参考需求)
- 选项数量是否齐全(参考需求)
- 选项是否准确,不存在错别字(参考需求)
- 是否支持手动输入(参考需求)
- 当选项数量较大时,用边界值的方法进行数据选取
单选框
- 选项只能一个
- 是否存在默认选项
- 用户体验:点击不该局限在选项的小点,理应点击文字也可切换选项
复选框
- 选项数量可以任意选择
- 是否存在默认选项
- 用户体验
文本域
- 兼容性:在不同浏览器中文本域大小比例是否一致
- 文本域是否可以拖拽大小
- 是否有默认提醒文字
- 用户体验:要是有提醒文字,在用户点击输入时应该消失
提交按钮
- 单击或按回车是否可以完成提交
- 多次点击是否会重复提交
- 提交的方式是否加密(GET/POST)
文件上传选项
参考需求说明书,验证上传的格式、尺寸、数量、大小等等
4.功能模块测试
- 也可说是单元测试
- 依照单个功能进行测试,验证单个功能是否通过。如登录、注册、banner图、购物车等等
5.业务流程测试
也可说是集成/系统测试
概念:
针对用户的实际使用场景,组合多个模块的测试
价值:
对客户——真正对客户产生价值的是业务流程的实现
对测试——测试人员往往负责的是单个功能模块,多功能模块容易忽略
关注点
关注整个业务流程的跑通,而非单个功能
使用前提
单个功能模块基本测试完成
测试方法
- 模拟用户操作,画出流程图
- 根据每一条完整的路径编写每一条测试用例
- 执行测试用例
6.数据库测试
使用场景
- 执行用例:执行用例过程中,有时需要从数据库获取数据验证数据的准确性和完整性
- BUG定位:进行BUG定位时,有时需要到数据库查看数据的详细信息(例如前后台数据不一)
- 构造场景:构造某种场景,可以直接在数据库修改数据(例如购买上限)
- 软件升级的过程中,有时会涉及到历史数据的处理,这种情况需要执行升级SQL
7.搜索测试
输入框搜索筛选(搜索)
模糊搜索、超长搜索、空搜索
下拉框筛选
下拉第一项、最后一项、中间任一项
多条件搜索
单个条件、任两个条件、三个条件…全条件
时间筛选
关注点:开始时间、结束时间
情况1:开始时间=结束时间
情况2:开始时间>结束时间==》系统提示 错
情况3:开始时间 情况4:有时间控件==》考虑是否支持手动输入和相应格式
二、非功能测试
兼容性
- 不同操作系统:Windows、Linux、MacOS
- 不同浏览器:谷歌、火狐、IE、Safari
- 不同分辨率
- 总结: 跟需求人员确认首要兼容浏览器,进行功能测试的时候,直接用首要浏览器进行测试。兼容性测试首要关注点是不同浏览器的显示(错位、重叠等等)
效率性
适用: 对处理时间有要求的、用户量比较大的项目(例如电商 站的首页)
容易出现效率性问题的功能: 页面数据量比较大(图片、视频等);页面实现的逻辑/编码复杂,web服务器计算量大。
优化效率常用方法: 利用缓存;优化SQL语句。
安全性
输入数据的安全性
- 敏感信息的遮挡处理
- 信息加密( 络传输加密post/其他,存储过程加密);
- SQL注入(在输入框输入特殊的SQL符 导致数据库篡改,如:‘or 1=1 #)
处理数据的安全性
- 请求方法决定敏感信息不能暴露在地址栏中(推荐用post请求方式)
- 数据传输中数据需要加密
输出数据的安全性
- 数据库存储敏感信息需要加密
易用性
从测试人员自身经验,去看模块中哪些模块设计不合理或者使用起来比较难受的,可以提出商讨。
三、web项目常用工具软件
版本管理工具
- SVN
- git
缺陷管理工具
- 禅道(也可管理项目)
- JIRA
抓包工具
- fiddler
接口测试工具
- Jmeter
- Postman
性能测试工具
- Jmeter
- Loadrunner
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!