web测试就是基于BS架构的软件产品的测试,通俗点来说就是web网站的测试。
一 、界面检查
- 当我们进入一个页面时,首先应该检查title,页面排版(即页面的展示),而不是马上进入字段校验
- 页面面包屑导航是否正确
- 当前位置是否可见 您的位置:xxx>xxxx
- 文字格式统一性
- 排版是否整齐
- 列表项显示字段是否齐全,列表项字段名称是否跟表单统一
- 同一页面,是否出现字段名称相同、值取不同的问题。
- 数据加载情况:除了文本框的值,还要注意以下三点:
(1)复选框,是否保存打√,或者保存不打√
(2)下拉框,是否保存选择的值
(3)多文本框,值是否都被保存,空格,换行是否保存
二、单文本框(type=text)
1.边界:字段长度 2.判空:是否可以为空 3.唯一性:是否唯一(边界、判空、唯一性、特殊字符、正确性) 4.考虑语言,操作环境 5.特殊符号测试输入: ' or 1<>'1,' or '1'='1,' or '1'<>'2,"|?><,where a='xxx',下划线是否允许,输入全部空格, 输入 单引号 “<script>alert(“123”);</script>”
6.特殊字段输入限定: (1)框内容是否合法(tel,ip,url,email)序号等,直接限制输入数字,其他过滤掉 (2)输入金额文本框,整数首位为0,过滤掉,小数点后面,一般保留两个有效数字。 (3)正确性测试:(必不可少的步骤) 1).(字段长度输入最大允许长度时)数据允许长度的测试: a.页面是否被挤出的测试(都输入长英文字符串,是否断行); b.数据库是否允许最大字符(都输入汉字、都输入英文、混合……); c.最短长度的正确流程,最大长度的正确流程覆盖。 2).对于允许为空的字段,不填入,再次数据传递后,看是否报500错误。 3).未规定字段长度(或者数值大小),不按死板输入,输入非常多字符(或者非常大的数值)时,做允许动作的正确性校验,看是否报错。(要达到的结果:不管有没有长度限制(没有给最长、最大限制让你去测?),最终页面不能抛数据库异常。) 说明:通过不断输入长字符串,看是否有长度校验; 最终都会出现以下两种情况的一种:页面(前台)有校验长度、大小;或者无校验,数据库报错。 所以:所有字段都要做长度、大小限制(不管需求有没有给出明确要求,不管测试颗粒度,都要限制长度,不允许报数据库错误,都要测!!!)。
7.最大长度限制可限定方法:
(1)不允许再输入;
(2)自动截断处理,并且给用户提示。 8.关于长度概念: (1) 数据库规定的字节长度A (2)页面上可以输入的字符数B 控制方法: 1).页面上,不管输入什么字符(全角如汉字、半角如字母),统一规定不能超过B个字符,此种限制, 测试点:全部输入全角B个,测试(B*3字节)会不会超过数据库字节长度 全部输入半角B个,测试(B*1字节)会不会超过数据库字节长度 混合输入全角X半角Y,测试(X*3+Y字节)会不会超过数据库长度 2).页面上,不以字符统计,以总的输入字节数统计,比如,全部输入全角字符,允许可以输入A/3个字符,全部输入半角字符,允许输入A个字符( 民生网的设计) 测试点:全部输入全角,看是否允许输入A/3个字符 全部输入半角,看是否允许输入A个字符 混合输入全角X,半角Y,看是否允许X*3+Y=A 3).判空、唯一、边界值、特殊字符、正确流程(多种数据、多种分支),测试校验位置:ajax鼠标事件校验、前台提交按钮js校验,服务器拿到数据后再次验证
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】
三、多文本框(type=textarea)
1.空格和换行的问题,看需求,是否需要做支持HTML Encoding,输入全部空格时,是否判空处理?””,空格。 2.输入折行,是否也显示折行?比如:列点说明原因,就需要支持。 3.字母截断的问题,对于一串字母,开发人员往往会忘掉做截断,这样如果展示在我们的平台上的话,这一串字母就会把我们的UI撑开 4.长度控制格式, 您还可以输入***个字符
四、添加按钮
1.添加动作检查范围: 失败:是否提示,提示内容是否正确 失败时:保存用户已输入的内容,避免重新再输入 成功:对话框消失,记录是否可直接查看(还需要刷新?) 列表记录顺序 重复提交情况,点击一次后,是否变成disable 2.上传附件的添加: (1)文件名称:文件名称很长;文件名称字符多样化(汉字,英文,符号);文件名称重复。 (2) 判空? (3) 附件格式类型支持? (4) 附件个数? (5) 附件空间大小。
五、移除按钮
1.一般都要在前台先给出一个提示操作“确定移除该……” 2.相关联的东西,是否需要限制移除“该类型下存在应用,无法移除”有到后台比较 3.确定后,真正执行移除操作。 结果:移除后,列表数据是否立即消失。必须有确认删除的提示信息
六、列表
1.列表记录顺序2.是否需要翻页、有没有翻页功能3.字段名称是否与表单一致
七、搜索-文本框
1.功能点、需求点考虑:是否提供模糊查询、输入数值有种类有限定时,是否考虑换成下拉框搜索;2.检查点:文本框值是否消失(是否回填条件值),再次点击“查询”可查看所有记录;考虑搜索结果:是否存在分 页,分页是否正常;是否有序;注意:分页是否仍保存查询条件,检查后面的记录是否符合条件3.查询数据多样性:输入不存在的字段值测试、包括特殊字符查询测试例如:' or '1'='1;输入类似程序语句的条件时是否执行查询,如:XXXX”、XXX and ;4.操作类型: (1) 不输入的查询 (2) 输入全部空格的查询 (3) 模糊查询(输入部分字段,或者说,输入英文字母,查询到相关中文数据) (4) 输入不存在的查询 (5) 输入存在的查询 (6) 单个查询和多个条件复合查询。
八、搜索-下拉框
1.检查点:
- 搜索结果是否有序;
- 下拉框值是否齐全;(下拉框值本身也是一个动态查询的结果)
- 下拉框值是否自动消失,再次点击“查询”可查看所有记录(是否要回填条件值);
- 分页时,是否保存搜索条件。(从UI、开发、业务逻辑、用户使用等角度测试)
PS: 以上总结的, 是比较纯粹的从页面控件角度测试点出发, 对于完整测试一个整体页面,需要各类测试有机结合起来: (1)UI测试:页面布局; 页面样式检查;控件长度是否够长;显示时,是否会被截断;支持的快捷键,Tab键切换焦点顺序正确性等。 (2)功能测试:页面上各类控件的测试范围,测试点,可参考上方 (3)结合控件的实际作用来补充检查点: 比如, 密码框是否*显示, 输入是否做trim处理等 (4)安全测试:输入特殊字符,sql注入,脚本注入测试 a.后台验证测试,对于较重要的表单 ,绕过js检验后台是否验证 b.数据传输是否加密处理,比如, 直接请求转发,地址栏直接显示发送字符串? c.数据库存储,特别密码等,是否加密形式存储 (5)兼容性测试 (6)性能测试
六.常见功能点测试思路
根据经验,总结常见的功能点的测试思路:
1.新增或创建(Add or Create)(1)操作后的页面指向 .2 操作后所有绑定此数据源的控件数据更新,常见的排列顺序为栈Stack类型,后进先出 .3 取消操作是否成功
2.编辑或更新 (Edit or Update)
(1)操作后的页面指向(2)操作后所有绑定此数据源的控件数据更新(3)取消操作是否成功(4)编辑界面是否读取出正确、全部的数据源(5)记录在工作流中的编辑功能可用性(6)操作成功的生效时刻及生效范围
3.删除或移除 (Delete or Remove)
(1)操作后的页面指向(2)操作后所有绑定此数据源的控件数据更新 (如下就是删除后,Tab数据没有立即刷新的bug)4.取消操作是否成功(1)记录在工作流中的编辑功能可用性(2)操作成功的生效时刻及生效范围(比如:购物网站,店家商品下架后,并没有同时删除买家的购买记录)5.选中 或 全选 (Check or Check all)(1)多页面中,全选对所有页面是否有效(2)支持多页面的个别选中,且返回查看时保留选中状态(3)界面上的按钮的操作范围是否均受选中功能控制(4)前一页选中状态,在翻页后,应保留原来状态(5)先全选-》移除某个单选-》全选按钮是否移除选中状态
下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
最后: 可以在公众号:自动化测试老司机! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!