1等价类边界值练习AG
- 格式:docx
- 大小:41.52 KB
- 文档页数:3
软件测试中的边界值和等价类测试技术
在软件测试中,边界值和等价类测试技术是两种常用的测试方法,能够有效地
提高测试效率和覆盖率。
边界值测试和等价类测试是基于不同的测试原理,可以帮助测试人员发现系统中隐藏的缺陷,提高软件的质量和稳定性。
边界值测试是一种测试方法,通过测试输入的边界值来检查系统的稳定性和正
确性。
在进行边界值测试时,测试人员会选择输入值的边界,包括最小边界、最大边界和临界值,以确保系统在这些边界值上能够正常工作。
边界值测试能够有效地发现输入错误和计算错误,提高系统的健壮性和可靠性。
等价类测试是一种测试方法,通过将输入值划分为等价类,并选择代表性的测
试用例来代表每个等价类,以提高测试效率。
在进行等价类测试时,测试人员会将输入值划分为有效输入和无效输入,然后选择代表性的测试用例来代表每个等价类。
等价类测试能够有效地减少测试用例的数量,提高测试效率和覆盖率。
边界值测试和等价类测试在软件测试中具有重要的意义。
通过这两种测试方法,测试人员可以有效地发现系统中的潜在问题,提高测试的全面性和可靠性。
在实际的软件测试过程中,测试人员应该结合边界值测试和等价类测试,以确保系统的质量和稳定性。
总的来说,边界值和等价类测试技术在软件测试中扮演着重要的角色,能够有
效地提高测试效率和覆盖率。
通过合理地运用这两种测试方法,测试人员可以发现系统中的隐藏缺陷,提高软件的质量和用户体验。
因此,在进行软件测试时,测试人员应该充分理解和掌握边界值和等价类测试技术,以提高测试的效果和价值。
软件测试中的边界值分析和等价类划分边界值分析和等价类划分是软件测试中常用的两种测试方法。
这两种方法可以帮助测试人员更有效地识别和设计测试用例,从而增加测试的覆盖率和准确性。
本文将介绍边界值分析和等价类划分的基本原则和应用场景,并结合具体案例说明其在软件测试中的重要性和实际应用。
边界值分析是一种测试用例设计技术,其基本原则是将输入和输出的数据范围分为不同的区域,并着重测试各个区域的边界条件。
在软件开发过程中,很多功能的正确性与否取决于输入的数据范围是否在设定的边界内。
因此,边界值分析是一种针对这种情况的有效测试方法。
举个例子来说,对于一个要求用户输入年龄的程序,我们可以将输入的年龄范围分为婴儿(0-1岁)、儿童(2-12岁)、青少年(13-18岁)、成年人(19-60岁)和老年人(61岁及以上)五个区域。
我们可以通过测试各个区域边界上的数值,如0岁、1岁、2岁、12岁、13岁、18岁、19岁、60岁、61岁等,来验证程序是否正确处理各个年龄段的输入。
等价类划分是一种将测试输入分为不同等价类的方法。
等价类划分的原则是将具有相同功能和行为的输入数据归为同一类,并设计测试用例来覆盖每个等价类。
这样做的好处是能够有效地减少测试用例数量,同时保证测试覆盖到了不同的情况。
以一个登录系统为例,假设要测试用户名和密码输入的功能。
我们可以将用户名的输入等价类划分为合法用户名和非法用户名两类,密码的输入等价类划分为合法密码和非法密码两类。
在设计测试用例时,我们只需要从每个等价类中选择一个典型的测试数据来进行测试,比如选择一个合法用户名和一个合法密码、一个非法用户名和一个合法密码等,就可以覆盖到各种情况。
边界值分析和等价类划分在实际软件测试中的应用非常广泛。
它们可以帮助测试人员更全面地测试软件的功能,减少遗漏测试点的风险,并提高测试效率。
特别是在系统具有复杂输入输出、有大量的输入数据范围的情况下,使用边界值分析和等价类划分可以事半功倍。
测试⽤例设计⽅法之等价类、边界值等价类划分法概念:把全部输⼊数据合理划分为若⼲等价类,在每⼀个等价类中取⼀个数据作为测试的输⼊条件。
关于等价类划分的两个重要概念:有效等价类:有效等价类是程序规格说明有意义,合理的输⼊数据。
⽐如⽤正确的⽤户名和密码来登录系统就是有效等价类。
⽆效等价类:⽆效等价类是程序规格说明⽆意义,不合理的输⼊数据。
⽐如⽤不存在的⽤户名和密码来登录系统就是⽆效的等价类。
优缺点分析:优点:提⾼⽤例设计效率,较少冗余⽤例。
缺点:只考虑了输⼊的有效和⽆效,对数据的组合⽐较随机,边界缺陷不容易发现。
适⽤范围:输⼊条件划分成多个⼦条件,各个⼦条件之间相对是独⽴的,没有制约关系。
实例演习输⼊框要求输⼊[1,100]的数有效等价类:可以输⼊1-100之间的数来验证,如:2⽆效等价类:可以输⼊1-100之外的任意字符验证,如:999、字母、特殊符号、空格、回车边界值划分法概念:是对等价类划分法的补充;假定⼤多数的错误是发⽣在各种输⼊条件的边界上,如果在边界附近的取值不会导致程序出错,那么其他取值导致程序错误的可能性也很⼩。
关于边界值⼏个“点”的概念:上点:边界上的点。
例1:边界是封闭的[1,100]之间的整数:1、100就是上点例2:边界是是开放的[1,100)之间的整数:1、100就是上点内点:区域内的点离点:⾥上点最近的⼀个点例1:边界是封闭的[1,100]之间的整数:0、101就是离点例2:边界是是开放的[1,100)之间的整数:0、99就是离点优缺点分析:优点:能更容易发现边界,更全⾯系统的测试边界上可能存在的问题;缺点:只能做为⼀个对其他设计⽅法的补充;适⽤范围:有输⼊参数且存在取值边界或长度边界时。
实例演习输⼊框要求输⼊[1,100]的数边界值: 上点:1,100 离点:0,101 内点:50。
测试中的边界值分析和等价类划分边界值分析和等价类划分是软件测试中常用的两种测试技术,旨在有效地识别和测试系统的边界、边界值和等价类。
本文将分别介绍边界值分析和等价类划分的概念、原则和实施方法,并探讨其在测试中的应用。
一、边界值分析边界值分析是一种测试技术,通过选择接近边界的测试数据来测试程序的边界行为。
其基本原则是边界附近的输入数据更容易引发错误,因此需要更详细和严格的测试。
以下是边界值分析的实施步骤:1. 确定输入和输出的边界:首先确定程序的输入和输出边界,即确定需要测试的数据范围和限制条件。
2. 选择测试数据:根据边界值分析的原则,选择接近边界的测试数据,包括边界本身、边界的上下界以及中间值,以覆盖所有可能的情况。
3. 执行测试用例:使用选定的测试数据执行测试用例,检查程序在边界条件下的行为和输出,验证其是否符合预期。
边界值分析可以帮助测试人员更全面地覆盖系统的边界情况,从而提高测试的有效性和覆盖率。
通过选择接近边界的测试数据,可以发现程序在边界条件下的异常行为和错误,进一步完善系统的功能和稳定性。
二、等价类划分等价类划分是一种测试技术,通过将输入值划分为等价类来降低测试用例的数量,并确保每个等价类都能代表该类输入的所有可能情况。
以下是等价类划分的实施步骤:1. 确定输入条件:首先确定程序的输入条件,并将其划分为若干个等价类。
2. 选择代表性测试数据:从每个等价类中选择一个或多个代表性的测试数据作为测试用例。
3. 执行测试用例:使用选定的测试数据执行测试用例,验证程序在不同等价类条件下的行为和输出。
等价类划分可以帮助测试人员更有效地组织和管理测试用例,通过减少测试用例的数量,节省时间和资源,同时又能保证覆盖所有可能的输入情况。
三、边界值分析和等价类划分的应用边界值分析和等价类划分在软件测试中都具有广泛的应用。
它们能够有效地发现和修复软件系统中的错误和缺陷,提高系统的质量和可靠性。
以下是它们在测试中的常见应用场景:1. 输入验证:在对用户输入进行验证的场景中,边界值分析和等价类划分可以帮助确定有效和无效的输入范围,并根据这些范围选择测试数据。
等价类和边界值测试用例举例等价类和边界值测试是软件测试中常用的测试方法,能够有效地发现系统中的错误和问题。
在进行等价类和边界值测试时,需要将输入值划分为不同的等价类,并选择边界值进行测试。
下面将以某个电子商务网站的注册功能为例,列举10个符合题目要求的等价类和边界值测试用例。
1. 等价类测试用例:用户名- 等价类1: 用户名为空- 等价类2: 用户名长度小于3个字符- 等价类3: 用户名长度大于20个字符- 等价类4: 用户名包含非法字符(如特殊符号、空格等)- 等价类5: 用户名已存在2. 边界值测试用例:用户名- 边界值1: 用户名长度等于3个字符- 边界值2: 用户名长度等于20个字符- 边界值3: 用户名长度大于3个字符,小于20个字符3. 等价类测试用例:密码- 等价类1: 密码为空- 等价类2: 密码长度小于6个字符- 等价类3: 密码长度大于16个字符- 等价类4: 密码包含非法字符(如特殊符号、空格等)4. 边界值测试用例:密码- 边界值1: 密码长度等于6个字符- 边界值2: 密码长度等于16个字符- 边界值3: 密码长度大于6个字符,小于16个字符5. 等价类测试用例:邮箱- 等价类1: 邮箱为空- 等价类2: 邮箱格式不正确(缺少@或后缀不正确)- 等价类3: 邮箱已存在6. 边界值测试用例:邮箱- 边界值1: 邮箱长度等于5个字符- 边界值2: 邮箱长度等于254个字符- 边界值3: 邮箱长度大于5个字符,小于254个字符7. 等价类测试用例:手机号码- 等价类1: 手机号码为空- 等价类2: 手机号码格式不正确(长度不为11位或不以1开头) - 等价类3: 手机号码已存在8. 边界值测试用例:手机号码- 边界值1: 手机号码长度等于10位- 边界值2: 手机号码长度等于11位- 边界值3: 手机号码长度大于10位,小于11位9. 等价类测试用例:验证码- 等价类1: 验证码为空- 等价类2: 验证码不正确10. 边界值测试用例:验证码- 边界值1: 验证码长度等于3个字符- 边界值2: 验证码长度等于6个字符- 边界值3: 验证码长度大于3个字符,小于6个字符通过以上的等价类和边界值测试用例,可以覆盖到各种可能的输入情况,包括空值、边界值、非法字符等。
等价类和边界值方法的结合例题等价类和边界值方法的结合例题:让测试不再头疼的神奇秘籍嗨,亲爱的小伙伴们!今天我要给你们分享一个超级厉害的测试方法,那就是等价类和边界值方法的结合。
这就像是给你的测试工作来了一场魔法变身,让那些隐藏的小怪兽(bug)无处可逃!首先咱们来聊聊啥是等价类。
想象一下,你面前有一堆水果,有苹果、香蕉、橙子、梨。
如果咱们把水果按照能剥皮和不能剥皮来分类,那能剥皮的就是一类,不能剥皮的就是另一类。
这就是等价类啦,就是把输入的东西按照相似的特性分成几类。
比如说,咱们要测试一个登录功能,用户名要求是 6 - 12 位的字母和数字组合。
那等价类就可以分为:有效的用户名(6 - 12 位的字母和数字组合)、太短的用户名(小于 6 位)、太长的用户名(大于 12 位)、包含非法字符的用户名(比如有特殊符号)。
接下来就是边界值啦!这就像是走钢丝,钢丝的两端就是边界。
比如说用户名要求是 6 - 12 位,那边界值就是 6 位、12 位,还有 5 位、13 位。
好啦,现在咱们来看看怎么把这俩结合起来搞个例题。
假设咱们要测试一个购物车结算功能,商品数量输入范围是 1 - 100 件。
第一步,先划分等价类。
有效等价类就是 1 - 100 件的输入,无效等价类呢,有小于 1 件(比如 0 件),大于 100 件(比如 101 件),还有非数字的输入(比如字母啥的)。
第二步,确定边界值。
那就是 1 件、100 件、0 件、101 件。
第三步,开始测试啦!先试试有效等价类里的中间值,比如50 件,看看有没有问题。
然后再试试边界值,输入 1 件,看看能不能正常结算;输入 100 件,瞅瞅有没有异常。
接着输入 0 件,看看系统会不会报错;最后输入 101 件,瞧瞧是不是会有提示说数量不对。
我跟你们说,我之前有一次测试的时候,就忘了考虑边界值,结果上线后,有个用户一下子买了 1000 件商品,系统直接崩溃啦!老板那个脸拉得比驴脸还长,我那叫一个惨哟!再给你们举个例子,比如说测试一个输入年龄的功能,范围是 18 - 60 岁。
等价类和边界值
等价类
所谓等价类,是输⼊条件的⼀个⼦集合,该输⼊集合中的数据对于揭⽰程序中的错误是等价的。
从每⼀个⼦集中选取少数具有代表性的数据,从⽽⽣成测试⽤例。
.
等价类⼜分为有效等价类和⽆效等价类。
有效等价类代表对程序有效的输⼊,⽽⽆效等价类则是其他任何可能的输⼊(即不正确的输⼊值)。
有效等价类和⽆效等价类都是使⽤等价类划分法设计⽤例时所必须的,因为被测程序若是正确的,就应该既能接受有效的输⼊,也能接受⽆效输⼊的考验。
为什么使⽤该⽅法?
理想的测试,是从所有可能的输⼊中找出某个⼩的⼦集,并且是可能发现错误最多的⼦集。
临界值
对输⼊等价类或输出等价类⽽⾔,稍⾼于其最⾼值或稍低于最低值的特定情况。
产⽣原因:
⼀个软件⽆论实现怎样各种各样丰富的功能,其内部实现都不可避免的对各种各样的数据范围进⾏界定与判断,从⽽针对不同的数据范围进⾏所需的处理,从⽽实现软件的需求。
⽽由于需求界定不准确、设计不严密、程序书写⼿误等原因,对于这些数据范围边界的判断是软件极容易出错的地⽅,使软件做出错误的处理。
从⽽⽆法满⾜软件需求。
针对于这种情况,软件测试中有⼀个测试⽅法叫做边界值法。
边界值分析是⼀种常⽤的⿊盒测试⽅法,是对等价类划分⽅法的补充。
测试用例设计方法1——等价类边界值1、等价类划分等价类划分是黑盒测试最常用的方法,使用等价类划分的方法是将输入域划分为若干个区域,并从中选择少数具有代表性的数据进行测试,这样可以避免使用大量的测试数据,也避免了盲目性。
等价类划分针对程序的输入部分,常用的设计方法是:找出输入条件,划分等价类,并进行用例的设计。
等价类分为有效等价类和无效等价类。
所谓有效等价类是指用户输入的有效数据,并得到预期的或正常的结果;另一种是无效等价类,无效等价类是指异常的或不符合规定的输入,相应的也会得到异常的输出或提示信息。
因此在划分等价类的时候又从有效和无效两方面去考虑。
一般在设计测试用例时,要是一条用例尽量多的覆盖有效等价类,而无效等价类则要求一对一的覆盖。
2、边界值边界值同样是一种经典的黑盒测试方法,他常常作为等价类的一种补充,与等价类方法一起使用。
在进行程序设计时,大量的错误容易发生在输入数据或输出数据的边界上,因此使用边界值的方法可以经常检测出错误。
当一个输入明确的规定了一个值的取值范围时或输入条件是一组有序的集合时,就可以使用边界值的方法来设计测试用例。
关于边界值得上点、内点、离点的概念,可以参见下图。
由于等价类和边界值经常配合使用,因此两者可以合并为一个用例设计方法,下面总结一下使用等价类边界值设计测试用例的思路和方法。
1、分析需求,挖掘隐式条件,确认边界值,划分等价类2、将划分出的等价类填入表格,进行编号3、对有效等价类,用一条用例尽量多的覆盖4、对于无效等价类,一对一的覆盖,最终得到测试用例下面以最经典的三角形问题来说明如何使用等价类边界值方法设计测试用例:输入3个数,判定是否构成三角型,并判定什么时候是等腰三角形,什么时候是等边三角形。
分析输入条件:1、3个整数2、任意两边和大于第三遍3、满足1、2,且只有两个边相等4、满足1,三遍全部相等由上面的条件得到表格:获得等价类的划分后可以轻松的得到测试用例:至此,一个完整的测试用例就完成了。
等价类划分和边界值法等价类划分和边界值法是软件测试中常用的两种测试方法。
它们都能有效地帮助测试人员快速、准确地找到软件中的缺陷,从而提高软件的质量。
本文将对等价类划分和边界值法进行详细介绍和分析。
一、等价类划分等价类划分是一种基于输入特性来划分数据集的方法。
当我们需要测试一个具有多个输入参数的软件时,我们可以通过等价类划分来将输入参数划分为不同的等价类,然后选择一些典型的数据集来测试这些等价类。
这样做的好处是可以大大减少测试用例的数量,同时也能够有效地增加测试用例的覆盖率。
例如,我们在测试一个登录界面时,这个界面有两个输入框:一个是用户名输入框,另一个是密码输入框。
根据等价类划分的原则,我们可以将输入参数划分为以下四个等价类:1. 正确的用户名和正确的密码2. 正确的用户名和错误的密码3. 错误的用户名和正确的密码4. 错误的用户名和错误的密码接下来,我们只需要选择多个代表不同等价类的测试用例,比如:1. 输入正确的用户名和正确的密码2. 输入正确的用户名和错误的密码3. 输入错误的用户名和正确的密码4. 输入错误的用户名和错误的密码通过这些测试用例,我们就可以快速、准确地测试出登录界面的各种情况,从而保证软件的质量。
二、边界值法边界值法是一种基于边界测试的方法。
当我们在测试一个具有数值输入参数的软件时,我们可以通过边界值法来选择一些典型的边界值,然后利用这些边界值进行测试。
这样做的好处是可以有效地发现数值输入参数的缺陷,从而提高软件的质量。
以输入年龄为例,如果规定输入年龄只能在0~120岁之间,那么边界值可以选择0、1、119和120四个数值。
按照边界值法的原则,我们选择以下测试用例:1. 输入年龄为02. 输入年龄为13. 输入年龄为1194. 输入年龄为120通过这些测试用例,我们可以快速地测试出年龄输入参数的各种情况,比如:输入超出边界范围的数值是否能够被正确处理、边界值上下限是否被正确处理、特殊情况下的处理方式是否正确等等。
1、在各种输入条件下,测试程序的登录对话框功能。
用户名和密码的规则如下:•用户名长度为6至10位(含6位和10位)•用户名由字符(a-z、A-Z)和数字(0-9)组成•不能为空、空格和特殊字符密码规则同用户名规则2、根据下面给出的规格说明,进行测试用例的设计。
一个程序读入3个整数,把这三个数值看作一个三角形的3条边的长度值。
这个程序要打印出信息,说明这个三角形是普通的、是等腰的、还是等边的。
3、万年历查询软件,要求用户输入以年月日表示的日期,然后系统会换算出该日期的农历表示法及相关黄历信息,假设日期限定在1900年1月1日~2049年12月31日,并规定日期由8位数字字符组成,前4位表示年,中间2位表示月,最后两位表示日期。
其中4、6、9、11月只有30天,平年的2月份只有28天,闰年的2月份有29天。
(备注:位简化处理,本题进行用例设计时。
不考虑对平年、闰年的判断4、现有一个档案管理系统,容许用户通过输入年月对档案文件进行检索,系统对查询条件年月的输入限定为1990年1月~2049年12月,并规定:日期由6位数字组成,前4位表示年,后2位表示月。
5、保险费率计算某保险公司承担人寿保险,该公司保费计算方式为投保额*保险率,保险率又依点数不同而有别,10点以上费率为0.6 %,10点以下费率为0.1% :年龄:一或两位数字。
性别:以英文「MALE」、「FEMALE」、「M」、「F」表示。
婚姻:「已婚」、「未婚」。
扶养人数:空白或一位数字。
保险费率:10点以上,10点以下。
请对该案例进行相应的用例设计6.农业银行ATM机提供现金存入异地银行的业务。
存入金额为1000-50,000。
以100元为单位。
手续费为千分之五。
最多只收取50元。
针对等价类划分中的案例和练习,分别采用边界值分析法补充相应的测试用例。
软件测试中的边界值与等价类测试软件测试作为保证软件质量的重要环节,在软件开发过程中扮演着至关重要的角色。
其中,边界值测试和等价类测试作为常用的测试方法,在保证测试覆盖率的同时,提高了测试效率和准确性。
本文将重点介绍软件测试中的边界值与等价类测试方法,并探讨其在实际测试中的应用。
一、边界值测试1.1 边界值测试的概念边界值测试是一种以系统边界值作为测试用例的选择标准的测试方法。
它通过在边界值附近选择测试用例,旨在发现在边界值上发生的异常情况。
1.2 边界值测试的原则在进行边界值测试时,我们应遵循以下原则:1)选择恰当的边界值:测试用例应覆盖系统的边界条件,将输入的上界、下界、特殊值等作为测试数据。
2)避免无效的测试用例:去除对同一模块相同边界的重复测试,提高测试效率。
3)关注边界值的附近情况:在边界值的前后选择相邻的测试用例,以保证测试的充分性和准确性。
1.3 边界值测试的实例以某个简单的登录系统为例,假设对用户输入的密码长度进行边界值测试。
系统要求密码长度为6到12个字符。
则可以选择以下测试用例:1)密码长度为5个字符。
2)密码长度为6个字符。
3)密码长度为12个字符。
4)密码长度为13个字符。
二、等价类测试2.1 等价类测试的概念等价类测试是一种将输入数据划分为合理等价类集合的测试方法。
通过选取代表性的测试用例,从每个等价类中选择一个有效用例进行测试,以此推断该类中其他测试用例的测试结果。
这样可以大大减少测试用例的数量,提高测试效率。
2.2 等价类测试的原则在进行等价类测试时,我们应遵循以下原则:1)将输入数据划分为等价类:将所有可能的输入数据划分为若干组等价类,每个等价类中的数据应具有相同的功能和测试结果。
2)选择代表性用例:从每个等价类中选取一个代表性用例进行测试。
通过这些代表性用例的测试结果,可以推断该等价类中其他用例的测试结果。
3)避免冗余测试用例:避免对同一等价类使用多个测试用例,以免造成冗余的工作量。
等价类和边界值等价性划分:选择输入,输出,动作,环境,或者你感兴趣的因素,对这些因素进行分类,系统应该对每一类中的因素进行等价处理。
我们选择的测试应该至少代表了每个类中的一个选项。
当选择存在某种有意义的顺序,等价类中就会存在边界值。
整数:假设输入允许的最大数量为99,那么等价类和边界值如下:在有效的数量类里面,也可能存在两个子类,可能允许输入千位分隔符。
这只有当你允许数目可以数以千计时才有意义。
如果说输入65536可以,为什么65537不可以。
由于依赖于计算机表示而迫使产生了边界值。
尤其是最大的边界。
这样,我们完全可以分析出两个无效的等价类。
数量过少,数量过多。
那么最低的有效值减1和最高有效数量加1都是你的边界值。
对于卖东西而言。
0是典型的边界值,卖出1包槟榔是有意义的,卖出0包则没意义。
对于随行人数而言,随行人数0又是有意义的,我们在设计时,考虑系统应该显示的业务行为。
一个合理的用户期待是什么样子的,以此来设计测试,覆盖这些行为。
实数:对于实数而言,整数的例子可以直接借用,这里我们需要考虑的问题是一个数值的最小差值是多少。
在测试我们酒店管理系统时,一个可能的用例是用户提交申请查看账务信息。
为了识别等价类和边界值,我们必须知道我们的差值幅度是多少,在实际中,我们保存的为0.01.那么有效等价类为什么我把有效等价的又分成了三个子类。
比0小的,比0大的,和0,这样就造成了位于0和接近0的边界值。
很多时候奇怪的事情发生在0,如果程序员忘记在做除法时检查0值会怎么样。
空值有的时候在计算时被处理成0.所以,在一个数值中检查位于或者接近0这样做是很值得的。
输入过多的小数位数也是无效等价类,使用了错误的千位或者小数分隔符的无效等价类,输入两个小数分隔符或者千位分隔符。
我们在测试中,要仔细的观察和使用常识。
这样会发现很多有趣的缺陷。
在酒店管理系统中,对于money输入,精确到两位小数可能没意义。
但是在会计上,银行记账来说,两位小数精确度可能还不能满足要求。
等价类和边界值等价性划分:选择输入,输出,动作,环境,或者你感兴趣的因素,对这些因素进行分类,系统应该对每一类中的因素进行等价处理。
我们选择的测试应该至少代表了每个类中的一个选项。
当选择存在某种有意义的顺序,等价类中就会存在边界值。
整数:假设输入允许的最大数量为99,那么等价类和边界值如下:在有效的数量类里面,也可能存在两个子类,可能允许输入千位分隔符。
这只有当你允许数目可以数以千计时才有意义。
如果说输入65536可以,为什么65537不可以。
由于依赖于计算机表示而迫使产生了边界值。
尤其是最大的边界。
这样,我们完全可以分析出两个无效的等价类。
数量过少,数量过多。
那么最低的有效值减1和最高有效数量加1都是你的边界值。
对于卖东西而言。
0是典型的边界值,卖出1包槟榔是有意义的,卖出0包则没意义。
对于随行人数而言,随行人数0又是有意义的,我们在设计时,考虑系统应该显示的业务行为。
一个合理的用户期待是什么样子的,以此来设计测试,覆盖这些行为。
实数:对于实数而言,整数的例子可以直接借用,这里我们需要考虑的问题是一个数值的最小差值是多少。
在测试我们酒店管理系统时,一个可能的用例是用户提交申请查看账务信息。
为了识别等价类和边界值,我们必须知道我们的差值幅度是多少,在实际中,我们保存的为0.01.那么有效等价类为什么我把有效等价的又分成了三个子类。
比0小的,比0大的,和0,这样就造成了位于0和接近0的边界值。
很多时候奇怪的事情发生在0,如果程序员忘记在做除法时检查0值会怎么样。
空值有的时候在计算时被处理成0.所以,在一个数值中检查位于或者接近0这样做是很值得的。
输入过多的小数位数也是无效等价类,使用了错误的千位或者小数分隔符的无效等价类,输入两个小数分隔符或者千位分隔符。
我们在测试中,要仔细的观察和使用常识。
这样会发现很多有趣的缺陷。
在酒店管理系统中,对于money输入,精确到两位小数可能没意义。
但是在会计上,银行记账来说,两位小数精确度可能还不能满足要求。
解答:等价类一、某程序规定:"输入三个整数 a 、 b 、 c 分别作为三边的边长构成三角形。
通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。
用等价类划分方法为该程序进行测试用例设计。
(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。
)分析题目中给出和隐含的对输入条件的要求:(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:1)如果不满足条件(5),则程序输出为 " 非三角形 " 。
2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。
3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。
4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。
列出等价类表并编号覆盖有效等价类的测试用例:a b c 覆盖等价类号码3 4 5 (1)--(7)4 45 (1)--(7),(8)4 5 5 (1)--(7),(9)5 4 5 (1)--(7),(10)4 4 4 (1)--(7),(11)覆盖无效等价类的测试用例:二、设有一个档案管理系统,要求用户输入以年月表示的日期。
假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。
现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。
1)划分等价类并编号,下表等价类划分的结果日期的类型及长度①6位数字字符②有非数字字符③少于6位数字字符④多于6位数字字符年份范围⑤在1990~2049之间⑥小于1990⑦大于2049月份范围⑧在01~12之间⑨等于00⑩大于122)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为①、⑤、⑧,设计的测试用例如下:测试数据期望结果覆盖的有效等价类200211 输入有效①、⑤、⑧3)为每一个无效等价类设计一个测试用例,设计结果如下:测试数据期望结果覆盖的无效等价类95June 无效输入②20036 无效输入③2001006 无效输入④198912 无效输入⑥200401 无效输入⑦200100 无效输入⑨200113 无效输入⑩边界值:一、当变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year 的取值范围为1912≤year≤2050 ,请设计边界值测试用例:测试用例 mouth day year 预期输出Test1 6 15 1911 year超出【1912...2050】Test1 6 15 1912 1912.6.15Test1 6 15 1913 1913.6.15Test1 6 15 2049 2049.6.15Test1 6 15 2050 2050.6.15Test1 6 15 2051 year超出【1912...2050】Test1 6 -1 2001 day超出【1...31】Test1 6 1 2001 2001.6.1Test1 6 2 2001 2001.6.2Test1 6 30 2001 2001.6.30Test1 6 31 2001 2001.6.31Test1 6 32 2001 day超出【1...31】Test1 -1 15 2001 mouth超出【1...12】Test1 1 15 2001 2001.1.15Test1 2 15 2001 2001.2.15Test1 11 15 2001 2001.11.15Test1 12 15 2001 2001.12.15Test1 13 15 2001 mouth超出【1...12】二、三角形问题的边界值分析测试用例在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。
三角形问题的三种测试方式边界值测试等价类测试、三角形问题的三种测试方式--边界值测试,等价类测试、决策表测试2010-12-05 15:32一.方法简介1.定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
2.与等价划分的区别1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。
3.边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。
因此针对各种边界情况设计测试用例,可以查出更多的错误。
使用边界值分析方法设计测试用例,首先应确定边界情况。
通常输入和输出等价类的边界,就是应着重测试的边界情况。
应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
4.常见的边界值1)对16-bit的整数而言32767和-32768是边界2)屏幕上光标在最左上、最右下位置3)报表的第一行和最后一行4)数组元素的第一个和最后一个5)循环的第0次、第1次和倒数第2次、最后一次5.边界值分析1)边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。
例:测试计算平方根的函数--输入:实数--输出:实数--规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息"平方根非法-输入值小于0"并返回0;库函数Print-Line可以用来输出错误信息。
2)等价类划分:I.可以考虑作出如下划分:a、输入(i)0和(ii)=0b、输出(a)=0和(b)Error II.测试用例有两个:a、输入4,输出2。
1、在各种输入条件下,测试程序的登录对话框功能。
用户名和密码的规则如下:
•用户名长度为6至10位(含6位和10位)
•用户名由字符(a-z、A-Z)和数字(0-9)组成
•不能为空、空格和特殊字符
密码规则同用户名规则
2、根据下面给出的规格说明,进行测试用例的设计。
一个程序读入3个正整数,把这三个数值看作一个三角形的3条边的长度值。
这个程序要打印出信息,说明这个三角形是普通的、是等腰的、还是等边的。
3、万年历查询软件,要求用户输入以年月日表示的日期,然后系统会换算出该日期的农历表示法及相关黄历信息,假设日期限定在1900年1月1日~2049年12月31日,并规定日期由8位数字字符组成,前4位表示年,中间2位表示月,最后两位表示日期。
其中
4、6、9、11月只有30天,平年的2月份只有28天,闰年的2月份有29天。
(备注:位简化处理,本题进行用例设计时。
不考虑对平年、闰年的判断
4、现有一个档案管理系统,容许用户通过输入年月对档案文件进行检索,系统对查询条件年月的输入限定为1990年1月~2049年12月,并规定:日期由6
20161;(2)
2016121;(3)
20160J;(4)
198908(6)
205008(7)
201600(9)
201613(10)
5、保险费率计算<=100岁
某保险公司承担人寿保险,该公司保费计算方式为投保额*保险率,保险率又依点数不同而有别,10点以上费率为0.6 %,10点以下费率为0.1% :
年龄:一或两位数字。
性别:以英文「MALE」、「FEMALE」、「M」、「F」表示。
婚姻:「已婚」、「未婚」。
扶养人数:空白或一位数字。
保险费率:10点以上,10点以下。
请对该案例进行相应的用例设计
6.农业银行ATM机提供现金存入异地银行的业务。
存入金额为1000-50,000。
以100元为单位。
手续费为千分之五。
最多只收取50元。
针对等价类划分中的案例和练习,分别采用边界值分析法补充相应的测试用例。