web端测试总结

1、数值型输入框:

条件:demcial(x,y) ,界面显示小数点到y位
通常要检查以下几点:
(1)边界值:最大值、最小值、最大值+1、最小值-1 
(2)位数:最小位数、最大位数、最小位数-1最大位数+1、输入超长数值、输入整数(负整数、正整数、0) 
(3)空格检查:中文空格、英文空格、输入空白(NULL)
(4)特殊字符:"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符  ——  禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交
(5)复制粘贴:word中的特殊功能,通过剪贴板拷贝到输入框,分页符,分节符类似公式的上下标等、数值的特殊符号如∑,㏒,㏑,∏,+,-等
(6)正数值:输入正整数、正小数、正分数
(7)负数值:输入负整数、负小数、负分数
(8)小数点检查:输入的小数点多于一个、输入数字只有一个小数点,小数点左边>(x-y)个有效位、输入数字只有一个小数点,小数点右边>Y个有效位、输入数字只有一个小数点,小数位数小于<y个有效位、输入数字只有一个小数点,小数位数=y个有效位
(9)输入字母或汉字
(10)首位为0的整数:首位为0的整数如01、02
(11)科学计数法检查:科学计数法是否支持1.0E2
(12)混合输入:全角数字与半角数字、数字与字母混合、16进制,8进制数值、货币型输入(允许小数点后面几位)
(13)末位为0的整数:末位为0的整数如10,20,30
(14)末位为0的小数:末位为0的小数如1.10,1.200
(15)安全性检查:不能直接输入就copy
 回车键检查:在输入结果后,直接按回车键,看系统如何处理,是否会报错
 
2、普通文本输入框(textfield):
(1)空格检查:输入为空白或中英文空格(输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格)
(2)边界值:最大值、最小值、最大值+1、最小值-1 、输入超长字符比如把整个文章拷贝过去)
(3)输入字母或汉字或数字
(4)特殊字符:"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符  ——  禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交
(5)安全性检查:输入特殊字符串(null,NULL, ,javascript,<script>,</script>,<title>,<html>,<td>,\n)、输入脚本函数(<script>alert("abc")</script>)、doucment.write("abc")、<b>hello</b>),不能直接输入就copy,测试文本框能否执行
(6)特殊数字的判定:如输入"10101010"二进制字符系统的判断与报错
 回车键检查:在输入结果后,直接按回车键,看系统如何处理,是否会报错
 
3、字符型输入框:
(1)字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”——【特别要注意单引号和&符号,禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入】
(2)长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超长字符比如把整个文章拷贝过去
(3)空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格
(4)多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示)
(5)安全性检查:输入特殊字符串(null,NULL, ,javascript,<script>,</script>,<title>,<html>,<td>)、输入脚本函数(<script>alert("abc")</script>)、doucment.write("abc")、<b>hello</b>)
 回车键检查:在输入结果后,直接按回车键,看系统如何处理,是否会报错
 
4、搜索框输入框:
 条件:输入标题和内容中的关键词,如果有匹配的就显示出结果,没有匹配就不显示,允许输入任意字符
通常要检查以下几点:
(1)空格检查:输入为空白或中英文空格(输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格)
(2)长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超长字符比如把整个文章拷贝过去(如果有的话)
(3)特殊字符:"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符  ——  禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交
(4)存在的数据:输入存在的搜索内容
(5)不存在的数据:输入不存在的搜索内容
(6)输入字母或汉字或数字
 回车键检查:在输入结果后,直接按回车键,看系统如何处理,是否会报错
如有必要再测以下几点:
1、在输入框处双击鼠标是否出现下拉菜单记忆已搜索过的内容
2、在输入框单击鼠标左键,是否有光标出现
3、在输入框单击鼠标左键,是否有光标出现,光标出现后使用"Tab"键后,"搜索"按钮是否出现选定TIP
4、在输入框点击鼠标右键是否出现Menu,Menu内容依次为"撤消"、"复制"、"粘贴"、"删除"、"全选"(具体情况视实际情况而定)
5、检查以上Menu出现的选择模块是否可正常使用
6、在输入框输入任意长度字母、数字、汉字,双击鼠标左键,观察输入项目能否被全部选中
7、输入正则表达式
8、用快捷键或鼠标粘贴内容看,测试搜索框是否能执行
 
5、多行文本框(textview):
(1)允许回车换行
(2)保存后再显示能够保存输入的格式和内容
(3)仅输入回车换行,检查能否正确保存(若能,检查保存结果;若不能,查看是否有正常提示)
(4)输入类型:可输入的类型(汉字、字母、数字)
(5)长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超工字符比如把整个文章拷贝过去。
(6)空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格
(7)字符型:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”   【特别要注意单引号和&符号,禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入】
(8)安全性检查:输入特殊字符串(null,NULL, ,javascript,<script>,</script>,<title>,<html>,<td>)、输入脚本函数(<script>alert("abc")</script>)、doucment.write("abc")、<b>hello</b>)
 回车键检查:在输入结果后,直接按回车键,看系统如何处理,是否会报错
 
 6、日期型输入框:
(1)合法性检查:(输入0日、1日、32日)、月输入[1、3、5、7、8、10、12]、日输入[31]、月输入[4、6、9、11]、日输入[30][31]、输入非闰年,月输入[2],日期输入[28、29]、输入闰年,月输入[2]、日期输入[29、30]、月输入[0、1、12、13]
(2)异常值、特殊字符:输入空白或NULL、输入~!@#¥%……&*(){}[]等可能导致系统错误的字符
(3)安全性检查:不能直接输入就copy,是否数据检验出错?
(4)信息重复:在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错。【重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理】
 回车键检查:在输入结果后,直接按回车键,看系统如何处理,是否会报错
 
若查询条件为输入框,则参考输入框对应类型的测试方法
查询:
 
1、功能实现:
(1)如果支持模糊查询,搜索名称中任意一个字符是否能搜索到
(2)比较长的名称是否能查到
(3)输入系统中不存在的与之匹配的条件
(4)用户进行查询操作时,一般情况是不进行查询条件的清空,除非需求特殊说明
(5)输入系统主存在的与之匹配的条件
(6)查询条件输入为空,系统中如何处理
(7)查询条件是否有重置功能
2、组合测试:
(1)不同查询条件之间来回选择,是否出现页面错误(单选框和多选框最容易出错)
(2)测试多个查询条件时,要注意查询条件的组合测试,可能不同组合的测试会报错。
3、特殊键:1)是否支持Tab键  2)是否支持回车键
4、提示信息:不符合要求的地方是否有错误提示
 
 7、某功能模块的增删改查
如:某一功能模块具有最基本的增删改查功能,则需要进行以下测试:
单项功能测试(增加、修改、查询、删除)
增加——>增加——>增加 (连续增加测试)
增加——>删除
增加——>删除——>增加 (新增加的内容与删除内容一致)
增加——>修改——>删除
修改——>修改——>修改 (连续修改测试)
修改——>增加(新增加的内容与修改前内容一致)
修改——>删除
修改——>删除——>增加 (新增加的内容与删除内容一致)
删除——>删除——>删除 (连续删除测试)
 
考虑的测试点:
新增:
0)新增,是否可以正常跳转正确的页面;正确跳转后,页面展示是否符合设计
1)进行必填项检查(即是否给出提示以及提示后是否依然把数据存到数据库中;是否提示后出现页码错乱等)
2)是否能够连续添加(针对特殊情况)
3)新增提交:提交数据时,连续多次点击,查看系统会不会连续增加几条相同的数据或报错
4)唯一性:字段唯一的,是否可以重复添加(字段包括区分大小写以及在输入的内容前后输入空格,保存后,数据是否真的插入到数据库中,注意保存后数据的正确性)
5)提示信息:不符合要求的地方是否有错误提示
6)特殊键:1)是否支持Tab键  2)是否支持回车键
 
修改:
0)修改,是否可以正常跳转正确的页面;正确跳转后,页面展示是否符合设计
1)对编辑页的每个编辑项进行修改,点击保存,是否可以保存成功,检查相关联的数据是否得到更新
2)在编辑的时候,注意编辑项的长度限制,有时在添加的时候有,在编辑的时候却没有(注意要添加和修改规则是否一致)
3)对于有图片上传功能的编辑框,若不上传图片,查看编辑页面时是否显示有默认的图片,若上传图片,查看是否显示为上传图片
4)修改数据后,特别要注意查询页面的数据是否及时更新,特别是在首页时要注意数据的更新
5)若结果列表中没有记录或者没选择某条记录,点击修改按钮,系统会否抛异常
6)唯一性:字段唯一的,是否可以重复添加,添加后是否能修改为已存在的字段(字段包括区分大小写以及在输入的内容前后输入空格,保存后,数据是否真的插入到数据库中,注意保存后数据的正确性)
7)如有多选或全选按钮,是否可以多选或全选进行修改操作,如不能,是否有提示
8)提示信息:不符合要求的地方是否有错误提示
9)特殊键:1)是否支持Tab键  2)是否支持回车键
 
删除:
 1)如果结果列表中没有记录或没有选择任何一条记录,点击删除按钮,是否有提示
 2)删除某条信息时,应该有确认提示
 3)是否能连续删除多条数据
 4)当只有一条数据时,是否可以删除成功
 5)删除一条数据后,是否可以添加相同的数据
 6)如系统支持批量删除,注意删除的信息是否正确
 7)如有全选,注意是否把所有的数据删除
 8)删除数据时,要注意相应查询页面的数据是否及时更新
 9)如删除的数据与其他业务数据关联,要注意其关联性,若可删除,其他业务数据是否更新为清空
10)如删除的数据与其他业务数据关联展示,要判断其关联展示能否进行删除
11)特殊键:1)是否支持Tab键  2)是否支持回车键
 
查询:
1、功能实现:
(1)如果支持模糊查询,搜索名称中任意一个字符是否能搜索到
(2)比较长的名称是否能查到
(3)输入系统中不存在的与之匹配的条件
(4)用户进行查询操作时,一般情况是不进行查询条件的清空,除非需求特殊说明
(5)输入系统主存在的与之匹配的条件
(6)查询条件输入为空,系统中如何处理
(7)查询条件是否有重置功能
2、组合测试:
(1)不同查询条件之间来回选择,是否出现页面错误(单选框和多选框最容易出错)
(2)测试多个查询条件时,要注意查询条件的组合测试,可能不同组合的测试会报错。
3、特殊键:1)是否支持Tab键  2)是否支持回车键
4、提示信息:不符合要求的地方是否有错误提示
 
8、注册模块:
(1)注册时,设置密码为特殊版本号,检查登录时是否会报错
(2)注册成功后,页面应该以登陆状态跳转到首页或指定页面
(3)在注册信息中删除已输入的信息,检查是否可以注册成功
(4)进行必填项检查(即是否给出提示以及提示后是否依然把数据存到数据库中;是否提示后出现页码错乱等)
(5)注册时,用户名密码输入类型检查
(6)注册时,用户名密码长度检查(最小长度、最大长度、最小长度-1、最大长度+1)
(7)注册时,用户名密码为空/空格检查
(8)注册时,用户名密码特殊字符检查
(9)注册时,用户名密码非法数据检查
(10)注册时,用户名密码正常输入,能否注册成功
(11)快速重复点击注册按钮多次,系统会否报错
(12)不同电脑端:a电脑登录,然后复制网址,然后b电脑打开这个网址,能否访问,如不能访问,是否有提示
 
9、登陆模块:
(1)正确的用户名、密码
(2)正确的用户名、错误的密码
(3)错误的用户名、正确的密码
(4)错误的用户名、密码
(5)用户名、密码都为空格
(6)用户名为空格、密码不为空格
(7)用户名不为空格、密码为空格
(8)用户名、密码都为空
(9)用户名为空,密码不为空
(10)用户名不为空、密码为空
(11)正确的用户名、密码,但是不区分大小写
(12)用户名和密码包含特殊字符
(13)用户名和密码输入超长值
(14)已删除的用户名和密码,能否登录
(15)不同电脑端登录:a电脑登录,然后复制网址 (地址中可能包括 你的登录后的信息 cookie之类的),然后b电脑打开这个网址,能否登录访问,如不能访问,是否有提示
(16)未注册的用户名和密码
(17)复制粘贴正确的用户名、密码
(18)快速重复点击登陆按钮多次,系统会否报错
(19)登录时,当页面刷新或重新输入数据时,验证码是否更新(有验证码情况)
(20)安全性检查:输入特殊字符串(null,NULL, ,javascript,<script>,</script>,<title>,<html>,<td>)、输入脚本函数(<script>alert("abc")</script>)、doucment.write("abc")、<b>hello</b>)
(21)是否支持多地登录,如果不支持,是否有提示
(22)登录成功后,能否正常跳转指定的页面
(23)浏览器安F12查看密码是明文还是加密后发送在请求中
 
10、某功能模块的刷新、导出、文件下载功能
文件下载:
0)选择结果列表中某个文件,点击下载,是否可以正常下载
1)如果结果列表中没有记录或没有选择任何一条记录,点击下载按钮,是否有提示
2)如有多选或全选按钮,是否可以多选或全选进行下载操作,如不能,是否有提示
3)下载文件后,检查下载路径是否有下载的文件,下载文件对不对
4)下载方式是否正确
5)下载文件后,查看下载文件是否保存成功
 
刷新:
0)在Web系统中,使用刷新键,看系统如何处理,是否会报错
 
导出:
0)如果结果列表中没有记录或没有选择任何一条记录,直接点击导出按钮,是否有提示
1)结果列表中有记录,未选择条件,点击导出按钮,是否导出成功,导出的数据和结果列表是否一致
2)结果列表中有记录,选择条件,点击导出按钮,是否导出成功,导出的数据和结果列表是否一致
3)结果列表中有记录,点击导出按钮,导出的数据<=1万,是否可以正常导出,系统会否抛错
4)结果列表中有记录,点击导出按钮,导出的数据>万,是否可以正常导出,系统会否抛错
 
11、某功能模块的第一页、上一页、下一页、最后一页功能
 第一页:
1)当前数据页面在第一页时,上一页和第一页的按钮是否需要置灰,可否点击
2)当前页面不在第一页且当前的数据页数大1页时,上一页和第一页的按钮能否正常显示,可否点击
上一页:
1)当前数据页面在第一页时,上一页和第一页的按钮是否需要置灰,可否点击
2)当前页面不在第一页时,上一页和第一页的按钮能否正常显示,可否点击
下一页:
1)当前数据页面在最后一页时,下一页和最后一页的按钮是否需要置灰,可否点击
2)当前页面不在最后一页且当前的页数大于1页时,下一页和最后一页的按钮能否正常显示,可否点击
最后一页:
1)当前数据页面在最后一页时,下一页和最后一页的按钮是否需要置灰,可否点击
2)当前页面不在最后一页且当前数据的页数大于1页时,下一页和最后一页的按钮能否正常显示,可否点击
 
12、查询结果列表
(1)列表、列宽是否合理
(2)列表数据太宽有没有提供横向滚动
(3)列表的列名有没有与内容对应
(4)列表的每列的列名是否描述的清晰
(5)列表是否把不必要的列都显示出来
(6)点击某列进行排序,是否会报错(点击查看每一页的排序是否正确)
(7)双击或单击某列信息,是否会报错
(8)一条已经成功提交的记录,返回后再提交,是否做了处理
(9)检查多次使用返回键的情况,在有返回键的地方,返回到原来的页面多次,查看是否会出错
 
13、文件上传
文件上传-命名检查:
1)符合命名规范、文件类型大小都合适的文件上传
2)不符合命名规范、文件类型大小都合适的文件上传
3)符合命名长度规范、文件类型大小都合适的文件上传
4)不符合命名长度规范、文件类型大小都合适的文件上传

5)文件命名长度的名称过长。

6)文件命名长度的名称达到最大长度(中文,英文或混在一起)上传后名称显示,页面排版-----------页面显示正常

7)文件名称中包含特殊字符-------------根据需求而定

8)文件名称全为中文--------------------根据需求而定

9)文件名称全为英文--------------------根据需求而定

10)文件名称为中、英混合-----------------根据需求而定

文件上传-文件路径检查:
1)文件类型大小都合适,手动输入正确且不存在的文件路径上传
2)文件类型大小都合适,手动输入错误的文件路径上传
3)文件类型大小都合适,手动输入正确且存在的文件路径上传
4)选择自动带出来的文件路径上传
5)按F12篡改成正确的文件路径上传
6)按F12篡改成错误的文件路径上传
 
文件上传-文件名称、内容检查:
1)文件类型大小都合适,手动输入正确且不存在的文件名称上传
2)文件类型大小都合适,手动输入错误的文件名称上传
3)文件类型大小都合适,手动输入正确且存在的文件名称上传
4)文件类型大小都合适,文件内容相同,名称不同的文件上传
5)文件类型大小都合适,文件内容不同,名称相同的文件上传

6)文件类型大小都合适视频,文件内容相同,名称相同,上传

7)文件类型大小都合适,文件内容不同,名称不同,上传

 
 文件上传-文件类型检查:
1)符合文件类型、大小合适的文件上传
2)不符合文件类型、大小合适的文件上传
 
文件上传-文件大小检查:
1)符合文件类型、大小<=限制大小的文件上传
2)符合文件类型、大小>限制大小的文件上传
3)文件上传时,存储空间已满
4)文件大小超过存储剩余空间
 
文件上传-其它功能检查:
1)修改选择但未上传的文件,能否上传
2)文件类型和大小都合适,选择一个打开的文件,能否上传
3)文件类型和大小都合适,上传一个正在使用中的文件上传
4)不选择文件直接点击上传,查看是否给出提示
5)连续多次选择不同的文件,查看是否上传最后一次选择的文件
6)选择符合要求的文件上传
7)上传成功的文件、名称显示----------显示正常(根据需求)
8)查看,下载上传成功的文件--------上传的图片可查看或下载(根据需求)
9)删除上传成功的文件-------------可删除(根据需求)
10)替换上传成功的文件-------------可替换(根据需求)
11)上传文件是否支持中文名称--------根据需求而定
 
14、业务流程测试(主要功能测试),一般这种情况都需要造测试数据进行模拟
业务流程,一般会涉及到多个模块的数据,所以在对业务流程测试时,首先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进行测试,这往往是容易出现问题的地方,测试时一定要设计不同的数据进行测试。
 
15、返回键检查

1)一条已经成功提交的记录,返回后再提交,是否做了处理

2)检查多次使用返回键的情况,在有返回键的地方,返回到原来的页面多次,查看是否会出错

16、直接URL链接检查
1)在Web系统中,在地址栏直接输入各个功能页面的URL地址,看系统如何处理,是否能够直接链接查看(匿名查看),是否有权限控制,是否直接执行,并返回相应结果页
 

网站测试的主要方面

1 功能测试(包含基本功能测试和数据准确性校验)

对于网站的测试而言,每一个独立的功能模块需要单独的测试用例的设计导出,主要依据为《需求规格说明书》及《详细设计说明书》,对于应用程序模块需要设计者提供基本路径测试法的测试用例。

B/S结构实现的功能可能主要的就在于提交数据,处理数据等,如果有固定的操作流程可以考虑自动化测试工具的录制功能,编写可重复使用的脚本代码,可以在测试、回归测试时运行以便减轻测试人员工作量。

  • 链接测试(根据需求是否需要指导用户使用)
 链接是web应用系统的一个很重要的特征,主要是用于页面之间切换跳转,指导用户去一些不知道地址的页面的主要手段,链接测试一般关注三点:
(1)链接是否按照既定指示那样,确实链接到了该链接的界面
(2)测试该链接所链接的页面是否真的存在
(3)保证系统中没有单独存在的页面(即没有链接指向,只能通过正确的URL地址才能访问)
 链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成,也就是说,在整个Web应用系统的所有页面开发完成之后进行链接测试。
 Xenu------主要测试链接的正确性的工具,可惜的是对于动态生成的页面的测试会出现一些错误。
  • 表单测试

1)当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。

例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。

如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。

2)要测试这些程序,需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用这些信息。

3)B/S结构实现的功能可能主要的就在这里,提交数据,处理数据等如果有固定的操作流程可以考虑自动化测试工具的录制功能,编写可重复使用的脚本代码,可以在测试、回归测试时运行以便减轻测试人员工作量。

4)我们对UM子系统中各个功能模块中的各项功能进行逐一的测试,主要测试方法为:边界值测试、等价类测试,以及异常类测试。测试中要保证每种类型都有2个以上的典型数值的输入,以确保测试输入的全面性。

  • cookie测试(如果web应用系统使用cookie)
1)Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。
2)如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作而且对这些信息已经加密。如果使用 cookie 来统计次数,需要验证次数累计正确。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。
  • 设计语言测试

1)Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的HTML等。

2)当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。

3)除了HTML的版本问题外,不同的脚本语言,例如Java、JavaScript、 ActiveX、VBScript或Perl等也要进行验证。

  • 数据库测试

1)在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。

在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。

2)在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。

数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。

 
2 安全性测试(转)
1)SQL注入(比如登陆页面)
2)XSS跨网站脚本攻击:程序或数据库没有对一些特殊字符进行过滤或处理,导致用户所输入的一些破坏性的脚本语句能够直接写进数据库中,浏览器会直接执行这些脚本语句,破坏网站的正常显示,或网站用户的信息被盗,构造脚本语句时,要保证脚本的完整性。
  document.write("abc")
  <script>alter("abc")</script>
3)URL地址后面随便输入一些符号,并尽量是动态参数靠后
4)验证码更新问题
5)现在的Web应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。
6)Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。
7)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
8)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。
9)服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
 
3 界面测试和易用性测试
1)界面测试

主要包括以下几个方面的内容:

(1)站点地图和导航条: 位置是否合理、是否可以导航等内容布局--布局是否合理;简介说明--说明文字是否合理,位置是否正确

(2)背景/色调: 是否正确、美观,是否符合用户需求

(3)页面:在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正确);表单样式--大小,格式,是否对提交数据进行验证(如果在页面部分进行验证的话)等

(4)连接: 连接的形式、位置是否易于理解等

web测试的主要页面元素:

(1)页面元素的容错性列表(如输入框、时间列表或日历)

(2)页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框、复选框、列表框、超连接、输入框等等)

(3)页面元素的容错性是否存在

(4)页面元素的容错性是否正确

(5)页面元素基本功能是否实现(如文字特效、动画特效、按钮、超连接)

(6)页面元素的外形、摆放位置(如按钮、列表框、核选框、输入框、超连接等)

(7)页面元素是否显示正确(主要针对文字、图形、签章)

(8)元素是否显示(元素是否存在)

(9)页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框、复选框、列表框、超连接、输入框等等)

测试技术

1、通过页面走查,浏览确定使用的页面是否符合需求,可以结合兼容性测试对不用分辨率下页面显示效果,如果有影响应该交给设计人员提出解决方案。

2、可以结合数据定义文档查看表单项的内容,长度等信息。

3、对于动态生成的页面最好也能进行浏览查看。如Servelet部分可以结合编码规范,进行代码走查。是否支持中文,如果数据用XM,封装要做的工作会多一点等。

2)易用性测试

易用性测试七大要素:符合标准和规范,灵活性,正确性,直观性,舒适性,实用性,一致性

1、风格、样式、颜色是否协调

2、界面布局是否整齐、协调(保证全部显示出来的,尽量不要使用滚动条)
3、界面操作、标题描述是否恰当(描述有歧义、注意是否有错别字)
4、操作是否符合人们的常规习惯(有没有把相似的功能的控件放在一起,方便操作)
5、提示界面是否符合规范,有无中英文混合(不应该显示英文的cancel、ok,应该显示中文的确定、取消等)
6、界面中各个控件是否对齐,是否显示完整,间隔是否一致,是否有重叠区域
7、日期控件是否可编辑
8、日期控件的长度是否合理,以修改时可以把时间全部显示出来为准
9、查询结果列表列宽是否合理、标签描述是否合理
10、查询结果列表太宽没有横向滚动提示
11、对于信息比较长的文本,文本框有没有提供自动竖直滚动条
12、数据录入控件是否方便
13、有没有支持Tab键,键的顺序要有条理,不乱跳
14、有没有提供相关的热键
15、控件的提示语描述是否正确
16、模块调用是否统一,相同的模块是否调用同一个界面
17、用滚动条移动页面时,页面的控件是否显示正常
18、日期的正确格式应该是XXXX-XX-XX或XXXX-XX-XX XX:XX:XX
19、页面是否有多余按钮或标签
20、窗口标题或图标是否与菜单栏的统一
21、窗口的最大化、最小化是否能正确切换
22、对于正常的功能,用户可以不必阅读用户手册就能使用【控件名称易懂,用词准确,与同一界面上的其他按钮易于区分】
23、执行风险操作时,有确认、删除等提示吗
24、操作顺序是否合理
25、正确性检查:检查页面上的form, button, table, header, footer,提示信息,还有其他文字拼写,句子的语法等是否正确
26、系统应该在用户执行错误的操作之前提出警告,提示信息
27、页面分辨率检查,在各种分辨率浏览系统检查系统界面友好性
28、合理性检查:做delete, update, add, cancel, back等操作后,查看信息回到的页面是否合理
29、检查本地化是否通过:英文版不应该有中文信息,英文翻译准确,专业
30、控件字体和大小是否一致,有无错别字

4 兼容性测试
兼容性测试不只是指界面在不同操作系统或浏览器下的兼容,有些功能方面的测试,也要考虑到兼容性,
包括操作系统兼容和应用软件兼容,可能还包括硬件兼容,比如涉及到ajax、jquery、javascript等技术的,都要考虑到不同浏览器下的兼容性问题。
 

5 性能测试(转)

1、连接速度测试(连接速度测试指的是打开网页的响应速度测试)

用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。

当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒),用户就会因没有耐心等待而离开。

另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。

而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。

2、负载测试(负荷测试指的是进行一些边界数据的测试)——基本功能已经通过后进行的.可以在集成测试阶段,亦可以在系统测试阶段进行.

负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。

负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。

例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?

负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。对负载工具的延伸使用可以进行系统稳定性测试,系统极限测试。

因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。

3、压力测试(压力测试倾向应该是致使整个系统崩溃)——基本功能已经通过后进行的.可以在集成测试阶段,亦可以在系统测试阶段进行.

压力测试是指实际破坏一个Web应用系统,测试系统的反应。

压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。

如果有负载平衡的话还要在服务器端打开监测工具,查看服务器CPU使用率,内存占用情况

如果有必要可以模拟大量数据输入,对硬盘的影响等等信息

如果有必要的话必须进行性能优化(软硬件都可以).这里的压力测试针对的是某几项功能

黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存储权。

压力测试的区域包括表单、登陆和其他信息传输页面等。

备注:

1、负载/压力测试应该关注什么

测试需要验证系统能否在同一时间响应大量的用户,在用户传送大量数据的时候能否响应,系统能否长时间运行。

可访问性对用户来说是极其重要的。如果用户得到“系统忙”的信息,他们可能放弃,并转向竞争对手。

系统检测不仅要使用户能够正常访问站点,在很多情况下,可能会有黑客试图通过发送大量数据包来攻击服务器。

出于安全的原因,测试人员应该知道当系统过载时,需要采取哪些措施,而不是简单地提升系统性能。

1)瞬间访问高峰

如果您的站点用于公布彩票的抽奖结果,最好使系统在中奖号码公布后的一段时间内能够响应上百万的请求。

负载测试工具能够模拟X个用户同时访问测试站点。

2)每个用户传送大量数据
网上书店的多数用户可能只订购1-5书,但是大学书店可能会订购5000本有关心理学介绍的课本?
或者一个祖母为她的50个儿孙购买圣诞礼物(当然每个孩子都有自己的邮件地址)系统能处理单个用户的大量数据吗?

3)长时间的使用

如果站点用于处理鲜花订单,那么至少希望它在母亲节前的一周内能持续运行。如果站点提供基于web的email服务,那么点最好能持续运行几个月,甚至几年。
可能需要使用自动测试工具来完成这种类型的测试,因为很难通过手工完成这些测试。你可以想象组织100个人同时点击某个站点。
但是同时组织100000个人呢。通常,测试工具在第二次使用的时候,它创造的效益,就足以支付成本。
而且,测试工具安装完成之后,再次使用的时候,只要点击几下。

采用的测试工具:

性能测试可以采用相应的工具进行自动化测试,我们目前采用如下工具:

Apache自带的ab测试工具

OpenSTA—开发系统测试架构

Loadrunner—强大的性能测试工具

e-test、webload等

6 接口测试(转)

在很多情况下,web 站点不是孤立。Web 站点可能会与外部服务器通讯,请求数据、验证数据或提交订单。

7 回归测试

过一段时间以后,再回过头来对以前修复过的Bug重新进行测试,看该Bug 是否会重新出现。

回归测试技术可以在测试的各个阶段出现,无论是单元测试还是集成测试还是系统测试,是对以前问题进行验证的过程。

回归测试的目的就是保证以前已经修复的Bug不会再出现。

实际上,许多Bug都是在回归测试时发现的,在此阶段,我们首先要检查以前找到的Bug是否已经更正了。

值得注意的是,已经更正的Bug 也可能又回来了,有的Bug 经过修改之后可能又产生了新的Bug。

所以,回归测试可保证已更正的Bug不再重现,不产生新的Bug。


web端测试中应该注意的其他情况:

1、在测试时,与网络有关的步骤或者模块必须考虑到断网的情况
2、每个页面都有相应的Title,不能为空,或者显示“无标题页”
3、在测试的时候要考虑到页面出现滚动条时,滚动条上下滚动时,页面是否正常
4、URL不区分大小写,大小写不敏感
5、对于电子商务网站,当用户并发购买数量大于库存的数量时,系统如何处理
6、测试数据避免单纯输入“123”、“abc“之类的,让测试数据尽量接近实际
7、进行测试时,尽量不要用超级管理员进行测试,用新建的用户进行测试。测试人员尽量不要使用同一个用户进行测试
8、提示信息:提示信息是否完整、正确、详细
9、帮助信息:是否提供帮助信息,帮助信息的表现形式(页面文字、提示信息、帮助文件),帮助信息是否正确、详细
10、可扩展性:是否有升级的余地,是否保留了接口
11、稳定性:运行所需的软硬件配置,占用资源情况,出现问题时的容错性,对数据的保护
12、运行速度:运行的快慢,带宽占用情况
 

存在风险及解决方法

说明:测试不能找出所有的问题,只是尽量将问题在开发阶段解决大多数的问题而已。

测试风险如下:

1)软硬件的测试环境提供上也对测试结果有很大的影响

2)测试团队的水平,经验,合作效果等

3)整个开发流程对测试的重视程度,测试的进入时间等

4)由于测试环境操作系统,网络环境,带宽等情况可能产生的测试结果可能不同,这是需要经验以及对测试环境的保护等方面下一些功夫

 

【参考链接】http://www.cnblogs.com/Jessy/p/3539638.html

(如有不足,请指点。后续更新)

上一篇:C语言内存管理(转)


下一篇:深入理解C语言内存管理