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

文档序号:6455410阅读:121来源:国知局
专利名称:用于软件测试的方法和系统的制作方法
技术领域
本发明涉及软件测试,特别地,涉及电信系统中的软件验证。
战旦Ff豕
当用于电信的新的软件和系统被开发时,它们需要被验证以保证它们满足
系统的需求。测试系统的一种常见方式是,让测i储检查所有不同的用例(uc
UseCase),其中UC是系统需求规范,并且旨UC可以是单个功能,例如语音呼叫、"无线应用协i义"(WAP)、多媒体消息系统(MMS Multimedia MessagingSystem)、"无线^H衝,(PoC Push to talk Over Cellular)等等。还可以是同时被测试的若干功能的组合,也被称为并发(concurrency)用例,但也可以是性能用例,其中若干功能被同时地且重复地测试。功能需要被单独地测试并且与其他功能联合地测试,从而产生大量的不同的组合以及代码开发的相应需求。因此, 一个新的功能可能导致成倍的新测i湖例(test case)或组合需要在测i微行开始之前被开发和魁正。
当多种形式的新功能被实现到电信系统软件中的时候,不同功能的组合几乎都潜在地增加,并且因此需要被编写(compose)并^^f实现的电信系统软件上测试的TC的数量、以及因此在测试系统中观U试软件可能需要被修改的位置的数量,都会潜在地增加。另一个方面是,在测试期间由于测试环境中的问题而发生的错误,在测试期间这對昔鄉常不会!ffi:接监控(monitor)。因此,网络或平台状态,例如,通常在观赋期间不会被监控。因此与网络问鹏故障相关的任何错误,以及移动平台状态和发生在移动平台中的错误,需要舰测试日志的AI分析来识别。然而,这种AX分析是非常耗时的。
^^f属技术领域中,用于使测试不同硬件和软件的方式系统化的许多不同的方式已经被开发出来。在^VO-A2-03/09691中,公开了用于测试包含若干模块的应用的系统和方法。该系统通过S赋用例与输入数据相关,以使得每个模块可以为旨测i,例提供不同的数据。控帝'J^l行所述模块并为所述模块确定执行次序。所公开的系统和方法缺少对被测测试用例的参数的监控,并且看皿更适合作为规划工具而不是真正的测试工具。在WO-A2-02/056541中,公 开了用于测试通信网络组件的方法和系统。该系统包括包含类属过程(generic procedure)的类属包(generic package),所述类属过程跨越设备特定的封包 (package)以执行公共功能,例如启动和清除。因此鼬對柳类属命令为公共 过程写测试用例。所公开的系统和方法为过程的某些部分提供公共代码语言的 平台,但就于待测试的增加功能、或代码的每次改变而言仍然需要编码。
需要一种测试工具,其在不需要为功能被测试之处的每一用例而对相同功 能进行编码盼瞎况下实现对大量的不同用例的测试。还存在对在测试期间监控 特定参数的可能性的需求,以使得那些并非由于被测软件或用例的缘故而失败 的失败测试育,被从测]^ 中自动分离出来。

发明内容
本发明的一个目标是,提供用于高效测试软件功能的手段。
根据第一方面,提供了一种在观赋环境中观赋软件的方法。根据该方法, 启动执行控制块。执行控制块执行至少一个测试用例的一个或多个自含式 (self-contained)软fH邻马容器(container)。执行所述一个或多个自含式软fH戈 码容器的第一 自含式软fH邻马容器的软件。第一 自含式软州戈码容器的分析器 ±央监控第一 自含式软#{戈码容器的功能块的执行。所述功能±央包含待观赋的编 码功能。第一自含式软fH戈码容器的探查(probe)监视(siuYdllance) ±央监控 测试环境的参数。第一自含式软件代码容器的本地错误处理器(handler)块在 本地M第一自含式软fM戈码容器内部的错误。第一自含式软件代码容器的结 果块从探查监视块和分析器块收集数据。结果块进一步根据所收集的数据产生 观赋结果 。所产生的观赋结果数据被输出到执行控制土央。
该方法可能包括与第一自含式软荆邻马容器的软件并行或在其之后执行第 二,多自含式软fK戈码容器的软件。
本地错误处理器±央可以产生错误数据。所述错误数据可以被输出到执行控 制块。
执行控制块可以响应于来自第一自含式软fH戈码容器的信号,而4碟二自 含式软俗邻马容器的软件的执行同步。
根据第二方面, 一种计算机程序产品包含计算机程序代码装置,用于在所
述计嶽几禾M^戈码装置由具有计^m能力的电子设备运行时,执行所述方法。根据第三方面, 一种计算机可读介质,具有存储于其上的计算ttl呈序产品, 所述计算机程序产品包括计算船呈序代码装置,用于当所述计^m程序代码装 置由具有计嶽几能力的电子设备运行时,执行所述方法。
根据第四方面,提供一种在观赋环境中观赋软件的系统。该系统包含自含 式软fH邻马容器。每个自含式软荆邻马容器包括包含待测试的编码功能的功能 块。每个自含式软件代码容器进一步包含探查监视块、分析器块、结果块以及 本地错误处理器块。探查监视±央适合于监控测试环境的参数。分析器块适合于 分析功能块的执行数据。结果块适合于从探查监视±央和分析器块收集数据,以 及根据所述来自探查监视t央和分析器块的数据产生观U试结果数据。本地错误处 理器块适合于处理自含式软件代码容器中的内部错误。该系统进一步包含执行
控制块,适合于通过组合一个或多个自含式软fH戈码容器而形成测试用例。此 外,执行控制块被安排为接收由一个或多个自含式软fH戈码容器的结果块所产
生的测试结果数据。
执行控制块可适合于使一个或多个自含式软娜马容器的执行同步。 每个自含式软件代码容器的本地错误,器块可适合于产生并输出错误数
据。执行控制块可被安排为接iB^;f述错误数据。
本地错误处理器块可适于清除错误并依次地(orderly)终止它被包含于其 中的自含式软州邻马容器的执行。
一些实施例的优势在于,提供一种测试系统,所述测试系统能够系统地处 理*用例以使得每个用例仅需被编码一次。此外, 一些实施例的优势在于, 提供一种观赋方法,所述测试方法能够系统地处理每个用例以使得針用例仅 需被编码一次。
附图简述
在下面,将参考随附的附图 本发明进纟,率释,其中-

图1是根据本发明的自含式软件代码容器的推i观;
图2是fOT根据本发明的自含式软側邻马容器的测试集(test suite)执行的
图3示出了4顿根据本发明的自含式软fH戈码容器的功能测试的例子; 图4示出了{顿根据本发明的自含式软#^码容器的并发(concurrency) 测试的例子;图5示出了j顿根据本发明的自含式软fH戈码容器的性能测试的例子; 图6是根据本发明的自含式容器的详细描述;以及
图7示出了根据本发明的自含式软fH戈码容器的执行的流程图。
详细描述
本发明的思想是要仓犍高智能的自含式软fM戈码容器,也叫做S3C。如根 据本发明所使用的自含式软件代码容器是一种虚拟并且独立的单元,包含计算 机编码的不同块,每个i央代表与自含式软件代码容器内的其他块互连的一种功 能、 一种工具等,并且具有将被连接到测试系统的输AI卩输出连接器。自含式
软m邻马容器包含描述特定功能的计算机代码,例如语音呼叫、"无线应用协议"
(WAP)或多媒体消息系统(MMS)。它 —步包含用于处理在测试期间发 生在容器内部的错误的系统;用于监控影响测试的被观係统的特定参数的探查 监恥以及用于对该自含式软例戈码容器内部所描述或编码的功能的性能进行 分析的数据分析。
执行控制块(ECB),结合不同的自含式软fM戈码容器,以便为不同的观赋 目的仓健测i細例(TC)或测试集。每个S3C會,与任何其他的S3C结合以创 建高度复杂的系统测试。ECB将作为用于结合S3C以形成不同TC的管理单元 或测试管理器而工作。
^h功能以及该功能的所有变化都仅被包含在一个S3C中。因此,如果特
定功能需要被重编程或重编码,那么仅需要对包含该特定功能的单个S3C进行 编程或重编程。所述变化可能是由于错误报告、升级的AH接口、分析方法中 的改变等等而引起的。旨功能可以包含若干不同的下级功能或子功能,例如 语,伊/7勒能包括例如,j^语,伊碌;^遞语,/^7似及资^"语劳/^/7傳等之
类的子功能。
为了保证S3C中包含的功能代码都遵照其规定的要求,并且任何未修改的 代码都没有受到S3C内部的其他改变的影B向,用于监控在待观赋的软件中歡活 的制認ff^针(probe)的装置(换言之, 一种质量控制方案)被纳入S3C中。 软件监视探针允许在软件或测试系统l^l行期间,实时船见察或卿宗在测试中 的软fMt码中的变量。通常该软ffl^查监视功育滥控系统的状态,其中该S3C 中所包含的不同功能在该系统上测试。该探查监视能够监控系统的任意状态, 数据流、无线电网络中的异常或任何其他重要的系统行为。图1中示出了 S3C的概观。S3C包含若干^lrA/^出连接,用来为S3C
提供输入数据、错误数据、同步数据等等。它《—步包括^^^^^央、
±央、劝激央、分桥徵央、碧f块以及本巡接误必潘激央。
,產箭^^她控测试环境的参数。例如,蔬產f灘她控在测试中的设备
或软件的基本功能,例如网络状态、存储器测量、CPU负荷以及系统的其他一 般参数。茶產l鄉央还为S3C中的特定功能t央启动测i舒n验证平台(TVP)探 针。,產虚灘央在S3C执行期间启动并监控TVP探测点。然后^g监视娜在
鄉央中被分析。
^^j 块包含在S3C中包含的功能被执行之前初始化和^5:所用的信息。它 还包含关于如何粒特定功能的不同变化的信息,例如,呼叫Kz:可以是gw
,dm4伊嶋等。
>^#教央包含编码功能,例如,语,伊/7働能。它,一步包括信号,例如
會,被用于不同S3C之间的同步的S3C*1号以及WC嫁A信号。
分桥器央分析与被执行的功能有关的信息,^l行数据。该信息可以是用
于Z芗,^^做音频质量测量,用于语,/^/7微音频&视频同步分析,等等。
翁菜±央收集来自分析徵央和,查l鄉央的数据。所收集的 或信息被组
合并刑介,以便获取测试结果。从君^t央得到的典型结果是S3C的功能舰测 试、失败或者出现了测试环境错误。錄^k央还报告S3C的结果、测试的日志、 或者发生了宕机(dump)。
智能本邀襟误必潘激央鹏S3C中的内部错误,例如测试对象的意外行为。 如果发生了错误,则本地错误M器将清除并以结构的方式终止该S3C功能的 执行。
如从图1中所理解的夷附,S3C的不同i央彼ltb^接,以便一起实51±^的 自含式软m邻马容器功能。每个S3C都将由相应的i央构建而成。
现在将说明S3C的不同的应用。所示出的应用^131在不同的时间点将不 同的S3C组合而实现的典型的系统测试。教^f挖虔燥(ECB)处理不同的S3C 的同步。被观赋的功能的故障通常将会过早地终止一个或多个S3C,从而导致 ECB重新启动S3C并继续利用下一用例(UC)进行测试。
在图2中,示出了测试集或TC执行的例子。该测试从功能测试开始,这 里不同的S3C被单独地测试,参见图2的左边。向下的箭头和向上的箭头分别表示启动信号和关闭信号。此后性能和并发测试會^被执行,参见图2的右边, 这里功能被启动,并且此后在第一功能运行的同时并行功能被启动和关闭。
在图3中,更详尽地示出了功能测试的测试集。四个不同的功能或S3C被 3te地测试;语劳,辟、,、滅必以及^5T7 (文件系统单元)。首先语,伊 "银力能的测试由ECB鄉行,此后,执行離功會g、 MWS功能、以及F5T7 功能的测试。
在图4中,更详尽i标出了用于并发观赋的测试集。并发测试意歸包含 特定功能的S3C被启动,这里是语劳/^/7银力能。当第一功能在运行时,启动不
同的用例以测试是否第一功能继续满足要求或者是否第一功能的某些部分失 败。在图4中,待测试的主S3C或第一 S3C是语音伊碌ECB将启动语,伊〃V S3C以形成并发用例,并且等待该S3C开始。此后,ECB将启动第一组合S3C, 这里是,。,S3C ^^l行该测试并结束。此后,ECB启动下一功能S3C, MMS。重复这一步骤直至'J所有测试都被执行。当所有并发VC已经被运行时, ECB将使被测的语,伊/7《S3C关闭。不同UC的同步是由S3C *友功能和忍C 縛W功能来处理的。
在图5中,更详尽地示出了用于性能测试的测i雄,其中被测试的S3C, 在这里是WAPS3C,被重复地测试,以便歸是否该S3C满足系统要求,甚至 在大量重复测试之后。ECB还能够运行作为战测试的任意组合的TC或测试 集。
在图6中,公开了根据本发明的S3C敝的详细描述。首先,ECB发送加 f薪AJ -参数到S3C容器以启动该S3C,由此/"-参数由第一向下箭头来指示。 此后,ECB等待S3C启动,并且当S3C内部所包含的功能被粒时,该S3C 返回WC *厕言号到ECB以证实^t态。ECB育g够使其他S3C启动,或者等 待第一S3C结束并发送0^ rB^-参数到ECB。 OW-参数指示该S3C结束并 且该S3C中的被测功能的结果是可用的。可能的结果鄉有通过、失败以及 测试环境错误(例如无线电网络错误、月艮务提供者错误,娜网络错误)。该测 试环境错误可能是,例如指示电信网络在测试期间出现了问题(go down)。参 见图6的右下角示出的例子,其中该图标出了在观赋S3C容器的功能时的网 络故障。测试环境错误由S3C内部所包含的探查监视功能来处理,其也是由图 1或6中的S3Cm^见所示的/"-参数来启动的。如果絲一S3C运行时,有另外的S3C被启动,那么WCj^^f言号和S3C 嫁"信号被用来使不同的S3C的开始和结束同步。
在图7中示出了单个自含式软州邻马容器的执行的流程图。S3C的执行包 括第一步骤110,启动ECB。此后在步骤120中,ECB执行S3C。与S3C执行 的步骤并行地,步骤150,本地错误的处理被i^舌并且在该S3C执行期间发生 的错误被在本地处理。S3C的执行激舌了测试环境的探查监M^控,步骤140。 在步骤160, S3C的性能被分析,并且在步骤170, S3C的执行的结果、与步骤 150的来自本地错误处理的结果以及步骤140的测试环,控的结果一起,被输 出到ECB。如果在执行中涉及若干S3C,那么根据用例的复杂度,将若干相似 的并行或顺序操作包含在S3C的执行中。
如上所述,自含式软fH邻马容器以及软f^针被用在用于4OT参考无线电 网络、或者实际的无线电网络或者它们的组合的电信手机的测试平台的系统中, 并且其中被测试的软件模块可以是平台软件,但自含式软fM邻马容器是测试系 统软件的一部分,并且软f糊针是被观赋软件的一部分。然而自含式软粥邻马 容器和软#^针还育,被用于测试无线电网络。
本发明可以被^A到计^m程序产品中,其使得这里描述的方法和功能得 以实现。当所述计算机程序产品在具有计算机能力的系统中被载入并运行时可 以实现本发明。计算机程序、软件程序、程序产品或软件,在当前的上下文中 意指旨在直接地、或者在转变为另一种语言、代码或表示法之后使具有处理能 力的系统执行特定功能的任意表达、采用任意编程语言、代码或^法的指令 集。
本发明不限于,的以及附图中所示的实施例,但可以在所附权利要求所 限定的本发明的范围之内以任意方式对其进行增补和修改。
权利要求
1、一种用于在测试环境中测试软件的方法,其中所述方法包括-启动执行控制块,其中所述执行控制块执行至少一个测试用例的一个或多个自含式软件代码容器;-执行所述一个或多个自含式软件代码容器的第一自含式软件代码容器的软件;-第一自含式软件代码容器的分析器块监控第一自含式软件代码容器的功能块的执行,其中所述功能块包括待测试的编码功能;-第一自含式软件代码容器的探查监视块监控测试环境的参数;-第一自含式软件代码容器的本地错误处理器块在本地处理第一自含式软件代码容器内部的错误;-第一自含式软件代码容器的结果块从探查监视块和分析器块收集数据;并根据所收集的数据产生测试结果数据;以及-将所产生的测试结果数据输出到执行控制块。
2、 根据权利要求1所述的方法,其中所述方fe^括-与第一 自含式软fM戈码容器的软件并行或在其后执行第二或更多自含式 软謂马容器的软件。
3、 根据权利要求1或2所述的方法,其中所述方法包括 -本地错误 1器块产生错误 ;以及 -将错误数据输出到执行控制块。
4、 根据权利要求2所述的方法,其中所述方飽括-响应于来自第一 自含式软州戈码容器的信号,执行控制i刺蝶二自含式软 州邻马容器的软件的执行同步。
5、 一种计算丰;iiM^产品,包掛十嶽几程序代码,,用于当所述计^m程序代码體由具有计算机能力的电子设备运行时执行根据权利要求l"4中任意 一项所述的方法。
6、 一种计算机可读介质,具有存储于其上的计敦几禾旨产品,所述计算机 程序产品包括计算机禾,代码装置,用于当所述计算机程序代码装置由具有计^m能力的电子设备运行时执行根据权利要求i一4中任意一项所述的方法。
7、 一种用于在测试环境中测试软件的系统,包括一个或多个自含式软fM戈码容器,其中旨自含式软^Ht码容器包括 -包括待观赋的编码功能的功能块; -适于监控测iffi境的参数的,监视块; -适于分析功能块的执行数据的分析器块;誦适于从探查监视块和分析器块收集繊、并根据来自探查监视块和分析器 块的所述 产生观赋结果数据的结果±央;以及-适于处理自含式软fH邻马容器中的内部错误的本地错误处理器块;以及适于执行至少一个测试用例的一个或多个自含式软m邻马容器、并接收由所述一个或多个自含式软fH戈码容器的^结果块所产生的观赋结果数据的执 行控制块。
8、 根据禾又利要求7所述的系统,其中执行控制±央适于{妙万述一个或多个自含式软fHt码容器的执行同步。
9、 根据权利要求7或8所述的系统,其中*自含式软州戈码容器的本地错误M器块适于产生并输出错误数据;以及执行控制块被安排来接收所述错误数据。
10、 根据权利要求7-9中任意一项所述的系统,其中本地错误M器块适 于清除错误并依次地终止它被包含于其中的自含式软fH戈码容器的执行。
全文摘要
用于测试软件的系统和方法,包括自含式软件代码容器。自含式软件代码容器包括描述功能的软件代码、用于监控测试环境的探查监视、用于在内部处理发生的错误的本地错误处理器、用于在软件代码的执行期间分析功能软件的性能并将结果输出到执行控制块的分析块和结果块。
文档编号G06F11/36GK101484881SQ200780025413
公开日2009年7月15日 申请日期2007年7月5日 优先权日2006年7月5日
发明者J·本特森, M·托恩达尔, N·哈格曼 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1