自己做的一个用户注册的表单,注册需要验证手机号,会发送短信验证码,所以在用户填写完验证码之后点击注册,再提交表单之前先请求后台验证一下短信验证码是否正确,错误会有提示,正确就会提交表单注册.
这里Ajax请求的后台就是一个短信的验证没什么可说的,Ajax是我封装了以下的,里面有一句重要的代码async: false,,就是要将Ajax设为同步的,这样才可以改变result的值,否则Ajax会新开一个异步线程去执行,这样影响不到函数里的变量,验证就没有作用了,
但我这里同步Ajax出现了一个新问题,就是如果验证错误,我会通过semantic中表单验证的方法给指定字段添加错误提示(具体使用方法可以参考官方文档),$('.ui.form').form('add prompt', "msgCode", "验证码错误或超时");,但我在测试中发现这个验证总是闪一下就没了,到现在不明白为什么,
就是下面这个样子,手速快,在它要没了的时候我给截了下来,
这样确实是进行字段的验证,验证错误不会提交,正确就会提交注册,但闪一下就没了,这样肯定也是不行,
最后发现主要是onsubmit方法的原因,如果我使用异步Ajax,在一个异步的线程中执行,相当于跳出方法外执行就没有问题,但异步的做不到字段的验证,陷入了纠结中,表单验证和错误提示二者选一个,要么同步Ajax放弃错误提示,要么异步Ajax放弃验证,后者肯定是不行的,但前者的用户体验也会不好,最后想到的办法是二者我都要了,
具体实现就是写在onSubmit方法中写两个Ajax,一个异步一个同步,异步的用来做错误提示,同步用来做字段验证,修改后的js代码就是这样了
先用一个异步的Ajax来做验证错误提示,再用一个同步的Ajax做字段验证,这样可以做到错误提示,并且起到表单验证的作用,缺陷就是多了一次重复的请求,但为了实现效果,多一次请求没有太大影响吧.
|
搜狗百科词条内容由用户共同创建和维护,不代表搜狗百科立场。如果您需要医学、法律、投资理财等专业领域的建议,我们强烈建议您独自对内容的可信性进行评估,并咨询相关专业人士。
在精确查询的基础上加上以下一点:
8. 输入一些字符,看是否能查出数据库中所有的相关信息
a. 输入正常的字母或数字
b. 输入已存在的文件的名称
c. 输入超长字符。如:在“名称”框中输入超过允许边界个数的字符,假设最多255个字符,尝试输入 256个字符,检查程序能否正确处理
d. 输入默认值,空白,空格
e. 若只允许输入字母,尝试输入数字;反之,尝试输入字母
f. 利用复制,粘贴等操作强制输入程序不允许输入的数据
g. 输入特殊字符集,例如,NULL及\n等
h. 输入超过文本框长度的字符或文本,检查所输入的内容是否正常显示
i. 输入不符合格式的数据,检查程序是否正常校验。如:程序要求输入年月日格式为yy/mm/dd,实际输入yyyy/mm/dd,查看程序是否会给出错误提示
在测试过程中所用到的测试方法:
a. 输入非法数据
b. 输入默认值
c. 输入特殊字符集
d. 输入使缓冲区溢出的数据
e. 输入相同的文件名
2、命令按钮控件的测试
a. 点击按钮正确响应操作。如:单击确定,正确执行操作;单击取消,退出窗口
b. 对非法的输入或操作给出足够的提示说明。如:输入月工作天数为32时,单击”确定“后,系统应提示:天数不能大于31
c. 对可能造成数据无法恢复的操作必须给出确认信息,给用户放弃选择的机会
3、单选按钮控件的测试
a. 一组单选按钮是否不能同时选中多个选项,即:只能选中一个
b. 逐一执行每个单选按钮的功能。如:分别选择了“男”“女”后,保存到数据库的数据应该相应的分别为“男”“女”
c. 一组执行同一功能的单选按钮在初始状态时必须有一个被默认选中,不能同时为空
4、控件文本框的测试
a. 直接输入数字或用上下箭头控制。如:在“数目”中直接输入10,或者单击向上的箭头,使数目变为10
b. 利用上下箭头控制数字的自动循环。如:当最多数字为253时,单击向上箭头,数目自动变为1;反之,亦适用
c. 直接输入超边界值,系统应该提示重新输入
d. 输入默认值,空白。如:“插入”数目为默认值,点击“确定”;或,删除默认值,使内容为空,单击“确定”进行测试
e. 输入字符。此时系统应提示输入有误
5、组合列表框的测试
a. 条目内容正确,其详细条目内容可以根据需求说明确定
b. 逐一执行列表框中每个条目的功能
c. 检查能否向组合列表框输入数据
a. 多个复选框可以被同时选中
b. 多个复选框可以被部分选中
c. 多个复选框可以都不被选中
d. 逐一执行每个复选框的功能
7、列表框控件的测试
a. 条目内容正确,同组合列表框类似,根据需求说明书确定列表的各项内容正确,没有丢失或错误
b. 列表框的内容较多时要使用滚动条
c. 列表框允许多选时,要分别检查shift选中条目,按ctrl选中条目和直接用鼠标选中多项条目的情况
8、滚动条控件的测试
a. 滚动条的长度是否根据显示信息的长度或宽度及时变换,有利于用户了解显示信息的位置和百分比。如:word中浏览100页文档,浏览到50页时,滚动条位置应处于中间
b. 拖动滚动条,检查屏幕刷新情况,并查看是否有乱码
c. 单击滚动条
d. 用滚轮控制滚动条,看是否能实现上下移动信息
e. 点击或长按滚动条的上下按钮,看是否能实现上下移动信息
9、各种控件在窗体中混和使用时
a. 测试控件间的相互作用
b. 测试tab键的顺序。一般是从上到下,从左到右
c. 热键的使用,逐一测试
d. enter键和esc键是否起到作用
在测试中,应遵循由简入繁的原则,先进行单个控件功能的测试,确保实现无误后,再进行多个控件的的功能组合的测试。
ps:密码输入框测试时要特别注意进行字母大写输入的测试。
几种常见操作功能测试用例设计
测试查找功能有通过测试和失败测试两种情况:
1. 输入内容直接查找,或查找全部
2. 在组合框中寻找已经查找过的内容,再次查找并确认文档的内容正确。如:已经查找过"测试用例",再次进入不用重新输入查找内容,直接在文档中搜寻就可以
1. 输入过长或过短的查询字符串。如:假设查询的字符串长度为1到255,则输入0,1,2,256,255和254进行测试
2. 输入特殊字符集。如:在word中.^g代表图片,^代表分栏符,可以输入这类特殊字符测试
替换测试大体相同。
2、编辑操作窗口:
1. 关闭查找替换窗口,不执行任何操作,直接退出
2. 附件和选项测试。如:设定"精确搜寻","向后"搜索等附件选项等等来测试
3. 控件间的相互作用。如:搜寻内容为空时,按钮"搜寻全部","搜寻","全部替换","替换"都为灰色
4. 热键、Tab键、回车键的使用
a. 插入文件,查看是否插入成功
b. 插入图像,查看是否插入成功
c. 在文档中插入文档本身,查看是否插入成功
d. 移除插入的源文件
e. 更换插入的源文件的内容,查看是否更换成功
a. 插入链接文件,查看是否插入成功
b. 在文档中链接文档本身,查看是否插入成功
c. 移除插入的源文件
d. 更换插入的源文件的内容,查看是否更换成功
a. 插入程序允许的对象。如:在word中插入excel工作表
b. 修改所插入对象的内容,插入的对象是否仍能正确显示
c. 卸载生成插入对象的程序。如:在word中插入excel工作表后卸载excel,工作表是否仍正常使用
a. 对文本、文本框、图文框分别进行剪切,查看是否剪切成功
b. 剪切图像,查看是否剪切成功
c. 文本图像混合剪切,查看是否插剪切成功
测试方法与剪切类似
a. 粘贴剪切的文本,文本框及图文框
b. 粘贴所剪切的图像
c. 剪切后,在不同的程序中粘贴
d. 多次粘贴同一内容,如,剪切后,在程序中连续粘贴3次
e. 利用粘贴操作强制输入程序所不允许输入的数据
界面测试用例的设计方法
a. 窗体大小是否合适,控件布局是否合理
b. 移动窗体。快速或慢速移动窗体,背景及窗体本身刷新是否正确
c. 缩放窗体。窗体上的控件是否随窗体的大小变化而变化
d. 测试分辨率。必须在不同的分辨率的情况下测试程序是否均显示正常
ps:进行测试时还要注意状态栏是否显示正确、工具栏的图标执行操作是否有效、是否与菜单懒中图标显示一致、错误信息内容是否正确(无错别字且明确)等等
a. 窗体或控件的字体和大小是否一致
b. 注意全角,半角混合
c. 有无中英文混合
a. 选择菜单是否可以正常工作,并与实际执行内容一致
b. 是否有错别字
c. 快捷键是否重复
d. 热键是否重复
e. 快捷键与热键操作是否有效
f. 是否存在中英文混合
g. 菜单要与语境相关。如:不同权限的用户登陆一个应用程序,不同级别的用户可以看到不同级别的菜单并使用不同级别的功能
h. 鼠标右键快捷菜单
a. 安装界面应有公司介绍或产品介绍
b. 主界面及大多数界面最好有公司图标
c. 选择"帮助"->"关于"命令,是否能看见相关版权和产品信息
实际中经常用到的几个用例
1、链接地址是否正确
2、产生输入/输出错误时,系统是否进行了检测并处理
3、密码输入框是否按掩码的方式显示
1、各模块链接地址是否正确
2、鼠标无规则点击时是否会产生无法预料的结果
1、浏览信息是否存在文字书写错误和语法错误
2、浏览信息是否和数据库中对应的字段及信息相一致
3、浏览页面中的链接按钮是否可以正确链接并显示
4、其他功能按钮按下后,数据是否按既定规约进行处理
1、产生输入/输出错误时,系统是否进行检测并处理
2、列表框是否能够进行选择
3、单选组内是否有且只有一个单选钮可选
4、多选组内是否能够进行多数据项选择
5、多项列表框是否能够进行多数据项选择
6、控件是否存在默认输入值,若存在,默认值是否得到显示和提交
7、Cancel之类的按钮按下后,控件中的数据是否清空复原或按既定规约处理
8、Submit之类的按钮按下后,数据是否得到提交或按既定规约处理
9、其他页面按钮按下后,数据是否按既定规约处理
10、异常信息表述是否正确
1、输入信息中是否存在和代码中的字符产生冲突的字符,系统是否进行检测并处理
2、异常信息表述是否正确
3、查询的结果是否正确
4、列表框是否能够进行选择
5、单选组内是否有且只有一个单选钮可选
6、多选组内是否能够进行多数据项选择
7、多项列表框是否能够进行多数据项选择
8、Submit之类的按钮按下后,数据是否得到提交或按既定规约处理
1、产生的文件和数据表的计算结果是否正确
2、图表结果数据显示是否正确
3、浏览页面中的链接按钮是否可以正确链接并显示
4、其他功能按钮按下后,数据是否按既定规约处理
5、产生输入/输出错误时,系统是否进行检测并处理
6、列表框是否能够进行选择
7、单选组内是否有且只有一个单选钮可选
8、多选组内是否能够进行多数据项选择
9、多项列表框是否能够进行多数据项选择
转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。