测试用例设计方法
- 格式:pdf
- 大小:668.29 KB
- 文档页数:67
编写测试⽤例的七种⽅法1 测试⽤例的概念测试⽤例是为了实施测试⽽向被测试系统提供的⼀组集合,这组集合包括:测试环境、操作步骤、测试数据、预期结果等要素2 常见编写测试⽤例的七种⽅法基于需求的设计⽅法等价类边界值因果图场景设计法错误猜测法3 基于需求的设计⽅法定义:依据看客户需求设计测试⽤例,但是在设计的过程中⼀定要辩证的看待需求(即:需求不⼀定都是正确的)4 等价类法(1)定义:依据需求将输⼊划分为若⼲等价类,从等价类中选定⼀个测试⽤例,如果该测试⽤例通过,则表明整个等价类通过测试。
(2)适⽤场景:对于等价类这个⽅法,⼀般适⽤于有⽆限多种输⼊,我们不可能完成穷举测试,等价类可以使我们⽤较少的测试⽤例尽可能多的将功能覆盖。
(3)有效等价类和⽆效等价类⼀般划分为:有效等价类、⽆效等价类有效等价类:有意义的输⼊构成的集合,对于需求规格说明书是合法的;⽆效等价类:不满⾜需求的集合。
5 边界值法(1)定义:边界值法是对输⼊数据的边界测试,是⼀种⿊盒测试⽅法;⼀般来说边界值法是对等价类划分后的补充(2)例:对于设定密码的测试,要求密码必须为6-15位分析过程:有效等价类为>=6 && <=15 ⽆效等价类为:<6 || >15设定边界值:5、6、10、15、16边界值选定解释:A. 6和15作为有效等价类中的内容,⼜是边界值,可以判定有效等价类的内容是否满⾜要求B. 但是6和15⼜很特殊,它不仅代表了有效等价类,还代表了边界值,所以我们选定⼀个普通的有效等价类作为⼀个测试⽤例,如:10C. 5和16作为⽆效等价类中的内容,⼜是边界值(⽐4或者17更具有代表性),可以判定⽆效等价类的内容6 因果图(1)定义:因果图是⼀种简化的逻辑图,能够表⽰输⼊条件和输出结果之间的关系。
(2)认识因果图的表⽰⽅法:恒等、与、或、⾮⼀般在使⽤因果图编写测试⽤例的时候,因果图不⼀定能把所有的情况含括进去,所以在因果图之后,我们可以通过画判定表来确定最终的测试⽤例。
设计测试用例的方法有哪些设计测试用例的方法有很多种。
下面将介绍几种常见的测试用例设计方法。
1. 等价类划分法:将输入条件或输出条件划分为若干个等价类,从每个等价类中选取一个典型值作为测试用例。
例如,对于一个账号注册的系统,可以将用户名输入划分为长度不超过10个字符和超过10个字符两个等价类,然后选取一个符合条件的测试用例进行测试。
2. 边界值分析法:测试用例中包含一些边界值,例如最大值、最小值、临界值等。
边界值往往比一般的值更容易引发错误。
例如,对于一个计算器的系统,在测试除法功能时,可以设计测试用例为除数为0、除数为1和除数为-1的情况。
3. 错误推测法:根据错误推测的原理,假设程序的某个部分可能发生错误,并设计测试用例来验证。
例如,对于一个在线商城的系统,在提交订单时,在错误推测的基础上,设计测试用例验证逻辑错误(如用户未登录时无法下单)或输入错误(如购买数量为负数时无法提交)。
4. 因果图法:将输入条件和输出条件按照因果关系进行组合,从而得到覆盖所有可能情况的测试用例。
例如,对于一个购物车功能的系统,因果图法可设计测试用例组合为加入商品、减少商品、删除商品、结算等操作之间的组合情况。
5. 结构化测试方法:根据软件的内部结构,设计测试用例以覆盖各个模块、分支和路径。
常用的结构化测试方法有语句覆盖、判定覆盖、条件覆盖、路径覆盖等。
例如,对于一个条件判断的系统,可以设计测试用例来验证每个条件的真假时不同分支的执行情况。
6. 随机测试方法:通过随机生成测试用例的方式进行测试。
随机测试可以覆盖较大的输入空间,但可能无法覆盖所有的边界条件和特殊情况。
例如,对于一个随机生成数字的系统,可以设计测试用例来验证生成的数字是否在指定范围内,并验证系统对于边界情况的处理。
7. 场景测试方法:根据实际使用场景,设计测试用例来模拟真实环境下的操作和交互。
场景测试可以更好地模拟用户的实际使用情况和需求。
例如,对于一个电子邮件系统,可以设计场景测试用例来模拟用户注册、发送邮件、收取邮件等真实操作。
测试用例设计方法测试用例设计是软件测试过程中非常重要的一环。
通过合理的测试用例设计,可以全面地验证软件系统的功能是否正常、性能是否满足要求、稳定性是否可靠等。
在测试用例设计中,可以使用多种方法来确保测试的全面性和有效性。
下面我将介绍几种常用的测试用例设计方法。
1. 等价类划分法等价类划分法是一种基于输入数据的测试用例设计方法。
它将输入数据划分为若干等价类,每个等价类包含了一组具有相同特征和行为的输入值。
然后,从每个等价类中选择一个典型的输入值作为测试用例。
这样做的好处是在尽量少的测试用例下,可以覆盖到不同的输入条件。
例如,对于一个要求输入年龄的功能,可以划分为小于0岁、0到17岁、18到65岁、65岁以上等等等价类。
2. 边界值分析法边界值分析法是在等价类划分法的基础上,进一步考虑边界情况的测试用例设计方法。
边界值通常是系统能够处理的最小和最大输入值。
通过测试边界值,可以发现输入值是否能够正确地被系统处理。
例如,对于一个要求输入1到100之间的数字的功能,可以设计测试用例分别为0、1、2、99、100、101等。
3. 错误推测法错误推测法是基于测试人员的经验和直觉来推测可能出现的错误情况,并针对这些错误情况设计测试用例。
这种方法更关注于系统对异常情况的处理能力。
例如,对于一个邮件发送功能,可以设计测试用例来测试系统在网络不稳定、收件人邮箱不正确、邮件附件过大等错误情况下的反应。
4. 状态转换法状态转换法是针对有状态的系统进行测试用例设计的一种方法。
通过分析系统的状态变化,设计测试用例来覆盖各个状态和状态之间的转换。
例如,对于一个订单处理系统,可以设计测试用例来覆盖订单的创建、支付、发货、取消等各个状态。
5. 正交实验法正交实验法是一种基于统计学的测试用例设计方法。
它通过对系统的各个因素进行组合,设计最少的测试用例来覆盖尽可能多的情况。
这种方法适用于系统的因素比较复杂,测试用例组合爆炸的情况。
例如,对于一个电子商务网站,可以设计测试用例来测试不同的商品类别、商品属性、支付方式等组合情况。
测试用例的几种常用设计方法测试用例是软件测试中的重要组成部分,它们对于确保软件质量至关重要。
在设计测试用例时,可以采用多种不同方法。
下面将介绍几种常用的测试用例设计方法。
1.等价类划分法(Equivalent Partitioning)等价类划分法是一种基于输入数据的测试用例设计方法。
它将输入数据划分为若干等价类,每个等价类中的数据具有相同的功能和处理方式。
在设计测试用例时,只需要选择每个等价类中的一个或几个代表性的测试数据进行测试即可。
这种方法可以有效地减少测试用例的数量,同时保证测试覆盖面。
2. 边界值分析法(Boundary Value Analysis)边界值分析法是一种基于输入数据边界的测试用例设计方法。
它关注输入数据的边界条件,通常在输入数据的最小值、最大值和边界附近选择测试用例。
这是因为在边界处发生的错误往往比在其他地方发生的错误更容易被发现。
通过边界值分析法设计的测试用例可以提高测试效率和覆盖度。
3. 错误推测法(Error Guessing)错误推测法是一种基于经验和直觉的测试用例设计方法。
它假设测试人员能够猜测到软件中潜在的错误,并设计相应的测试用例来验证这些错误。
这种方法不依赖于任何特定的测试技术或规则,而是基于测试人员的经验和洞察力。
错误推测法可以应用于各种测试阶段,并且适用于不同类型的软件。
4. 决策表法(Decision Table)决策表法是一种基于规则和条件的测试用例设计方法。
它使用表格来表示系统的决策条件和相应的动作结果。
在设计测试用例时,可以根据表格中的各种条件组合来选择相应的测试用例。
决策表法对复杂的业务逻辑和条件约束非常有效,可以提高测试覆盖范围和准确性。
5. 状态转换法(State Transition)状态转换法是一种基于系统状态的测试用例设计方法。
它将系统的不同状态和状态之间的转换关系进行建模,并选择相应的测试用例来验证系统在不同状态下的行为。
状态转换法适用于具有明确状态转换关系的系统,例如有限状态机。
测试⽤例的⼏种设计⽅法⼀、等价类划分等价类划分主要适⽤于单个输⼊条件,输⼊为数值型的情况,如果输⼊规定了输⼊区间,可划分出⼀个有效等价类,两个⽆效等价类;如果输⼊只规定了输⼊范围,可划分出⼀个有效等价类,⼀个⽆效等价类。
⼆、边界值边界值⽅法也是适⽤于单个输⼊条件的情况,输⼊类型可以数值、字符等,要测试的边界包括上点、下点、离点。
三、错误推测法错误推测法主要是测试设计⼈员的测试经验相关,测试经验不同,设计出来的测试⽤例也区别很⼤。
四、因果图法因果图⽅法考虑输⼊的组合,特别适⽤于多个输⼊条件相关有关联⼜相互约束的情况。
设计步骤:1)罗列出输⼊与输出;2)根据输⼊与输出画出因果图;3)标出约束跟限制;4)把因果图转化成判定表;5)根据判定表的每⼀列设计测试⽤例。
五、判定表驱动法判定表适合于解决多个逻辑条件的组合。
将各种逻辑的组合罗列出来,避免遗漏。
不能表达重复的操作。
判定表包括条件桩、条件项、动作桩、动作项。
条件桩:列出所有条件,次序⽆关;条件项:列出所对应条件的所有可能情况下的取值;动作桩:列出可能采取的操作,次序⽆关;动作项:列出条件项各种取值情况下采取的操作。
设计步骤:1)确定规则个数,条件及各条件取值的组合;2)列出条件桩、动作桩;3)列出条件项;4)列出动作项;5)初始化判定表;6)规则简化、合并。
六、正交法当输⼊条件很多时,因果图等设计⽅法设计出来的⽤例数往往多的惊⼈,⽤正交法可有效减少⽤例数。
正交法的核⼼思想是从⼤量测试数据中选取有代表性的点来测试,从⽽减少测试⽤例数。
设计步骤:1)确定因⼦并画出正交表草图;2)填充各因⼦的状态值;3)加权筛选;4)根据筛选过的正交表设计测试⽤例。
七、功能图法功能图法适合于⽤来设计程序的控制结构的测试⽤例。
有顺序、选择、重复三种控制结构。
设计步骤:1)画出功能图;2)⽣成局部测试⽤例;3)⽣成测试路径;4)合成测试⽤例。
⼋、场景法场景法特别适⽤于控制流清晰的系统。
测试用例设计方法
测试用例设计方法主要包括以下几种:
1. 黑盒测试用例设计方法:主要根据需求、功能规格、接口规范等来设计测试用例,不需要了解内部实现细节。
2. 白盒测试用例设计方法:主要根据源代码结构、逻辑覆盖、路径覆盖等来设计测试用例,需要了解内部实现细节。
3. 等价类划分法:将输入条件划分为若干个等价类,从每个等价类中选择一个测试用例进行测试,以覆盖不同情况。
4. 边界值分析法:主要关注输入条件的边界值,选择邻近边界值和边界值本身作为测试用例。
5. 因果图方法:通过绘制因果图,将各种因素和对应的测试用例联系起来,以确定测试用例的设计。
6. 正交试验方法:将多个因素进行组合,选取各个因素的不同取值,以确定测试用例的设计。
7. 检查表法:根据需求规格和功能说明等编制一个检查表,从每个检查表中选
择一个测试用例进行测试。
8. 错误推测法:通过推测可能发生的错误,设计相应的测试用例,以覆盖这些错误的情况。
对于测试用例设计,可以根据具体的需求和项目情况选择适合的方法进行设计。
同时,还需要考虑测试用例之间的覆盖率,以确保对系统的功能进行充分的覆盖和测试。
测试用例设计的方法测试用例设计是软件测试中的重要环节,它旨在验证软件系统的正确性和稳定性。
一个好的测试用例设计可以帮助测试人员高效地发现和修复软件中的缺陷,确保软件质量。
下面将介绍几种常用的测试用例设计方法。
1. 边界值分析法边界值分析法通过测试边界值来检验系统的健壮性。
该方法假设错误往往发生在边界上,因此对于特定输入条件,测试用例应包括最小值、最大值以及接近最小值和最大值的临界值。
例如,一个接受年龄输入的系统,可以设计测试用例包括负数、0、1、100、101等边界值。
2. 等价类划分法等价类划分法是将输入条件划分为多个等价类,然后从每个等价类中选择一个测试用例进行测试。
等价类划分法的基本原则是:一个等价类中的数据具有相同的功能和行为,无论选择其中的哪个值作为输入,系统的行为都应该是一致的。
例如,对于一个接受月份输入的系统,可以将月份划分为等价类:1-12个月是有效的输入,其他数字和非数字是无效的输入。
3. 成对测试法成对测试法是一种组合测试方法,它通过组合两个或多个输入条件来设计测试用例,以验证系统对不同条件的组合是否正确处理。
该方法适用于系统具有多个输入条件的场景。
例如,一个在线商城系统,会有多种支付方式和配送方式,可以设计不同的测试用例来测试各种支付和配送方式的组合效果。
4. 状态转换法状态转换法适用于测试有状态的系统,例如有限状态机、状态驱动的系统等。
它通过设计测试用例来验证系统在不同状态下的行为是否符合预期。
测试用例应包括系统从一个状态转换到另一个状态的过程,以及在每个状态下系统的行为。
例如,一个电梯系统的状态可以包括:停止、上升、下降等,可以设计测试用例来测试系统在不同状态下的响应和行为。
综上所述,测试用例设计是软件测试中非常重要的一环。
通过边界值分析法、等价类划分法、成对测试法和状态转换法等方法,可以设计出全面、有效的测试用例。
测试人员可以根据具体的系统特点和需求,选择合适的方法来进行测试用例设计,以提高测试效率和发现软件中的缺陷。
测试用例的设计方法
测试用例的设计方法有以下几种:
1. 边界值分析法:选择输入值的边界值进行测试,例如最小值、最大值、边界附近的值等。
这样可以发现输入值的边界条件下的异常行为。
2. 等价类划分法:将输入值划分为等价类,选择每个等价类中的一个典型值进行测试。
这样可以减少测试的工作量,同时覆盖了每个等价类的典型情况。
3. 错误推测法:基于对系统的了解和分析,推测可能出现的错误情况,并设计相应的测试用例。
例如输入错误的格式、越界值、空值等。
4. 场景法:基于用户使用系统的场景,设计相应的测试用例。
例如用户注册、用户登录、提交订单等。
5. 因果图法:通过建立因果图来分析系统的各个部分之间的因果关系,根据因果关系设计测试用例。
例如输入不同的条件会导致不同的结果,可以设计多个测试用例来覆盖这些情况。
6. 状态转换法:针对具有多个状态的系统,设计测试用例以覆盖系统在不同状态下的行为。
例如登录系统的不同用户角色,每个角色所能执行的操作不同,可以设计测试用例来覆盖这些情况。
7. 过程检查法:设计测试用例来验证系统的各个过程是否符合要求。
例如输入数据后系统的处理过程、数据传输过程等。
以上是常用的测试用例设计方法,根据具体的测试需求和系统特点选择合适的方法进行测试用例的设计。
测试用例设计方法有哪些测试用例设计方法有以下几种:1. 等价类划分法(Equivalence Partitioning):根据输入数据的特征,将输入数据集划分成若干个等价类,从每个等价类中选取一个代表作为测试用例。
这样可以有效地降低测试用例的数量,同时保证覆盖了不同输入数据的情况。
2. 边界值分析法(Boundary Value Analysis):在等价类中,选取边界值进行测试,因为通常边界值处更容易出现错误。
对于输入数据,选取它的最小值、最大值和边界值的前后一个值作为测试用例。
3. 错误推测法(Error Guessing):根据过去的经验和直觉,识别潜在的错误和缺陷,并设计测试用例来验证这些错误和缺陷。
这种方法主要依赖测试人员的经验和判断力。
4. 因果图法(Cause-Effect Graphing):根据系统或软件的功能和逻辑关系绘制因果图,然后从中选择特定的情况进行测试。
这种方法可以确保覆盖到所有可能的输入和条件组合。
5. 决策表测试法(Decision Table Testing):根据系统的规则和条件,建立一个决策表,表中包含各种可能的输入和对应的输出。
然后选择不同的条件组合进行测试,确保覆盖了所有的规则。
6. 认知测试方法(Cognitive Testing):根据用户使用软件的心理逻辑和思维方式,设计测试用例。
测试人员需要理解用户的需求和预期行为,从而设计出符合用户思维方式的测试用例。
7. 数据驱动测试方法(Data-Driven Testing):根据系统或软件的逻辑关系和各种输入数据,设计测试用例。
可以使用测试数据生成工具来生成测试用例,或者利用现有的数据进行测试。
8. 状态迁移法(State Transition Testing):适用于测试涉及状态转换的系统或软件。
根据系统的状态图或状态转换图,设计测试用例来覆盖不同的状态转换路径。
9. 随机测试方法(Random Testing):随机选择输入数据进行测试,以发现可能被疏忽的错误和缺陷。
测试用例的设计方法有哪些1. 边界值测试(Boundary Value Testing)边界值测试是一种基于边界值的测试方法,它关注输入和输出的最大和最小边界。
边界值测试的思想是在输入的边界上测试系统的行为,并且假设系统在边界附近的行为可能有问题。
该方法通常用于验证系统在边界处的正确性。
示例:假设有一个需要输入1到100之间整数的系统。
边界值测试的用例可能包括:-输入1,期望结果为有效输出;-输入100,期望结果为有效输出;-输入0,期望结果为错误提示;-输入101,期望结果为错误提示。
2.等价类划分测试(Equivalence Partitioning)等价类划分是一种基于功能特性的测试方法,它将输入和输出划分为等价类,每个等价类具有相同的功能行为。
通过选择一个测试用例来代表每个等价类,可以大大减少测试用例的数量,同时保持测试的有效性。
示例:假设有一个需要验证用户年龄的系统,年龄范围在0到100之间。
等价类划分的测试用例可能包括:-选择代表0到17岁的年龄范围,期望结果为错误提示;-选择代表18到65岁的年龄范围,期望结果为有效输出;-选择代表66到100岁的年龄范围,期望结果为有效输出。
3. 决策表测试(Decision Table Testing)决策表是一种将可能的输入和操作映射到预期结果的表格形式。
它用于测试根据不同的组合条件而采取不同行动的系统。
决策表测试通过使用决策表来设计测试用例,可以提高测试覆盖率并捕捉系统中各种可能的情况。
示例:假设有一个系统根据不同的入口和出口温度来控制空调的冷热程度。
决策表测试的用例可能包括:-当入口和出口温度都低于设定值时,期望结果为打开制冷;-当入口和出口温度都高于设定值时,期望结果为打开制热;-当入口温度低于设定值,但出口温度高于设定值时,期望结果为关闭空调。
4. 状态转换测试(State Transition Testing)状态转换测试方法用于测试系统在不同状态之间的转换。
测试用例设计方法版权所有:张梅娜20090713基本内容•为什么做测试用例什是测试用例•什么是测试用例•使用测试用例的好处•测试用例设计过程•测试用例设计方法为什么做测试用例完全测试是不可能的:完全测试是不能的•输入量太大;•输出结果太多;•软件实现途径太多;•软件说明书没有客观标准。
从不同角度看,软件说明书没有客观标准从不同角度看软件缺陷的标准不同。
什么是测试用例•为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,称之为测试用例。
心设计的少量测试数据称之为测试用例•我们不可能进行穷举测试,为了节省时间和资源、提高测试效率,必须要从数量极大的可用测试数据中精高测试效率必须要从数量极大的可用测试数据中精心挑选出具有代表性或特殊性的测试数据来进行测试。
个好的测试用例是在于它能发现至今未发现的错误。
•一个好的测试用例是在于它能发现至今未发现的错误。
使用测试用例的好处•在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。
•测试用例的使用令软件测试的实施重点突出、目的明确。
•在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。
试工作,降低工作强度缩短项目周期。
•功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升。
开展并随着测试用例的不断精化其效率也不断攀升测试用例的设计过程•测试设计员(分析设计员)依据不同阶段的测试计划设计模型和实施模型来设计的测试计划、设计模型和实施模型来设计该阶段测试用例。
•测试设计员是具有丰富测试经验或具有软件分析设计能力的高级测试工程师。
如果没有测试设计员,则可用分析设计员代替。
没有测试设计员则可用分析设计员代替•针对白盒,还应有驱动程序和桩模块。
测试用例的设计方法•等价类划分•边界值分析•因果图•比较法•……等价类划分•等价类划分的办法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。
每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说,如果某一类中的于这类中的其他值也就是说如果某类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误;反之,如果某一类中的一个例能发现同样的错误反之如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误。
怎样划分等价类()怎样划分等价类(一)1)如果输入条件规定了取值的范围或值的个数,则可确定一个有效等价类和两个无效等价类;2)如果一个输入条件说明了一个“必须成立”的情况,如果个输条件说明了个必须成立的情则可划分一个有效等价类和一个无效等价类;3)如果输入条件规定了输入数据的一组可能的值,而且程序是用不同的方式处理每一种值,则可为每一种值划分一个有效等价类,并划分一个无效等价类;种值划分个有效等价类并划分个无效等价类怎样划分等价类(二)4)如果我们确知,已划分的某等价类中的各元素例子在程序中的处方式是不同元素(例子)在程序中的处理方式是不同的,则应据此将此等价类进一步划分成更小的等价类。
5)在确立了等价类之后,建立等价类表,列出所有划分出的等价类:出所有划分出的等价类输入条件有效等价类无效等价类………确定等价类测试用例的步骤•为每个等价类规定一个惟一的编号;每个等价类个编设计个新的测试用例,使其尽可能多地•设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。
重复这一步,最后使得所有有效等价类均被测试用例所覆盖;•设计一个新的测试用例,使其只覆盖一个无效等价类。
重复这步使所有无效等价无效等价类。
重复这一步使所有无效等价类均被覆盖。
示例1:关于复制的等价划分•有5种执行方式:单击复制菜单命令,键入c或C,按Ctrl+c或令键入按Ctrl+Shi+c组合键;•可以把这5种输入途径划分减为3个,单击菜单命令,键入C和按个单击菜单命令键入Ctrl+c组合键;•对软件质量有了信心之后,知道无论以何种方式激活复制功能都工作正常,甚至可以进一步缩减为1个区间,例如按Ctrl+c组合键。
12示例2:关于文件名的等价划分•Windows文件名可以包含除了、/:·? “”<>和\之外的任意字符文件名长度是—意字符。
文件名长度是1255个字符;•等价区间有合法字符、非法字符、合法长度的名称、过长名称和过短名称。
13关于三角形的等价划分示例3:关于三角形的等价划分•问题:根据下面给出的规格说明,利用等价类划分的方法给出足够的测试用例价类划分的方法,给出足够的测试用例。
“一个程序读入3个整数,把这三个数值看做个三角形的3条边的长度值。
这个程序做一个三角形的要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。
的是等腰的还是等边的”分析三角形的特点示例3:分析三角形的特点•我们可以设三角形的3条边分别为A,B,C。
如果它我们可以设角形的如果它们能够构成三角形的3条边,必须满足:A>0,B>0,C>0,且A+B>C,B+C>A,A+C>B;且•如果是等腰的,还要判断A=B,或B=C,或A=C ;•如果是等边的,则需判断是否A=B,且B=C,且A=C ;列出三角形的等价类列表示例3:列出三角形的等价类列表输入条件有效等价类无效等价类 (A>0), (1)(B>0), (2) (A≤0), (7)(B≤0), (8)是否三角形的3条边(C>0), (3) (A+B>C), (4) (B+C>A), (5) (C≤0), (9) (A+B≤C), (10) (B+C≤A), (11) (A+C>B) (6) (A+C≤B) (12)是否等腰三角形(A=B), (13) (B=C), (14) (15)(A≠B)and(B≠C)and (C≠A) (16)(C=A) (15) 是否等边三角形(A=B)and (B=C)and (C=A)(17)(A≠B), (18)(B≠C), (19)(C≠A) (20)设计三角形的测试用例示例3:设计三角形的测试用例1【3,4,5】(1)(2)(3)(4)(5)(6)一般三角形【,,】(),(),(),(),(),()般角形2 【0,1,2】(7) 不3 【1,0,2】(8) 【120】能构成三角形4【1,2,0】(9)5 【1,2,3】(10) 6 【1,3,2】(11) 7 【3,1,2】(12)8 【3,3,4】(1),(2),(3),(4),(5),(6),(13) 等腰三角形 9 【3,4,4】(1),(2),(3),(4),(5),(6),(14) 10 【3,4,3】(1),(2),(3),(4),(5),(6),(15) 11 【3,4,5】(1),(2),(3),(4),(5),(6),(16) 非等腰三角形 12【3,3,3】(1)(2)(3)(4)(5)(6)(17)是等边三角形 【,,】(),(),(),(),(),(),()是等边角形13 【3,4,4】(1),(2),(3),(4),(5),(6),(14),(18)非等边三角形 14 【3,4,3】(1),(2),(3),(4),(5),(6),(15),(19)【334】(1)(2)(3)(4)(5)(6)(13)(20)15【3,3,4】(1),(2),(3),(4),(5),(6),(13),(20)边界值分析•边界值分析法是一种补充等价划分的测试边界值分析法是种补充等价划分的测试用例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试用例。
素是选择等价类边的测试用例实践证明,在设计测试用例时,对边界附近的处理必须给予足够的重视,为检验边界附近的处理专门设计测试用例,常常取得良好的测试效果。
边界值分析法不仅重视输入条件边界,而且也从输出域导出测试用例。
边界值设计遵守的几条原则()边界值设计遵守的几条原则(一)1)如果输入条件规定了取值范围,应以该范围的边界内及刚刚超范围的边界外的值作为测试用例。
如以a和b为边界,测试用例应当包含a和b及略大于a和略小于b的值;2)若规定了值的个数,分别以最大、最小个数及稍小于最小、稍大于最大个数作为测数稍小于最小稍大于最大个数作为测试用例;边界值设计遵守的几条原则(二)3)1)和2)针对每个输出条件使用前面的第和条原则;4)如果程序规格说明中提到的输入或输出域是个有序的集合(如顺序文件、表格等),是个有序的集合(如顺序文件表格等)就应注意选取有序集的第一个和最后一个元素作为测试用例;元素作为测试用例5)分析规格说明,找出其他的可能边界条件。
一个演示边界条件缺陷的简单程序个演示边界条件缺陷的简单程序1:Rem Create a10element integer arrayl2:Rem lnitialize each element to-13:Dim data(10)As Integer()4:Dim I As Integer5:For I=1TO106:data(i)=-17:Next i8:End边界问题会在哪儿呢?data(1)=-1data(2)=-1data(3)=-1data(4)=-1data(5)=-1data(6)=-1data(7)=-1data(8)=-1data(9)=-1data(10)=-1data(0)=0d(0)0边界条件类型•数值、速度、字符、地址、位置、尺寸、数量等等;数值速度字符地址位置尺寸数量等等•第一个/最后一个、最小值/最大值、开始/完成,超过/在内、空/满、最短/最长、最慢/最快、最早/最迟、最大/最小、最高/最低、相邻/最远等等;•越界测试通常是简单地加1或者加很小的数(对于最大值)和减少1或者减很小的数(对于最小值)可能的边界条件()可能的边界条件(一)•1~255个字符,就尝试输入1如果文本输入域允许输入个字符就尝试输入个字符和255 个字符作为合法区间。
还可以输入254个字符作为合法测试。
输入0个字符和256个字符作为非字符作为合法测试输入法区间;如果程序读写软盘就尝试保存个尺寸极小甚至•如果程序读写软盘,就尝试保存一个尺寸极小,甚至只有一项的文件,然后保存一个很大的——刚好在软盘容量限制之内的文件。
还要尝试保存空文件和尺寸盘容量限制之内的文件还要尝试保存空文件和尺寸大于软盘容量的文件。
可能的边界条件(二)•如果程序允许在一张纸上打印多个页面,就尝试只打印一页(标准情况),并尝试打印所允许的最多页面,如果可能,还要尝试打印0页和多于所允许的页面;如果可能还要尝试打印页和多于所允许的页面•如果测试飞行模拟程序,尝试控制飞机在地平线上和最大允许高度飞行。