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

以下是功能需求:

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. PHP设计模式系列 - 适配器

    什么是适配器: 适配器设计模式只是将某个对象的接口适配为另一个对象所期望的接口. 设计情景: 假如我们原始的有一个UserInfo的类,提供用户信息的类,早起设计该类的时候,只实现了一个getUser ...

  2. Mina使用总结(四)传输对象ObjectSerializationCodecFactory

    用mina框架传输对象,对于开发者来说,直接传输对象,而不用自己编写相应的报文转换代码,将大大节省 开发时间. 即使用对象编码解码器 使用ObjectSerializationCodecFactory ...

  3. 在C#应用程序中,利用表值参数过滤重复,批量向数据库导入数据,并且返回重复数据

    在很多情况下,应用程序都需要实现excel数据导入功能,数据如果只有几十条,或上百条,甚至上千条,速度还好. 但是不仅如此,如果客户提供给你的excel本身存在着重复数据,或是excel中的某些数据已 ...

  4. 什么是HOOK(钩子):消息拦截与处理

    对于Windows系统,它是建立在事件驱动机制上的,说白了就是整个系统都是通过消息传递实现的.hook(钩子)是一种特殊的消息处理机制,它可以监视系统或者进程中的各种事件消息,截获发往目标窗口的消息并 ...

  5. [SDOI2017]切树游戏

    题目 二轮毒瘤题啊 辣鸡洛谷竟然有卡树剖的数据 还是\(loj\)可爱 首先这道题没有带修,设\(dp_{i,j}\)表示以\(i\)为最高点的连通块有多少个异或和为\(j\),\(g_{i,j}=\ ...

  6. Day4 MySql触发器视图索引以及设计优化

    触发器 MySQL包含对触发器的支持.触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行. 通过事件触发,不能传参 语法 CREA ...

  7. Oracle 表单的创建

    1.-- 连接 conn hu/aaa; -- 创建表空间 Create tablespace computer2005 nologging datafile 'd:/Oracle/product/1 ...

  8. 【转】对H264进行RTP封包原理

    1. 引言     H.264/AVC 是ITU-T 视频编码专家组(VCEG)和ISO/IEC 动态图像专家组(MPEG )联合组成的联合视频组(JVT)共同努力制订的新一代视频编码标准,它最大的优 ...

  9. gulp插件(8) - gulp-sourcemaps(生成sourcemap)

    功能描述生成sourcemap文件(什么是sourcemap?请参考,简单讲就是文件压缩后不利于查看与调试,但是有了sourcemap,出错的时候,除错工具将直接显示原始代码,而不是转换后的代码) 插 ...

  10. P1841 [JSOI2007]重要的城市

    题目描述 参加jsoi冬令营的同学最近发现,由于南航校内修路截断了原来通向计算中心的路,导致去的路程比原先增加了近一公里.而食堂门前施工虽然也截断了原来通向计算中心的路,却没有使路程增加,因为可以找到 ...