第十九:Web端测试总结

一.数值型输入框

1.条件:demcial(x,y) ,界面显示小数点到y位
1.1.边界值:最大值、最小值、最大值+1、最小值-1 

1.2.位数:最小位数、最大位数、最小位数-1最大位数+1、输入超长数值、输入整数(负整数、正整数、01.3.空格检查:中文空格、英文空格、输入空白(NULL)

1.4.特殊字符:"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符
1.4.1.禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交

1.5.复制粘贴:word中的特殊功能,通过剪贴板拷贝到输入框,
1.5.1.分页符,分节符类似公式的上下标等、数值的特殊符号如∑,㏒,㏑,∏,+-1.6.正数值:输入正整数、正小数、正分数

1.7.负数值:输入负整数、负小数、负分数

1.8.小数点检查:输入的小数点多于一个、输入数字只有一个小数点
1.8.1.小数点左边>(x-y)个有效位、输入数字只有一个小数点
1.8.2.小数点右边>Y个有效位、输入数字只有一个小数点
1.8.3.小数位数小于<y个有效位、输入数字只有一个小数点,小数位数=y个有效位

1.9.输入字母或汉字

1.10.首位为0的整数:首位为0的整数如0102

1.11.科学计数法检查:科学计数法是否支持1.0E2

1.12.混合输入:全角数字与半角数字、数字与字母混合、16进制,8进制数值、货币型输入
(允许小数点后面几位)

1.13.末位为0的整数:末位为0的整数如102030

1.14.末位为0的小数:末位为0的小数如1.101.200

1.15.安全性检查:不能直接输入就copy

1.16.回车键检查:在输入结果后,直接按回车键,看系统如何处理,是否会报错

二.普通文本输入框(textfield)

1.空格检查:输入为空白或中英文空格
1.1.输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格

2.边界值:最大值、最小值、最大值+1、最小值-1 、输入超长字符比如把整个文章拷贝过

3.输入字母或汉字或数字

4.特殊字符:"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符 
4.1.禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交

5.安全性检查:输入特殊字符串
5.1.null,NULL, ,javascript,<script>,</script>,<title>,<html>,<td>,\n)
5.2.输入脚本函数(<script>alert("abc")</script>)、doucment.write("abc")
5.3.<b>hello</b>),不能直接输入就copy,测试文本框能否执行

6.特殊数字的判定:如输入"10101010"二进制字符系统的判断与报错

7.回车键检查:在输入结果后,直接按回车键,看系统如何处理,是否会报错

三.字符型输入框

1.字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&*[]{}1.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>6.回车键检查:在输入结果后,直接按回车键,看系统如何处理,是否会报错

四.搜索框输入框

1.条件:输入标题和内容中的关键词,如果有匹配的就显示出结果

1.1.没有匹配就不显示,允许输入任意字符
2.通常要检查以下几点
2.1.空格检查:输入为空白或中英文空格
2.1.1.输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格

2.2.长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超长字符比如把整个文章拷贝过去(如果有的话)

2.3.特殊字符:"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符
2.3.1.禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交

2.4.存在的数据:输入存在的搜索内容

2.5.不存在的数据:输入不存在的搜索内容

2.6.输入字母或汉字或数字

2.7.回车键检查:在输入结果后,直接按回车键,看系统如何处理,是否会报错
3.如有必要再测以下几点
3.1.在输入框处双击鼠标是否出现下拉菜单记忆已搜索过的内容

3.2.在输入框单击鼠标左键,是否有光标出现

3.3.在输入框单击鼠标左键,是否有光标出现,光标出现后使用"Tab"键后,"搜索"按钮是否出现选定TIP

3.4.在输入框点击鼠标右键是否出现Menu,Menu内容依次为"撤消""复制""粘贴""删除""全选"
(具体情况视实际情况而定)

3.5.检查以上Menu出现的选择模块是否可正常使用

3.6.在输入框输入任意长度字母、数字、汉字,双击鼠标左键,观察输入项目能否被全部选中

3.7.输入正则表达式

3.8.用快捷键或鼠标粘贴内容看,测试搜索框是否能执行

五.多行文本框(textview)

1.允许回车换行

2.保存后再显示能够保存输入的格式和内容

3.仅输入回车换行,检查能否正确保存
3.1.若能,检查保存结果;若不能,查看是否有正常提示

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>9.回车键检查:在输入结果后,直接按回车键,看系统如何处理,是否会报错

六.日期型输入框

1.合法性检查:(输入0日、1日、32)、月输入[135781012]、
日输入[31]、月输入[46911]、日输入[30][31]、输入非闰年,月输入[2],
日期输入[2829]、输入闰年,月输入[2]、日期输入[2930]、月输入[011213]

2.异常值、特殊字符:输入空白或NULL、输入~!@#¥%……&*(){}[]等可能导致系统错误的字符

3.安全性检查:不能直接输入就copy,是否数据检验出错?

4.信息重复:在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错
【重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理】

5.回车键检查:在输入结果后,直接按回车键,看系统如何处理,是否会报错
若查询条件为输入框,则参考输入框对应类型的测试方法
1、功能实现
1.1.如果支持模糊查询,搜索名称中任意一个字符是否能搜索到

1.2.比较长的名称是否能查到

1.3.输入系统中不存在的与之匹配的条件

1.4.用户进行查询操作时,一般情况是不进行查询条件的清空,除非需要特殊说明

1.5.输入系统主存在的与之匹配的条件

1.6.查询条件输入为空,系统中如何处理

1.7.查询条件是否有重置功能
2、组合测试
2.1.不同查询条件之间来回选择,是否出现页面错误(单选框和多选框最容易出错)

2.2.测试多个查询条件时,要注意查询条件的组合测试,可能不同组合的测试会报错
3、特殊键
3.1.是否支持Tab3.2.是否支持回车键
4、提示信息:不符合要求的地方是否有错误提示

七.某功能模块的增删改查

如:某一功能模块具有最基本的增删改查功能,则需要进行以下测试
1.单项功能测试(增加、修改、查询、删除)
2.增加——>增加——>增加 (连续增加测试)
3.增加——>删除
4.增加——>删除——>增加 (新增加的内容与删除内容一致)
5.增加——>修改——>删除
6.修改——>修改——>修改 (连续修改测试)
7.修改——>增加(新增加的内容与修改前内容一致)
8.修改——>删除
9.修改——>删除——>增加 (新增加的内容与删除内容一致)
10.删除——>删除——>删除 (连续删除测试)
考虑的测试点
新增:
1.新增,是否可以正常跳转正确的页面;正确跳转后,页面展示是否符合设计

2.进行必填项检查
2.1.即是否给出提示以及提示后是否依然把数据存到数据库中
2.2.是否提示后出现页码错乱等

3.是否能够连续添加(针对特殊情况)

4.新增提交:提交数据时,连续多次点击,查看系统会不会连续增加几条相同的数据或报错

5.唯一性:字段唯一的,是否可以重复添加
5.1.字段包括区分大小写以及在输入的内容前后输入空格
5.2.保存后,数据是否真的插入到数据库中,注意保存后数据的正确性

6.提示信息:不符合要求的地方是否有错误提示
7.特殊键
7.1.是否支持Tab7.2.是否支持回车键
修改:
1.修改,是否可以正常跳转正确的页面;正确跳转后,页面展示是否符合设计

2.对编辑页的每个编辑项进行修改,点击保存,是否可以保存成功,检查相关联的数据是否得到更新

3.在编辑的时候,注意编辑项的长度限制,有时在添加的时候有
3.1.在编辑的时候却没有(注意要添加和修改规则是否一致)

4.对于有图片上传功能的编辑框,若不上传图片,查看编辑页面时是否显示有默认的图片
4.1.若上传图片,查看是否显示为上传图片

5.修改数据后,特别要注意查询页面的数据是否及时更新,特别是在首页时要注意数据的更新

6.若结果列表中没有记录或者没选择某条记录,点击修改按钮,系统会否抛异常

7.唯一性:字段唯一的,是否可以重复添加,添加后是否能修改为已存在的字段
7.1.字段包括区分大小写以及在输入的内容前后输入空格
7.2.保存后,数据是否真的插入到数据库中,注意保存后数据的正确性

8.如有多选或全选按钮,是否可以多选或全选进行修改操作,如不能,是否有提示

9.提示信息:不符合要求的地方是否有错误提示
10.特殊键
10.1.是否支持Tab10.2.是否支持回车键
删除:
1.如果结果列表中没有记录或没有选择任何一条记录,点击删除按钮,是否有提示

2.删除某条信息时,应该有确认提示

3.是否能连续删除多条数据

4.当只有一条数据时,是否可以删除成功

5.删除一条数据后,是否可以添加相同的数据

6.如系统支持批量删除,注意删除的信息是否正确

7.如有全选,注意是否把所有的数据删除
 
8.删除数据时,要注意相应查询页面的数据是否及时更新
 
9.如删除的数据与其他业务数据关联,要注意其关联性
9.1.若可删除,其他业务数据是否更新为清空

10.如删除的数据与其他业务数据关联展示,要判断其关联展示能否进行删除
11.特殊键
11.1.是否支持Tab11.2.是否支持回车键
查询:
1、功能实现
1)如果支持模糊查询,搜索名称中任意一个字符是否能搜索到

(2)比较长的名称是否能查到

(3)输入系统中不存在的与之匹配的条件

(4)用户进行查询操作时,一般情况是不进行查询条件的清空,除非需要特殊说明

(5)输入系统主存在的与之匹配的条件

(6)查询条件输入为空,系统中如何处理

(7)查询条件是否有重置功能
2、组合测试
1)不同查询条件之间来回选择,是否出现页面错误(单选框和多选框最容易出错)

(2)测试多个查询条件时,要注意查询条件的组合测试,可能不同组合的测试会报错
3、特殊键
1)是否支持Tab2)是否支持回车键
4、提示信息:不符合要求的地方是否有错误提示

八.注册模块

1)注册时,设置密码为特殊版本号,检查登录时是否会报错

(2)注册成功后,页面应该以登陆状态跳转到首页或指定页面

(3)在注册信息中删除已输入的信息,检查是否可以注册成功

(4)进行必填项检查(即是否给出提示以及提示后是否依然把数据存到数据库中;
是否提示后出现页码错乱等)

(5)注册时,用户名密码输入类型检查

(6)注册时,用户名密码长度检查(最小长度、最大长度、最小长度-1、最大长度+1)

(7)注册时,用户名密码为空/空格检查

(8)注册时,用户名密码特殊字符检查

(9)注册时,用户名密码非法数据检查

(10)注册时,用户名密码正常输入,能否注册成功

(11)快速重复点击注册按钮多次,系统会否报错

(12)不同电脑端:a电脑登录,然后复制网址
然后b电脑打开这个网址,能否访问,如不能访问,是否有提示

九.登陆模块

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查看密码是明文还是加密后发送在请求中

十.某功能模块的刷新、导出、文件下载功能

文件下载:
0)选择结果列表中某个文件,点击下载,是否可以正常下载

1)如果结果列表中没有记录或没有选择任何一条记录,点击下载按钮,是否有提示

2)如有多选或全选按钮,是否可以多选或全选进行下载操作,如不能,是否有提示

3)下载文件后,检查下载路径是否有下载的文件,下载文件对不对

4)下载方式是否正确

5)下载文件后,查看下载文件是否保存成功
刷新:
0)在Web系统中,使用刷新键,看系统如何处理,是否会报错
导出:
0)如果结果列表中没有记录或没有选择任何一条记录,直接点击导出按钮,是否有提示

1)结果列表中有记录,未选择条件,点击导出按钮,是否导出成功,导出的数据和结果列表是否一致

2)结果列表中有记录,选择条件,点击导出按钮,是否导出成功,导出的数据和结果列表是否一致

3)结果列表中有记录,点击导出按钮,导出的数据<=1万,是否可以正常导出,系统会否抛错

4)结果列表中有记录,点击导出按钮,导出的数据>万,是否可以正常导出,系统会否抛错

十一.某功能模块的第一页、上一页、下一页、最后一页功能

第一页:
1)当前数据页面在第一页时,上一页和第一页的按钮是否需要置灰,可否点击

2)当前页面不在第一页且当前的数据页数大1页时,上一页和第一页的按钮能否正常显示,可否点击
上一页:
1)当前数据页面在第一页时,上一页和第一页的按钮是否需要置灰,可否点击

2)当前页面不在第一页时,上一页和第一页的按钮能否正常显示,可否点击
下一页:
1)当前数据页面在最后一页时,下一页和最后一页的按钮是否需要置灰,可否点击

2)当前页面不在最后一页且当前的页数大于1页时,下一页和最后一页的按钮能否正常显示,可否点击
最后一页:
1)当前数据页面在最后一页时,下一页和最后一页的按钮是否需要置灰,可否点击

2)当前页面不在最后一页且当前数据的页数大于1页时,下一页和最后一页的按钮能否正常显示,可否点击

十二.查询结果列表

1)列表、列宽是否合理
(2)列表数据太宽有没有提供横向滚动
(3)列表的列名有没有与内容对应
(4)列表的每列的列名是否描述的清晰
(5)列表是否把不必要的列都显示出来
(6)点击某列进行排序,是否会报错(点击查看每一页的排序是否正确)
(7)双击或单击某列信息,是否会报错
(8)一条已经成功提交的记录,返回后再提交,是否做了处理
(9)检查多次使用返回键的情况,在有返回键的地方,返回到原来的页面多次,查看是否会出错

十三.文件上传

文件上传-命名检查:
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)上传文件是否支持中文名称--------根据需求而定

十四.业务流程测试(主要功能测试)

1.一般这种情况都需要造测试数据进行模拟业务流程,一般会涉及到多个模块的数据
1.1.所以在对业务流程测试时,首先要保证单个模块功能的正确性
1.2.其次就要对各个模块间传递的数据进行测试,这往往是容易出现问题的地方
1.3.测试时一定要设计不同的数据进行测试

十五.返回键检查

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

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

十六.直接URL链接检查

1.Web系统中,在地址栏直接输入各个功能页面的URL地址,看系统如何处理

1.1.是否能够直接链接查看(匿名查看),是否有权限控制,是否直接执行,并返回相应结果页

十七.网站测试的主要方面

1.功能测试(包含基本功能测试和数据准确性校验)
1.1.对于网站的测试而言,每一个独立的功能模块需要单独的测试用例的设计导出
1.2.主要依据为《需求规格说明书》及《详细设计说明书》
1.3.对于应用程序模块需要设计者提供基本路径测试法的测试用例

1.4.B/S结构实现的功能可能主要的就在于提交数据,处理数据等
1.5.如果有固定的操作流程可以考虑自动化测试工具的录制功能,编写可重复使用的脚本代码
16.可以在测试、回归测试时运行以便减轻测试人员工作量
2.链接测试(根据需求是否需要指导用户使用)
2.1.链接是web应用系统的一个很重要的特征,主要是用于页面之间切换跳转
2.1.1.指导用户去一些不知道地址的页面的主要手段
2.2.链接测试一般关注三点:

(1)链接是否按照既定指示那样,确实链接到了该链接的界面
(2)测试该链接所链接的页面是否真的存在
(3)保证系统中没有单独存在的页面(即没有链接指向,只能通过正确的URL地址才能访问)
2.3. 链接测试可以自动进行,现在已经有许多工具可以采用
2.3.1.链接测试必须在集成测试阶段完成,也就是说
2.3.2.在整个Web应用系统的所有页面开发完成之后进行链接测试

2.4.Xenu主要测试链接的正确性的工具,可惜的是对于动态生成的页面的测试会出现一些错误
3.表单测试
3.1.当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等
3.1.1.在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性

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

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

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

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

3.4.对UM子系统中各个功能模块中的各项功能进行逐一的测试
3.4.1.主要测试方法为:边界值测试、等价类测试,以及异常类测试
3.4.2.测试中要保证每种类型都有2个以上的典型数值的输入,以确保测试输入的全面性
4.cookie测试(如果web应用系统使用cookie)
4.1.Cookies通常用来存储用户信息和用户在某应用系统的操作
4.1.1.当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息
4.1.2.把该信息以Cookies的形式存储在客户端计算机上
4.1.3.这可用来创建动态和自定义页面或者存储登陆等信息

4.2.如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作而且对这些信息已经加密
4.2.1.如果使用 cookie 来统计次数,需要验证次数累计正确
4.2.2.测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等

十八.设计语言测试

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

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

3.除了HTML的版本问题外,不同的脚本语言
3.1.例如JavaJavaScriptActiveXVBScriptPerl等也要进行验证

十九.数据库测试

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

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

2.在使用数据库的Web应用系统中,可能发生两种错误,分别是数据一致性错误和输出错误

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

二十.安全性测试(转)

1.SQL注入(比如登陆页面)

2.XSS跨网站脚本攻击:程序或数据库没有对一些特殊字符进行过滤或处理
2.1.导致用户所输入的一些破坏性的脚本语句能够直接写进数据库中
2.2.浏览器会直接执行这些脚本语句,破坏网站的正常显示
2.3.或网站用户的信息被盗,构造脚本语句时,要保证脚本的完整性
  document.write("abc")
  <script>alter("abc")</script>
  
3.URL地址后面随便输入一些符号,并尽量是动态参数靠后

4.验证码更新问题

5.现在的Web应用系统基本采用先注册,后登陆的方式
5.1.因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感
5.2.可以试多少次的限制,是否可以不登陆而直接浏览某个页面等

6.Web应用系统是否有超时的限制,用户登陆后在一定时间内(例如15分钟)没有点击任何页面
6.1.是否需要重新登陆才能正常使用。

7.为了保证Web应用系统的安全性,日志文件是至关重要的
7.1.需要测试相关信息是否写进了日志文件、是否可追踪

8.当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性

9.服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用
9.1.所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题

二十一.界面测试和易用性测试

界面测试

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

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

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

1.4.连接: 连接的形式、位置是否易于理解等
2.web测试的主要页面元素
2.1.页面元素的容错性列表(如输入框、时间列表或日历)

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

2.3.页面元素的容错性是否存在

2.4.页面元素的容错性是否正确

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

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

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

2.8.元素是否显示(元素是否存在)

2.9.页面元素清单
2.9.1.为实现功能,是否将所需要的元素全部都列出来
2.9.2.如按钮、单选框、复选框、列表框、超连接、输入框等等
3.测试技术
3.1.通过页面走查,浏览确定使用的页面是否符合需求
3.1.1.可以结合兼容性测试对不用分辨率下页面显示效果
3.1.2.如果有影响应该交给设计人员提出解决方案

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

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

易用性测试

1.易用性测试七大要素:符合标准和规范,灵活性,正确性,直观性,舒适性,实用性,一致性
1.1.风格、样式、颜色是否协调

1.2.界面布局是否整齐、协调(保证全部显示出来的,尽量不要使用滚动条)

1.3.界面操作、标题描述是否恰当(描述有歧义、注意是否有错别字)

1.4.操作是否符合人们的常规习惯(有没有把相似的功能的控件放在一起,方便操作)

1.5.提示界面是否符合规范,有无中英文混合
1.5.1.(不应该显示英文的cancel、ok,应该显示中文的确定、取消等)

1.6.界面中各个控件是否对齐,是否显示完整,间隔是否一致,是否有重叠区域

1.7.日期控件是否可编辑

1.8.日期控件的长度是否合理,以修改时可以把时间全部显示出来为准

1.9.查询结果列表列宽是否合理、标签描述是否合理

1.10.查询结果列表太宽没有横向滚动提示

1.11.对于信息比较长的文本,文本框有没有提供自动竖直滚动条

1.12.数据录入控件是否方便

1.13.有没有支持Tab键,键的顺序要有条理,不乱跳

1.14.有没有提供相关的热键

1.15.控件的提示语描述是否正确

1.16.模块调用是否统一,相同的模块是否调用同一个界面

1.17.用滚动条移动页面时,页面的控件是否显示正常

1.18.日期的正确格式应该是XXXX-XX-XX或XXXX-XX-XX XX:XX:XX

1.19.页面是否有多余按钮或标签

1.20.窗口标题或图标是否与菜单栏的统一

1.21.窗口的最大化、最小化是否能正确切换

1.22.对于正常的功能,用户可以不必阅读用户手册就能使用
1.22.1.【控件名称易懂,用词准确,与同一界面上的其他按钮易于区分】

1.23.执行风险操作时,有确认、删除等提示吗

1.24.操作顺序是否合理

1.25.正确性检查:检查页面上的form, button, table, header, footer
1.25.1.提示信息,还有其他文字拼写,句子的语法等是否正确

1.26.系统应该在用户执行错误的操作之前提出警告,提示信息

1.27.页面分辨率检查,在各种分辨率浏览系统检查系统界面友好性

1.28.合理性检查:做delete, update, add, cancel, back等操作后
1.28.1.查看信息回到的页面是否合理

1.29.检查本地化是否通过:英文版不应该有中文信息,英文翻译准确,专业

1.30.控件字体和大小是否一致,有无错别字

二十二.兼容性测试

1.兼容性测试不只是指界面在不同操作系统或浏览器下的兼容
1.1.有些功能方面的测试,也要考虑到兼容性

2.包括操作系统兼容和应用软件兼容,可能还包括硬件兼容
2.1.比如ajax、jquery、javascript等技术的,都要考虑到不同浏览器下的兼容性问题

二十三.性能测试(转)

1.连接速度测试(连接速度测试指的是打开网页的响应速度测试)
1.1.用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网

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

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

1.4.而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面
2.负载测试(负荷测试指的是进行一些边界数据的测试)
2.1.基本功能已经通过后进行的.可以在集成测试阶段,亦可以在系统测试阶段进行

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

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

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

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

2.6.因为一个企业内部员工,特别是项目组人员总是有限的
2.6.1.而一个Web系统能同时处理的请求数量将远远超出这个限度
2.6.2.所以,只有放在Internet上,接受负载测试,其结果才是正确可信的
3.压力测试(压力测试倾向应该是致使整个系统崩溃)
3.1.基本功能已经通过后进行的.可以在集成测试阶段,亦可以在系统测试阶段进行

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

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

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

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

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

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

3.8.压力测试的区域包括表单、登陆和其他信息传输页面等
4.备注:负载/压力测试应该关注什么
4.1.测试需要验证系统能否在同一时间响应大量的用户
4.1.1.在用户传送大量数据的时候能否响应,系统能否长时间运行

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

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

4.4.出于安全的原因,测试人员应该知道当系统过载时
4.4.1.需要采取哪些措施,而不是简单地提升系统性能
5.瞬间访问高峰
5.1.如果站点用于公布彩票的抽奖结果,最好使系统在中奖号码公布后的一段时间内能够响应上百万的请求

5.2.负载测试工具能够模拟X个用户同时访问测试站点
6.每个用户传送大量数据
6.1.网上书店的多数用户可能只订购1-5书,但是大学书店可能会订购5000本有关心理学介绍的课本?

6.2.或者一个祖母为她的50个儿孙购买圣诞礼物(当然每个孩子都有自己的邮件地址)系统能处理单个用户的大量数据吗?
7.长时间的使用
7.1.如果站点用于处理鲜花订单,那么至少希望它在母亲节前的一周内能持续运行
7.1.1.如果站点提供基于web的email服务,那么点最好能持续运行几个月,甚至几年

7.2.可能需要使用自动测试工具来完成这种类型的测试,因为很难通过手工完成这些测试
7.2.1.可以想象组织100个人同时点击某个站点

7.3.但是同时组织100000个人呢
7.3.1.通常,测试工具在第二次使用的时候,它创造的效益,就足以支付成本
8.性能测试可以采用相应的工具进行自动化测试,目前采用工具
Apache自带的ab测试工具

OpenSTA—开发系统测试架构

Loadrunner—强大的性能测试工具

e-test、webload等

二十四.接口测试(转)

1.在很多情况下,web站点不是孤立

2.Web站点可能会与外部服务器通讯,请求数据、验证数据或提交订单

二十五.回归测试

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

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

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

4.实际上,许多Bug都是在回归测试时发现的,首先要检查以前找到的Bug是否已经更正

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

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

二十六.web端测试中应该注意的其他情况

1.在测试时,与网络有关的步骤或者模块必须考虑到断网的情况

2.每个页面都有相应的Title,不能为空,或者显示“无标题页”

3.在测试的时候要考虑到页面出现滚动条时,滚动条上下滚动时,页面是否正常

4.URL不区分大小写,大小写不敏感

5.对于电子商务网站,当用户并发购买数量大于库存的数量时,系统如何处理

6.测试数据避免单纯输入“123”、“abc“之类的,让测试数据尽量接近实际

7.进行测试时,尽量不要用超级管理员进行测试,用新建的用户进行测试
7.1.测试人员尽量不要使用同一个用户进行测试

8.提示信息:提示信息是否完整、正确、详细

9.帮助信息:是否提供帮助信息,帮助信息的表现形式(页面文字、提示信息、帮助文件)
9.1.帮助信息是否正确、详细

10.可扩展性:是否有升级的余地,是否保留了接口

11.稳定性:运行所需的软硬件配置,占用资源情况,出现问题时的容错性,对数据的保护

12.运行速度:运行的快慢,带宽占用情况

二十七.存在风险及解决方法

1.测试不能找出所有的问题,只是尽量将问题在开发阶段解决大多数的问题而已
2.测试风险
2.1.软硬件的测试环境提供上也对测试结果有很大的影响

2.2.测试团队的水平,经验,合作效果等

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平头哥-测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值