软件测试常用测试用例之输入框

文章详细列举了各种类型的输入框(如一般文本框、密码类、数值型、日期型和查询条件等)的测试用例,包括边界值、特殊字符、组合输入、安全性检查等方面,强调了前后端验证的重要性,特别是防止SQL注入的安全措施。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

软件测试常用测试用例之输入框

一般文本框

1.文本框是否设置字段最大限度的提示,输入超过文本框设置的字数内容。
2.单独的数字、字母、汉字输入。
3.数字、字母、汉字的混合输入。
4.输入字母大小写的组合。
5.Ctrl键、tab键、Enter按键对文本框的影响。
6.是否支持,输入他国文字。
7.空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格
8.字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号。
9.禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入,看能否输入成功。
10.安全性检查:输入特殊字符串(null,NULL, ,javascript,)、doucment.write(“abc”)、hello)。
11.输入默认字符、空格、空白。
12.字符本身显示的颜色。

密码类文本框

1.输入密码是否转换成*或者别的加密字符。
多行文本框输入
1.允许回车换行、保存后再显示能够保存输入的格式、仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示)。

数值型输入框

1.边界值:最大值、最小值、最大值+1、最小值-1。
2.位数:最小位数、最大位数、最小位数-1最大位数+1、输入超长值、输入整数。
3.异常值、特殊字符:输入空白(NULL)、空格或”~!@#$%^&*()_+{}|[]:”<>?;’,./?;:’-=等可能导致系统错误的字符、禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交、word中的特殊功能,通过剪贴板拷贝到输入框,分页符,分节符类似公式的上下标等、数值的特殊符号如∑,㏒,㏑,∏,+,-等。
输入负整数、负小数、分数、输入字母或汉字、小数(小数前0点舍去的情况,多个小数点的情况)、首位为0的数字如01、02、科学计数法是否支持1.0E2、全角数字与半角数字、数字与字母混合、16进制,8进制数值、货币型输入(允许小数点后面几位)。
4.安全性检查:不能直接输入就copy,看是否能成功。

日期型输入框

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]。

作为查询条件的输入框

功能实现
1.如果支持模糊查询,搜索名称中任意一个字符是否能搜索到。
2.比较长的名称是否能查到。
3.输入系统中不存在的与之匹配的条件。
4.用户进行查询操作时,一般情况是不进行查询条件的清空,除非需求特殊说明。
5.是否支持通配符。
6.是否支持not、and、or。

作为新增功能的输入框

1.必选项正确填写,非必选项不填写,新增成功
2.必选项不填写,非必选项正确填写,新增失败
3.必选项、非必选项都不填写
4.必选信息相同输入,新增失败
5.非必选信息相同输入,新增成功
6.文本框设置字段限制,输入超过文本框设置的字数内容
7.输入最大限度多的文本内容,看数据能否支持
8.输入带有特殊字符的内容到文本框
9.输入内容之间带有空格
10.单独的数字、字母、汉字输入
11.数字、字母、汉字的混合输入
12.输入字母大小写的组合
13.输入违法、敏感内容
14.输入带有侮辱性词汇
15.检查输入字符的颜色
16.按键对文本框的影响
17.输入他国文字

输入框组合测试

1.不同查询条件之间来回选择,是否出现页面错误(单选框和多选框最容易出错)
2.测试多个查询条件时,要注意查询条件的组合测试,可能不同组合的测试会报错。

输入框安全测试

1.是否对常规的sql注入做了限制。
一、前端事件验证
推荐使用focus事件、blur事件、keyup延时事件(不必每次keyup都做,也不必keyup后立刻做)、表单提交前check事件这4个验证事件。
‍‍Focus事件:输入触发focus事件,提示用户正确的输入;
Blur事件:单个输入完成后触发blur事件,验证用户输入的合法性,非法则提示,并引导用户修改;
keyup 延时事件:keyup 后不马上执行,延时执行,可以即时验证输入的合法性,非法则提示,并引导用户修改;(keyup 指键盘按下的那一刻)
表单提交前check事件:提交前对每个输入再次验证,正确的给出标识(绿色√),错误的也给出标识(红色×),切勿使用alert,用户体验性差;当页面有错误时可以设置 submit 按钮 disable ,不可点击;
(注意:某些情况下,除了前端的判断外,还需要用AJAX异步判断数据库中是否已经存在)‍‍
二、后端安全性验证
表单传输到服务器之后,在后端一定要再次验证一遍,以防非法输入(如 sql 注入)。有任何错误就跳转回表单页,并把错误信息返回去。

### 数值型输入框测试用例设计 对于数值型输入框的测试,重点在于验证其对各种合法和非法输入处理的能力。这不仅涉及基本的功能性验证,还包括边界条件下的行为以及异常情况的响应。 #### 合法输入范围内的测试案例 - **最小有效值**:当输入等于允许范围内最小的有效整数时,系统应当接受并正确存储该值[^1]。 - **最大有效值**:同样地,在输入达到设定的最大界限时也需被认可而不引发任何警告或错误消息。 ```python def test_min_max_value(): min_val = "1" max_val = "999" input_field.send_keys(min_val) assert int(input_field.get_attribute('value')) == 1, "Failed to accept minimum value." input_field.clear() input_field.send_keys(max_val) assert int(input_field.get_attribute('value')) == 999, "Failed to accept maximum value." ``` #### 非法输入检测 - **非数值字符**:尝试向仅限于接收数字的字段内键入文字、符号或其他任何形式的非数字字符串,预期结果是这些输入不会被记录下来,并且界面会显示相应的提示信息告知用户发生了什么问题[^2]。 ```python def test_non_numeric_input(): invalid_inputs = ["abc", "!@#", "一二三"] for input_data in invalid_inputs: input_field.send_keys(input_data) error_message = alert.text if alert.is_displayed() else None assert not input_field.get_attribute('value'), f"Non-numeric '{input_data}' was accepted!" assert error_message is not None and "Invalid Input" in error_message, \ f"No proper feedback given on non-numeric input {input_data}." # Clear field after each iteration input_field.clear() ``` #### 特殊情况下数值处理 - **前导零**:某些应用场景下可能需要考虑如何对待带有前置零的数据条目(例如金融交易中的金额)。如果业务逻辑不允许这种情况,则应该阻止这样的输入或者自动去除多余的前缀零。 ```python def test_leading_zeros(): leading_zero_num = "00789" input_field.send_keys(leading_zero_num) actual_value = input_field.get_attribute('value') expected_result_without_leading_zeros = str(int(leading_zero_num)) assert actual_value == expected_result_without_leading_zeros, \ f"Leading zeros were incorrectly handled; got '{actual_value}', but expected '{expected_result_without_leading_zeros}'." ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值