LP1-5:WEB应用测试技巧
一、静态页面
静态文字
1) 检查一个页面或者一组中多个页面的字体、size、颜色、位置等因素是否符合需求;
2)检查页面文字图标的间距、行距是否统一,对齐方式是否统一;
3)静态文字的含义是否符号需求;
4)静态文字中是否存在拼写错误;
2.图片
1) 检查图片的尺寸、位置是否符合需求;
2) 对广告图片的点击是否正常,点击后给出的页面是否正确;
3) 页面上具有相同意义的图标应保持一致;
4) 对于链接其他网站的图片,无法显示时是否有容错性处理;
3.链接
1) 对广告图片的点击是否正常,点击后给出的页面是否正确;
2) 检查页面链接是否可正常点击,点击后链接到的位置是否正确;
3) 链接点击后是否正常的发生颜色变化(若特殊处理也需要相应的检查);
4) 链接的打开方式是否合理(在当前窗口中打开、打开新窗口),是否符合产品设计;
4.页面显示
1) 调整页面大小,检验页面的布局是否被压缩,重叠,覆盖等;
2) 对需要屏蔽的页面检查是否有效屏蔽,对只能打开一个的功能页面,检查是否被打开了多个;
3) 检查不可调整大小的页面是否可调整页面大小;
4) 检查需要滚动条的页面是否提供的滚动条,并可有效滑动;
5) 对页面中影响到光标位置或者阴影等特效效果位置的操作,需要检验操作的正确性和效果的合理性;
6) 页面被内容拉长,拉宽后,检查页面的文字是否还能正确显示,对齐方式,格式都保持一致、正常;
7) 对外文(日文、韩文)和繁体的显示,需要支持,不允许出现乱码;
8) 页面中的tab翻页可以正常切换、支持tab按键切换的要检验使用的正确性。多个tab页面间的数据交换更新要检验正确性;
9) 页面推荐的内容要保证有结果,可以正常使用
5.逻辑测试
5.1表单元素
5.1.1、按钮
1) 按钮的大小、摆放间距、对齐方式是否一致;
2) 按钮上文字的字体、size、对齐方式是否一致;
3) 使用tab键切换按钮,顺序是否符合需求规定;
4) 按钮可正常点击,触发的后续操作是否正确;
5) 对于有时效性的按钮,需要结合时间考虑可用性是否符合要求;
6) 对于有条件限制使用的按钮,可用性是否符合条件限制;
7) New button:检查包含next和cancel按键的子窗口的显示;检查子窗口显示的内容;
8) Add button:检查包含save和cancel按键的子窗口的显示;
9) Edit button:检查在未选择项目情况下点击后的警告信息;检查包update和cancel按键的子窗口的显示;检查选择的项目是否显示在制定的位置;
10) Copy button:检查在未选择项目情况下点击后的警告信息;检查点击后的确认信息;检查插入后的复制数据;
11) Delete button:检查在未选择项目情况下点击后的警告信息;检查点击后的确认信息;检查删除后的数据;
12)Run button:检测运行时的参数窗口;检查执行结果;检查未选择项目情况下点击后的警告信息;
13) Back button:检查是否回到上一屏幕;
14) Next button:检查是否显示下一屏幕;
15) Finish button:检查数据是否进入数据库;检查完成屏幕的显示;
16) Cancel button:检查确认信息;检查是否有其他键执行同样功能;检测是否能能够正确处理;
5.1.2、单行文本框
1)检查输入框的可输入长度限制是否有效,考虑汉字和字符的长度转换关系,反复验证;
2)输入框对特殊字符的判断主要检查(~!@#$%^&*()_+|【】『』[]{};’:”,.<>?/!◎#¥%……※()——+§)等符号的过滤;
3)不允许输入数字的输入框需要检查对数字的过滤(123456789);
4)检查对html tag的过滤;
5)检查对全角空格,半角空格的过滤;
6)根据输入框的具体要求检查需要过滤的内容,例如数字输入框不能输入字母和汉字、英文输入框不能输入汉字和数字等等;
7)数字输入框需要检查是否有输入数字的大小限制、小数点后数位的个数、负数,具体情况可疑根据输入数字的特征进行检验,例如整数输入框不可以输入浮点数、正整数输入框不能输入负数等等;
8)对有特殊分界作用或者其他意义的符号,检查有效性。检查冗余的此类符号的冗余处理;
9)对可输入空格或者字符的输入框,需要检查多余空格、字符等冗余数据的输入限制;
10)数字输入框需要检查输入正数、负数、零、小数点、特殊字符加数字、字母加数字、ASCII码、重复值、空值的输入情况,具体处理按需求规定;
11)字符输入框需要检查仅有字母、仅有数字、字母加数字、允许的特殊字符、禁止的特殊字符、包含特殊字符的字母数字、ASCII码等。具体处理按需求规定;
12)对输入字母的输入框检查字母、数字、字母加数字、特殊字符、ASCII码。具体处理按需求规定;
13)对时间类型的输入框检查?和/,检查特殊字符、字母数字;检查规定的正确格式时间、错误格式时间、错误的日期数字,错误的时间数字、正确地时间数字。如果存在日历表,检查正确性。具体处理按需求规定;
14)检查标注为必填信息的输入框,不输入数据时是否按照产品设计要求给出提示信息,对于标注未非必填项的输入框,不输入数据时是否可以正常提交表单;
15)对用户可编辑可输入的功能点,需要进行临界测试
16)对用户可编辑可输入的功能点,需要进行越界容错测试
5.1.4、多行文本框
1)文本输入框需要过滤html tag标签;
2)文本输入框需要检查长度限制是否准确。并考虑汉字和字母数字所占用的长度折算关系检验长度限制;
3)文本输入框检验需求规定要求过滤的特殊字符;
4)对于粘贴的文字数量超过限制的容错处理;
5)对用户可编辑可输入的功能点,需要进行临界测试
6)对用户可编辑可输入的功能点,需要进行越界容错测试
5.1.5、单选框/复选框/下拉选框
1)复选框需要根据单选和多选的限制进行选择。单选的进行多选验证或者空选,多选的如果有选择数量限制,则需要考虑空选和超出限制的选择验证
2)对于动态的复选框,在新增了内容后可以及时的反应到页面上提供选择。同理对于删除的选项页需要及时的反应到页面不可见或者不可选。
对于选择多个数据进行后续操作的复选形式,需要检查多选后的数据数量是否正确。检查空选的容错处理。
3)对下拉方式的选择,检查选中后在输入框内出现的内容是否和checkbox中的内容一致
4)下拉选框的候选内容为空时的,需要的容错处理
5)对所有候选内容动态变化的选框,需要检查相应的动作后,候选内容的变化
5.1.6、翻页
1)检查翻页是否正常,检查分页是否正确,检查每一页显示的数据项、数据数量是否正确;
2)修改浏览器地址栏的翻页参数,检查参数在页码合法范围内时,是否正确跳转;检查参数超出页码合法范围时,是否有容错性处理;
5.1.7、确认/取消
1)检查确认/取消的相应操作是否符合产品设计需求;
2)对提交部分的测试,需要检验多次连续点击提交、取消等按钮,检验是否可以正确处理
5.1.8、登录/退出
1)对于登录注册页面的测试需要考虑每个输入点的正确性、容错性以及对空输入的处理情况
2)对于登录/退出操作,需检查是否正确保存或清除cookie信息;
3)登录操作,对于选择不同的cookie生存周期,需分别检查是否正确;
5.2表单种类
5.2.1、单一表单
1)数据的一致性
a、检查表单中显示的数据项(下拉文本框、文本框等)内容是否与数据库中存储的信息一致;
b、修改数据项内容后,检查表单显示的内容是否改变,显示是否正确;
c、对页面的url进行参数修改,是否可以正常处理。单一逐个修改,组合修改检查是否可以正确处理。
2) 表单数据项记忆保留
a、检查表单中数据项是否有记忆保留功能,对于已经提交的数据是否能正确显示;
b、对于提交页面连接超时时,需要给出合理的文字提示。对不能连接或者出现异常的页面也要给出合理提示。
5.2.2、多表单
1)关联型表单的基本类型有:
a、表单A—>表单B
b、表单A—>表单B—>表单A
c、表单A—>表单C & 表单B—>表单C
2)检查关联型表单的各条路径是否符合产品,各路径通畅;
3)检查表单间数据传递是否正确
a、表单间数据传递如果是显示方式,通过URL传递的数据检查是否正确;
b、对于显示传递方式,手工修改URL传递的数据,检查是否有容错处理;
c、表单间数据传递如果是隐式方式,通过后续表单显示的数据项内容检查是否正确;
4) 多表单间数据传递时,检查如果会中间步骤中断,是否有容错处理,是否能保证数据在数据库中的唯一性;
5) 检查直接访问中间表单的URL时,是否限制访问,做出了相应的容错性处理,保证路径顺序的完备性;
6) 对连续页面功能操作测试时,需要考虑浏览器上刷新、回退、前进按钮的影响。在登录、密码输入校验等不可逆的位置,应对回退前进进行适当处理,需要检验
7) 对存在与多个页面的功能需要统一的结果界面时,需要检验不同的触发点得到的结果页面是否一致
8) 提交写数据的事务性测试,对于分段提交的数据,当数据的录入不完整时,如缺少某一段或多段数据,检查是否有容错性处理;
5.3、功能测试
功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。常用的测试方法如下:
5.3.1、 页面链接检查
每一个链接是否都有对应的页面,并且页面之间切换正确;
5.3.2、相关性检查
删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确;
5.3.3、检查按钮的功能是否正确
检查update, cancel, delete, SAve等功能是否正确;
5.3.4、字符串长度检查
输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度,会不会出错;
5.3.5、字符类型检查
在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,是否报错;
5.3.6、标点符号检查
输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是否正确;
5.3.7、中文字符处理
在可以输入中文的系统输入中文,看会否出现乱码或出错;
5.3.8、检查带出信息的完整性
在查看信息和update信息时,查看所填写的信息是不是全部带出.,带出信息和添加的是否一致;
5.3.9、信息重复性检查
在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理;
5.3.10、检查删除功能
在一些可以一次删除多个信息的地方,不选择任何信息,按”delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理;
5.3.11、检查添加和修改是否一致
检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型;
5.3.12、检查修改重名
修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注意,会不会报和自己重名的错;
5.3.13、重复提交表单
一条已经成功提交的纪录,点击back后再提交,看看系统是否做了处理;
5.3.14、检查多次使用back键的情况
在有back的地方,back回到原来页面,再back,重复多次,看会否出错;同样的重复手工刷新页面(按F5),检查页面显示是否正常;
5.3.15、 search检查
在有search功能的地方输入系统存在和不存在的内容,看search结果是否正确.如果可以输入多个search条件,可以同时添加合理和不合理的条件,看系统处理是否正确;
5.3.16、输入信息位置
注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方;
5.3.17、上传下载文件检查
1)上传下载文件的功能是否实现,上传文件是否能打开。对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到;
2)对于上传文件的文件名是否有容错处理,如文件名中包含空格等特殊字符,需考虑上传文件名的各种情况;
5.3.18、必填项检查
应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加* 等提示信息;
5.3.19、快捷键检查
是否支持常用快捷键,如Ctrl+C Ctrl+V Backspace等,对一些不允许输入信息的字段,如选入,选日期对快捷方式是否也做了限制;
5.3.20、多窗口并发操作
同时开两个或多个窗口测试互斥和并发操作,检查各窗口数据显示、各种操作是否正常;[S3]
5.4、数据交互
5.4.1、动态数据显示
1) 动态文字随着场景的变化是否正确,符合需求规定;
2) 动态文字的显示字体、颜色、间距、size、显示位置是否一致,并符合需求规定;
3) 动态文字显示的内容,依据不同要求变化,要求和文字内容的对应是否符合需求规定;
4) 动态文字的显示方式,显示次数,循环方式、显示条件都要符合需求规定;
5) 动态文字含义是否符合需求;
6) 动态文字是否存在拼写错误;
7) 动态显示的相关内容包括文字,图片要符合逻辑关系,不能出现不对应,不匹配的现象;
8) 对于提示文字,需注意提示的显示方式(在当前页面显示、弹出式对话框)是否符合产品需求,提示语言是否符合产品规定;
9) 对功能操作返回的数据结果数量,内容,特征进行抽样检查;
10) 提交写或者读数据失败时,例如,获取不到连接超时等,检查是否有相应的容错性处理;[S4]
5.4.2、 数据更新方式
1) 更新方式包括即时更新和定期更新;即时更新方式分为主动即时更新和被动即时更新;
2) 对于被动即时更新方式的数据需考虑页面的稳定性,以及是页面性能;
3) 对于定期更新的数据,如果被更新数据与页面的其他数据相关,测试方法近似表单测试测试;如果被更新数据与页面其他数据无关联,测试方法近似即时更新方式;
5.5、数据同步
涉及到多台服务器同步问题的产品,需要在更新后检验同步情况和效果;
二、技术
Cookie
1)检查Cookie的时效性是否正确,对于永久cookie,检查是否永久有效;对于临时cookie,检查是否只在当前浏览器及派生的页面中有效,关闭浏览器即失效;
2)检查是否存入指定域名的cookie信息;
3)如果在 cookies 中保存了注册信息,请确认该 cookie能够正常工作而且已对这些信息已经加密。对cookie的安全机制进行测试。如果使用 cookie 来统计次数,需要验证次数累计正确。
4)手工修改cookie信息,检查cookie是否失效;
5)检查IE不同安全级别情况下cookie信息写入是否正确,对于安全级别设置为高或阻止所有cookie时,系统应能给出明确的提示信息;
2.Session
Session存于服务器端,隐式传递数据,对于使用session传递数据的方式,需要通过显示的数据内容检查数据传递的正确性;
3.Java Script
1) 对于大量使用java Script的程序需考虑多版本IE 的兼容性测试;
2) 浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java,、JavaScript、 ActiveX、 plug-ins或不同的HTML规格有不同的支持。例如,ActiveX是Microsoft的产品,是为Internet Explorer而设计的,JavaScript是Netscape的产品,Java是Sun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样;
3) javascript逻辑很多的情况可能会影响页面性能,要安排性能测试;
4)页面布局不被javacript语句破坏或者因为javacript页面无法显示;
4.浏览器
1)测试前需要明确那些浏览器产品需要进行测试;
2)对同一个浏览器产品的多个版本,在测试前确认那些需要进行测试;
3)不同浏览器在不同windows环境下进行测试,是否需要测试提前确认;
4)如果产品中嵌入了其他windows产品,需要检验不同版本的使用情况,具体需求需要提前确认;
LP1-5:WEB应用测试技巧的更多相关文章
- 远程桌面(RDP)上的渗透测试技巧和防御
0x00 前言 在本文中,我们将讨论四种情况下的远程桌面渗透测试技巧方法.通过这种攻击方式,我们试图获取攻击者如何在不同情况下攻击目标系统,以及管理员在激活RDP服务时来抵御攻击时应采取哪些主要的 ...
- web渗透测试(上传漏洞)
一句话木马—— 一句话木马短小精悍,而且功能强大,隐蔽性非常好,在入侵中扮演着强大的作用. 黑客在注册信息的电子邮箱或者个人主页等插入类似如下代码: <%execute request(“val ...
- Web安全测试检查点
Web安全测试检查点 上传功能 1.绕过文件上传检查功能 2.上传文件大小和次数限制 注册功能 1.注册请求是否安全传输 2.注册时密码复杂度是否后台检验 3.激活链接测试 4.重复注册 5.批量注册 ...
- 初学者的API测试技巧
API(应用程序编程接口)测试是一种直接在API级别执行验证的软件测试.它是集成测试的一部分,它确认API是否满足测试人员对功能.可靠性.性能和安全性的期望.与UI测试不同,API测试是在没有GUI层 ...
- 分享一个.NET实现的简单高效WEB压力测试工具
在Linux下对Web进行压力测试的小工具有很多,比较出名的有AB.虽然AB可以运行在windows下,但对于想简单界面操作的朋友有点不太习惯.其实vs.net也提供压力测试功能但显然显得太重了,在测 ...
- 最佳的 14 个免费的响应式 Web 设计测试工具
一旦你决定要搭建一个网站就应该已经制定了设计标准.你认为下一步该做什么呢?测试!我使用“测试”这个词来检测你网站对不同屏幕和浏览器尺寸的响应情况.测试在响应式网页设计的过程中是很重要的一步.如果你明白 ...
- JDK和Tomcat环境变量,以及用MyEclipse新建Web Project测试Tomcat Server
[请尊重原创版权,如需引用,请注明来源及地址] 在此之前一直用的Eclipse挺顺手的,今天突然想换MyEclipse试试,不知安装MyEclipse的时候我选错了什么选项,反正JDK和Tomcat的 ...
- 实验七 Web应用测试
实验目的 (1) 了解Web应用测试的特点 (2) 掌握SSH分层单元测试 实验内容 以下题目均在bookstore项目上完成(请先运行数据库文件): 1.编写单元测试用例,对 ...
- WEB压力测试
原文地址:WEB压力测试 作者:鸟哥のlinux webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统: ...
- 反向代理在Web渗透测试中的运用
在一次Web渗透测试中,目标是M国的一个Win+Apache+PHP+MYSQL的网站,独立服务器,对外仅开80端口,网站前端的业务系统比较简单,经过几天的测试也没有找到漏洞,甚至连XSS都没有发现, ...
随机推荐
- yolov5数据集制作 数据集分割+voc格式转txt格式代码
先上数据集分割代码 网上没找到合适的 自己写了一个 分割比例为0.6 :0.2 :0.2 import os import random oriImgDir = "./change14img ...
- Redux与前端表格施展“组合拳”,实现大屏展示应用的交互增强
Redux 是 JavaScript 状态容器,提供可预测化的状态管理.它可以用在 react.angular.vue 等项目中, 但与 react 配合使用更加方便一些. Redux 原理图如下,可 ...
- [cocos2d-x]用getContentSize()返回的值用CCLOG打印必须用%f
今天写代码,又遇到了一个bug,开始还以为是我自己哪写错了,没想到竟然在这里出错? 而width和height的类型是float类型,为什么必须用%d打印?接着我查看了一下源码: 如果没理解错的话,C ...
- 「Python实用秘技12」像导入模块一样导入ipynb文件
本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第12 ...
- 通过Terraform创建GCP Pubsub
1 简介 Terraform是管理许多平台的基础设施的工具,如AWS.GCP和Azure.这篇文章将讲解如何通过Terraform来管理GCP Pub/Sub. 创建GCP项目请参考:初始化一个GCP ...
- Python3+Selenium3自动化测试-(七)
在实际定位元素的过程中,发现有一种情况让人很是恼火,根据xpath路径定位,感觉像是没错哦,但是执行时就来一个报错信息--为什么呢? 多表单切换 例如我们登录网易邮箱时就会发现,定位登录框时,一个嵌套 ...
- 【学习笔记】QT从入门到实战完整版(基础控件)(4)
添加资源 将存有资源文件的文件夹放到工程目录中,如文件夹名称为 "Image",里面有 Luffy.png 文件. 在 Qt Creator 中右击工程选择[添加新文件]. 在弹出 ...
- Grafana 系列文章(七):Grafana Explore 中的 Tracing
️URL: https://grafana.com/docs/grafana/latest/explore/trace-integration/ Description: Tracing in Exp ...
- Django-Ajax、form组件
1.Ajax 1.AJAX:不是新的编程语言,而是一种使用现有标准的新方法,我们目前学习的是jQuery版本.特点:异步提交,局部刷新. 2.AJAX 最大的优点是在不重新加载整个页面的情况下,可以与 ...
- 嵌入式Linux—文件IO
文件IO 在 Linux 系统中,一切都是" 文件":普通文件.驱动程序.网络通信等等.所有的操作,都是通过"文件 IO"来进行的.所以,很有必要掌握文件操作的 ...