WEB应用测试技巧
1 静态页面
1.1 静态文字
1、 检查一个页面或者一组中多个页面的字体、size、颜色、位置等因素是否符合需求;
2、 检查页面文字图标的间距、行距是否统一,对齐方式是否统一;
3、 静态文字的含义是否符号需求;
4、 静态文字中是否存在拼写错误;
5、 国际化 和是否乱码显示
1.2 图片
1、 检查图片的尺寸、位置是否符合需求;
2、 对广告图片的点击是否正常,点击后给出的页面是否正确;
3、 页面上具有相同意义的图标应保持一致;
4、 对于链接其他网站的图片,无法显示时是否有容错性处理;
5、 失真
6、 Url地址失效
1.3 链接
1、 对广告图片的点击是否正常,点击后给出的页面是否正确;
2、 检查页面链接是否可正常点击,点击后链接到的位置是否正确;
3、 链接点击后是否正常的发生颜色变化(若特殊处理也需要相应的检查);
4、 链接的打开方式是否合理(在当前窗口中打开、打开新窗口),是否符合产品设计;
1.4 页面显示
1、 调整页面大小,检验页面的布局是否被压缩,重叠,覆盖等;
2、 对需要屏蔽的页面检查是否有效屏蔽,对只能打开一个的功能页面,检查是否被打开了多个;
3、 检查不可调整大小的页面是否可调整页面大小;
4、 检查需要滚动条的页面是否提供的滚动条,并可有效滑动;
5、 对页面中影响到光标位置或者阴影等特效效果位置的操作,需要检验操作的正确性和效果的合理性;
6、 页面被内容拉长,拉宽后,检查页面的文字是否还能正确显示,对齐方式,格式都保持一致、正常;
7、 对外文(日文、韩文)和繁体的显示,需要支持,不允许出现乱码;
8、 页面中的tab翻页可以正常切换、支持tab按键切换的要检验使用的正确性。多个tab页面间的数据交换更新要检验正确性;
9、 页面推荐的内容要保证有结果,可以正常使用
2 逻辑测试
2.1 表单元素
2.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:检查确认信息;检查是否有其他键执行同样功能;检测是否能能够正确处理;
2.1.2 单行文本框
1、 检查输入框的可输入长度限制是否有效,考虑汉字和字符的长度转换关系,反复验证;
2、 输入框对特殊字符的判断主要检查(~!@#$%^&*()_+|【】『』[]{};’:”,.<>?/!◎#¥%……※()——+§)等符号的过滤;
3、 不允许输入数字的输入框需要检查对数字的过滤(123456789);
4、 检查对html tag的过滤;
5、 检查对全角空格,半角空格的过滤;
6、 根据输入框的具体要求检查需要过滤的内容,例如数字输入框不能输入字母和汉字、英文输入框不能输入汉字和数字等等;
7、 数字输入框需要检查是否有输入数字的大小限制、小数点后数位的个数、负数,具体情况可疑根据输入数字的特征进行检验,例如整数输入框不可以输入浮点数、正整数输入框不能输入负数等等;
8、 对有特殊分界作用或者其他意义的符号,检查有效性。检查冗余的此类符号的冗余处理;
9、 对可输入空格或者字符的输入框,需要检查多余空格、字符等冗余数据的输入限制;
10、 数字输入框需要检查输入正数、负数、零、小数点、特殊字符加数字、字母加数字、ASCII码、重复值、空值的输入情况,具体处理按需求规定;
11、 字符输入框需要检查仅有字母、仅有数字、字母加数字、允许的特殊字符、禁止的特殊字符、包含特殊字符的字母数字、ASCII码等。具体处理按需求规定;
12、 对输入字母的输入框检查字母、数字、字母加数字、特殊字符、ASCII码。具体处理按需求规定;
13、 对时间类型的输入框检查?和/,检查特殊字符、字母数字;检查规定的正确格式时间、错误格式时间、错误的日期数字,错误的时间数字、正确地时间数字。如果存在日历表,检查正确性。具体处理按需求规定;
14、 检查标注为必填信息的输入框,不输入数据时是否按照产品设计要求给出提示信息,对于标注未非必填项的输入框,不输入数据时是否可以正常提交表单;
15、 对用户可编辑可输入的功能点,需要进行临界测试
16、 对用户可编辑可输入的功能点,需要进行越界容错测试
2.1.3 多行文本框
1、 文本输入框需要过滤html tag标签;
2、 文本输入框需要检查长度限制是否准确。并考虑汉字和字母数字所占用的长度折算关系检验长度限制;
3、 文本输入框检验需求规定要求过滤的特殊字符;
4、 对于粘贴的文字数量超过限制的容错处理;
5、 对用户可编辑可输入的功能点,需要进行临界测试
6、 对用户可编辑可输入的功能点,需要进行越界容错测试
2.1.4 单选框/复选框/下拉选框
1、 复选框需要根据单选和多选的限制进行选择。单选的进行多选验证或者空选,多选的如果有选择数量限制,则需要考虑空选和超出限制的选择验证
2、 对于动态的复选框,在新增了内容后可以及时的反应到页面上提供选择。同理对于删除的选项页需要及时的反应到页面不可见或者不可选。
3、 对于选择多个数据进行后续操作的复选形式,需要检查多选后的数据数量是否正确。检查空选的容错处理。
4、 对下拉方式的选择,检查选中后在输入框内出现的内容是否和checkbox中的内容一致
5、 下拉选框的候选内容为空时的,需要的容错处理
6、 对所有候选内容动态变化的选框,需要检查相应的动作后,候选内容的变化
2.1.5 翻页
1、 检查翻页是否正常,检查分页是否正确,检查每一页显示的数据项、数据数量是否正确;
2、 修改浏览器地址栏的翻页参数,检查参数在页码合法范围内时,是否正确跳转;检查参数超出页码合法范围时,是否有容错性处理;
3、
2.1.6 确认/取消
1、 检查确认/取消的相应操作是否符合产品设计需求;
2、 对提交部分的测试,需要检验多次连续点击提交、取消等按钮,检验是否可以正确处理
2.1.7 登录/退出
1、 对于登录注册页面的测试需要考虑每个输入点的正确性、容错性以及对空输入的处理情况
2、 对于登录/退出操作,需检查是否正确保存或清除cookie信息;
3、 登录操作,对于选择不同的cookie生存周期,需分别检查是否正确;
2.2 表单种类
2.2.1 单一表单
2.2.1.1 数据的一致性
1、 检查表单中显示的数据项(下拉文本框、文本框等)内容是否与数据库中存储的信息一致;
2、 修改数据项内容后,检查表单显示的内容是否改变,显示是否正确;
3、 对页面的url进行参数修改,是否可以正常处理。单一逐个修改,组合修改检查是否可以正确处理。
2.2.1.2 表单数据项记忆保留
4、 检查表单中数据项是否有记忆保留功能,对于已经提交的数据是否能正确显示;
5、 对于提交页面连接超时时,需要给出合理的文字提示。对不能连接或者出现异常的页面也要给出合理提示。
2.2.2 多表单
1、 关联型表单的基本类型有:
(1) 表单A—>表单B
(2) 表单A—>表单B—>表单A
(3) 表单A—>表单C & 表单B—>表单C
2、 检查关联型表单的各条路径是否符合产品,各路径通畅;
3、 检查表单间数据传递是否正确
(1) 表单间数据传递如果是显示方式,通过URL传递的数据检查是否正确;
(2) 对于显示传递方式,手工修改URL传递的数据,检查是否有容错处理;
(3) 表单间数据传递如果是隐式方式,通过后续表单显示的数据项内容检查是否正确;
4、 多表单间数据传递时,检查如果会中间步骤中断,是否有容错处理,是否能保证数据在数据库中的唯一性;
5、 检查直接访问中间表单的URL时,是否限制访问,做出了相应的容错性处理,保证路径顺序的完备性;
6、 对连续页面功能操作测试时,需要考虑浏览器上刷新、回退、前进按钮的影响。在登录、密码输入校验等不可逆的位置,应对回退前进进行适当处理,需要检验
7、 对存在与多个页面的功能需要统一的结果界面时,需要检验不同的触发点得到的结果页面是否一致
8、 提交写数据的事务性测试,对于分段提交的数据,当数据的录入不完整时,如缺少某一段或多段数据,检查是否有容错性处理;
2.3 功能测试
功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。常用的测试方法如下:
2.3.1 页面链接检查
1、 每一个链接是否都有对应的页面,并且页面之间切换正确;
2.3.2 相关性检查
2、 删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确;
2.3.3 检查按钮的功能是否正确
3、 检查update, cancel, delete, SAve等功能是否正确;
2.3.4 字符串长度检查
4、 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度,会不会出错;
2.3.5 字符类型检查
5、 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错;
2.3.6 标点符号检查
6、 输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是否正确;
2.3.7 中文字符处理
7、 在可以输入中文的系统输入中文,看会否出现乱码或出错;
2.3.8 检查带出信息的完整性
8、 在查看信息和update信息时,查看所填写的信息是不是全部带出.,带出信息和添加的是否一致;
2.3.9 信息重复性检查
9、 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理;
2.3.10 检查删除功能
10、 在一些可以一次删除多个信息的地方,不选择任何信息,按”delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理;
2.3.11 检查添加和修改是否一致
11、 检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型;
2.3.12 检查修改重名
12、 修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注意,会不会报和自己重名的错;
2.3.13 重复提交表单
13、 一条已经成功提交的纪录,点击back后再提交,看看系统是否做了处理;
2.3.14 检查多次使用back键的情况
14、 在有back的地方,back回到原来页面,再back,重复多次,看会否出错;同样的重复手工刷新页面(按F5),检查页面显示是否正常;
2.3.15 search检查
15、 在有search功能的地方输入系统存在和不存在的内容,看search结果是否正确.如果可以输入多个search条件,可以同时添加合理和不合理的条件,看系统处理是否正确;
2.3.16 输入信息位置
16、 注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方;
2.3.17 上传下载文件检查
17、 上传下载文件的功能是否实现,上传文件是否能打开。对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到;
18、 对于上传文件的文件名是否有容错处理,如文件名中包含空格等特殊字符,需考虑上传文件名的各种情况;
2.3.18 必填项检查
19、 应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加* 等提示信息;
2.3.19 快捷键检查
20、 是否支持常用快捷键,如Ctrl+C Ctrl+V Backspace等,对一些不允许输入信息的字段,如选入,选日期对快捷方式是否也做了限制;
2.3.20 多窗口并发操作
21、 同时开两个或多个窗口测试互斥和并发操作,检查各窗口数据显示、各种操作是否正常;
2.4 数据交互
2.4.1 动态数据显示
1、 动态文字随着场景的变化是否正确,符合需求规定;
2、 动态文字的显示字体、颜色、间距、size、显示位置是否一致,并符合需求规定;
3、 动态文字显示的内容,依据不同要求变化,要求和文字内容的对应是否符合需求规定;
4、 动态文字的显示方式,显示次数,循环方式、显示条件都要符合需求规定;
5、 动态文字含义是否符合需求;
6、 动态文字是否存在拼写错误;
7、 动态显示的相关内容包括文字,图片要符合逻辑关系,不能出现不对应,不匹配的现象;
8、 对于提示文字,需注意提示的显示方式(在当前页面显示、弹出式对话框)是否符合产品需求,提示语言是否符合产品规定;
9、 对功能操作返回的数据结果数量,内容,特征进行抽样检查;
10、 提交写或者读数据失败时,例如,获取不到连接超时等,检查是否有相应的容错性处理;
2.4.2 数据更新方式
1、 更新方式包括即时更新和定期更新;即时更新方式分为主动即时更新和被动即时更新;
2、 对于被动即时更新方式的数据需考虑页面的稳定性,以及是页面性能;
3、 对于定期更新的数据,如果被更新数据与页面的其他数据相关,测试方法近似表单测试测试;如果被更新数据与页面其他数据无关联,测试方法近似即时更新方式;
2.5 数据同步
1、 涉及到多台服务器同步问题的产品,需要在更新后检验同步情况和效果;
3 技术
3.1 Cookie
1、 检查Cookie的时效性是否正确,对于永久cookie,检查是否永久有效;对于临时cookie,检查是否只在当前浏览器及派生的页面中有效,关闭浏览器即失效;
2、 检查是否存入指定域名的cookie信息;
3、 如果在 cookies 中保存了注册信息,请确认该 cookie能够正常工作而且已对这些信息已经加密。对cookie的安全机制进行测试。如果使用 cookie 来统计次数,需要验证次数累计正确。
4、 手工修改cookie信息,检查cookie是否失效;
5、 检查IE不同安全级别情况下cookie信息写入是否正确,对于安全级别设置为高或阻止所有cookie时,系统应能给出明确的提示信息;
3.2 Session
1、 Session存于服务器端,隐式传递数据,对于使用session传递数据的方式,需要通过显示的数据内容检查数据传递的正确性;
3.3 Java Script
1. 对于大量使用java Script的程序需考虑多版本IE 的兼容性测试;
2. 页面布局不被javacript语句破坏或者因为javacript页面无法显示;
3. javascript逻辑很多的情况可能会影响页面性能,要安排性能测试;
4. 浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java,、JavaScript、 ActiveX、 plug-ins或不同的HTML规格有不同的支持。例如,ActiveX是Microsoft的产品,是为Internet Explorer而设计的,JavaScript是Netscape的产品,Java是Sun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样;
3.4 浏览器
1、 测试前需要明确那些浏览器产品需要进行测试;
2、 对同一个浏览器产品的多个版本,在测试前确认那些需要进行测试;
3、 不同浏览器在不同windows环境下进行测试,是否需要测试提前确认;
4、 如果产品中嵌入了其他windows产品,需要检验不同版本的使用情况,具体需求需要提前确认;