51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4477|回复: 15
打印 上一主题 下一主题

[讨论] 用例中的组合

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-4-21 13:24:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在写一个控制器的用例,控制器中的主要功能按键有:主页、返回、静音、音量+、音量-、播放、选时、快进、快退、暂停、停止。

现在,我要设计他们的组合,一次操作需要按键1次到3至4次,那么,这样的组合究竟有多少种?我已经算晕了,目前写出了607个,不知道还少多少?谁帮我统计一下啊。。。

当然,要是肯帮我直接设计出来,小弟更是不胜感激。
本人邮箱地址: dj02304@163.com

谢谢~~~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-4-21 14:38:30 | 只看该作者
有必要这样做么?
如果你一定要这样做,那么所有数量=P(1,11)+[P(2,11)+P(1,11)]+[P(3,11)+P(1,11)+C(1,11)*C(1,10)*P(3,3)/P(2,2)]+[P(4,11)+P(1,11)+C(1,11)*C(1,10)*P(4,4)/P(2,2)+C(1,11)*C(1,10)*P(4,4)/P(3,3)]就OK了,其中P(n,m)表示从M个元素中取出N个元素的所有排列数,C(n,m)B表示从 M个元素中取出N个元素的所有组合数。
满足你了,自己慢慢算去吧~~
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-4-21 16:53:04 | 只看该作者
哦,没有必要这么做啊,那么应该如何做才好呢?给个建议,我这几天因为这真是头都大了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-4-25 21:59:02 | 只看该作者
功力不够
帮你顶下把
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-4-25 23:25:20 | 只看该作者
简单的遍历肯定不是一个好的办法。
首先先分类吧:
1、主页、返回、
2、静音、音量+、音量-、
3、播放、选时、快进、快退、暂停、停止。

确认各个类之间不会相互影响,进行解耦,
然后,测试每一类的功能组合,只有最后一个稍微复杂一些。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-4-26 14:07:06 | 只看该作者
ding
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2006-4-26 14:23:54 | 只看该作者
原帖由 slide 于 2006-4-25 23:25 发表
简单的遍历肯定不是一个好的办法。
首先先分类吧:
1、主页、返回、
2、静音、音量+、音量-、
3、播放、选时、快进、快退、暂停、停止。

确认各个类之间不会相互影响,进行解耦,
然后,测试每一类的功能 ...


很有道理:)
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2006-4-27 13:42:10 | 只看该作者
分类是个好办法,但是不能因为各个类不相互影响就不组合在一起了,因为程序会怎样谁都不清楚,没准按一个快进,再按一个静音就出问题了呢?只是个例子,最终如何,就需要再考虑了~
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2006-4-27 23:03:02 | 只看该作者
楼上说得很有道理。 我在测试中也遇到过这样得问题。
疑问:测试中有必要把遍历所有都写下来么。好像我做过得测试都不需要这样得。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2006-4-28 11:31:27 | 只看该作者
建议看看正交表方面的东西
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2006-4-28 12:52:22 | 只看该作者
原帖由 dj02304 于 2006-4-27 13:42 发表
分类是个好办法,但是不能因为各个类不相互影响就不组合在一起了,因为程序会怎样谁都不清楚,没准按一个快进,再按一个静音就出问题了呢?只是个例子,最终如何,就需要再考虑了~


这就是开发质量对于测试的影响了,如果整体设计优秀,模块划分的好,可以解除耦合状态的话,测试相对于会简单很多,对于解耦可以通过审查设计和简单验证来保证。但如果开发无法保证,所有功能都搅在一起,那么所有组合都要遍历,测试工作量会呈几何级数上升,直到不可测试。
就像你在测试这个模块的时候,不会想到去验证这个界面下的操作对于其他界面可能有的影响,你已经认为它们是无关的,但真的无关吗?你要不要验证一下试试?呵呵。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2006-4-30 09:04:42 | 只看该作者
无奈无奈,就算是开发保证不会有问题,绝对不相关,也要验证的呦

那么,怎么才能更好的解决这样的问题呢?
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2006-4-30 12:41:06 | 只看该作者
那么我们如何在开发中,即让模块很好的解决耦合问题,又让模块之间保持应有的联系呢?是否需要前期细致的、并有大局观的设计呢?
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2006-5-10 16:16:05 | 只看该作者
这种情况在我们的工作中也遇到过。我想这时应该考虑到时间,如果时间足够的话,是可以考虑对核心模块进行耦合状态的测试。但想全部遍例, 恐怕是不可能的事情。
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2006-5-11 14:45:31 | 只看该作者
可以考虑使用组合测试的方法啊。
《软件测试的艺术》中有介绍的
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2006-5-15 09:54:22 | 只看该作者
是的,我有同感!
就是感觉会有很多功能上的组合,而且这些组合又都是很有可能会用到的,但将这些功能都组合起来,用例的数量确实太大了!
对于这样的问题,光分类应该不是一个很好的解决办法啊!
还有不有其他更好的方法啊?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-26 13:30 , Processed in 0.085025 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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