如何测试金额?到底长度测试,小数点算1位吗?

发表于:2021-12-02 09:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:软件测试刀锋    来源:知乎

  我们都知道很多软件在测试我们都要依据需求,去对相应的控件进行等价类划分和边界值的测试。比如说金额文本测试?
  假如现在有一个金额输入框,限制输入最大长度时10位。
  这时候有学生问到,老师我知道金额测试的时候要考虑整数和小数。并且根据等价类和边界值,我要测试长度小于10位的,等于10位的,包括9位,11位,大于10位的长度都要测试,但是我疑惑了,我们都知道金额有小数点,小数点算不算一位呢?
  这个时候我们在不确定的情况下,可以找产品和开发一起对齐,一起确定金额的小数点位到底算不算1位,只有大家一起对齐,那么开发按照对齐之后的进行开发。测试按照对齐之后的需求进行测试。
  其实真正理解软件业务的人,都会知道有的时候金额在软件程序中的数据类型是浮点型。其实在数字类型里面是没有长度方法。
  就更上面的代码,我定义了 一个浮点类型的变量,然后尝试去用len()方法获取长度。但是报错,报错信息为object of type ‘float has no len()
  什么意思,其实就是告诉你,浮点类型(小白可以先理解为小数)没有长度这样的方法(在java中长度为属性,一般是通过变量.length)。
  无论哪种,其实编程语言告诉你,我们不这么玩!!!我们统计数字的长度没有实际意义!!!
  那有的人问我,老师为什么我们测试的时候还要考虑长度的边界值和等价类呢?
  其实很多时候,我们是通过前端用户输入,接收用户输入的为字符串类型,先是判断输入的字符串是否满足规定的长度。
  满足之后,如果要参与计算,这时候会强转成数值类型,代码如下:
  所以,一般如果是判断长度的时候,一般情况都会算上小数点的。而参与计算的时候,其实就是简单的数字相加。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号