软件功能性测试里,表单必填项的校验逻辑,先测空值提交的情况。必填项通常标有 “*”,比如姓名、手机号,故意空着点提交,看有没有提示。我们测过一个注册表单,姓名空着提交没提示,直接到下一步,导致后续数据缺失,这种情况就得记下来,要求加 “必填项不能为空” 的提示。
必填项的格式校验 手机号必填项,输 10 位或 12 位数字,该提示格式错误;邮箱必填项,少了 “@”,也得有错误提示。我们遇到过手机号输字母能提交的表单,后端没做格式校验,这种漏洞会导致无效数据入库,必须让开发修复,确保必填项格式符合要求才通过。
必填项校验 输入过程中,比如手机号输到第 5 位,看有没有实时提示;输完正确格式,提示能不能自动消失。有的表单要等提交才提示,用户填完所有内容才知道错了,体验不好,这种校验时机的问题,也属于功能性测试要关注的点。
非必填项的测空值提交 非必填项比如备注、备用电话,空着提交应该能通过,不用拦截。我们测过一个订单表单,备用电话空着却提示 “请输入”,这是误把非必填设成必填,得调整校验规则,让非必填项空值时正常提交。
非必填项填内容 备用电话非必填,输 11 位正确数字能保存,输字母或特殊符号,该提示格式错误。我们遇到过非必填的邮箱,输错格式也能提交,后端没做校验,导致数据库里存了无效邮箱,这种情况要提示开发,非必填项填了内容就必须符合格式要求。
必填项与非必填项 比如地址表单,省份是必填,详细地址是非必填,选了省份没填详细地址能提交;但要是没选省份,填了详细地址点提交,该提示 “省份为必填项”。我们测过一个表单,没选必填的省份,填了详细地址居然能提交,这种联动校验缺失的问题,会导致数据不完整。
表单提交时的批量校验 多个必填项同时空着,比如姓名、手机号都空,看提示能不能把所有空的必填项都列出来,而不是只提示一个。有的表单每次只提示一个,用户改完一个又出现另一个,反复提交多次,这种校验效率的问题,得优化,让所有必填项错误一次提示。
国家认可的第三方软件测评机构做这类测试时,会覆盖必填项空值、格式、实时校验,非必填项空值、格式、联动场景,确保表单校验逻辑全面且符合用户使用习惯,不会出现无效数据或糟糕的操作体验。
测特殊字符的校验 必填项姓名,输特殊符号 “@#”,看能不能提示 “不支持特殊字符”;非必填项备注,输特殊符号应该允许保存。我们测过一个表单,姓名输 “张三 #” 能提交,后端没拦截,导致后续数据统计时出问题,这种特殊字符的校验漏洞,在功能性测试中不能漏。
必填项的默认值 有的表单给必填项设默认值,比如 “请输入姓名”,但这不是真实数据,提交时该提示 “请填写真实姓名”。我们遇到过默认值没清空就能提交的表单,导致数据库里存了 “请输入姓名” 这种无效数据,这种默认值的校验问题,也是测试中的重点检测项目。