51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 9602|回复: 24
打印 上一主题 下一主题

[讨论] 关于查询功能测试CASE的编写

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-7-6 19:45:19 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
一个简单的查询功能,查询条件有多个,条件之间为and关系,任何一个条件都可以不输入。
怎样写可以用最少的CASE覆盖最多的可能情况。
(不考虑界面等等的功能,也不考虑有日期等特殊控件,也不考虑与业务有关的边界、异常等的测试,只考虑查询条件有输入或者没有输入情况下的不同处理)

比如,有A/B/C三个查询条件

一、可以写成2个CASE:
A、B、C三个条件全空
A、B、C三个条件全都输入

二、可以写成如下:
A       B      C
有      有    有
无      有    有
有      无    有
有      有    无

三、还以写成所有 A有输入,A无输入;B有输入,B无输入,C有输入,C无输入 的各种排列组合。

需要写成第3种情况这么多的测试CASE吗?第一种是不是可以概括了全部的情况呢?

咨询项目组开发人员,他们也不确定,因为可能编程习惯不同,写法也会不同。另外,开发人员还提出:如果是从一个表中select,第一种应该可以,但若是多个表select,可能会有问题。
查询功能应该是很常用的,相信大家都遇到过,不知道大家都是怎么做的呢?一直觉得这部分的CASE很麻烦。很容易写的冗余。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

25#
发表于 2009-9-21 08:56:02 | 只看该作者
10楼滴,能否告诉我,你那个正交表,怎么分析得来的吗?
回复 支持 反对

使用道具 举报

该用户从未签到

24#
发表于 2008-11-3 16:42:15 | 只看该作者
受益匪浅
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2008-10-8 09:16:20 | 只看该作者
我了解到的正交法应该是
A B C
0 0 0
0 1 1
1 0 1
1 1 0
加上一个
1 1 1
0代表有,1代表没有!
水平数是2,因素数是3。
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2008-9-26 08:21:24 | 只看该作者
是挺麻烦的,最好到数据库去验证一下
回复 支持 反对

使用道具 举报

该用户从未签到

21#
发表于 2008-9-10 17:11:05 | 只看该作者
原帖由 wing821022 于 2007-3-9 14:55 发表
如果把第二个写为
A       B      C
有      有    有
无      有    有
有      无    有
有      有    无
无     无     无
是不是会更好些呢???


我就是这样做的
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2008-9-10 17:08:35 | 只看该作者

呵呵

win821022说的不错,我就采取的这个方法。

A       B      C
有      有    有
无      有    有
有      无    有
有      有    无
无     无     无
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2008-9-10 17:06:01 | 只看该作者

呵呵

大家讨论的很好啊,我正为这个问题头疼呢。
我基本选择了第二中方法。
添加了
无 无 无
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2007-3-13 09:51:02 | 只看该作者
原帖由 lily_liuyun 于 2006-7-7 10:54 发表


谢谢 舞の月  的意见。

那 A/B/C 全有,A/B/C全无,不是更简洁吗?会有什么样的可能出现而这种测试不到的错误吗?


比如B是包括BandC的,即A/B=A/B/C但是你上面的用例是测不出来
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2007-3-9 14:55:20 | 只看该作者
如果把第二个写为
A       B      C
有      有    有
无      有    有
有      无    有
有      有    无
无     无     无
是不是会更好些呢???
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2007-2-14 09:13:08 | 只看该作者
以下是我所了解的关于正交法的一点知识,还不足以助我理解它,大家有什么资料吗?能提供给我吗?


正交试验法的理论基础是正交拉丁方理论与群论。在工作中可用的多因素寻优工作方法,一类是从优选区某一点开始试验,一步一步到达较优点,这类实验方法叫序贯试验法,如因素轮换法、爬山法等;另一类是,在优选区内一次布置一批试验点,通过对这批试验结果的分析,逐步缩小优选范围从而达到较优点,如正交试验法等。科研中普遍采用正交试验法,因其具有如下优点:

①实用上按表格安排试验,使用方便;
②布点均衡、试验次数较少;
③在正交试验法中的最好点,虽然不一定是全面试验的最好点,但也往往是相当好的点。特别在只有一两个因素起主要作用时,正交试验法能保证主要因素的各种可能都不会漏掉。这点在探索性工作中很重要,其他试验方法难于作到;
④正交试验法提供一种分析结果(包括交互作用)的方法,结果直观易分析。且每个试验水平都重复相同次数,可以消除部分试验误差的干扰;
⑤因其具有正交性,易于分析出各因素的主效应。
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2007-2-5 14:40:33 | 只看该作者
1、这三个条件之间的关系
A and (B or C) 和 A and B and C 结果安装不同
2、没有条件,不一定就代表 B为空,可能程序会会处理为 "B=True"
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2007-2-5 14:34:34 | 只看该作者
原帖由 白菜叶子 于 2007-2-1 14:10 发表
如果每个查询条件取值个数不一样的话正交法不适用


正交法也适用于不同取值的,即允许某个因素中有多个水平数。
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2007-2-3 16:04:11 | 只看该作者

opinion

原帖由 lily_liuyun 于 2006-7-7 10:54 发表


谢谢 舞の月  的意见。

那 A/B/C 全有,A/B/C全无,不是更简洁吗?会有什么样的可能出现而这种测试不到的错误吗?



这样会知道查询功能是否完成,
如果功能实现了,
没问题,
如果功能未实现,
无法定位,
问题出在哪一个查询条件。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-2-1 14:10:29 | 只看该作者
如果每个查询条件取值个数不一样的话正交法不适用
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-7-20 15:17
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    11#
    发表于 2007-1-31 11:02:46 | 只看该作者
    用正交表法得到初步的测试用例后,如果根据等价类划分,某个因子有多个取值,是否在每一行该因子所在的列为0时,各个取值都要测试一遍,望指教,谢谢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2006-8-16 14:59:48 | 只看该作者
    8楼说的是对的,应该用正交表,使分布比较均匀,这个这样测比较好,按正交表
    A        B        C
    0        0        0
    1        0        1
    0        1        1
    1        1        0
    把0代表有,1代表无替换得到4个测试用例,舞の月说的虽然也是4个,但是显得分布不均匀,也就是说覆盖的面不如用正交表得到的4个测试用例,显得就主观了些,lz可以再看看多因子多状态的正交表测试方法的例子(比如4状态3因子怎么得到最好的测试用例)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2006-7-28 09:25:37 | 只看该作者
    具体问题具体解决
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2006-7-20 13:30:08 | 只看该作者

    采用正交表方法

    采用正交表方法,使case的分布很均匀。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2006-7-13 11:25:28 | 只看该作者
    原帖由 slide 于 2006-7-10 12:49 发表
    简洁的方法也有呀,就按照你自己分析的
    1类是验证极端的边界值
    2类是按照正交方法选择用例
    3类是覆盖所有用例

    写一篇文档把这3种方法说清楚。

    然后在具体设计用例时候,只要说一下按照那种方法来设计,1 ...



    恩。有道理。多谢slide的回复。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-15 17:50 , Processed in 0.081285 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表