51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4444|回复: 10
打印 上一主题 下一主题

[讨论] 工作过程中遇到一个比较复杂的需求

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-1-13 21:36:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
工作过程中遇到一个比较复杂的需求,中间涉及到的状态改变非常的多,大家如果有兴趣的话可以一起来想一下。

聊天规则:(1)A向B发出聊天邀请,B同意后,A和B进入聊天房间;(2)如果A已经在聊天房间中,则无论B是否在聊天房间中,B都进入A所在的聊天房间;(3)如果A不在聊天房间,B在聊天房间,则A进入B所在的聊天房间;(4)如果A和B都不在聊天房间中,则创建一个新的聊天房间,A和B都进入这个房间;(5)一个房间最多5个人聊天;(6)房间中的每个人都随时可以退出聊天。请根据以上设计写出测试需求,需要列举出所有进入/退出聊天流程的情况都

[ 本帖最后由 cm0214 于 2009-1-19 14:33 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-1-17 14:15:42 | 只看该作者
这个倒不是很复杂。
  
  A在,B在,A邀请,B先退出,看A所在的聊天房间是否满人,B同意,进入聊天房间(具体判断聊天房间是否满人是在A邀请之前还是B同意之后就要看具体程序了,同下)
  A在,B不在,A邀请,看A所在的聊天房间是否满人 ,B同意,进入聊天房间
  A不在,B在,A邀请,B先退出,和A进入一个新的聊天房间
  A不在,B不在,一起进入新的聊天房间
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-1-17 14:41:33 | 只看该作者
谢谢你的回答,但是不知你有没有考虑过这样的情况:
1、A在,B不在,A邀请,B同意时,A已退出聊天
2、A不在,B在或不在,A邀请,B同意时,A加入了另一个聊天

其实还有其它情况的,不如再多想一想?

[ 本帖最后由 cm0214 于 2009-1-17 14:47 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-1-18 13:39:30 | 只看该作者
这个就要看题意了。
  题中聊天规则有个“如果A已经在聊天房间中,则B进入A所在的聊天房间”(2),就看这句话你怎么来理解。
  我所说的,就是A不管在不在,他在邀请B之后自己的状态就不再变了
  你补充的,是A的状态变了。
  有你的补充就更全面了,当时看了条件(2)就没考虑这个了。
  呵呵

    欢迎更多的朋友一起来讨论下这个问题。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-1-19 10:21:50 | 只看该作者
嗯,你说的也有道理,不过不知你有没有注意到我最后一个条件:房间中的每个人都随时可以退出聊天。
这里其实暗示了A在邀请的过程中也可以退出房间。
另外,A在等待B答复的过程中是否也可以邀请第三个、第四个人呢?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-28 18:04
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]测试团长

    6#
    发表于 2009-1-19 10:34:17 | 只看该作者
    随便聊聊,分析下需求

    (1)A向B发出聊天邀请,B同意后,A和B进入聊天房间;

    感觉这句话只是一个功能描述,作为需求的开头还行,作为需求的规则还很不明确。关于结果,A-B到底进入哪个聊天房间?有以下几种可能性
    1. A不在房间,B不在房间    (4)如果A不在聊天房间中,则创建一个新的聊天房间,A和B都进入这个房间;
    2. A在房间,B在房间       (2)如果A已经在聊天房间中,则B进入A所在的聊天房间;
    3. A在房间,B不在房间     (3)如果A(B)不在聊天房间,B(A)在聊天房间,则A(B)进入B(A)所在的聊天房间;
    4. A不在房间,B在房间     (3)如果A不在聊天房间,B在聊天房间,则A进入B所在的聊天房间;

    很明显,(4)需求和(3)需求存在互斥,需要先排除B在房间的情况。所以需求(4)的情况需要明确说明B的状态是:B也不在房间的情况。否则规则(3)和规则(4)是先使用哪个?
    接下来,对需求规则进行优化,规则3和规则4实际上是一致的。只不过角色变换了下。可以考虑进行合并。

    关于规则(5)和规则(6),这里没什么好说了。只是可能要补充下需求:
    当B在房间X的时候,要进入Y房间,必须先退出房间X,再进入房间Y。是否可以进一步优化程序流程?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2009-1-19 12:05:10 | 只看该作者
    这个东西我觉得大家可以用Excel先用列表示可变因子
    每列的值下拉值做上可能的取值
    然后去排列组合
    这样确保条件组合的不遗漏
    复杂的逻辑组合,尽量不要这样一上来文本的铺开去想
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2009-1-19 14:34:02 | 只看该作者

    Archonwang

    不好意思,是我的疏忽,改了一下描述
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2009-2-10 13:45:58 | 只看该作者

    我的用例设计,望高人指正!

    0:表示不在房间;1:表示1号房间;2:表示2号房间;3:表示新建房间;n:表示房间人数
    因为,A邀请B <=> B邀请A,所以只需写出A邀请B的测试用例即可
    A=0,B=0  A=B=3   //A,B均不在房间时,A邀请B则A,B均进入新建的3号房间
    A=1,B=1  A=B=1   //A,B同时在1号房间,则A,B状态不变
    A=1,B=0
    if n<=5 then  A=B=1 n++   //A在1号房间,B不在房间,并且1号房间人数少于等于5时A状态不变,B进 入1号房间,1号房间人数增1
       else  A=1,B=0   //否则A,B状态不变
    A=1,B=2
    if n<=5 then  A=B=1 n++//A在1号房间,B在2号房间,并且1号房间人数少于等于5时A状态不变,B进入1号房间,1号房间人数增1,2号房间人数减1
       else  A=1,B=2   //否则A,B状态不变
    A=0,B=1  A=B=3  //A不在房间,B在1号房间,A邀请B则B退出1号房间,A,B均进入新建的3号房间
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2009-2-10 17:49:03 | 只看该作者
    唉,比较失望
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2009-2-10 17:49:52 | 只看该作者
    难道大家在论坛讨论的就是这些个问题么????
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-9-22 22:24 , Processed in 0.087276 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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