测试对象:红框内的“价格筛选功能”

以下是功能需求:

1、 除了空以外,输入框不能输入数字之外的内容。

  备注:如果出现数字之外的内容,输入框禁止输入。

2、 输入框不能小于0

  备注:如果出现小于0的数字,输入框禁止输入负号,只保留数字。

3、 框1为空,框2有数值,清空所有输入框

4、 框1有数值,框2为空,清空所有输入框

5、 两个框都为空,搜索出所有商品

6、 第一个框的值要小于等于第二个框的值。

第一个框的值和第二个框的值相同时,如果存在该价格的商品仅展示该价格的商品,若没有,弹出“抱歉,没找到您要搜索的商品,换个条件试试!”

这个小模块的测试用例如何设计呢?百思不得其解,是用等价类划分法还是用判定表法还是两个方法结合着来设计测试用例?

有一个未经验证的思路:

  先按照等价类划分法划分:

    有效等价类:空、不小于0的整数;

    无效等价类:中文、英文、特殊字符,以及特殊的无效等价类,如小数和负数。

  第一、先测试有效等价类能否正常输入,经测试可以正常输入

  第二、再测无效等价类,中文、英文、一般特殊字符是否确实被禁止输入,经测试确实无法正常输入,但是特殊情况下可以输入(比如数据是复制进去的时候)。

  之后再测试无效等价类中的两个特殊情况,小数和负数:

  小数,比如输入(或者复制进输入框)50.5,输入框中的数据会自动变成505,说明小数这个无效等价类确实无法输入到输入框中,理由是输入框中的数据确实不是一个小数50.5而是一个整数505。

  负数也是同理,比如输入-500,输入框中的数据会自动变成500,说明负数这个无效等价类也无法输入到输入框中,理由同样是输入框中的数据最终确实不是一个负数-500而是一个正整数500.

  负小数也是同理,最终输入到输入框中也会变成正整数。

  所以,小数和负数这两个无效等价类经测试,满足空和数字以外的内容禁止输入这个需求。

  第三、在两个输入框中都输入的是有效等价类的前提下,通过两个输入框中输入的数据之间的对比来测试能否实现特定的逻辑功能

  1、两个框都为空,预期结果是可以搜索出所有商品,经测试符合需求;

  2、框1为空,框2有数值,预期结果是可以清空所有输入框,经测试符合需求;

  3、框1有数值,框2为空,预期结果是可以清空所有输入框,经测试符合需求;

  4、框1框2都有数值且均不为0,且框1值小于框2值,预期结果是可以搜索出价格在这两个值之间的商品,经测试符合需求;(为什么要排除为0的情况?因为要把边界值单测)

  4.1、框1框2都有数值,且框1值小于框2值,且框1值为0,预期结果是可以搜索出价格在0-框2值之间的商品,经测试搜索出了所有商品。此处没能满足需求,需记录在缺陷报告中;

  4.2、框1框2都有数值,且框1值小于框2值,且框1值为1,预期结果是可以搜索出价格在1-框2值之间的商品,经测试符合需求;

  5、框1框2都有数值且均不为0,且框1值等于框2值,且待搜索的商品中有价格等于框1/2值的,那么就仅搜索出并展示这个价格的商品;

  5.1、框1框2都有数值且均为1,且待搜索的商品中有价格等于1的,那么就搜索并展示这个价格的商品;

  6、框1框2都有数值且均不为0,且框1值等于框2值,且待搜索的商品中没有价格等于框1/2值的,那么就弹出“抱歉,没找到您要搜索的商品,换个条件试试!”;

  6.1、框1框2都有数值且均为1,且待搜索的商品中没有价格等于1的,那么就弹出“抱歉,没找到您要搜索的商品,换个条件试试!”;

  7、框1框2都有数值且均为0,且待搜索的商品中有价格等于0的,那么就搜索并展示这个价格的商品;

  8、框1框2都有数值且均为0,且待搜索的商品中没有价格等于0的,那么就弹出“抱歉,没找到您要搜索的商品,换个条件试试!”;

  9、此处少了一个需求,即是框1的值大于框2的值,会有怎么样的提示;

以上的思路大致是:

1、先独立测试两个输入框中在输入无效等价类时是否如预期一样,除了空和数字以外的内容都不会显示;(这一步测试是为了确保输入框中只能输入空或者自然数,为下一步的逻辑功能实现做铺垫)

2、再构造有效等价类来输入到两个输入框中,通过对比两个输入框中的值,来测试是否能实现预期的逻辑功能;(这一步测试是为了在输入的是空或者自然数的前提下,确保需求中的价格筛选功能可以实现)

经过以上的测试思路,感觉已经测试到了价格筛选功能的主要测试点,只是这个测试用例设计办法有点繁琐。

有点啰嗦,如果各位看官有更好的方法或者发现了本文中的错误,欢迎指正

  

tpshop购物网站价格筛选功能的测试用例设计的更多相关文章

  1. PHP操作实现一个多功能购物网站

    PHP操作实现一个多功能购物网站 一.需要实现的页面: Index.aspx:浏览商品页面,显示商品列表,用户可以点击“加入购物车“. ViewCart.aspx:查看购物车页面,显示已购买的商品信息 ...

  2. 织梦CMS实现多条件筛选功能

    用织梦实现筛选的功能,其实主要就是运用到了织梦的高级搜索功能,然后用ajax去post替换掉本来的结果就可以了. 其实筛选的话,主要有两个问题需要解决,一个是前台的筛选实现,一个是后台根据前台的点击, ...

  3. 【PHP开源产品】Ecshop的商品筛选功能实现分析之一

    一.首先,说明一下为什么要对category.php文件进行分析. 原因如下: ①个人对商城类商品筛选功能的实现比较好奇: ②对商城中关于商品的数据表设计比较感兴趣.(该功能涉及到与数据库的交互,而且 ...

  4. php实现一个简单的购物网站

    实现一个简单的购物网站 一.考试时间:8小时 二.开发工具:DW 三.数据库:见附件 四.需要实现的页面: Index:浏览商品页面,显示商品列表,用户可以点击“购买“. ViewCart:查看购物车 ...

  5. 求解:php商品条件筛选功能你是怎么做出来的?

    求解:php商品条件筛选功能你是怎么做出来的? 2013-09-25 13:43 chenhang607 | 浏览 2756 次 资源共享 求思路或者方法,最好能有些代码 2013-09-25 14: ...

  6. springMVC+angular+bootstrap+mysql的简易购物网站搭建

    springMVC+angular+bootstrap+mysql的简易购物网站搭建 介绍 前端的css框架用了bootstrap, 以及bootstrap的JS组件, 以及很好用的angular(a ...

  7. php商品条件筛选功能你是怎么做出来的?

    php商品条件筛选功能你是怎么做出来的? php按条件筛选商品的功能,还是比较简单的.其实就是根据不同的条件组成SQL查询条件,从数据库里查出不同的商品出来.举个例子:用户可以按价格范围.按品牌.按商 ...

  8. Redis构建处理海量数据的大型购物网站

    本系列教程内容提要 Java工程师之Redis实战系列教程教程是一个学习教程,是关于Java工程师的Redis知识的实战系列教程,本系列教程均以解决特定问题为目标,使用Redis快速解决在实际生产中的 ...

  9. 基于Spring+Spring MVC+Mybatis的B2C购物网站

    代码地址如下:http://www.demodashi.com/demo/12935.html 准备工作 当前项目运行的系统环境是MacOS,已经测试可以正常运行,并且之前开发的时候也在Windows ...

随机推荐

  1. NLog写入Mongo日志配置

    Web网站中引入了NLog日志,日志记录在Mongo数据库中,经过两天的简单学习,现简要记录说明下: 首先贴出NLog的学习地址: https://github.com/NLog/NLog/wiki/ ...

  2. Java编程练习题

      曾经,有人说过,没有刷题的人生是不完整的.看了几天Java,我试着做了几道练习题,好让我的人生完整一点.(偷笑--)这里挑了一些题来跟大家分享,本文不定期更新. 题目集  1. 最后一个单词的长度 ...

  3. SAP 前端技术的演化史简介

    Jerry之前曾经写过一篇微信公众号文章,题目叫<> 关注我的公号"汪子熙"后,在历史菜单"前端开发相关"里即可找到这篇文章: 该文章简单回顾了SA ...

  4. [转]Hadoop 读写数据流

    Hadoop文件读取 1)客户端通过调用FileSystem对象中的open()函数来读取它做需要的数据.FileSystem是HDFS中DistributedFileSystem的一个实例. 2)D ...

  5. 算法题:整形数组找a和b使得a+b=n

    题目: 数组 A 由 1000 万个随机正整数 (int) 组成,设计算法,给定整数 n,在 A 中找出 a 和 b,使其符合如下等式: n = a + b 解题思路: 1. 1000w个随机正整数占 ...

  6. linq to sql 分页技术

    昨天在用LINQ写分页的时候碰到一个很奇怪的问题:翻页的时候,有的数据会莫名其妙地消失,查了半个多小时才发现问题所在,其实是一个很细节的地方. 数据表如下: LINQ分页的实现是: var artic ...

  7. pm2踩过的坑

    pm2实现一键部署,能将github上的代码拉到服务器,但是死活就是起不了服务. pm2部署命令: pm2 deploy ecosystem.json production setup pm2 dep ...

  8. JDBC 使用common-dbutiles

    一:第三方jar mysql-connector-java-5.1.45-bin.jar,需要关注的核心类: 1.DbUtils----操作数据库的连接注册和释放. 2:.QueryRunner--- ...

  9. SQLite加密方式 [转]

    关于SQLite SQLite是一个轻量的.跨平台的.开源的数据库引擎,它的在读写效率.消耗总量.延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如iOS.Android). ...

  10. TCP\UDP客户—服务器程序设计基本框架流程图