系统测试用例设计方法

合集下载

测试用例设计方法

测试用例设计方法

测试用例设计方法测试用例设计是软件测试过程中非常重要的一环。

通过合理的测试用例设计,可以全面地验证软件系统的功能是否正常、性能是否满足要求、稳定性是否可靠等。

在测试用例设计中,可以使用多种方法来确保测试的全面性和有效性。

下面我将介绍几种常用的测试用例设计方法。

1. 等价类划分法等价类划分法是一种基于输入数据的测试用例设计方法。

它将输入数据划分为若干等价类,每个等价类包含了一组具有相同特征和行为的输入值。

然后,从每个等价类中选择一个典型的输入值作为测试用例。

这样做的好处是在尽量少的测试用例下,可以覆盖到不同的输入条件。

例如,对于一个要求输入年龄的功能,可以划分为小于0岁、0到17岁、18到65岁、65岁以上等等等价类。

2. 边界值分析法边界值分析法是在等价类划分法的基础上,进一步考虑边界情况的测试用例设计方法。

边界值通常是系统能够处理的最小和最大输入值。

通过测试边界值,可以发现输入值是否能够正确地被系统处理。

例如,对于一个要求输入1到100之间的数字的功能,可以设计测试用例分别为0、1、2、99、100、101等。

3. 错误推测法错误推测法是基于测试人员的经验和直觉来推测可能出现的错误情况,并针对这些错误情况设计测试用例。

这种方法更关注于系统对异常情况的处理能力。

例如,对于一个邮件发送功能,可以设计测试用例来测试系统在网络不稳定、收件人邮箱不正确、邮件附件过大等错误情况下的反应。

4. 状态转换法状态转换法是针对有状态的系统进行测试用例设计的一种方法。

通过分析系统的状态变化,设计测试用例来覆盖各个状态和状态之间的转换。

例如,对于一个订单处理系统,可以设计测试用例来覆盖订单的创建、支付、发货、取消等各个状态。

5. 正交实验法正交实验法是一种基于统计学的测试用例设计方法。

它通过对系统的各个因素进行组合,设计最少的测试用例来覆盖尽可能多的情况。

这种方法适用于系统的因素比较复杂,测试用例组合爆炸的情况。

例如,对于一个电子商务网站,可以设计测试用例来测试不同的商品类别、商品属性、支付方式等组合情况。

系统测试设计用例设计方法三篇

系统测试设计用例设计方法三篇

系统测试设计用例设计方法三篇篇一:系统测试设计用例设计方法目录一、等价类分析法 (2)二、边界值分析 (2)三、错误猜测法 (3)四、判定表法 (3)五、流程分析方法 (4)六、正交试验设计法 (4)七、状态迁移法 (6)一、等价类分析法等价类划分方法针对手机状态大致可以归几个大类:1.按键类(等价法):有效输入和无效输入(有效输入指UM和菜单指示;无效输入指测试菜单功能此时没有定义的按键和用户动作);2.外部中断类(等价法):常用、不常用及无效2.1.常用:来电和来消息(短信、彩信、push消息);掀合盖;侧键;耳机&FM;情景模式;电量不足2.2.不常用:充电;闹钟&记事本&关机时间&整点报时提示;Icon&动画显示;Icon&动画刷新;编辑界面&pop显示框输入为空或满;编辑界面&pop 显示框状态输入法默认&字符编码默认;失效SIM卡;大容量等SIM卡兼容;排序;号码识别;2.3.无效:“资料读取中…”;“复制中…”;“请稍后再试”3.存储器类3.1.等价法分类:读或写;不读或不写。

3.2.因果法分类:先SIM卡后手机;先手机后SIM卡;提示用户选择存储器(对比Nokia)。

3.3.操作分类:读;写;新增;删除;复制(先删除后新增;先新增后删除)状态类:正确;错误;变更;用户设定变更举例一,短消息发送功能:英文:Default7-bitalphabet(over160characters)合法等价类:0~160非法等价类::>160Thequickfoxjumpsoverthelazybrowndog中文:UCS-2alphabet(over70characters)合法等价类:0~70非法等价类::>70诺基亚(英文):Extendeddefault7-bitalphabet(over140Bytes),智慧短信,可以携带黑白图片。

合法等价类:0~140非法等价类::>140在写字板里面输入“联通”二字,保存后,再打开,即出现乱码。

测试用例的几种常用设计方法

测试用例的几种常用设计方法

测试用例的几种常用设计方法测试用例是软件测试中的重要组成部分,它们对于确保软件质量至关重要。

在设计测试用例时,可以采用多种不同方法。

下面将介绍几种常用的测试用例设计方法。

1.等价类划分法(Equivalent Partitioning)等价类划分法是一种基于输入数据的测试用例设计方法。

它将输入数据划分为若干等价类,每个等价类中的数据具有相同的功能和处理方式。

在设计测试用例时,只需要选择每个等价类中的一个或几个代表性的测试数据进行测试即可。

这种方法可以有效地减少测试用例的数量,同时保证测试覆盖面。

2. 边界值分析法(Boundary Value Analysis)边界值分析法是一种基于输入数据边界的测试用例设计方法。

它关注输入数据的边界条件,通常在输入数据的最小值、最大值和边界附近选择测试用例。

这是因为在边界处发生的错误往往比在其他地方发生的错误更容易被发现。

通过边界值分析法设计的测试用例可以提高测试效率和覆盖度。

3. 错误推测法(Error Guessing)错误推测法是一种基于经验和直觉的测试用例设计方法。

它假设测试人员能够猜测到软件中潜在的错误,并设计相应的测试用例来验证这些错误。

这种方法不依赖于任何特定的测试技术或规则,而是基于测试人员的经验和洞察力。

错误推测法可以应用于各种测试阶段,并且适用于不同类型的软件。

4. 决策表法(Decision Table)决策表法是一种基于规则和条件的测试用例设计方法。

它使用表格来表示系统的决策条件和相应的动作结果。

在设计测试用例时,可以根据表格中的各种条件组合来选择相应的测试用例。

决策表法对复杂的业务逻辑和条件约束非常有效,可以提高测试覆盖范围和准确性。

5. 状态转换法(State Transition)状态转换法是一种基于系统状态的测试用例设计方法。

它将系统的不同状态和状态之间的转换关系进行建模,并选择相应的测试用例来验证系统在不同状态下的行为。

状态转换法适用于具有明确状态转换关系的系统,例如有限状态机。

系统测试用例设计:如何设计系统测试用例,保证系统测试的全面性和准确性

系统测试用例设计:如何设计系统测试用例,保证系统测试的全面性和准确性

系统测试用例设计:如何设计系统测试用例,保证系统测试的全面性和准确性导言在软件开发过程中,系统测试是确保产品质量的关键环节之一。

为了检验软件系统是否符合预期的功能和性能要求,我们需要设计有效的系统测试用例。

系统测试用例设计的全面性和准确性对于保证软件系统质量至关重要。

本文将介绍系统测试用例设计的一些技巧和方法,帮助开发人员和测试人员设计全面且准确的系统测试用例。

理解系统测试用例在深入了解系统测试用例设计之前,我们首先来理解系统测试用例的概念。

系统测试用例是用来验证软件系统是否具备预期功能和性能的测试环节。

系统测试用例旨在测试整个软件系统,包括各个功能模块的集成。

它不同于单元测试用例和集成测试用例,因为它更加关注整个系统的功能和性能,而不仅仅是单个模块或组件。

系统测试用例要求全面、准确、可重复。

全面意味着覆盖到软件系统中的所有功能和边界条件,确保所有预期的功能被测试到。

准确意味着系统测试用例应该以预期的方式重现软件系统的行为,确保系统在不同情况下的正确性。

可重复意味着系统测试用例应该能够在不同的环境中重复运行,以验证系统在不同环境下的稳定性和可靠性。

确定系统测试的目标和范围在设计系统测试用例之前,我们需要明确系统测试的目标和范围。

系统测试的目标是测试软件系统是否符合预期的功能和性能要求。

系统测试的范围取决于软件系统的规模和功能。

我们需要明确测试哪些功能模块、关键功能和边界条件,并且确定测试的优先级。

了解用户需求和功能规范在系统测试用例设计之前,我们需要深入了解用户需求和功能规范。

用户需求是软件系统设计和开发的基础,我们需要确保系统测试用例设计与用户需求一致。

功能规范描述了软件系统的功能和行为,我们需要清楚地理解功能规范,以便设计相应的系统测试用例。

使用黑盒测试和白盒测试结合的方法系统测试用例设计可以使用黑盒测试和白盒测试结合的方法。

黑盒测试基于软件系统的功能和行为,不考虑内部实现细节。

白盒测试基于软件系统的内部逻辑和数据结构,可以验证系统的结构和路径覆盖。

测试用例设计的方法

测试用例设计的方法

测试用例设计的方法测试用例设计是软件测试中的重要环节,它旨在验证软件系统的正确性和稳定性。

一个好的测试用例设计可以帮助测试人员高效地发现和修复软件中的缺陷,确保软件质量。

下面将介绍几种常用的测试用例设计方法。

1. 边界值分析法边界值分析法通过测试边界值来检验系统的健壮性。

该方法假设错误往往发生在边界上,因此对于特定输入条件,测试用例应包括最小值、最大值以及接近最小值和最大值的临界值。

例如,一个接受年龄输入的系统,可以设计测试用例包括负数、0、1、100、101等边界值。

2. 等价类划分法等价类划分法是将输入条件划分为多个等价类,然后从每个等价类中选择一个测试用例进行测试。

等价类划分法的基本原则是:一个等价类中的数据具有相同的功能和行为,无论选择其中的哪个值作为输入,系统的行为都应该是一致的。

例如,对于一个接受月份输入的系统,可以将月份划分为等价类:1-12个月是有效的输入,其他数字和非数字是无效的输入。

3. 成对测试法成对测试法是一种组合测试方法,它通过组合两个或多个输入条件来设计测试用例,以验证系统对不同条件的组合是否正确处理。

该方法适用于系统具有多个输入条件的场景。

例如,一个在线商城系统,会有多种支付方式和配送方式,可以设计不同的测试用例来测试各种支付和配送方式的组合效果。

4. 状态转换法状态转换法适用于测试有状态的系统,例如有限状态机、状态驱动的系统等。

它通过设计测试用例来验证系统在不同状态下的行为是否符合预期。

测试用例应包括系统从一个状态转换到另一个状态的过程,以及在每个状态下系统的行为。

例如,一个电梯系统的状态可以包括:停止、上升、下降等,可以设计测试用例来测试系统在不同状态下的响应和行为。

综上所述,测试用例设计是软件测试中非常重要的一环。

通过边界值分析法、等价类划分法、成对测试法和状态转换法等方法,可以设计出全面、有效的测试用例。

测试人员可以根据具体的系统特点和需求,选择合适的方法来进行测试用例设计,以提高测试效率和发现软件中的缺陷。

测试用例设计的常见方法总结

测试用例设计的常见方法总结

测试用例设计的常见方法总结测试用例设计是软件测试过程中的重要一环,它决定了测试的覆盖范围和测试的质量。

合理有效的测试用例设计可以发现更多的错误,提高软件质量。

本文将总结常见的测试用例设计方法,包括黑盒测试方法、白盒测试方法和灰盒测试方法。

1. 黑盒测试方法黑盒测试方法是基于软件系统的功能需求和规格说明,而不考虑内部结构和实现细节的测试方法。

黑盒测试的目的是检验系统功能是否按照需求规格说明书的要求工作。

常见的黑盒测试方法包括:1.1 等价类划分法:将输入和输出的数据分为等价类,从每个等价类中选择一个或多个有效和无效的数据作为测试用例。

1.2 边界值分析法:选择输入数据的边界值和边界值周围的值作为测试用例,以发现潜在的错误。

1.3 决策表测试法:生成决策表,根据决策表的规则设计测试用例,以覆盖所有可能的条件和结果组合。

1.4 直觉法:依据个人的直觉和经验设计测试用例,对于特定的软件系统或特定的功能点可以提供较好的测试覆盖。

2. 白盒测试方法白盒测试方法是基于软件系统的内部结构和实现细节的测试方法。

白盒测试的目的是检验程序的逻辑结构是否正确,是否有遗漏的代码路径。

常见的白盒测试方法包括:2.1 语句覆盖:确保每个语句至少被执行一次。

2.2 判定覆盖:确保每个判定(条件)的所有可能取值至少被覆盖一次。

2.3 条件覆盖:确保判定的每个条件的所有可能取值至少被覆盖一次,包括真值和假值。

2.4 路径覆盖:覆盖所有可能的路径,包括正常路径、异常路径等。

2.5 边界值覆盖:选择边界值和边界值周围的其他值作为测试用例。

3. 灰盒测试方法灰盒测试方法综合了黑盒测试和白盒测试的特点,既考虑功能需求,又考虑内部结构和实现细节。

常见的灰盒测试方法包括:3.1 因果图测试法:通过分析系统功能和数据之间的因果关系,设计测试用例,以覆盖各种情况下的因果关系。

3.2 正交实验设计法:通过正交表设计测试用例,以尽可能减少测试用例的数量和重复覆盖的情况下,达到最优的覆盖率。

测试用例的设计方法

测试用例的设计方法

测试用例的设计方法
测试用例的设计方法有以下几种:
1. 边界值分析法:选择输入值的边界值进行测试,例如最小值、最大值、边界附近的值等。

这样可以发现输入值的边界条件下的异常行为。

2. 等价类划分法:将输入值划分为等价类,选择每个等价类中的一个典型值进行测试。

这样可以减少测试的工作量,同时覆盖了每个等价类的典型情况。

3. 错误推测法:基于对系统的了解和分析,推测可能出现的错误情况,并设计相应的测试用例。

例如输入错误的格式、越界值、空值等。

4. 场景法:基于用户使用系统的场景,设计相应的测试用例。

例如用户注册、用户登录、提交订单等。

5. 因果图法:通过建立因果图来分析系统的各个部分之间的因果关系,根据因果关系设计测试用例。

例如输入不同的条件会导致不同的结果,可以设计多个测试用例来覆盖这些情况。

6. 状态转换法:针对具有多个状态的系统,设计测试用例以覆盖系统在不同状态下的行为。

例如登录系统的不同用户角色,每个角色所能执行的操作不同,可以设计测试用例来覆盖这些情况。

7. 过程检查法:设计测试用例来验证系统的各个过程是否符合要求。

例如输入数据后系统的处理过程、数据传输过程等。

以上是常用的测试用例设计方法,根据具体的测试需求和系统特点选择合适的方法进行测试用例的设计。

系统测试用例编写

系统测试用例编写

系统测试用例编写系统测试用例编写2010-05-09 12:21系统测试用例设计方法目录一、测试用例格式以及写作要点二、系统测试用例设计方法1、等价类划分法2、边界值分析法3、判定表法4、因果图法5、状态迁移图法6、流程分析法7、正交试验法8、错误推测法测试用例格式以及写作要点测试用例编号测试项目测试标题重要级别预置条件输入操作步骤预期输出以上是一般的测试用例格式,可以根据公司具体要求删除一些或加入其它项。

测试用例编号测试用例编号是由字母和数字组合而成的,用例的编号应该具有唯一性,易识别性。

比如可以采用统一的约定,产品编号-ST-系统测试项名-系统测试子项名-编号。

这样看到编号就可以知道是做的什么测试,测试的对象是什么。

也方便维护。

测试项目你现在这个测试用例所测的项目名,可以是测试用例所属的大类,被测需求,被测的模块,或者是被测的单元。

例如:计算器加法功能。

测试标题测试标题是对测试用例的简单描述。

用概括的语言描述该测试用例的测试点。

每个测试用例的标题不能够重复,因为每个测试用例的测试点是不一样的。

例如:手机在没有SIM卡的情况下,拨打119。

重要级别重要级别分为高中底三等:高:保证系统基本功能、重要特性、实际使用频率比较高的用例;中:重要程度介于高和底之间的测试用例;底:实际使用频率不高、对系统业务功能影响不大的模块或功能的测试用例。

注:一般情况下,重要级别为高的测试用例,一个测试子项里有且尽有一个,大多数都是重要级别为中的测试用例。

因为一般我们会进行一个系统测试预测试,如果重要级别为高的太多,则就失去了预测试的实际意义。

预置条件就是执行当前测试用例的前提条件,如果不满足这些条件,则无法进行测试。

输入测试用例执行时,需要输入的外部信息。

例如某一个文件,数据记录等。

操作步骤执行当前测试所要经过的操作步骤,需要给出每一步操作的描述,测试人员根据测试用例操作步骤,完成测试用例的执行。

预期输出当前测试用例的预期输出结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

系统测试用例设计方法--------------王永安目录一、测试用例格式以及写作要点 (3)二、系统测试用例设计方法 (4)1、等价类划分法 (5)2、边界值分析法 (6)3、判定表法 (7)4、因果图法 (9)5、状态迁移图法 (15)6、流程分析法 (20)7、正交试验法 (34)8、错误推测法 (41)一、测试用例格式以及写作要点测试用例编号测试用例编号是由字母和数字组合而成的,用例的编号应该具有唯一性,易识别性。

比如可以采用统一的约定,产品编号—ST—系统测试项名—系统测试子项名—编号。

这样看到编号就可以知道是做的什么测试,测试的对象是什么。

也方便维护。

测试项目你现在这个测试用例所测的项目名,可以是测试用例所属的大类,被测需求,被测的模块,或者是被测的单元。

例如:计算器加法功能。

测试标题测试标题是对测试用例的简单描述。

用概括的语言描述该测试用例的测试点。

每个测试用例的标题不能够重复,因为每个测试用例的测试点是不一样的。

例如:手机在没有SIM 卡的情况下,拨打119。

重要级别重要级别分为高中底三等:高:保证系统基本功能、重要特性、实际使用频率比较高的用例;中:重要程度介于高和底之间的测试用例;底:实际使用频率不高、对系统业务功能影响不大的模块或功能的测试用例。

注:一般情况下,重要级别为高的测试用例,一个测试子项里有且尽有一个,大多数都是重要级别为中的测试用例。

因为一般我们会进行一个系统测试预测试,如果重要级别为高的太多,则就失去了预测试的实际意义。

预置条件就是执行当前测试用例的前提条件,如果不满足这些条件,则无法进行测试。

输入测试用例执行时,需要输入的外部信息。

例如某一个文件,数据记录等。

操作步骤执行当前测试所要经过的操作步骤,需要给出每一步操作的描述,测试人员根据测试用例操作步骤,完成测试用例的执行。

预期输出当前测试用例的预期输出结果。

用来与实际结果比较,如果相同则该测试用例通过,否则该测试用例失败。

二、系统测试用例设计方法1、等价类划分法何为等价类,某个输入域的集合,在这个集合中每个输入条件都是等效的,如果其中一个的输入不能导致问题发生,那么集合中其它输入条件进行测试也不可能发现错误。

等价类分为有效等价类和无效等价类,有效等价类就是由那些对程序的规格说明有意义的、合理的输入数据所构成的集合;无效等价类就是那些对程序的规格说明不合理的或无意义的输入数据所构成的集合。

划分等价类的方法:下面给出六条确定等价类的原则。

1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。

2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。

3、在输入条件是一个布尔量的情况下,可确定一个有效等价类。

4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。

5、在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

6、在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。

根据等价类划分原则,将等价类填入下表。

等价类表1、为每一个等价类规定一个唯一的编号。

2、设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。

3、设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

举例:拿PowerPoint的打印功能界面做例子,用等价类方法,划分等价类。

输入条件有效等价类无效等价类打印机名称可选择的打印机打印到文件TRUE、FALSE打印范围全部、当前幻灯片、幻灯片幻灯片不大于幻灯片总数的自然数集合小于1的整数打印份数[1,32767] 小于1的整数,大于32767的整数逐份打印TRUE、FALSE打印内容幻灯片、讲义、备注页、大纲视图颜色/灰度颜色、灰度、纯黑白每页幻灯片数{1、2、3、4、6、9} 除了1、2、3、4、6、9以外整数顺序水平、垂直根据纸张调整大小TRUE、FALSE幻灯片加框TRUE、FALSE测试用例略。

等价类划分是最常用的方法,通常和边界值分析法一起用,在下面的流程分析法里,我会将等价类、边界值和流程分析法一起举例,一起写测试用例。

2、边界值分析法测试经验丰富的前辈们公司我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。

因此针对个中边界情况设计测试用例,可以查处更多的错误。

首先来了解一下边界点的定义,边界点分为上点、内点和离点。

如图:结合上面的图示。

上点,就是边界上的点,不管它是开区间还是闭区间,就是说,如果该点是封闭的,那上点就在域范围内,如果该点是开放的,那上点就在域范围外;内点,就是在域范围内的任意一个点;离点,就是离上点最近的一个点,如果边界是封闭的,那离点就是域范围外离上点最近的点,如果边界是开放的,那离点就是域范围内离上点最近的点。

现在大家都知道边界点了,那接下来就讲一下,边界值分析方法的原则:1、 如果输入(输出)条件规定了取值范围,则应该以该范围的边界值及边界附近的值作为测试数据;2、 如果输入(输出)条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据;3、 如果程序规格说明书中提到的输入或输出是一个有序的集合,应该注意选取有序集合的第一个和最后一个元素作为测试数据;4、 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据。

举例: 闭区间[50,100]的上点为50和100,离点是49和101,在域范围内的都是内点;闭区间半开半闭区间开区间内点内点内点半开半闭区间(50,100]的上点为50和100,离点是51和101,在域范围内的都是内点;开区间(50,100)的上点为50和100,离点是51和99,在域范围内的都是内点;测试用例略。

在下面的流程分析法里,我会将等价类、边界值和流程分析法一起举例,一起写测试用例。

3、判定表法现在我们先讲判定表法,再讲因果图法,因为判定表法经常和因果图法一起用,先进行因果图分析,再结合判定表,最后完成测试用例。

在多个条件决定多个动作,并且每个条件的取值只有两种情况下,我们就可以采用因果图和判定表方法。

注:条件和动作之间的逻辑关系是明确的,可以直接使用判定表法;如果条件和动作关系不明确,则要先使用因果图法。

判定表通常由四部分组成,如图:每一个部分之间用双线或粗条线分开,左上部称条件桩,它列出决定一组条件的对象;右上部称条件项,它列出各种可能的条件组合;左下部称动作桩,它列出所有的操作,右下部为动作项,它列出在对应的条件组合下的动作。

表的右部一般有很多列。

举例:1、主持人对甲、乙、丙三人说:这里有三顶红帽子,两顶白帽子,现在用布蒙上你们的眼睛,给你们每人戴上一顶帽子,然后请你们依次睁开眼睛,能正确说出自己帽子颜色的有奖。

戴完帽子后,甲拿下布后看了其他两人的帽子说:“我不知道”。

然后,乙揭开布看了其他两人的帽子说:“我也不知道”。

轮到丙时,丙没有揭开布就说出了自己帽子的颜色。

请问:丙戴的帽子是什么颜色的?他是怎样得出结论的。

2、订购单的检查。

如果金额超过500元,又未过期,则发出批准单和提货单;如果金额超过500元,但过期了,则不发批准单;如果金额低于500元,则不论是否过期都发出批准单和提货单,在过期的情况下还需要发出通知单。

中有两条或多条规则具有相同的动作,并且其条件项之间存在极为相似的关系,我们就可以将其合并。

比如表中,条件:>500、未过期;<=500、未过期。

这两个条件项导致的结果是一样的,并且条件项之间很相似,我们就可以将它们合并。

结果如下:都是一条规则。

以上判定表里每一条规则都可以转化为测试用例。

用例:4、因果图法接下来我们讲因果图法。

前面说过在多个条件决定多个动作,并且每个条件的取值只有两种情况下,我们就可以采用因果图和判定表方法。

因果图法就是从程序规格说明书的描述中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判定表,最后为判定表中的每一列设计一个测试用例。

首先我们来了解一下因果图的基本符号,我会在边上加些注解以帮助大家理解。

因果图符号约束符号A) Ci=1, Ei=1;Ci=0, Ei=0;B) Ci=1, Ei=0;Ci=0, Ei=1;C)C1,C2,C3有一个以上=1,Ei=1;C1,C2,C3全=0,Ei=0;D)C1,C2,C3全=1,Ei=1;C1,C2,C3有一个以上=0,Ei=0;a和b同时只能有一个为1,但可以都为Ia和b同时只能有一个为0,但可以都为1a和b有且仅有一个为1R Ma=1,要求b也要=1;其它不约束a=1,强制b =0;其它不约束接着我们讲一下使用因果图法的步骤:1、根据程序规格说明书描述的语义内容,分析并确定“因”和“果”,将其表示成连接各个原因与各个结果的“因果图”。

需要注意的是,由于语法或环境的限制,某些原因和结果的组合情况是不可能出现的。

为表明这些特定的情况,需要在因果图上使用若干个约束符号来标明约束条件;2、将得到的因果图转换成判定表;3、为判定表中每一列所表示的情况设计一个测试用例。

对于较为复杂的问题,这个方法常常是十分有效的。

具体我们来举个例子来讲,可以更好的理解。

举例:以中国象棋中马的走法为例子,具体说明:1、如果落点在棋盘外,则不移动棋子;2、如果落点与起点不构成日字型,则不移动棋子;3、如果落点处有自己方棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如果不属于1-4条,且落点处为对方棋子(非老将) ,则移动棋子并除去对方棋子;7如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。

对说明进行分析,得到原因和结果:原因:1、落点在棋盘外;2、不构成日字;3、落点有自方棋子;4、绊马腿;5、落点无棋子;6、落点为对方棋子;7、落点为对方老将。

结果:1、不移动;2、移动;3、移动己方棋子消除对方棋子;4、移动并战胜对方。

根据分析出来的原因和结果,我们可以画出因果图,如下:画得不好,比较乱,大家请见谅。

我只加了些必要的约束条件,还有一些没有加,不过后面会讲的。

11这个结点称做中间结点,是为了让因果图的结构更加明了,简化因果图导出的判定表。

分析得出以下两个结论。

只有1、2、3、4都不成立时,产生11,跟5、6、7结合分别得出22、23、24三个结果;不管5、6、7哪个成立,只要1、2、3、4有一个成立,就产生结果21;再加上落点有自方棋子的状况。

相关文档
最新文档