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

以下是功能需求:

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. November 21st 2016 Week 48th Monday

    A bird is known by its note, and a man by his talk. 闻其声而知鸟,听其言而知人. Listen to what a man talks, watch ...

  2. symfony学习笔记1—简介

    1.symfony快速入门还是先看代码结构把,这个是拿到代码的第一印象,app/:整个应用的配置,模版,translations,这个可能是多语言文件什么,src/:项目php文件,vendor/:第 ...

  3. 内置函数 sorted

    内置函数 sorted 语法: sorted(iterable,key = None,reverse= false)iterable: 可迭代的对象key:排序规则(排序函数),在sorted内部将& ...

  4. 从html代码里提取字符编码

    #include <iostream>#include "regex"using namespace std;std::string str = R"( &l ...

  5. Linux常用命令笔记总结(待补充)

    问题实际场景:遇到告警磁盘利用率不足,检查根目录下各文件大小 Linux查看磁盘利用率 df –h 查找磁盘占用情况 find / -size +100M 从根目录往下找大于100M大小的文件 du ...

  6. 原生js实现一个DIV的碰撞反弹运动,并且添加重力效果

    继上一篇... 原生js实现一个DIV的碰撞反弹运动,并且添加重力效果 关键在于边界检测,以及乘以的系数问题,实现代码并不难,如下: <!DOCTYPE html> <html la ...

  7. 如何动态调用 C 函数

    JSPatch 支持了动态调用 C 函数,无需在编译前桥接每个要调用的 C 函数,只需要在 JS 里调用前声明下这个函数,就可以直接调用: require('JPEngine').addExtensi ...

  8. Spark系列-核心概念

    Spark系列-初体验(数据准备篇) Spark系列-核心概念 一. Spark核心概念 Master,也就是架构图中的Cluster Manager.Spark的Master和Workder节点分别 ...

  9. linux下ab网站压力测试命令

    http://domain:代表压测域名.   get方法压测:        1)一般get方法压测简单,直接后缀url就ok了,参数直接挂在url后面的?a=1&b=2,         ...

  10. virtualbox+vagrant学习-4-Vagrantfile-6-SSH Settings

    SSH Settings 配置命名空间:config.ssh config.ssh的设置涉及到将如何配置vagrant使其通过ssh访问你的计算机.与大多数vagrant设置一样,默认设置通常都很好, ...