Skip to content

15. 表单类功能怎么测试最全面

表单是业务系统最常见的功能类型。

登录、注册、新增、编辑、搜索、筛选、导入、导出,几乎都是表单操作。

一、表单测试的核心关注点

表单测试要覆盖:

  • 字段校验;
  • 提交逻辑;
  • 数据存储;
  • 状态变化;
  • 异常处理;
  • 交互细节;
  • 权限控制。

只测能不能提交成功是不够的。

二、字段校验要覆盖完整

每个字段都要测试校验规则。

常见校验包括:

  • 必填项为空;
  • 格式错误;
  • 长度超限;
  • 范围超限;
  • 类型错误;
  • 特殊字符;
  • 重复值;
  • 关联字段一致性。

比如用户注册表单:

  • 用户名:必填、长度限制、重复检测;
  • 手机号:必填、格式校验、重复检测;
  • 邮箱:格式校验、重复检测;
  • 密码:必填、长度限制、复杂度校验;
  • 角色:必填、可选范围。

三、提交逻辑要验证

表单提交不只是点按钮,要验证:

  • 提交前校验是否执行;
  • 提交时按钮状态变化;
  • 提交成功后提示和跳转;
  • 提交失败后提示和重试;
  • 重复提交是否被拦截;
  • 提交中断是否可恢复。

比如提交订单:

  • 点击提交前校验库存和优惠券;
  • 提交按钮点击后变为不可点击或显示加载;
  • 成功后跳转到订单详情或支付页;
  • 失败后提示具体原因并可重新提交;
  • 快速多次点击只生成一个订单。

四、数据存储要验证

表单提交后要验证数据库:

  • 数据是否正确新增或更新;
  • 必填字段是否都有值;
  • 可选字段是否正确处理空值;
  • 时间戳是否正确;
  • 创建人是否正确;
  • 关联表数据是否正确。

比如新增商品:

  • 商品表是否新增记录;
  • 商品名称、价格、库存是否正确;
  • 创建时间是否正确;
  • 商品分类关联是否正确。

五、状态变化要验证

有些表单操作会改变状态。

要验证:

  • 状态字段是否正确更新;
  • 状态流转是否符合规则;
  • 状态不允许时是否拦截;
  • 状态变更后功能是否可用。

比如编辑订单:

  • 待支付状态是否可修改地址;
  • 已支付状态是否不可修改地址;
  • 修改成功后订单状态是否保持。

六、异常处理要覆盖

表单异常场景要测试:

  • 网络中断;
  • 服务器异常;
  • 数据库异常;
  • 接口超时;
  • 数据冲突;
  • 权限不足;
  • 数据不存在。

比如保存商品:

  • 网络中断后是否有提示;
  • 服务器异常后是否可重试;
  • 重复保存是否有处理。

七、交互细节要测试

表单交互细节影响用户体验。

要测试:

  • 必填项是否有标记;
  • 格式错误是否有提示;
  • 校验时机是否合理;
  • 提示文案是否清晰;
  • 默认值是否正确;
  • 联动字段是否正确更新;
  • 重置或清空是否正确。

比如选择商品分类:

  • 选择一级分类后二级分类是否联动;
  • 清空一级分类后二级分类是否清空。

八、权限控制要验证

表单权限要测试:

  • 不同角色是否能看到表单;
  • 不同角色是否能提交;
  • 不同角色能操作的字段是否不同;
  • 数据权限是否正确过滤。

比如编辑用户:

  • 管理员可编辑所有字段;
  • 普通管理员只能编辑部分字段;
  • 普通用户不能编辑。

九、面试回答模板

可以这样回答:

表单测试我会从字段校验、提交逻辑、数据存储、状态变化、异常处理、交互细节和权限控制几个方面展开。字段校验覆盖必填为空、格式错误、长度超限、范围超限、类型错误、特殊字符、重复值、关联一致性;提交逻辑验证校验执行、按钮状态、成功提示跳转、失败提示重试、重复提交拦截;数据存储验证数据库新增更新、字段值正确、时间戳和创建人、关联表数据;状态变化验证状态字段更新、流转规则、状态不允许拦截;异常处理测网络中断、服务器异常、接口超时、数据冲突;交互细节测必填标记、格式提示、校验时机、联动更新;权限控制测不同角色可见可操作范围。

这个回答能体现你有完整的表单测试思路。

十、下一步建议

建议你把一个熟悉的表单按上面维度重新整理:

  • 字段校验清单;
  • 提交逻辑验证点;
  • 数据存储验证点;
  • 状态变化验证点;
  • 异常处理场景;
  • 交互细节验证点;
  • 权限控制验证点。

Powered by VitePress

🔒 需要口令解锁

关注微信公众号 测开阿Duang
回复关键词 「密码」 获取口令

公众号二维码

解锁后本浏览器长期有效