用于集成软件系统的测试系统的制作方法

文档序号:6498515阅读:307来源:国知局
用于集成软件系统的测试系统的制作方法
【专利摘要】一种用于测试集成软件系统的系统和方法。模拟对象(18)包括加入到集成软件系统内的对应对象(16)的方面。模拟对象(18)拦截与对应对象(16)相关联的方法呼叫,并且将该方法呼叫路由到与模拟对象相关联的编程行为和对应对象之一。测试代理(20)指令该方面将方法呼叫路由到与对应对象(16)相关联的方法和与模拟对象(18)相关联的编程行为之一。
【专利说明】用于集成软件系统的测试系统

【技术领域】
[0001] 本发明涉及软件测试,并且更特别地涉及用于集成测试的测试系统。

【背景技术】
[0002] 软件测试在计算机软件的开发中起作用,并且被用来确认软件程序的质量或性能 是否符合在软件的开发之前所提出的一些要求。软件测试是在软件被付诸实践之前对软件 要求分析、设计规范描述和编码的检查,并且是用于保证软件质量的关键一步。软件测试是 为了发现错误而执行程序的过程。软件测试可以被划分成单元测试和集成测试,其中单元 测试是对软件设计的最小单元的测试,而集成测试是对整个软件系统的测试。在根据设计 要求而将已经通过单元测试的相应模块组装在一起之后,执行集成测试以便找到各种接口 相关的错误。

【专利附图】

【附图说明】
[0003] 图1图示用于集成软件系统的测试系统; 图2图示集成软件系统中的复合应用测试系统的一个示例; 图3图示用于捕获针对模拟对象的期望行为以生成测试场景的记录器系统; 图4图示用于测试集成软件系统的一种方法; 图5图示用于调用复合对象的方法的一个示例;以及 图6是图示硬件组件的示例性系统的示意性框图。

【具体实施方式】
[0004] 图1图示了用于集成软件系统的测试系统10。该系统包括被实现为第一非临时计 算机可读介质(CRM) 14上的机器可执行指令的复合对象12。复合对象12包括在本文中被 称为"真实对象"的集成软件系统内的实现对象16和被实现为环绕(wrap around)真实对 象16的方面的模拟对象18。具体而言,模拟对象18是可以拦截所有的方法呼叫并可以将 它们路由到方法的真实实现或模拟实现的动态代理器,其基于当前配置而被实现为编程行 为。模拟对象18可以例如使用面向方面编程(Α0Ρ)框架、中间语言或字节代码编排、或代 码插装而被注入到集成软件系统中。
[0005] 测试代理20管理复合对象12的上下文,其中上下文包括模拟对象18的虚拟状 态、使用针对给定方法的模拟实现或真实实现的指令、以及针对复合对象的所收集的输入 和输出数据。在图示的实现中,测试代理20被实现为第二非临时计算机可读介质21上的 机器可执行指令,但将理解的是,测试代理也可以被实现在第一非临时计算机可读介质14 上。测试代理20包括配置数据以指令模拟对象18将传入的方法呼叫路由到相应的真实实 现或模拟实现。给定的模拟对象18可以被指令成总是使用编程行为,总是调用真实对象 16,或仅调用针对与该对象相关联的特定方法的编程行为。任何过程可以被配置为包含用 于远程控制的测试代理20。
[0006] 测试代理20包括场景22以存储表示与真实对象16相关联的方法的针对模拟对 象18的配置数据。例如,场景22可以包括针对与模拟的真实对象相关联的每个唯一方法 签名的编程的步骤集合,以响应于模拟对象的调用而对其行为进行建模。编程行为可以包 括返回值、输出和参考参数值、异常(exception)抛出、事件出现、回叫执行、以及类似行为。 在执行期间,模拟对象16参考场景22来确定其在相关联的方法被调用时应该如何继续进 行。如果真实对象被确定为适于给定方法,则它以正常的方式被执行以产生输出。如果模 拟实现是所期望的,则来自场景22的编程行为被执行以提供针对该方法的输出。在一个实 现中,模拟对象12是多个模拟对象之一,并且场景22包括存储针对多个模拟对象中的每个 的配置数据的分层数据结构。
[0007] 测试代理还可以包括结果收集组件24以收集被提供给复合对象16的输入数据和 由模拟对象16或真实对象18所生成的输出。以预定的间隔,所收集的值被发送到中央测 试服务(未示出),其中它们可以针对预期值而被查证。在一个实现中,结果收集组件24选 择性地收集输入数据和输出,以使得收集少于所有的输入数据和输出。通过选择性地收集 输入和输出数据,可以提高测试系统10的效率。
[0008] 所图示的系统提供了许多优点。例如,开发人员能够使用他们的选择的执行框架 和测试编写针对规则接口进行测试。任何接口可以被完全虚拟化,如果其尚未实现的话。可 以使得编程行为完全一致。可以针对接口本地地完成测试配置,而在执行期间将远程地创 建模拟对象。同样,可能的是在忙碌中切换远程对象的配置,包括在不重新启动系统的情况 下从模拟到真实实现的切换。从远程模拟和真实实现执行自动地聚集的数据可以被微调以 收集仅所期望且可传递的信息。最后,该系统非常适于处理负面场景,诸如绕过机制、仿真 资源中断、超时、以及非预期的异常抛出。
[0009] 图2图示集成软件系统50中的复合应用测试系统的一个示例。该系统包括多个 应用52-54,每个包含对象56-58。将理解的是,给定的应用52-54可以包括多个对象,但本 文出于解释的简单性,以单个对象来图示每个应用52-54。对象56-58可以包括模拟对象 56以及复合对象57和58。模拟对象56是可以被注入到系统中或在执行时间被创建的无 状态代理器。模拟对象56表示当执行集成测试时未完成或不期望包括的系统组件。复合 对象57和58包括被包裹(wrap)在相应的模拟对象方面66和67中的实现的应用组件62 和63。
[0010] 给定的模拟或复合对象可以包括用于对从其他系统组件被提供到模拟对象的输 入数据进行接收和记录的输入数据收集器以及用于对响应于接收到的输入而被提供的输 出数据进行记录的输出数据收集器。在一个实现中,每个模拟对象56、66和67可以包括许 多执行前和执行后触发,以提供响应于事件而被执行的针对模拟对象的定制行为。例如,可 以响应于被提供到模拟对象的输入数据、由模拟对象所生成的输出、或者与模拟对象相关 联的方法的调用来执行触发。
[0011] 给定的应用52-54还可以包括测试代理72-74,以虑及对与应用相关联的过程的 远程控制和监视。例如,每个测试代理72-74可以包括存储在被称为场景的便携式数据模 型中的用于模拟对象的行为的配置数据。每个场景被实现为存储表示模拟对象或多个模拟 对象的行为的配置数据的其表示的分层数据结构。例如,对于每个模拟对象而言,相关联的 多种方法可以利用相关联的配置数据来表示为方法步骤的集合。方法步骤的每个集合可以 与模拟类型和唯一的方法签名相关联。
[0012] 场景还包含针对其相关联的应用(例如,52)中的每个复合对象(例如,57)的配置 数据,以指令复合对象执行与其真实对象相关联的行为、存储在该场景处的方法步骤、或者 基于所调用的特定方法来在这两者之间进行选择。例如,给定的复合对象可以具有场景中 表示的其相关联的方法中的一些但不是所有,并且场景处的编程行为可以被用于它已经针 对其被定义的那些方法。对在调用每种方法时所收集的特定输入和输出数据进行支配的特 定于每种方法的数据收集规则也可以被存储在该场景处。每个测试代理72-74还包括结果 收集组件,以根据存储在该场景处的数据收集规则来收集来自模拟对象或真实对象的输入 数据和输出。在一个实现中,结果收集系统被实现为其中多个对象56-58中的每个被链接 到存储来自模拟对象的数据的属性包的数据绑定模型。因此,来自模拟对象的每个实例的 数据被提供给相关联的属性包的对应实例。
[0013] 当期望时,对数据绑定模型的使用虑及对数据访问层的虚拟化,以创建仍然在其 包含的数据中具有一些变化的相同类型的大量对象。作为配置大数目的模拟对象的代替, 数据绑定模型将模拟对象链接到包含数据的属性包。具体而言,每个模拟对象实例的唯一 模拟对象实例id与属性包id相链接。使用对象中的字段名和属性包中的属性名之间的一 些命名惯例,从属性包ID可能的是链接数据源中的属性包并从属性包取得所有的模拟对 象字段数据。将指出,几个模拟对象实例可能指向相同属性包。
[0014] 系统50与测试具76进行交互,其为相关联的用户提供了接口并且通常管理测试 环境的上下文。测试具76可以包括由用户所选择的用于执行集成测试的任何测试框架。在 所图示的系统中,测试具76可以远程地控制本地编程的接口,并且然后远程地对聚集的数 据进行断言。测试具76可以操作地连接到与系统50相关联的测试服务客户端77,以允许 与测试服务78的通信。例如,测试服务客户端77可以提供应用程序接口,以适应所选择的 测试具。用户可以通过测试具76向测试服务78提供所生成的场景,以提供用于模拟和复 合对象56-58的行为配置。在图示的系统中,测试服务78保持代理72-74的列表,并在所 有代理确认它们切换到新场景之后控制被返回到测试具76以供测试执行。由于各种模拟 对象56、66和67是无状态代理器,所以可以在任何时间提供新场景,以完全更改模拟对象 的行为或在真实实现和模拟实现之间动态地切换,甚至在测试环境是现场(live)时。每个 测试代理利用所收集的数据来周期性且异步地更新测试服务77。在一个实现中,代理可以 经由超文本传输协议(HTTP)向中央测试服务发送数据。例如,在预定义的时段之后,代理 发送执行所收集的数据并且询问服务是否存在要执行的任何新命令(例如,是否存在要应 用的新场景)。测试服务77可以包括数据检查组件(未示出),以查证所收集的输入和输出数 据遵循场景中所规定的规则。例如,规则可以包括预期的输入参数值、预期的输出参数值、 预期的返回值、预期的呼叫数目、预期的针对各种异常的故障、以及针对方法的成功终止的 核对。
[0015] 在执行期间,当调用对象56-58时,其可以对如何基于存储在场景处的参数来继 续进行并且相应地依赖于对象是被配置成提供真实、模拟、或还是动态行为来动作而执行 来自活动场景的请求指令或针对对象的真实行为。来自对象的输出和输入数据(包括输出 参数、返回值、以及出现的异常)可以在代理72-74处被收集,其中结果被提供给测试服务 77以供验证。将理解的是,数据可以被选择性地收集,其中仅与给定的测试相关的数据被收 集。对象还可以支持执行前和执行后触发,其是可以被编程到模拟对象56、66和67中的定 制行为。这些触发可以以与输入或输出数据相关联的特定事件为条件,或被简单地配置成 在每次调用对象时执行。例如,对象56-58可以被指令成在其被调用之后睡眠给定数目的 毫秒。
[0016] 图3图示用于捕获针对模拟对象的期望行为(包括独立的模拟对象和与复合对象 相关联的方面这二者)来生成测试场景的记录器系统80。记录器系统80包括记录代理器 82,其收集表征与由模拟对象所表示的模拟的真实对象相关联的方法的数据。在图示的实 现中,记录器系统80利用流畅的应用程序接口来捕获来自一组测试配置代码的针对模拟 对象的期望行为。结果所得的命令然后在动作验证器86处受到验证核对,以确保所确定的 命令针对编程接口而言是合法的。步骤生成器88创建定义与模拟对象相关联的每种方法 的步骤。例如,所支持的行为可以包括返回值、输入和输出参考参数值、异常抛出、事件出 现、执行回叫。它也可以建立用于在运行时收集数据以供结果分析的规则以及供模拟对象 建立定制行为的触发。表示一个或多个模拟对象的步骤可以被收集到作为场景的分层数据 结构中以用于给定测试。
[0017] 鉴于以上在图1-3中描述的前述结构和功能特征,示例性方法将参考图4和5来 更好地理解。虽然出于解释的简单的目的,图4和5的方法被示出并描述为连续执行,但要 理解和领会的是,本发明不由图示的次序所限制,这是因为在其他示例中一些动作可以与 本文所示出和描述的以不同的次序和/或并发地发生。
[0018] 图4图示用于测试集成软件系统的一种方法150。将理解,方法150可以被实现为 存储在一个或多个非临时计算机可读介质上的并且由相关联的(一个或多个)处理器所执 行的机器可读指令。在152处,场景被生成为其中针对与模拟对象相关联的多种方法中的 每种的配置参数与相关联的方法签名相关的分层数据对象。测试场景对在测试集成软件系 统中使用的模拟对象的行为进行建模。因此,记录组件可以被用来捕获模拟对象的期望行 为,并将其存储在场景中,这是所谓的复杂数据结构,其唯一地使配置涉及与模拟对象相关 联的方法签名和类型。将理解,给定场景可以表示多个模拟对象。与针对模拟对象的编程 行为一起,配置参数可以响应于方法的调用(与模拟对象相关联的编程行为、或真实对象处 的实际方法)而包括要执行的针对与模拟对象相关联的多种方法中的每种的指令。
[0019] 在一个实现中,场景使用适当的对象创建工具来生成,诸如设计模式或流畅的应 用程序接口。可以验证所确定的配置代码,以确保编程关于编程接口是正确的。例如,其可 以被查证正确地规定了输入参数、输出参数和返回值,并且核对针对其可以在编译时间进 行捕捉的各种错误。场景还可以定义什么信息将在运行时间针对每种方法进行收集,包括 特定的输入和输出参数、返回值、呼叫的数目、以及类似的值。
[0020] 在154处,被实现为针对相关联的多种方法的无状态动态代理器的模拟对象被注 入到集成软件系统中。例如,模拟对象可以是独立的对象或作为环绕系统中的另一对象的 方面。这可以例如使用面向方面编程(Α0Ρ)框架、使用中间语言或字节代码编排、或代码插 装来实现。将理解,模拟对象的无状态性质简化了以与布置、动作、断言(AAA)模型一致的 方式将模拟对象注入到系统中,从而允许测试代码摆脱复杂注入的负担,使其更干净且更 加可保持和可读。
[0021] 在158处,利用所提供的输入数据来调用真实对象和模拟对象之一。如果调用模 拟对象,则该方法使用存储在场景处的配置参数来仿真。在实践中,集成测试可以涉及被测 试系统上的用例的执行,并且与模拟对象相关联的方法可以由与它们进行交互的系统中的 其他组件来调用。模拟对象经由当前的上下文询问场景如何基于配置参数而继续进行并且 相应地动作。作为调用的一部分,与该方法相关联的执行参数可以在结果收集组件处被更 新。可以在调用真实或模拟的方法之前或在此期间收集输入数据、被调用的方法或多种方 法的输出、返回值、出现的异常、以及其他此类数据中的任何或所有。在160处,所收集的数 据根据与方法相关联的规则而被查证。例如,规则可以包括预期的输入参数值、预期的输出 参数值、预期的返回值、预期的呼叫数目、预期的针对各种异常的故障、以及针对成功终止 该方法的核对。在一个实现中,在与测试框架相关联的中央测试服务中的中央数据收集处 执行所述查证。
[0022] 将理解的是,由于模拟对象是无状态的,所以给定模拟对象的行为可以通过利用 包含不同配置数据的新场景来替换该场景而被完全改变。类似地,通过替换当前的上下文 即场景、所收集的数据、要使用真实或模拟的方法的指令、以及所有的预期结果,可能的是 在不具有针对重新创建或重新配置任何模拟对象的需要的情况下完全地重置测试环境。这 虑及在不需要拆卸现场测试环境的情况下被测试的多种情形。
[0023] 图5图示了用于调用复合应用测试框架中的复合对象的方法170的一个示例。在 172处,被提供给复合对象的输入数据被收集并提供给测试代理。所收集的数据可以是细 粒的并被调谐成使得收集少于所有输入数据。例如,对于与给定的对象相关联的每种方法 而言,可以收集特定的输入参数。通过限制所收集和查证的输入数据量,可以加快测试。在 174处,可以自动地响应于输入数据或者响应于与输入数据或对象的调用相关联的事件来 执行与对象相关联的预调用触发。预调用触发可以作为包裹代理器的一部分而被添加到对 象,以表示在模拟对象被编程时所期望的定制行为。
[0024] 在176处,确定应调用针对复合对象的真实还是编程的行为。这可以根据与场景 相关联的配置数据来确定,并且可以通过替换场景而被动态地改变。如果期望执行真实方 法(Y),则在178处其被执行以证明一个或多个输出。如果期望针对模拟对象的编程行为 (N),则在180处模拟对象请求来自场景的编程行为并且相应地动作。场景存储针对与模拟 对象相关联的多种方法中的每种的编程行为,并且适当的行为可以根据针对特定的模拟类 型和方法签名所存储的配置数据而被选择并提供给模拟对象。无论调用哪种方法,如果复 合对象使用利用事件注册,那么特定事件的订户和发布者被记录并映射以允许对交叉组件 交互的追踪和仿真。
[0025] 在182处,输出值(包括由调用的方法所提供的输出参数值、返回值、以及出现的 异常中的任何一个)被收集并提供给集中式数据存储库以供查证。像收集输入数据一样,收 集输出数据可以是细粒的并被调谐成使得收集少于所有输出数据,以使得对于与给定的模 拟对象相关联的每种方法而言,可以收集特定的输出参数、返回值和异常。在184处,可以 自动地响应于模拟对象的调用或者响应于与对象输出相关联的事件来执行与模拟对象相 关联的调用后触发。像预调用触发一样,调用后触发可以被添加到复合对象,以表示在模拟 对象被编程时所期望的定制行为。
[0026] 图6是图示了能够实现图1-5中所公开的方法和系统(诸如在图1和2中所图示 的复合应用测试系统)的示例的硬件组件的示例性系统200的示意性框图。系统200可以 包括各种系统和子系统。系统200可以是个人计算机、膝上型计算机、工作站、计算机系统、 器具、专用集成电路(ASIC)、服务器、刀片式服务器中心、服务器群等。
[0027] 系统200可以包括系统总线202、处理单元204、系统存储器206、存储器设备208 和210、通信接口 212 (例如,网络接口)、通信链接214、显示器216 (例如,视频屏幕)、和输 入设备218(例如,键盘和/或鼠标)。系统总线202可以与处理单元204和系统存储器206 进行通信。附加存储器设备208和210(诸如硬盘驱动器、服务器、独立数据库、或其他非易 失性存储器)也可以与系统总线202进行通信。系统总线202互连处理单元204、存储器设 备206-210、通信接口 212、显示器216、以及输入设备218。在一些示例中,系统总线202还 互连附加的端口(未示出),诸如通用串行总线(USB)端口。
[0028] 处理单元204可以是计算设备,并且可以包括专用集成电路(ASIC)。处理单元204 执行一组指令来实现本文中所公开的示例的操作。处理单元可以包括处理核。
[0029] 附加的存储器设备206、208和210可以存储数据、程序、指令、以文本或编译形式 的数据库查询、以及对于操作计算机而言可能需要的任何其他信息。存储器206、208和210 可以被实现为计算机可读介质(集成或可移除),诸如存储卡、磁盘驱动器、光盘(CD)、或可 通过网络访问的服务器。在某些示例中,存储器206、208和210可以包括文本、图像、视频、 和/或音频,其部分可以对不同的人是可用的。
[0030] 另外或替代地,系统200可以通过可以与系统总线202和通信链接214进行通信 的通信接口 212来访问外部数据源或查询源。
[0031] 在操作中,系统200可以被用来实现集成软件系统中的一个或多个应用或复合应 用测试系统的一个或多个部分,以供评价集成软件系统。根据某些示例,用于实现复合应用 测试系统的计算机可执行逻辑驻存在系统存储器206和存储器设备208、210中的一个或多 个上。处理单元204执行源自系统存储器206以及存储器设备208和210的一个或多个计 算机可执行指令。如本文所使用的,术语"计算机可读介质"指代参与将指令提供给处理单 元204以供执行的介质。
[0032] 以上已经描述的是示例。当然,不可能描述方法或组件的每个可想到组合,但是本 领域普通技术人员将认识到,许多进一步的组合和置换是可能的。因此,本发明旨在涵盖落 入本申请(包括所附权利要求)的范围内的所有此类更改、修改和变形。如本文所使用的,术 语"包括"意指包括但不限于,术语"包括着"意指包括但不限于。术语"基于"意指至少部 分地基于。此外,在公开或权利要求记载"一"、"一个"、"第一"或"另一个"元件或其等价 物的地方,其应被解释为包括一个或多于一个此类元件,既不要求也不排除两个或更多此 类元件。
【权利要求】
1. 一种用于集成软件系统的测试系统,包括: 被实现为第一非临时计算机可读介质上的机器可执行指令的模拟对象,所述模拟对象 包括加入到集成软件系统内的对应对象的方面,以拦截与所述对应对象相关联的方法呼叫 并且将所述方法呼叫路由到与所述模拟对象相关联的编程行为和所述对应对象之一;以及 测试代理,被实现为第一非临时计算机可读介质和第二非临时计算机可读介质之一上 的机器可执行指令,以指令所述方法将所述方法呼叫路由到与所述模拟对象相关联的编程 行为和所述对应对象之一。
2. 如权利要求1所述的测试系统,所述测试代理包括场景以存储针对与所述对应对象 相关联的多种方法的表示与所述模拟对象相关联的编程行为的配置数据。
3. 如权利要求2所述的测试系统,其中所述模拟对象是多个模拟对象之一,并且所述 场景包括存储针对多个模拟对象中的每个的配置数据的分层数据结构。
4. 如权利要求1所述的测试系统,所述测试代理还包括结果收集组件以收集来自模拟 对象和对应对象之一的输入数据和输出。
5. 如权利要求4所述的测试系统,所述测试代理还包括场景以存储数据收集规则,所 述结果收集组件使用数据收集规则来选择性地收集来自所述输入数据的输入参数和来自 所述输出的输出参数值、返回值、以及出现的异常之一。
6. 如权利要求4所述的测试系统,所述测试代理包括多个测试代理中的一个测试代 理,并且所述测试系统还包括测试服务以接收来自多个测试代理的每个中的结果收集组件 的所收集的输入数据和输出,所述测试服务包括数据检查组件以查证来自模拟对象和对应 对象之一的所收集的输入数据和输出具有相应的预期值。
7. 如权利要求6所述的测试系统,所述模拟对象包括所述测试系统中的多个模拟对象 中的一个模拟对象,并且所述多个测试代理中的每个包括场景以存储表示与多个模拟对象 相关联的编程行为的配置数据,所述测试服务将所述场景分布到多个测试代理中的每个。
8. 如权利要求1所述的测试系统,所述模拟对象是多个模拟对象之一,并且所述测试 系统还包括数据绑定模型,其中多个模拟对象中的每个被链接到存储来自所述模拟对象的 数据的属性包。
9. 一种存储机器可读指令的非临时计算机可读介质,所述机器可读指令当被处理器执 行时,执行一种方法,包括: 生成作为分层数据对象的场景,其中表示与集成软件系统中的真实对象相关联的多种 方法的定义针对模拟对象的编程行为的配置参数与相关联的方法签名相关,所述配置参数 包括指令以供模拟对象将到与真实对象相关联的多种方法中的给定方法的呼叫路由到针 对模拟对象的编程行为和给定方法之一;以及 将被实现为环绕针对多种方法的真实对象的方面的模拟对象注入到集成软件系统中。
10. 如权利要求9所述的介质,其中所述方法还包括: 接收到所述给定方法的呼叫; 执行针对所述模拟对象的编程行为和所述给定方法之一;以及 收集来自编程行为和给定方法之一的输出,所收集的输出包括由调用的模拟对象所提 供的输出参数值、返回值、以及出现的异常之一,并且将所述输出提供给测试代理。
11. 如权利要求10所述的介质,其中所述方法还包括针对预期输出而查证所收集的输 出。
12. 如权利要求10所述的介质,其中执行针对模拟对象的编程行为和给定方法之一涉 及具有注册订户的事件,所述方法还包括记录与所述事件相关联的发布者和订户之一。
13. 如权利要求9所述的介质,其中所述方法还包括生成具有与模拟对象相关联的新 一组配置参数的新场景,以使得模拟对象被指令成将到与真实对象相关联的多种方法中的 对应方法的呼叫路由到针对模拟对象的编程行为和所述方法中的另一个。
14. 如权利要求9所述的介质,其中所述方法还包括响应于与输入数据和模拟对象的 调用之一相关联的事件而执行与模拟对象相关联的触发。
15. -种用于集成软件系统的测试系统,包括: 被实现为第一非临时计算机可读介质上的机器可执行指令的模拟对象,所述模拟对象 包括加入到集成软件系统内的对应对象的方面,以拦截与对应对象相关联的方法呼叫并且 将所述方法呼叫路由到与模拟对象相关联的编程行为和所述对应对象之一;以及 测试代理,被实现为第一非临时计算机可读介质和第二非临时计算机可读介质之一上 的机器可执行指令,以指令所述方面将所述方法呼叫路由到与模拟对象相关联的编程行为 和对应对象之一,所述测试代理包括: 结果收集组件,以收集来自模拟对象和对应对象之一的输入数据和输出并将所收集的 输入数据和输出提供给测试服务,所述测试服务包括数据检查组件以查证来自模拟对象和 对应对象之一的所收集的输入数据和输出具有相应的预期值;以及 场景,以存储针对与模拟对象相关联的方法的集合的配置数据,所述配置数据包括针 对模拟对象的数据收集规则,所述结果收集组件使用数据收集规则来选择性地收集来自所 述输入数据的输入参数和来自所述输出的输出参数值、返回值、和出现的异常之一。
【文档编号】G06F11/36GK104220993SQ201280072501
【公开日】2014年12月17日 申请日期:2012年4月20日 优先权日:2012年4月20日
【发明者】D.利瓦伊 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1