表单测试
表单测试
【问题】浏览器中表单的测试方面和方法
1、 相关概念
1.1 表单
1.1.1 基本组成部分:
1> 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。
2>表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。
3>表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。
1.1.2 功能:表单在网页中主要负责数据采集功能。
1.2 表单标签
1.2.1功能:用于申明表单,定义采集数据的范围,也就是<form>和</form>里面包含的数据将被提交到服务器或者电子邮件里。
1.3 表单域
1.3.1 文本框 1.3.2 密码框 1.3.3 隐藏框 1.3.4 多行文本框 1.3.5 单选框 1.3.6 复选框 1.3.7 下拉选择框 1.3.8 文本上传框
1.4 表单按钮
1.4.1 提交按钮
1.4.2 复位按钮
1.4.3 一般按钮
2、 表单的测试点
2.1 . 表单域部分
2.1.1 文本框
2.1.1.1字符型
a.必填项非空校验:
1、必填项未输入--程序应提示错误;
2、必填项只输入若干个空格,未输入其它字符--程序应提示错误;
b.字段唯一性校验:(不是所有字段都作此项校验)
1、新增时输入重复的字段值--必须提示友好信息;
2、修改时输入重复的字段值--必须提示友好信息;
c.字段长度校验:
1、输入[最小字符数-1]--程序应提示错误;
2、输入[最小字符数]--OK;
3、输入[最小字符数+1]--OK;
4、输入[最大字符数-1]--OK;
5、输入[最大字符数]--OK;
6、输入[最大字符数+1]--程序应提示错误;
d.字段为特殊字符校验:
1、输入域如对某些字符禁止输入时,限制是否成功,提示信息是否友好 ;
2、中文、英文、空格,数字,字符,下划线、单引号 等所有特殊字符的组合
3、所有特殊字符都必须进行测试(!~@#$^&*()_+{}|:“<>?/.,;„[]\=-`¥……()--:《》?、。,;‟【】、=-· )
e.字段为特殊代码校验:
1、输入htm代码:比如” <font>你好</font>”;--必须以文本的形式将代码显示出来。
2、输入JavaScript代码:比如<param name=“MovieWindowWidth” value=“320”>;--必须以文本的形式将代码显示出来。
2.1.1.2 数值型
a.边界值:
1、输入[最小值-1]--程序应提示错误;
2、输入[最小值]--OK;
3、输入[最大值]--OK;
4、输入[最大值+1]--程序应提示错误;
b.位数:
1、输入[限制位数]--OK;
2、输入[限制位数+1]--根据实际项目,是否自动四舍五入成限制位数,还是提示信息;
3、输入[限制位数-1]--OK;
c.异常值、特殊值:
1、输入非数值型数据:汉字、字母、字符--程序应提示错误;
2、输入负数--根据实际项目而定,如果不允许输入负数,必须提示友好信息;
3、字段禁止直接输入非数值型数据时,使用“粘贴”、“拷贝”功能尝试输入,并测试能否正常
提交保存--只能使用“粘贴”、“拷贝”方法输入的特殊字符应无法保存,并应给出相应提示 ;
4、全角数字和半角数字的情况--全角数字不能保存,提示友好信息,半角数字正常保存;
5、首位为零的数值:如01=1--视实际项目情况而定;
2.1.1.3 日期型
a.合法性检查:
1、日输入[0日]--程序应提示错误;
2、日输入[1日]--OK;
3、日输入[32日]--程序应提示错误;
4、月输入[1、3、5、7、8、10、12月]、日输入[31日]--OK;
5、月输入[4、6、9、11月]、日输入[30日]--OK;
6、月输入[4、6、9、11月]、日输入[31日]--程序应提示错误;
7、输入非闰年,月输入[2月]、日输入[28日],比如2009.2.28--OK;
8、输入非闰年,月输入[2月]、日输入[29日],比如2009.2.29--程序应提示错误
9、(闰年)月输入[2月]、日输入[29日],比如2008.2.29--OK;
10、(闰年)月输入[2月]、日输入[30日],比如2008.2.30--程序应提示错误;
11、月输入[1月]--OK;
12、月输入[12月]--OK;
13、月输入[13月] --程序应提示错误;
b.格式检查:
1、不合法格式:2009-09、 2009-09 -、200-2-2;
2、视具体项目而定是否合法:2009/09/01、2009.09.01 、20090901、2009-09-01 ;
c.异常值、特殊值:
1、输入汉字、字母、字符--程序应提示错误;
2.1.1.4 时间型
a.合法性检查:
1、时输入[24时] --程序应提示错误;
2、时输入[00时] --OK;
3、分输入[60分] --程序应提示错误;
4、分输入[59分] --OK;
5、分输入[00分] --OK;
6、秒输入[60秒] --程序应提示错误;
7、秒输入[59秒] --OK;
8、秒输入[00秒] --OK;
b.格式检查:
1、不合法格式:12:30:、 123000;
2、视具体项目而定是否合法:12:30、 1:3:0;
c.异常值、特殊值:
1、输入汉字、字母、字符--程序应提示错误;
2、系统中所涉及时间是否取服务器时间;
2.1.2 密码框
2.1.2.1增加
1.在添加页面,输入要添加的数据项均合理,检查数据库以及列表页是否添加了相应的数据
2.在添加页面,留出一个必填项为空,检查是否会提示
3.按照边界值等价类设计测试用例原则设计其他输入项测试用例
4.不符合要求的地方要有错误提示
5.是否支持table键
6.按enter是否能保存
7.若提示保存,也要查看数据库里是否多了一条数据
2.1.2.2删除
1.删除一个数据库中存在的数据,然后查看数据库以及列表也中是否删除
2.删除一个数据库中并不存在的数据,看是否有错误提示,并且数据库中没有数据被删除
3.输入一个格式错误的数据,看是否有错误提示,并且数据库中没有数据被删除
4.输入正确数据前加空格,看是否能正确删除数据
5.不输入任何字符
6.是否支持table键
7.是否这次enter键
2.1.2.3编辑
1.对编辑列表页中的每个编辑项进行修改,点击保存,查看是否编辑成功
2.依次对每个编辑项进行修改,点击保存,查看是否编辑成功
3.对于必填项,我们可以修改为空、全角/半角空格,点击保存时,查看是否编辑成功
4.现在很多编辑项目中有很多图片预览的功能,如果对于没有上传的图片,查看编辑页面时,
是否显示默认图片。如果上传了图片,是否显示上传的图片。(因为实际工作中,很多客户很介意这个节目图片显示红叉)
5.在编辑的时候,也要注意添加时,每个编辑项的长度校验,有些时候,添加时有长度限制,
而编辑的时候却没有
6:.编辑的时候,查看界面的字段是否同添加时字段显示一致,以及冒号是否也一致(无论是中文冒号或者是英文冒号,但是必须要一致)
2.1.2.4密码修改
实际当中,根据具体情况具体分析,实际测试中可能只用到几条而已.有时,需要根据需求具体分析了,例如:连续出错多少次出现的提示,和一些软件修改密码要求一定时间内有一定的修改次数限制等。
1、旧密码、新密码、确认新密码都为空时,查看系统是否会有提示
2、不输入旧密码,直接改密码
3、输入错误的旧密码
4、不输入确认新密码
5、新密码和确认密码不一致
6、新密码中有空格
7、新密码为空
8、新密码为符合要求的最多字符
9、新密码为符号要求的最少字符
10、新密码为符合要求的非最多和最少字符
11、新密码为最多字符-1
12、新密码为最多字符+1
13、新密码为最少字符-1
14、新密码为最少字符+1
15、新密码为非允许字符(例如:密码要求是英文和数字组成,则要试汉字和符号等)
16、看是否支持tap和enter键等
17、密码是否可以复制、粘贴,是否以*之类的加密符号
18、看密码是否区分大小写,新密码中英文小写,确认密码中英文大写
19、新密码和旧密码一样能否修改成功
2.1.3 多行文本框
a.必填项非空校验:
1、必填项未输入--程序应提示错误;
2、必填项只输入若干个空格,未输入其它字符--程序应提示错误;
b.字段唯一性校验:(不是所有字段都作此项校验)
1、新增时输入重复的字段值--必须提示友好信息;
2、修改时输入重复的字段值--必须提示友好信息;
c.字段长度校验:
1、输入[最小字符数-1]--程序应提示错误;
2、输入[最小字符数]--OK;
3、输入[最小字符数+1]--OK;
4、输入[最大字符数-1]--OK;
5、输入[最大字符数]--OK;
6、输入[最大字符数+1]--程序应提示错误;
d.字段为特殊字符校验:
1、输入域如对某些字符禁止输入时,限制是否成功,提示信息是否友好 ;
2、中文、英文、空格,数字,字符,下划线、单引号 等所有特殊字符的组合
3、所有特殊字符都必须进行测试(!~@#$^&*()_+{}|:“<>?/.,;„[]\=-`¥……()--:《》?、。,;‟【】、=-· )
e.字段为特殊代码校验:
1、输入htm代码:比如” <font>你好</font>”;--必须以文本的形式将代码显示出来。
2、输入JavaScript代码:比如<param name=“MovieWindowWidth” value=“320”>;--必须以文本的形式将代码显示出来。
f.特性检验:
1、是否允许回车换行 ;
2、保存后再显示能够保持输入时的格式 ;
3、仅输入回车换行,检查能否正确保存;若能,查看保存结果。若不能,查看是否有正确提示 ;
4、仅输入空格,检查能否正确保存;若能,查看保存结果。若不能,查看是否有正确提示 。
2.1.4 单选框
测试方法:
a. 一组单选按钮不能同时选中,只能选中一个。
b. 逐一执行每个单选按钮的功能, 存入数据库是不是选项值。分别选择了“男”“女”后,保存到数据库的数据应该相应的分别为“男”“女”;
c. 一组执行同一功能的单选按钮在初始状态时必须有一个被默认选中,不能同时为空;
d.选项是否有排列顺序
e.有默认选项还是没有。
f.选项名和选项值是否符合要求
g.刷新页面后,选中的值/默认的值是否掉了。
2.1.5 复选框
测试方法:
a. 复选框可以被同时选中;
b. 复选框可以被部分选中;
c. 复选框可以都不被选中;
d. 逐一执行每个复选框的功能;
e. 显示风格: 选择框统一居左显示,名称描述统一居右显示
f. 使用风格:如果能通过一个CHECKBOX框,即可实现两个功能,那么不允许使用两个CHECKBOX框完成一个功能【如:显示已作废】
2.1.6 下拉选择框
测试方法:
a. 条目内容正确;根据需求说明书确定列表的各项内容正确,没有丢失或错误;
b. 列表框的内容较多时要使用滚动条;
c. 列表框允许多选时,要分别检查shift选中条目,按ctrl选中条目和直接用鼠标选中多项条目的情况;
d. 逐一执行列表框中每个条目的功能;
e. 检查能否向组合列表框输入数据;
1.内容
1)检查默认值,有的默认空,有的是非空
2)检查约束。有时它的内容是根据其他要素变化的,比如城市的下列框的内容,是根据省份变化而联动的;或者根据登录者的权限不同,下拉列表的内容也不一样。
2.布局
1)宽度,有时它会根据内容的长短自动控制宽度
2)高度应合适
3.易用
检查是否至此后TAB和上下箭头下拉框里面有很多选项像省份可以划分下等价类,两个字的,三个字的,四个字的每个等价类测一个,然后再把某些省份里面奇怪的市单独拉出来做组合测试内容的显示
2.1.7 文件上传框
测试方法:
a、通过Browse【浏览】按钮选择文件;
b、如果文件限制类型(exe,rar,doc,pdf,xls,jpg,gif,bmp,png 等)和大小(100k,512k,1M,1.5M,2M,2.5M),要逐一测试限制条件是否正确,并且给出了明确的提示;
c、检查实际上传后是否能够正确下载,如果是图片是否能够正确显示;
d、若没有特殊要求,应该保持上传文件的名字是否和保存后的文件名字一致
2.2. 表单按钮部分
2.2.1 提交按钮
a,点击按钮正确响应操作,正确执行提交操作
b,对非法的输入或操作给出足够的提示说明,如,输入月工作天数为32时,单击”确定“后系统应提示:天数不能大于31;
c,对可能造成数据无法恢复的操作给出确认信息,给用户放弃选择的机会;
d. 多次重复提交,是否更新数据库或出错;
e. 快速点击两次按钮,是否只有一次有效
f. 点击按钮后,点刷新,是否只有一次有效
g. 点击按钮后,右键点后退,是否只有一次有效
h. 点击按钮后,按钮会不会改变状态
i. 是否设置Enter键/快捷键操作, 设置的快捷键与Windows自带的快捷键有没冲突。
2.2.2 复位按钮
a,点击按钮正确响应操作,正确执行复位操作
b,对非法的输入或操作给出足够的提示说明,如数据为空;
c,对可能造成数据无法恢复的操作给出确认信息,给用户放弃选择的机会;
d. 多次重复提交,是否更新数据库或出错;
e. 快速点击两次按钮,是否只有一次有效
f. 点击按钮后,点刷新,是否只有一次有效
g. 点击按钮后,右键点后退,是否只有一次有效
h. 点击按钮后,按钮会不会改变状态
i. 是否设置Enter键/快捷键操作, 设置的快捷键与Windows自带的快捷键有没冲突。