请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

【交作业】关于三角形的一些问题,烦请老师解答~谢谢!

有效类列表

图片描述

测试用例设计

图片描述

思路:
1、读入三个整数 ,可以划分为非整数、一个0两个负整数、两个0一个负整数、三个0和三个负整数,三个正整数,其中三个正整数为有效类,其余为无效类。

2、正整数能否构成三角形,须满足 “任意两边和均大于第三边” 。
即a<b+c,b<a+c,c<a+b为有效等价类,其中由于a、b、c是否相等应输出不同结果(普通、等边、等腰),对应细分有效等价类为a≠b≠c,a=b≠c,a=b=c。
其余情况( a≥b+c, b≥a+c,c≥a+b )均为无效等价类。

问题一:功能点如何确认?实际工作中的功能点依据什么来确定的?
我想到的是以程序对应的输出结果不同来确认功能点的,比如程序会输出“是否为正整数”和“能否构成三角形”两个大的结果,其中“能够成三角形”又细分为“普通、等腰、等边”,有没有错误呢?

问题二:有效类列表中,列出的每个功能点是否都需要有效类和对应的无效类?有效类和无效类是否需要相互对应?功能点必须和等价类划分相互对应?

问题三:前面课程中的余额宝用例设计,其中无效等价类中,出现了三次“提现金额≤0”,并且作为三种不同情况处理(编号不同),是否可以合并作为同一种情况?

正在回答

2回答

先来说一下问题:

  1. 功能点的确认要依赖于需求给定的,或者更确切一点就是输出结果的类型。比如说吧,还是三角形这个练习,如果输出的结果只有两种,一个是“输入的三组数据可以组成三角形”,一个是“不可以组成三角形”;当然一定还有非法输入的错误警告。那么这个时候,我们的等价类划分就按照可以成为三角形的条件,那就是a、b、c均大于0且两边之和大于第三边。那有效等价类就只有1)a>0 b>0 c>0 a+b>c 2)a>0 b>0 c>0 a+c>b 3)a>0 b>0 c>0 b+c>a . 那如果条件里要求必须是正整数呢,那就再加上且为整数的条件。这时候 所有不符合条件的分类变成了无效等价类。   反过来讲: 如果输出的结果会有等边、等腰和普通,那这时候等价类就要按这样划了。 所以实际上我们等价类的划分是按照输出和输入来划分的,不同的条件和结果会带来不同的等价类分析。

  2. 有效等价类和无效等价类其实可以分开去划分,除非有一些特殊的场景,不然都是来综合划分的。互相之间并没有一一对应的关系,不需要这么考虑。一个功能点会产生多个用例,用例通过不同设计方法来实现,所以功能点跟等价类你所谓的有效等价类的对应关系。比如这个三角形的划分就是一个功能,这个功能会带来很多有等价类和边界值产生的测试用例。

  3. 说到这个,我有一点小的失误,在课程里说了,但是ppt中没有表明。其实这三次“提现金额≤0”是分别对应三个不同前提,一个是第一次快速取现,二是第n次快速取现,三是普通取现。所以不能合并。实际在设计时候应该在等价类中说明确~


所以最后再来看你的设计和用例。设计大方向上有点小问题,比如有效等价类,像我们问题1中描述的,你的6号等价类并不是一个绝对的有效等价类,只有加上“两边之和大于第三边”才是,所以6号跟7号合并为一个就好。那么无效等价类呢,划分的有点怪,其实无效等价类是分为非整数,为0,负数,还有非数字,再加上各种两边之和小于等于第三边的场景。好好再想想哈~重新整理下

0 回复 有任何疑惑可以回复我~
  • 提问者 不逃viv #1
    感谢老师的回答~
    回复 有任何疑惑可以回复我~ 2019-04-21 14:50:54
提问者 不逃viv 2019-04-21 14:59:53

https://img1.sycdn.imooc.com//szimg/5cbc1318000163d710720393.jpg

https://img1.sycdn.imooc.com//szimg/5cbc131800016dc407060647.jpg


根据老师说的又整理了一遍…… 


0 回复 有任何疑惑可以回复我~
  • 基本全面了,不过还是建议如果是三个不同入参的话,那么可以区分下。比如a加b大于c和b加c大于a分别设计场景就比较ok了
    回复 有任何疑惑可以回复我~ 2019-04-21 15:04:59
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信