面向对象软件的实现与测试课件.ppt

上传人(卖家):晟晟文业 文档编号:4537190 上传时间:2022-12-17 格式:PPT 页数:71 大小:307KB
下载 相关 举报
面向对象软件的实现与测试课件.ppt_第1页
第1页 / 共71页
面向对象软件的实现与测试课件.ppt_第2页
第2页 / 共71页
面向对象软件的实现与测试课件.ppt_第3页
第3页 / 共71页
面向对象软件的实现与测试课件.ppt_第4页
第4页 / 共71页
面向对象软件的实现与测试课件.ppt_第5页
第5页 / 共71页
点击查看更多>>
资源描述

1、软 件 工 程1软 件 工 程2软 件 工 程3软 件 工 程4软 件 工 程5 Dictionaryprivate:contents a HashTablepublic:add(anItem)词典词典私有域私有域 散列表散列表共有域共有域 方法方法add软 件 工 程6DictionaryuseraddsDictionaryItemreferto发送消息发送消息add,同时把同时把Item的一个实例当作参数的一个实例当作参数发送消息发送消息getKey,得到得到散列所需的关键码散列所需的关键码软 件 工 程7软 件 工 程8软 件 工 程9HashTableis part ofDiction

2、ary软 件 工 程10软 件 工 程11ABCDEABCDE软 件 工 程12软 件 工 程13Pointxy点点坐标坐标Pointxyredius圆圆坐标坐标半径半径软 件 工 程14软 件 工 程15containeris astack class interfaceLink-based stackArray-based stackis animplementationofis animplementationofis part ofReverse PolishNotation Evaluator软 件 工 程16软 件 工 程178.2 8.2 类的实现类的实现软 件 工 程18软 件

3、 工 程19软 件 工 程20软 件 工 程21软 件 工 程22软 件 工 程23软 件 工 程24软 件 工 程25软 件 工 程26软 件 工 程27软 件 工 程28软 件 工 程29软 件 工 程30软 件 工 程31软 件 工 程32软 件 工 程33stack class interfaceLink-based stackArray-based stackis animplementationofis animplementationofstack类的界面类的界面关系关系是是的实现的实现基于数组的栈基于数组的栈基于链表的栈基于链表的栈软 件 工 程348.3 8.3 应用的实现应

4、用的实现软 件 工 程35软 件 工 程36软 件 工 程37面向对象系统的测试与传统的基于功能的面向对象系统的测试与传统的基于功能的系统的测试之间存在很大差别:系统的测试之间存在很大差别:1)对象作为一个单独的构件一般比一个功对象作为一个单独的构件一般比一个功能模块大。能模块大。2)由对象到子系统的集成通常是松散耦合由对象到子系统的集成通常是松散耦合的,没有一个明显的的,没有一个明显的“顶层顶层”。3)如果对象被复用,测试者无权进入构件如果对象被复用,测试者无权进入构件内部来分析其代码。内部来分析其代码。软 件 工 程38面向对象系统的测试可分为面向对象系统的测试可分为4个层次:个层次:1)

5、测试与对象相关联的单个操作测试与对象相关联的单个操作 它们是它们是一些函数或程序,传统的白盒测试和黑一些函数或程序,传统的白盒测试和黑盒测试方法都可以使用。盒测试方法都可以使用。2)测试单个对象类测试单个对象类 黑盒测试的原理不变,黑盒测试的原理不变,但等价划分的概念要扩展以适合操作序但等价划分的概念要扩展以适合操作序列的情况。列的情况。3)测试对象簇(聚集)测试对象簇(聚集)严格的自顶向下严格的自顶向下或自底向上的集成不适合一组关联对象或自底向上的集成不适合一组关联对象的情形。应使用基于场景的测试等其他的情形。应使用基于场景的测试等其他方法。方法。软 件 工 程39对象类测试对象类测试4)测

6、试面向对象系统测试面向对象系统 根据系统需求规格说根据系统需求规格说明进行检验和有效性验证的过程可以像对明进行检验和有效性验证的过程可以像对其他范型的系统一样进行。其他范型的系统一样进行。在测试对象时,完全的覆盖测试应当包括:在测试对象时,完全的覆盖测试应当包括:1)隔离对象中所有隔离对象中所有操作操作,进行独立测试。,进行独立测试。2)测试对象中所有测试对象中所有属性属性的设置和访问。的设置和访问。3)测试对象的所有可能的测试对象的所有可能的状态转换状态转换。所有。所有可能引起状态改变的事件都要模拟到。可能引起状态改变的事件都要模拟到。软 件 工 程40对象类,作为在语法上独立的构件,应当对

7、象类,作为在语法上独立的构件,应当允许在不同应用中使用。每个类都应是可允许在不同应用中使用。每个类都应是可靠的且不需了解任何实现细节就能复用。靠的且不需了解任何实现细节就能复用。因此对象类应尽可能孤立地进行测试。因此对象类应尽可能孤立地进行测试。设计操作的测试用例时的要点:设计操作的测试用例时的要点:1)首先定义测试对象首先定义测试对象各操作各操作的测试用例。的测试用例。2)对于一个单独的操作,可通过该操作的对于一个单独的操作,可通过该操作的前置条件前置条件选择测试用例,产生输出,让选择测试用例,产生输出,让测试者能够判断测试者能够判断后置条件后置条件是否能够得到是否能够得到满足。满足。软 件

8、 工 程413)各个操作的测试与传统对函数过程定义各个操作的测试与传统对函数过程定义的测试基本相同。的测试基本相同。4)然后再把测试用例组扩充,针对被测操然后再把测试用例组扩充,针对被测操作调用对象类中其他操作的情况,设计作调用对象类中其他操作的情况,设计操作序列的测试用例组。操作序列的测试用例组。5)测试可以覆盖每个操作的整个输入域。测试可以覆盖每个操作的整个输入域。但这不够,还必须测试这些操作的相互但这不够,还必须测试这些操作的相互作用,才能认为测试是充分的。作用,才能认为测试是充分的。6)各个操作间的相互作用包括各个操作间的相互作用包括类内通信类内通信和和类间通信类间通信。软 件 工 程

9、42putReferencePoint(Point)moveTo(Point)ReferencePointarea()draw()erase()getReferencePoint(Point)DisplayableShape(Point)DisplayableShape类内消息类内消息类间消息类间消息DisplayableShape()软 件 工 程43设计对象类的规格说明测试时的要点:设计对象类的规格说明测试时的要点:1)把对象类当做一个黑盒,确认类的实现把对象类当做一个黑盒,确认类的实现是否遵照它的定义。对于是否遵照它的定义。对于“栈栈”的测试的测试应当确保应当确保 LIFO 原则得以实施

10、。原则得以实施。2)对于多数的对象类,主要检验在类声明对于多数的对象类,主要检验在类声明的的 public 域域中的那些操作。中的那些操作。3)对于子类,要检查继承父类的对于子类,要检查继承父类的public 域域和和protected 域域的那些操作。的那些操作。4)检查所有检查所有public域域,protected域域及及private 域域中的操作以完全检查对象中定中的操作以完全检查对象中定义的操作。义的操作。软 件 工 程445)等价划分的思想也可用到对象类上。将等价划分的思想也可用到对象类上。将使用对象相同属性使用对象相同属性的测试归入同一个等的测试归入同一个等价划分集合中。这样可

11、以建立对对象类价划分集合中。这样可以建立对对象类属性进行初始化、访问、更新等的等价属性进行初始化、访问、更新等的等价划分。划分。在设计对象类的行为测试时需要注意:在设计对象类的行为测试时需要注意:1)基于对象的基于对象的状态模型状态模型进行测试时,首先进行测试时,首先要识别需要测试的要识别需要测试的状态的变迁序列状态的变迁序列,并,并定义事件序列来强制执行这些变迁。定义事件序列来强制执行这些变迁。2)原则上应当测试每一个状态变迁序列,原则上应当测试每一个状态变迁序列,当然这样做测试成本很高。当然这样做测试成本很高。软 件 工 程45对象集成测试对象集成测试 当开发面向对象系统时,集成的层次并不

12、明当开发面向对象系统时,集成的层次并不明显。当一组对象类通过组合行为提供一组服显。当一组对象类通过组合行为提供一组服务时,则需将它们一起测试,这就是簇测试。务时,则需将它们一起测试,这就是簇测试。此时不存在自底向上和自顶向下的集成。此时不存在自底向上和自顶向下的集成。3)完全的单元应当保证类的执行必须完全的单元应当保证类的执行必须覆盖覆盖它的一个有代表性的状态集合它的一个有代表性的状态集合。4)构造函数和消息序列(线程)的参数值构造函数和消息序列(线程)的参数值的选择的选择应当满足这个规则。应当满足这个规则。软 件 工 程46对象集成测试又称对象集成测试又称交互测试交互测试,目的是确保,目的是

13、确保对象的消息传递能够正确进行。对象的消息传递能够正确进行。面向对象系统的集成测试有面向对象系统的集成测试有3种可用的方法:种可用的方法:1)用例或基于场景的测试用例或基于场景的测试 用例或场景描用例或场景描述了对系统的使用模式。测试可以根据述了对系统的使用模式。测试可以根据场景描述和对象簇来制定。这种测试着场景描述和对象簇来制定。这种测试着眼于系统结构,首先测试几乎不使用服眼于系统结构,首先测试几乎不使用服务器类的独立类,再测试那些使用了独务器类的独立类,再测试那些使用了独立类的下一层次的(依赖)类。这样一立类的下一层次的(依赖)类。这样一层一层地持续下去,直到整个系统构造层一层地持续下去,

14、直到整个系统构造完成。完成。软 件 工 程472)基于线程的测试基于线程的测试 它把为响应某一系统它把为响应某一系统输入或事件所需的一组对象类组装在一输入或事件所需的一组对象类组装在一起。每一条线程将分别测试和组装。因起。每一条线程将分别测试和组装。因为面向对象系统通常是事件驱动的,因为面向对象系统通常是事件驱动的,因此这是一个特别合适的测试形式。此这是一个特别合适的测试形式。3)对象交互测试对象交互测试 这个方法提出了集成测这个方法提出了集成测试的中间层概念。中间层给出叫做试的中间层概念。中间层给出叫做“方方法法-消息消息”路径的对象交互序列。所谓路径的对象交互序列。所谓“原子系统功能原子系

15、统功能”就是指一些输入事件就是指一些输入事件加上一条加上一条“方法方法-消息消息”路径,终止于一路径,终止于一个输出事件。个输出事件。软 件 工 程48子类测试子类测试 在做继承层次的测试时,自顶向下测试比较在做继承层次的测试时,自顶向下测试比较容易,但如何测试有几种看法:容易,但如何测试有几种看法:Fielder认为在父类充分测试的基础上,认为在父类充分测试的基础上,被子类继承的方法只需最小测试。被子类继承的方法只需最小测试。Horrold主张在测试子类时,只需对被继主张在测试子类时,只需对被继承的属性和新的属性之间的交互进行测承的属性和新的属性之间的交互进行测试。试。D.E.Perry和和

16、G.E.Kaiser以以Weyuker的的测试充分性公理为依据,认为子类中继测试充分性公理为依据,认为子类中继承的方法和重新定义的方法都必须在子承的方法和重新定义的方法都必须在子类环境中重新测试。类环境中重新测试。软 件 工 程49面向对象的确认测试面向对象的确认测试 在确认测试或系统测试的层次上,不再考虑在确认测试或系统测试的层次上,不再考虑对象类间相互连接的细节。主要着眼于用户对象类间相互连接的细节。主要着眼于用户可见的动作和用户可识别的系统输出。可见的动作和用户可识别的系统输出。为了帮助确认测试的执行,测试者需要回到为了帮助确认测试的执行,测试者需要回到分析时的动态模型和描述系统行为的事

17、件序分析时的动态模型和描述系统行为的事件序列(脚本)进行测试。列(脚本)进行测试。可以利用黑盒测试的方法来驱动确认测试。可以利用黑盒测试的方法来驱动确认测试。测试检测软件中的故障并确定软件是否执行测试检测软件中的故障并确定软件是否执行了预定要开发的功能。了预定要开发的功能。软 件 工 程50面向对象测试用例的设计面向对象测试用例的设计测试过程包括了一组测试用例的开发,每测试过程包括了一组测试用例的开发,每一个测试用例要求能检验应用的一个特定一个测试用例要求能检验应用的一个特定的元素。还需要分析用各个测试用例执行的元素。还需要分析用各个测试用例执行测试的结果来收集有关软件的信息。测试的结果来收集

18、有关软件的信息。软件测试人员可以参考以下方法:软件测试人员可以参考以下方法:1)应当唯一标识每一个测试用例,并与被应当唯一标识每一个测试用例,并与被测试的类显式地建立关联。测试的类显式地建立关联。2)陈述测试对象的一组特定状态。陈述测试对象的一组特定状态。软 件 工 程513)对每一个测试建立一组测试步骤,要思对每一个测试建立一组测试步骤,要思考和确定的问题包括:考和确定的问题包括:被测试对象的一组特定状态;被测试对象的一组特定状态;一组消息和操作;一组消息和操作;考虑在对象测试时可能产生的一组异考虑在对象测试时可能产生的一组异常;常;一组外部条件;一组外部条件;辅助理解和实现测试时的补充信息

19、。辅助理解和实现测试时的补充信息。传统的白盒测试方法可用在类定义的操作传统的白盒测试方法可用在类定义的操作测试和类级别测试中,黑盒测试方法可用测试和类级别测试中,黑盒测试方法可用于多类测试。于多类测试。软 件 工 程52分布式系统的测试分布式系统的测试 分布式处理中涉及的最基本单位是线程,线分布式处理中涉及的最基本单位是线程,线程是操作系统进程内部能够独立运行的内容,程是操作系统进程内部能够独立运行的内容,它拥有自己的程序计数器和本地数据。线程它拥有自己的程序计数器和本地数据。线程是能够被调度执行的最小单位。是能够被调度执行的最小单位。分布式系统测试主要面临的问题是并发性、分布式系统测试主要面

20、临的问题是并发性、网络化和分布式。网络化和分布式。并发性是指多个线程同时发生。针对并发性并发性是指多个线程同时发生。针对并发性错误的测试主要着重于两个线程的交互。在错误的测试主要着重于两个线程的交互。在实际实施交互机制前应对相关方法进行测试。实际实施交互机制前应对相关方法进行测试。软 件 工 程53 在网络环境中各个独立的盒子连接到通信设在网络环境中各个独立的盒子连接到通信设施上,如何实现它们物理上的同步是网络计施上,如何实现它们物理上的同步是网络计算的问题。相关的测试就是在组成一个网络算的问题。相关的测试就是在组成一个网络系统的各个自治机器之间同步问题的测试。系统的各个自治机器之间同步问题的

21、测试。分布式系统使用多进程来支持系统的灵活性分布式系统使用多进程来支持系统的灵活性一个对象既可以在同一台机器上分布在多个一个对象既可以在同一台机器上分布在多个进程中,还可以分布在多个物理上的计算机进程中,还可以分布在多个物理上的计算机上。所有这些分布式构件都要能够识别上。所有这些分布式构件都要能够识别“命命名服务名服务”或或“注册注册”对象,能够与其他构件对象,能够与其他构件交互。所有在配置文件中登记的机器与构件交互。所有在配置文件中登记的机器与构件构成基础结构。构成基础结构。软 件 工 程54需要考虑与这些分布式构件相关的测试。需要考虑与这些分布式构件相关的测试。1)分布式系统中的路径测试分

22、布式系统中的路径测试一条路径是一系列逻辑上连续的语句,一条路径是一系列逻辑上连续的语句,它只有在特定的输入下才执行。路径的它只有在特定的输入下才执行。路径的另一个定义是覆盖变量的定义和使用就另一个定义是覆盖变量的定义和使用就形成一条完整的路径。形成一条完整的路径。路径测试就是设计测试用例路径测试就是设计测试用例覆盖一个同覆盖一个同步顺序步顺序。所谓同步顺序是指。所谓同步顺序是指同步事件按同步事件按照特定次序发生的顺序照特定次序发生的顺序,而,而同步事件是同步事件是指一个线程产生另一个线程指一个线程产生另一个线程。软 件 工 程55测试应跟踪一个事件到另一个事件的路测试应跟踪一个事件到另一个事件

23、的路径。如果从一个同步事件到另一个同步径。如果从一个同步事件到另一个同步事件有多条可能的控制流路径,只需覆事件有多条可能的控制流路径,只需覆盖其中一条路径。盖其中一条路径。2)生存周期测试生存周期测试在分布式系统中,生存周期测试是指选在分布式系统中,生存周期测试是指选择一系列测试用例,测试任何处于生存择一系列测试用例,测试任何处于生存期中的对象。特别是在整个生存周期过期中的对象。特别是在整个生存周期过程中存在多条路径,测试必须选择有代程中存在多条路径,测试必须选择有代表性的路径以保证最大的覆盖范围。表性的路径以保证最大的覆盖范围。软 件 工 程56对于一个类来说,生存周期意味着选择对于一个类来

24、说,生存周期意味着选择一系列测试,每个测试构造类的一个实一系列测试,每个测试构造类的一个实例,并通过一系列消息来使用实例,最例,并通过一系列消息来使用实例,最后再撤销这个实例。后再撤销这个实例。一个有效的生存周期测试应能证实对象一个有效的生存周期测试应能证实对象本身是否正确,还应能证实被测试项是本身是否正确,还应能证实被测试项是否能够与它所在的环境正确地交互。对否能够与它所在的环境正确地交互。对于一个类的实例,在它被撤销后必须检于一个类的实例,在它被撤销后必须检查它占用的资源是否已被释放掉。查它占用的资源是否已被释放掉。软 件 工 程57分布式模型分布式模型下面讨论用在分布式系统中的使用某些标

25、下面讨论用在分布式系统中的使用某些标准基础结构的测试过程。准基础结构的测试过程。1)基本的客户机基本的客户机服务器模型服务器模型客户机服务器模型是最简单的分布式客户机服务器模型是最简单的分布式模型。在这种模型下,多个客户机都可模型。在这种模型下,多个客户机都可访问服务器。服务器是单一进程。由于访问服务器。服务器是单一进程。由于所有客户机都与同一个服务器交互,因所有客户机都与同一个服务器交互,因此存在此存在单点失败单点失败(即服务器出现问题将(即服务器出现问题将影响所有客户机)。测试要点:影响所有客户机)。测试要点:软 件 工 程58a)在延时期间,面对同时收到的服务请求,在延时期间,面对同时收

26、到的服务请求,服务器能否把正确结果发送给各个相应的服务器能否把正确结果发送给各个相应的客户机?客户机?b)服务器能否处理快速增长的负载?当负载服务器能否处理快速增长的负载?当负载增加时,服务器的性能可能降低,因此可增加时,服务器的性能可能降低,因此可能选择放弃一部分负载。能选择放弃一部分负载。2)标准分布式模型标准分布式模型 CORBACORBA是对象管理组织是对象管理组织OMG开发的公共开发的公共对象请求代理体系结构,并将它作为分布对象请求代理体系结构,并将它作为分布对象系统的标准体系结构。对象系统的标准体系结构。软 件 工 程59这种结构的核心是这种结构的核心是对象请求代理对象请求代理(O

27、RB),一个对象通过一个对象通过ORB与系统中的另一个对与系统中的另一个对象通信。象通信。CORBA标准的特点标准的特点:v与基础结构相联系的机器可能有不同与基础结构相联系的机器可能有不同的操作系统和不同的存储设计;的操作系统和不同的存储设计;v构成分布式系统的构件可以用不同的构成分布式系统的构件可以用不同的语言编写;语言编写;v根据对象的分布性和网络中机器的类根据对象的分布性和网络中机器的类型,基础结构可以改变它自身的配置。型,基础结构可以改变它自身的配置。测试要点:测试要点:软 件 工 程60a)不考虑基础结构的配置,系统能够正确不考虑基础结构的配置,系统能够正确的工作?测试用例应能产生被

28、测试基础的工作?测试用例应能产生被测试基础结构的各种预期的配置。结构的各种预期的配置。b)在标准基础结构的服务基础上,构造新在标准基础结构的服务基础上,构造新的测试用例能否被重复使用?测试用例的测试用例能否被重复使用?测试用例的设计应尽可能地使用基础结构。的设计应尽可能地使用基础结构。c)新发布的特定基础结构能否与已有的应新发布的特定基础结构能否与已有的应有有效地结合起来?应有一系列的回归有有效地结合起来?应有一系列的回归测试,使得新发布的基础结构能够在被测试,使得新发布的基础结构能够在被集成到产品中之前得到测试。集成到产品中之前得到测试。软 件 工 程613)标准分布式模型标准分布式模型 D

29、COM DCOM是是 Microsoft 开发并鼓励的一种标开发并鼓励的一种标准的分布式构件对象模型。准的分布式构件对象模型。DCOM“标准标准”被描述为包含特定方法的被描述为包含特定方法的标准接口,每个标准接口都提供了一套特标准接口,每个标准接口都提供了一套特定的服务。单个构件可以完成几个接口的定的服务。单个构件可以完成几个接口的服务,或若干构件中的每一个都能完成统服务,或若干构件中的每一个都能完成统一接口的服务,只是方式不同。一接口的服务,只是方式不同。DCOM是低层次的技术,支持构件间最原是低层次的技术,支持构件间最原始的联系,它不作为应用开发的部分。始的联系,它不作为应用开发的部分。软

30、 件 工 程62 测试要点:测试要点:a)对各种构件做任意配置时测试者能否正对各种构件做任意配置时测试者能否正确编排唯一的标识?测试用例应能利用确编排唯一的标识?测试用例应能利用各种构件确保所有必要的连接能够成功。各种构件确保所有必要的连接能够成功。b)每个构件能否实现必要的接口?测试用每个构件能否实现必要的接口?测试用例应能利用各种构件确保所有服务是可例应能利用各种构件确保所有服务是可利用的并能实现期望的功能。利用的并能实现期望的功能。c)标准接口的实现能否提供正确的行为?标准接口的实现能否提供正确的行为?应针对每一种标准接口有一套测试。应针对每一种标准接口有一套测试。4)标准分布式模型标准

31、分布式模型 RMI软 件 工 程63 RMI是是Java中的远程方法调用包,它提供中的远程方法调用包,它提供一种简化的分布式环境,该环境假定不论一种简化的分布式环境,该环境假定不论连接的是什么样的或什么类型的机器,它连接的是什么样的或什么类型的机器,它们都能运行们都能运行Java虚拟机。虚拟机。RMI提供一个注册对象,参与分布式系统提供一个注册对象,参与分布式系统的所有对象必须知道该注册对象监听到哪的所有对象必须知道该注册对象监听到哪个端口的消息。个端口的消息。RMI的最新版本使用的最新版本使用ORB的的Internet协议协议(IIOP),使,使RMI对象与对象与CORBA对象共同工对象共同

32、工作。作。软 件 工 程64v 测试要点:测试要点:a)那些种那些种CORBA测试模式能够在以测试模式能够在以RMI为为基础的系统上使用?测试用例的构造很多基础的系统上使用?测试用例的构造很多与与CORBA的测试用例相同的测试用例相同。5)一般分布式构件模型一般分布式构件模型 分布式系统的基本体系如图,主要活动是分布式系统的基本体系如图,主要活动是服务请求方给服务提供方法送消息。服务请求方给服务提供方法送消息。请求首先发送给请求方本地的代理对象,请求首先发送给请求方本地的代理对象,代理方联系通信基础结构并传送请求,通代理方联系通信基础结构并传送请求,通信基础结构实例化服务提供方,从对象定信基础

33、结构实例化服务提供方,从对象定软 件 工 程65服务请求方服务请求方提供方代理提供方代理提供方代理提供方代理服务提供方服务提供方通信和定位服务通信和定位服务进程进程A进程进程B位器的服务中获得服务提供方的引用,并将位器的服务中获得服务提供方的引用,并将服务请求传递给它。如果存在结果,则结果服务请求传递给它。如果存在结果,则结果沿原路径返回。由于请求代理方可以引导请沿原路径返回。由于请求代理方可以引导请求,所以提供方不知道分布的细节。求,所以提供方不知道分布的细节。软 件 工 程66 用于提供方构件的测试的要点:用于提供方构件的测试的要点:a)根据规范准备测试用例根据规范准备测试用例。Provi

34、derTest类类应包括相应测试驱动程序,该类继承自应包括相应测试驱动程序,该类继承自GenericModelTester。b)设计基于说明的测试用例设计基于说明的测试用例:对提供方可提:对提供方可提供的一系列基于分布式系统的服务设计测供的一系列基于分布式系统的服务设计测试用例,放在试用例,放在GenericModelTester类中,类中,对基于特殊应用服务设计的测试用例则放对基于特殊应用服务设计的测试用例则放在在ProviderTest类中。类中。c)设计基于实现的测试用例设计基于实现的测试用例:满足路径或代:满足路径或代码覆盖的范围标准。码覆盖的范围标准。软 件 工 程67d)设计交互式

35、测试用例设计交互式测试用例:提供方应与请求服:提供方应与请求服务且具有代表性的请求方交互。每个主要务且具有代表性的请求方交互。每个主要的协议都应得到测试,且至少有一个请求的协议都应得到测试,且至少有一个请求方参与到这个协议中来。方参与到这个协议中来。e)设计基于状态的测试用例设计基于状态的测试用例:当请求方发出:当请求方发出请求时,提供方可能只处于一种状态。但请求时,提供方可能只处于一种状态。但它可能同时从多个请求方接收请求,因此它可能同时从多个请求方接收请求,因此应使用所有必要的协议,使提供方经历所应使用所有必要的协议,使提供方经历所有可能的状态。有可能的状态。用于请求方构件的测试的要点:用

36、于请求方构件的测试的要点:软 件 工 程68a)根据规范准备测试用例根据规范准备测试用例。RequesterTest类类应包括相应测试驱动程序。在这个类中应应包括相应测试驱动程序。在这个类中应提供用于执行功能性、结构性和交互性测提供用于执行功能性、结构性和交互性测试用例的操作。测试类在应用程序中可当试用例的操作。测试类在应用程序中可当作交互类使用。作交互类使用。b)设计基于说明的测试用例设计基于说明的测试用例:在:在API文档中文档中构造每个方法的前置条件和后置条件。执构造每个方法的前置条件和后置条件。执行用于每个方法中每个后置条件中所有语行用于每个方法中每个后置条件中所有语句的测试用例。句的

37、测试用例。c)设计基于实现的测试用例设计基于实现的测试用例:满足一般的范:满足一般的范围标准。围标准。软 件 工 程69d)设计交互式测试用例设计交互式测试用例:重点放在请求方与:重点放在请求方与每个提供方之间的完整协议。为使得计时每个提供方之间的完整协议。为使得计时效果较为明显,应适当插入人为延时。效果较为明显,应适当插入人为延时。e)设计基于状态的测试用例设计基于状态的测试用例:请求方有一系:请求方有一系列与它自己的分布相关的状态,如与基础列与它自己的分布相关的状态,如与基础结构相连或撤销连接等。测试应包括一系结构相连或撤销连接等。测试应包括一系列经历所有这些状态的测试用例,还应包列经历所

38、有这些状态的测试用例,还应包含与应用语义学相关的一些状态。含与应用语义学相关的一些状态。6)最大的分布式系统最大的分布式系统 Internet测试测试因特网上可以连接、增加或删除服务器。因特网上可以连接、增加或删除服务器。软 件 工 程70 这类测试重点在这类测试重点在Web服务器上和因特网应服务器上和因特网应用程序的生存周期上。用程序的生存周期上。a)Web服务器测试服务器测试 Web服务器体系结构如图所示。服务器体系结构如图所示。Web页面页面和浏览器、应用服务器协作产生应用。和浏览器、应用服务器协作产生应用。应用程序应用程序应用程序应用程序应用程序应用程序Web服务器服务器数据库数据库显

39、示页面显示页面浏览器浏览器软 件 工 程71 这些系统使得用户服务自动化:页面接受这些系统使得用户服务自动化:页面接受输入,并放入一个用户订购表中。然后产输入,并放入一个用户订购表中。然后产生一条顾客记录,调用能够自动产生一个生一条顾客记录,调用能够自动产生一个账号和密码的应用程序。最后把账号信息账号和密码的应用程序。最后把账号信息通过通过Email发送给用户。发送给用户。测试涉及两方面。首先,执行脚本看它所测试涉及两方面。首先,执行脚本看它所做的工作是否是其所期望做的?其次,检做的工作是否是其所期望做的?其次,检查应用程序和网页所期待的当前数据是否查应用程序和网页所期待的当前数据是否正确。是否是所期望的格式?正确。是否是所期望的格式?b)因特网应用程序生存周期的测试因特网应用程序生存周期的测试 跨越不同平台的一系列用户事务测试。跨越不同平台的一系列用户事务测试。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(面向对象软件的实现与测试课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|