写点什么

Web 软件测试中数据输入的检查清单

  • 2013-03-24
  • 本文字数:1969 字

    阅读完需:约 6 分钟

检查清单 (Checklist) 可以帮测试人员节省时间,因为很多有效的方法并不需要每个测试人员重新发现,前人已经有了充分的总结,并做了大量的有效性验证,其次,检查清单可以帮助测试人员避免遗漏,人的记忆是有局限的,难免会有遗漏的地方,通过检查清单检查可以有效的防止遗漏。最近,IBM 工程师苏京刚总结了 Web 软件测试中数据输入的检查清单,对 Web 测试人员提供了很好的参考。

苏京刚主要从表格输入、数据验证、数据一致性、日期输入、数字输入、数字字符输入等方面归纳了 Web 测试中需要检查的要点。以数字输入为例,这是常见的测试点,检查清单就包括六项内容:

  1. 确保最小、最大值正确处理——对于数字输入域,一般都有自己的最大值和最小值,这两个极值的处理需要特别验证。除了验证最大最小值之外,测试人员最好一起验证比最小值小的值和比最大值大的值是否能被产品恰当处理。举例,在定义一个连接的过程中需要输入一个端口号,该端口号的最小值为 1。而当用户输入端口号为 0 时,可以成功添加该连接。而当用户去验证该连接时,提示端口号 0 是非法的。这是产品的一个缺陷。正确的处理方式是,当用户视图添加端口号为 0 时,就给出错误提示信息,告知用户该端口号是非法的。另外一个需要考察的地方,当输入超出最大最小值时,产品需要给出清晰明确的警告和提示,告知用户正确的范围是什么。
  2. 确保数值输入框的第一个字符位置输入空格时报错——当数值输入框的第一个字符为空格时,该输入已经不再是一个数值,应当做非法输入处理。产品处理过程中,需要给出错误信息。
  3. 确保输入值输入框的最后一个字符位置输入空格时报错——当数值输入框的最后一个字符为空格时,该输入已经不再是一个数值,应当做非法输入处理。产品处理过程中,需要给出错误信息。
  4. ** 确保正号 (+) 和负号 (-) 被正确处理——** 每个涉及到数值输入的地方,都涉及到一个数值符号的问题。因为数值有正负之分,需要保证产品对正负数的处理都准确恰当。对于能够接受带正号数值的输入框,处理结果应该跟不含符号 ( 默认为正数 ) 的数值输入的结果相同,因为本质上两个数值是相等的 ( 对输入数值的再显示除外,因为单纯显示上,两者相差一个 + 号 )。
  5. 避免除数为 0——除数为 0 是所有的运算中需要避免的。在软件产品中,如果涉及到除法运算,需要特别注意避免除数为 0 的情况发生。其中包含各种情况下的除数为 0,包括除数为输入值 0,除数为某中间计算结果为 0 等。
  6. 在所有的运算中加入 0——因为 0 所有的运算中具有重要的作用,也是一个非常特殊的数值。因此在测试过程中,在所有涉及到的运算中加入 0 值对测试产品具有很好的效果,能测试到较多的与 0 相关的情况。

同样的,数据一致性测试的清单也和边界值有关:

  1. 检查输入最大字符长度时显示、工作是否正常——每个输入域都有自己的输入字符长度限制,当输入长度达到最大长度时,需确保产品显示和工作都正常。通常情况下,属于最大长度字符时,给页面的显示难度带来很大挑战,因为此时需要在有限的页面显示的内容最多。
  2. 验证数字输入域是否接受负值及接受负值是否合理——数字数与区域有些情形下是不应该接受负值输入的,此时如果处理不当,当有负值输入时,将会有不可预知的情况出现。如果允许接受负值,测试对负值的处理是否正确也是测试中重要的一个方面。
  3. 确保数据保存之后所有的数值在数据库中都得到完整的保存——在产品页面上对数据进行保存之后,需要确保所有数值都完整的保存到了数据库中。从不同途径访问到相同的数据都是一致的、同步的。为了验证这一点,测试人员需要尝试在保存之后重新打开并查看显示,看是否跟保存之前的数据完全一致,同时努力从不同的路径访问和应用相同的输入, 验证是否能得到一致的结果。

数据验证测试往往被人忽视,苏京刚总结了三条测试点:

  1. 任何时候当输入非法数据时,系统都不能表现糟糕——尽管软件产品设计的目的不是仅为了接收非法数据输入,但是产品需要确保当得到非法数据时依然不会表现的很糟糕,而依然应该做出恰当的处理。非法数据的类型分为很多种,包括数据长度、数据的大小、数据中的非法字符、数据输入的顺序等方面。
  2. 如果用户在产品使用过程中删除 cookie 会有什么后果?——Cookie 是产品为了识别用户身份、保存用户配置信息、进行会话跟踪等而保存在本地终端上的数据。产品设计需要保证在用户使用过程中,如果用户删除 cookie,产品依然处理得当,不会有太糟糕的、不可预知的行为出现。
  3. 如果用户在使用产品后删除 cookie 会有什么后果?——如果用户在使用产品之后删除 cookie,当用户再次访问产品时,需要保证产品依然做出恰当的处理,不会有出乎意料的动作发生。

关于 Web 软件测试中数据输入的检查清单的详细内容,读者可以查看原文,其他还包括了表格输入、日期输入、数字字符输入等其他方面的检查清单。这些清单为 Web 测试人员在设计测试用例时提供了很好的参考。

2013-03-24 01:563303
用户头像

发布了 501 篇内容, 共 285.7 次阅读, 收获喜欢 64 次。

关注

评论

发布
暂无评论
发现更多内容

敏捷VMO:打通战略到成果的桥梁,驱动企业规模化敏捷转型

ShineScrum

敏捷 PMO VMO

追觅的想象空间:以技术为翼,向生态无垠

慢点科技SlowTech

DolphinScheduler 3.1.9 单机版重启后,项目、流程定义等数据全部丢失

白鲸开源

大数据 开源 Apache DolphinScheduler 工作流任务调度

新兴数据湖仓手册·从分层架构到数据湖仓架构(2025):数据仓库分层的概念与设计

白鲸开源

大数据 数据仓库 数据湖 白鲸开源 WhaleStudio

从零开始:手把手教你在 AskTable 中连接和管理数据源

察言观数 AskTable

数据库 大数据 数据分析 数据管理

英特尔联动「扣子 AI 工坊」启动高校计划——让校园创意一键开挂

新消费日报

最佳实践:基于Apache SeaTunnel从MySQL同步到PostgreSQL

白鲸开源

MySQL postgresql 大数据 开源 Apache SeaTunnel

吃透 DolphinScheduler 负载均衡:3 大核心算法 + 底层逻辑全解析

白鲸开源

大数据 开源 算法 Apache DolphinScheduler 数据调度

ECRobot 深耕 AI 应用场景落地!伊克罗德信息成功签约两大行业标杆客户

伊克罗德信息科技

“一切皆文件”:揭秘LINUX I/O与虚拟内存的底层设计哲学

poemyang

Linux RPC I/O模型

云栖实录 | 从多模态数据到 Physical AI,PAI 助力客户快速启动 Physical AI 实践

阿里云大数据AI技术

阿里云 nvidia PAI

在VS Code IDE中通过LocalStack集成加速无服务器测试

qife122

AWS LocalStack

AI Coding实现X2SeaTunnel的设计、开发与落地

白鲸开源

大数据 开源 数据同步 Apache SeaTunnel AI编程

用了天润融通AI之后才知道,原来以前的客服真苦

天润融通

Dify 企业版 3.2.0 重磅发布:开启智能应用构建新纪元!

伊克罗德信息科技

FastDFS 可观测性最佳实践

观测云

fastdfs

java遍历hdfs路径信息,报错EOFException

刘大猫

人工智能 云计算 大数据 算法 物联网

为何底层数据湖决定了 AI Agent 的上限?

字节跳动数据平台

全国独家线下面授 | 大规模敏捷LeSS认证上海12月18-20日【报名享多重福利优惠】

ShineScrum

LeSS认证 CLP认证 LeSS认证实践者

在AI技术快速实现创意的时代,挖掘邮件营销系统新需求成为关键突破点

qife122

开源项目 需求分析

OAuth/OpenID Connect 渗透测试完全指南

qife122

网络安全 Oauth

传帮带 人才梯队建设经验总结(13)

万里无云万里天

人才培养 工业 工厂运维

代码·创想·未来——百度文心快码创意探索Meetup来啦

Comate编码助手

工程师 AI 编程 文心快码 AI编程助手

语音识别技术实战:从iOS到GPT的优化之路

qife122

自然语言处理 语音识别

征程 6 | BPU trace 简介与实操

地平线开发者

自动驾驶; 算法工具链 地平线征程6

高性能智算网关打通 GPU 集群与 AI 存储高速链路,硬件成本直降 95%

Baidu AICLOUD

工业管理 团队建设经验总结(5)

万里无云万里天

团队建设 工业 工厂运维

商城程序搭建B2B2C平台的物流轨迹信息展示之在途监控API

快递鸟

“全球金牌课程”11月08-09日·上海线下·CSM认证【提前报名特惠

ShineScrum

Scrum Master CSM CSM认证 CSM认证培训

金融级稳定性:ETLCloud如何保障千万级数据的准确同步

谷云科技RestCloud

kettle 数据传输 数据同步 ETL 数据集成工具

SpringBoot 3.x 集成 Flowable 7.x:流程设计、部署、启动及完成实战

Geek_e3e86e

编程 java面试

Web软件测试中数据输入的检查清单_DevOps & 平台工程_崔康_InfoQ精选文章