51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 12357|回复: 26
打印 上一主题 下一主题

[讨论] 再谈三角形问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-7-24 10:49:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我也看到了论坛中有很多关于三角形问题的帖子,我看到了对于该问题有多种答案,所以不知道 哪种更好,更准确。下面我就把我看到的答案帖出来。大家相互讨论。
题:
某程序规定:"输入三个整数 a b c 分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算 … "。用等价类划分方法为该程序进行测试用例设计。

答案一:

分析题目中给出和隐含的对输入条件的要求:
1)整数
2)三个数
3)非零数
4)正数

5)两边之和大于第三边
6)等腰
7)等边

如果 a b c 满足条件( 1 ~ 4 ),则输出下列四种情况之一:

   1)
如果不满足条件(5),则程序输出为 " 非三角形 "
   2)
如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 "
   3)
如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 "
   4)
如果三条边都不相等,则程序输出为 " 一般三角形 "
列出等价类表并编号

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

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

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-7-24 10:50:38 | 只看该作者
覆盖有效等价类的测试用例:
    a      b      c              覆盖等价类号码
    3      4      5             (1)--(7)
    4      4      5             (1)--(7),(8)
    4      5      5             (1)--(7),(9)   
    5      4      5             (1)--(7),(10)
    4      4      4             (1)--(7),(11)
   覆盖无效等价类的测试用例:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-7-24 10:53:48 | 只看该作者
答案二:

n
我们可以设三角形的3条边分别为ABC。如果它们能够构成三角形的3条边,必须满足:
n
A>0B>0C>0,且A+B>CB+C>AA+C>B
n
如果是等腰的,还要判断A=B,或B=C,或A=C
n
如果是等边的,则需判断是否A=B,且B=C,且A=C
输入条件
有效等价类
无效等价类
是否三角形的三条边
A>0),     1
B>0),     2
C>0),     3
A+B>C),   4
B+C>A),   5
A+C>B),   6
A0),

7

B0),      8
C0),      9
A+BC),    10
B+CA),    11
A+CB),    12
是否等腰三角形
A=B),     13
B=C),     14
C=A),     15
ABandBCandCA     16
是否等边三角形
A=BandB=CandC=A
              17
AB),      18
BC),

19

CA),      20
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-7-24 10:57:01 | 只看该作者
序号
ABC
覆盖等价类
输出
1
345
1),(2),(3),(4),(5),(6
一般三角形
2
012
7
不能构成三角形
3
102
8
4
120
9
5
123
10
6
132
11
7
312
12
8
334
1),(2),(3),(4),(5),(6),(13
等腰三角形
9
344
1),(2),(3),(4),(5),(6),(14
10
343
1),(2),(3),(4),(5),(6),(15
11
345
1),(2),(3),(4),(5),(6),(16
非等腰三角形
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-7-24 10:58:59 | 只看该作者
12
333
1),(2),(3),(4),(5),(6),(17
是等边三角形
13
344
1),(2),(3),(4),(5),(6),(14),(18
非等边三角形
14
343
1),(2),(3),(4),(5),(6),(15),(19
15
334
1),(2),(3),(4),(5),(6),(13),(20

本人更倾向于答案一。不过,对于其中的那个无效类:非整数,为何不再具体划分为小数、字符等。请各位高手指点。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-7-24 16:51:09 | 只看该作者
好,同意
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-8-3 16:03:06 | 只看该作者

分析的很详细!!

分析的很详细!!分析的很详细!!分析的很详细!!分析的很详细!!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-8-16 16:41:27 | 只看该作者
我觉的其实也可以把无效等价类细分成小数和字符了。这主要看你怎么拆分等价类了
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-9-15 14:38:07 | 只看该作者
受教了,不错,努力学习,顶一下!
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-9-15 19:24:59 | 只看该作者
分析的真好
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-9-17 17:00:50 | 只看该作者
非常感谢楼主对这道题目做了一个这么好的总结。。。不错!!
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-9-17 23:17:57 | 只看该作者
一、        输入和输出条件
输入:
条件1:1<=a<=200
条件2:1<=b<=200
条件3:1<=c<=200
条件4:a<b+c
条件5:b<a+c
条件6:c<b+a
输出:
输出1:提示输入的数据有误
输出2:等边三角形
输出3:等腰三角形
输出4:不等边三角形
输出5::非三角形
二、判别表

输入                                                                       
条件1        F        T        T        T        T        T        T        T        T
条件2                F        T        T        T        T        T        T        T
条件3                T        F        T        T        T        T        T        T
条件4                                T        T        F        T        T        T
条件5                                T        F        T        T        T        T
条件6                                F        T        T        T        T        T
输出                                                                       
输出1        X        X        X                                               
输出2                                                        X               
输出3                                                                X       
输出4                                                                        X
输出5                                X        X        X
三、用例
输入不合法的情况有:超出[1,200]范围
                                        浮点数
                                        字符
                                        空



我的思路,用例没写

[ 本帖最后由 zhouzxcv 于 2007-9-17 23:19 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2007-10-31 10:59:04 | 只看该作者
分析的太详细拉,学习!!!!
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2007-10-31 15:43:02 | 只看该作者
非常感谢!
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2007-12-24 17:12:26 | 只看该作者
呵呵,三角形的问题太经典了~
感觉平时我写的用例分析不全面~
主要是这种设计思想没有~
呵呵~
加油中~
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2008-5-4 19:33:41 | 只看该作者
刚学测试,布置的作业也是这个
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2008-5-4 22:14:27 | 只看该作者
方法一更好一些,不过我认为非整形能不能在分为小数,字母,特殊字符和汉字
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2008-5-5 01:36:28 | 只看该作者
写测试用例,思想最重要,我所欠缺的就是这种思想。。。
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2008-5-6 12:04:11 | 只看该作者

回复 5# 的帖子

我个人觉得第二种分析方法也分析的不错,只是判断非等腰三角形和非等边三角形有重复,如果是三角形的话,不是等边三角形或等腰三角形,那应该就是一般三角形。
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2008-5-6 12:05:08 | 只看该作者
因为后面的条件前面一般三角形都已经覆盖了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-20 17:31 , Processed in 0.089548 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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