辅助软件开发的设备、方法和系统的制作方法

文档序号:6582432阅读:80来源:国知局
专利名称:辅助软件开发的设备、方法和系统的制作方法
技术领域
本发明基于2008年5月20日向日本专利局提交的日本专利申请 No. 2008-131848以及2009年4月27日徇日本专利局提交的日本专利申请 No. 2009-107629,并且要求其优先权,通过引用将其全部内容合并在此。
背景技术
在软件开发领域中,近籴引入了基于组件的软件开发,如日本专利申请公 开No. Hll-237982和2006-350729所述,通过汇编预存在的软件组件(所述组 件向多个不同系统提供共通的功能)来开发软件。
虽然基于组件的软件开发可能有助于改善软件开发的效率,但是例如需要 通过执行软件来检査开发中的软件来査看该软件是否恰当地运行。这种运行测 试的需求可能需要额外的时间,特别是当软件具有访问网络服务的功能时。
例如,可以通过使用诸如Java之类的编程语言集成预先准备的软件组件 来开发具有访问网络服务的功能的软件。开发者然后通过访问网络服务并执行 该软件提供的网络服务功能来检查开发中的软件是否恰当地运行。为了访问网 络服务,开发中通常需要采取预备的步骤。例如访问网络服务可能需要注册。 此外,由于网络服务是在网络上运行的应用程序,因此在运行测试处理期间, 开发者可能不能自由地改变由网络服务管理的数据。
假设开发中的软件由具有可从管理用户的日程的特定的网络服务获得曰 程信息的功能组成,为了检查软件是否可以接收特定网络服务的所期望的结 果,需要访问该特定的网络服务。此外,当开发者决定检查这样的日程信息的 编辑功能时,在开发者能够编辑日程信息之前,开发者需要获得授权用户的授 权或许可。在运行测试处理之前的上述准备步骤费时并且很麻烦。

发明内容
本发明的示例性实施例包括设备、方法、系统和计算机可读记录介质,其 每一个都能在开发具有访问网络服务的功能的软件中辅助用户。例如, 一种软件开发辅助设备,包括服务存储模块,用于在存储器中存储 与在软件开发中可用的一组软件组件提供的一个或多个功能有关的服务功能 信息,该组软件组件至少提供通过网络访问网络服务的功能;分析模块,用于 分析开发中的软件来产生用于指示要用在运行测试的至少一个功能的分析结 果,该运行测试确定开发中的软件是否恰当地运行;第一测试模块,用于在访 问网络服务的同时,使用分析结果指示的至少一个功能执行运行测试;第二测 试模块,用于在不访问网络服务的同时,使用分析结果指示的至少一个功能执 行运行测试;测试确定模块,用于获得从存储在服务存储模块中的服务功能信 息中获得与分析结果指示的至少一个功能对应的服务功能信息,以基于与分析 结果指示的至少一个功能对应的服务功能信息确定是要由第一测试模块还是 由第二测试模块执行运行测试,从而产生确定结果,并且促使基于确定结果选 择的第一测试模块和第二测试模块之一通过执行运行测试来产生测试结果;和 显示模块,用于通过显示装置显示测试结果。
在另一示例中,可以提供在开发软件的过程中辅助用户的方法,包括在
存储器中存储与在软件开发中可用的一组软件组件提供的一个或多个功能有
关的服务功能信息,该组软件组件至少提供通过网络访问网络服务的功能;分
析开发中的软件来产生用于指示要用在运行测试的至少一个功能的分析结果,
该运行测试确定开发中的软件是否恰当地运行;提供第一测试模块来在访问网
络服务的同时,使用分析结果指示的至少一个功能执行运行测试;提供第二测
试模块来在不访问网络服务的同时,使用分析结果指示的至少一个功能执行运
行测试;获得从存储在服务存储模块中的服务功能信息中获得与分析结果,以 基于与分析结果指示的至少一个功能对应的服务功能信息确定是要由第一测
试模块还是由第二测试模块执行运行测试,从而产生确定结果,并且促使基于 确定结果选择的第一测试模块和第二测试模块之一通过执行运行测试来产生 测试结果;和通过显示装置显示测试结果。
除了上述示例性实施例之外,可以以各种其他方式实践本发明,例如包括 上述软件开发辅助设备的系统或包含促使计算机执行在开发软件的过程中辅 助用户的上述方法的计算机程序指令的计算机可读记录介质。


参照下面对附图详细的说明可以更快、更好地理解本发明的公开及其特征,在附图中
图1是图解根据本发明的示例性实施例的包括软件开发辅助设备的软件
开发辅助系统的结构的示意方框图2是图解图1的软件开发辅助设备的硬件结构的示意方框图; 图3是图解图1的软件开发辅助设备的功能结构的示意方框图; 图4是图解根据本发明示例性实施例的、由图1的软件开发辅助设备执
行的辅助软件开发处理的操作的流程图5是解释根据本发明的示例性实施例的、由图1的软件开发辅助装置
执行的、以字符串形式显示用来指示要用于确定开发中的软件是否恰当地运行 的至少一个功能的分析结果的图示;
图6是解释根据本发明的示例性实施例的、由图1的软件开发辅助装置
执行的、以图标形式显示用来指示要用于确定开发中的软件是否恰当地运行的 至少一个功能的分析结果的图示;
图7是解释用于存储与在开发软件的过程中可用的一组软件组件提供的 一个或多个服务有关的服务标识信息的服务标识符信息表的图示;
图8是解释用于存储与在开发软件的过程中可用的一组软件组件提供的 一个或多个服务的一个或多个功能有关的服务功能信息的服务功能信息表的 图示;
图9是解释根据本发明的示例性实施例的、由图1的软件开发辅助装置
执行的、以图标形式显示用来指示要用于确定开发中的软件是否恰当地运行的 至少一个功能的分析结果的图示;
图IO是图解根据本发明的示例性实施例的、由分析部分执行的产生分析 结果的操作以及由测试部分执行的产生测试结果的操作的流程图11是图解根据本发明的示例性实施例的、由图3的软件开发辅助设备 的第二测试模块执行的、执行运行测试的操作的流程图12是图解根据本发明的示例性实施例的、由图3的软件开发辅助设备 的第一测试模块执行的、执行运行测试的操作的流程图13是解释根据本发明的示例性实施例的、图3的软件开发辅助设备显 示的测试结果的图示;和
图14是解释根据本发明的示例性实施例的、图3的软件开发辅助设备显 示的测试结果的图示。附图意欲描述本发明的示例性实施例,并且不应理解为限制本发明的范 围。除非明确指出,否则不应将附图理解为是按比例绘制。
具体实施例方式
这里使用的术语仅用于描述特定实施例的目的,而不意欲限制本发明。 如在这里使用的那样,除非上下文另外明确指出,则单数形式意欲包括复数形 式。将进一步理解,当在该说明书中使用时,术语"包括"指定所陈述的特征、 整数、步骤、操作、元件和/或部件的存在,但是不排除一个或多个其他特征、 步骤、操作、元件、部件和/或它们的组的存在或附加。
在描述图形中显示的示例性实施例中,为了简明的缘故采用特定术语。 然而,本公开不意欲限制到所选择的特定术语,并且应该理解每个特定元件包 括以类似方式操作的所有技术等效物。 ,
参照图1,根据本发明的示例性实施例解释软件开发辅助系统的结构。图 1的软件开发辅助系统1包括软件开发辅助设备1,其通过网络3连接到多个 服务器2之一或多个服务器2。
可以由诸如工作站计算机或个人计算机(PC)之类的任意信息处理设备
实现软件开发辅助设备l。为了描述的目的,软件开发辅助设备i可称为pci。 在该示例中,可以通过网络3从服务器2向PC l提供任意服务。例如,PC 1 可以从服务器2的任意一个中接收网络服务。在这样的情况下,服务器2中的 至少一个可以配置网络服务。在该示例中,可以由处理器和存储装置实现服务 器2。此外,可以由任意类型的无线或有线网络实现网络3。此外,PC l可以 通过局域网(LAN)连接到网络3。
仍然参照图1, PC 1包括诸如图2的液晶显示器60之类的用于显示位图 图像屏幕的显示装置以及用于接收用户输入的图2的操作装置70(包括诸如鼠 标之类的指针装置或键盘)。
图2图解图1韵PC 1的示例硬件结构。PC 1包括通过总线80连接的中 央处理单元(CPU) 10、随机存取存储器(RAM) 20、只读存储器(ROM) 30、 硬盘驱动器(HDD) 40和接口 (I/F) 50。 PC 1进一步包括均连接到I/F 50的 LCD 60和操作装置70。
CPU 10包括能够控制PC 1的操作的任意期望的处理器。RAM 20包括任 意期望的可读和可写的易失性存储器,其以相对高速地存储要由CPU 10存取
10的信息,使得其可以甩作CPU IO的工作区域。ROM 30包括任意期望的可读的 非易失性存储器,其存储诸如固件程序之类的各种数据。HDD40包括任意期望 的可读和可写的非易失性存储器,其存储诸如操作系统(OS)、各种控制程序
或应用程序之类的各种数据。
I/F 50控制PC 1的各个装置通过总线80的数据交换,或者控制PC 1和 PC 1之外的装置之间的数据交换。LCD 60用作用户界面,其向用户显示诸如 与PC 1的状态有关的信息之类的信息。可以由键盘和/或鼠标实现的操作装置 70用作用户接口,其允许用户向PC l输入各种用户指令。
在该示例中,PC 1通过针对要被集成到软件的至少一个软件组件提供的 一个或多个功能,检查开发中的软件是否恰当地运行。PC1可以配有软件开发 辅助程序,该程序可以预先存储在诸如ROM 30、 HDD 40之类的存储装置、可 由PC 1读取的诸如光盘之类的记录介质、或PC 1可通过网络3访问的任意装 置中。 一旦执行时,软件开发辅助程序可以被加载到RAM 20来促使CPU 10用 作软件开发辅助设备1。更具体地,促使图2所示的PC 1的一个或多个装置用 作图3所示的一个或多个模块来根据软件开发辅助程序执行辅助软件开发的操 作。
参照图3,根据本发明的示例性实施例解释PC 1或软件开发辅助设备1 的功能结构。软件开发辅助设备1包括多个模块,包括输入模块101、编辑模 块102、显示模块103、分析模块104、测试确定模块105、第一测试模块106、 通信模块107、服务存储模块108、第二测试模块109和测试结果接收模块110。
在该示例中,可以将任意模块实现为可编程的硬件电路(包括集成电路、 门阵列、逻辑芯片、晶体管等)。还可以将任意模块实现为可由任意处理器执 行的可执行代码(包括计算机指令),可以将所述可执行代码组织为对象、进 程、函数等。替代地,还可以由硬件结构和软件结构的组合实现任意模块。此 外,模块未被物理地定位在一起,使得可以将模块分散在不同的物理位置(诸 如不同的存储装置),或作为系统或网络上的电信号分布。
此外,在该示例中,可以将图3所示的模块分类为被限定为分析部分A 的第一层、被限定为测试部分B的第二层和被限定为显示部分C的第三层。
服务存储模块108包括服务标识符信息表111和服务功能信息表112,在 诸如ROM 30或HDD 40之类的存储器中存储服务标识符信息表111和服务功能 信息表U2。例如,如图7所示,服务标识符信息表111存储与一组软件组件提供的 一个或多个服务的标识有关的服务标识符信息,其中可由软件开发辅助设备1 在开发软件中使用该组软件组件。在该示例中,服务存储模块108可以额外地 存储每一个均提供预定服务的一组软件组件。替代地,该组软件组件可以以可 由软件开发辅助设备1使用的形式存储在PC 1之内或之外的任意存储器中。
例如,如图8所示,服务功能信息表112存储与软件组件辅助设备1可用的一
组软件组件的一个或多个服务提供的一个或多个功能有关的服务功能信息。
参照图7,服务标识符信息表111针对每一服务存储唯一分配给服务的服 务ID、唯一分配给服务的服务名、指示服务在系统上的位置的URL地址和唯一 分配给与服务对应的图标的图标ID。
参照图8,例如,服务功能信息表112针对服务提供的每个功能,存储与 服务标识符信息表111管理的一个或多个服务提供的一个或多个功能有关的功 能标识符信息、以及与一个或多个功能的属性有关的功能属性信息。更具体地, 如图8所示,服务功能信息表112针对每个功能存储唯一分配给功能的服务ID、 唯一分配给功能的功能名、提供功能的服务的服务ID、指示要由功能执行的处 理的类型(诸如收集、编辑、输出等)的模式、输入参数值和模板数据。如在 下面参照图11所述,当不访问网络服务而由第二测试模块109产生测试结果 时,可以由第二测试模块109使用输入参数值和模板数据。
分析部分A产生分析结果,其指示可用于检査开发中的软件是否恰当地 运行的所述开发软件的一个或多个功能。更具体地,在该示例中,分析部分A 包括输入模块101、编辑模块102和分析模块104。替代地,可以将输入模块 101和编辑模块102划分为不属于分析部分A。
分析模块104分析开发中的软件来获得至少指示软件的功能的分析结果, 该操作可以在检查所开发的软件是否恰当地运行的运行测试期间执行。例如, 分析模块104可以通过参照服务标识符信息表111管理的服务标识符信息以及 服务功能信息表112管理的服务功能信息,获得与可用于运行测试的开发中的 软件的一个或多个功能有关的服务功能信息。在一个示例中,分析模块104获 得的服务功能信息可以作为分析结果输出到测试模块105。在另一示例中,可 以将分析模块104获得的服务功能信息作为分析结果通过显示模块103显示给 用户。
例如,输入模块101通过诸如鼠标和键盘之类的操作装置70接收用户输入。用户输入可以对应于用户通过键盘输入的文本数据、通过鼠标对LCD 60 上显示的图标的选择、或通过鼠标在LCD 60显示的屏幕J:执行的任意处理等。 在一个示例中,在PC 1的用户或开发者可以输入用于指示特定功能要被集成 到开发中的软件的编程命令。在另一示例中,显示模块103可以促使显示装置 60显示一个或多个图标,每个图标视觉地表示可用于开发中的软件的服务以供 用户选择。
编辑模块102接收与来自输入模块101的用户输入有关的信息,并且至 少临时在诸如RAM 20之类的存储器中存储该信息。关于用户输入的信息可以 包括用户输入的文本数据、用户选择或处理的图标(其可以对应于经受运行测 试的软件的特定功能)。可以将所存储的信息作为分析结果发送到测试模块 105。
测试部分B从分析部分A获得分析结果,并且针对由分析结果指示的、 所开发的元件的服务的功能产生用于指示执行运行测试的结果的测试结果。测 试部分B包括服务存储模块108、测试确定模块105、第一测试模块106、通信 模块107和第二测试模块109。可以选择性地提供测试结果接收模块110。
测试确定模块105参照用于指示经受运行测试的至少一个功能的分析结 果以及服务存储模块108管理的服务功能信息来确定是应该由第一测试模块 106还是第二测试模块109执行针对分析结果指示的li能的运行测试,以产生 确定结果。
当确定结果指示第二测试模块109应该执行运行测试时,第二测试模块 109通过模拟功能的执行来针对分析结果指示的功能执行运行测试,而不通过 网络3访问服务器2提供的网络服务。可以将运行测试的结果输出到测试结果 接收模块IIO。
当确定结果指示第一测试模块106应该执行运行测试时,第一测试模块 106通过执行功能,同时使用通信模块107通过网络3访问服务器2提供的网 络服务来针对分析结果指示的功能执行运行测试。可以将运行测试的结果输出 到测试结果接收模块110。测试结果接收模块110接收由第一测试模块106或 第二测试模块109产生的测试结果,并且将测试结果输出到显示模块103以显 示给用户。
包括显示模块103的显示部分C通过图1的LCD 60向用户显示各种信息。 在一个示例中,显示模块103向用户显示分析部分A产生的分析结果。在另一
13示例中,显示模块103向用户显示测试部分B产生的测试结果。
在该示例中,当显示分析结果时,显示模块103可以以两种显示格式之
一显示分析结果。关于一个格式,显示模块103以字符串的形式显示分析结果 (其指示要用于运行测试的一个或多个功能),因此允许用户使用诸如Java之
类的任意编程语言开发软件。关于另一格式,显示模块103以图标的形式显示 分析结果(其指示要用于运行测试的一个或多个功能),因此允许用户使用诸 如Visual Basic之类的可视编程语言开发软件。
现在参照图4,根据本发明的示例性实施例解释图3的软件开发辅助^备 1执行的辅助软件开发的操作。在该示例中,假设存在通过将所选择的一组软 件组件组合而开发的软件,其中该组软件组件可由软件开发辅助设备1使用。 此外,假设开发中的软件至少具有通过网络3访问服务器2提供的网络服务的 功能。执行图4的操作,以便检查开发中的软件提供的一个或多个功能是否恰 当地运行。
在S02,分析部分A分析开发中的软件来获得用于指示要用于运行测试的 至少一个功能的分析结果,该运行测试用于检查开发中的软件是否恰当地运 行。如在下面描述的那样,可以用户可以通过用户输入或用户选择来选择分析 结果。
在S03,测试部分B获得用于指示运行测试所要检查的功能的分析结果, 并且确定应该由第一测试模块106还是第二测试模块109测试分析结果指示的 功能,以产生确定结果。当确定结果指示应该由第一测试模块106测试该功能 时(在S03的"是"),操作前进到S05。当确定结果指示应该由第二测试模块 109测试该功能时(在S03的"否"),操作前进到S04。
在S04,第二测试模块109模拟经受运行测试的功能的执行,而不访问服 务器2提供的网络服务,并且输出测试结果。
在S05,第一测试模块106执行经受运行测试的功能,同时访问服务器2 提供的网络服务,并且输出测试结果。
在S06,显示模块103通过LCD 60显示第一测试模块106或第二测试模 块109输出的测试结果,并且操作结束。
现在参照图5到9,根据本发明的示例性实施例解释图4的在S402分析 部分A执行的产生分析结果的操作。
如参照图3和4所述,分析模块104参照服务标识符信息表111管理的服务标识符信息以及服务功能信息表112管理的服务功能信息来获得与开发中 的软件提供的一个或多个功能有关的服务功能信息,并且将所获得的服务功能 信息作为分析结果输出以显示给用户。在一个示例中,如图5所示,可以以诸 如字符串之类的文本数据以及关于文本数据的补充信息的形式显示分析结果。 在另一示例中,如图6所示,可以以图标以及关于图标的补充信息的形式显示 分析结果。
在图5所示的示例中,假设用户使用诸如键盘之类的图2的操作装置70, 以诸如字符串之类的文本数据的形式,以任意编程语言输入编程命令。可以在 LCD 60显示的屏幕的部分Sl中显示用户输入的字符串.,并且在部分S2中显示 补充信息。输入模块101输入通过用户输入获得的字符串,并且将字符串发送 到编辑模块102以进行存储。分析模块104参照图7的服务标识符信息表111 来获得与用户输入的字符串(可从编辑模块102读出)对应的一个或多个服务。 更具体地,在该示例中,分析模块104分析用户输入的字符串,并且提取对象, 该对象为具有与图7的服务标识符信息表111中列出的特定服务名对应的类名 的变量(arguement)。
例如,当以Java编程语言写字符串时,可以通过诸如点"."之类的分 隔符的位置识别对象和方法,使得位于点"."之前的文本数据被识别为对象。 一旦识别了对象,分析模块104就在服务标识符信息表111中寻找与所识别的 对象的类名对应的服务名,并且当发现具有与所识别的对象的类名对应的服务 名时提取所识别的对象。当不存在与所识别的对象的类名对应的服务名时,分 析模块104结束操作,而且不产生分析结果。在这样的情况下,分析模块104 可以促使显示模块103返回错误消息。
当提取对象时,分析模块104提取与所提取的对象对应的类名。例如, 在以Java编程语言编写的上述情况下,对象的语句可以被写为"类名",然后 是"对象"。例如,当从字符串提取"SampleService service;"时, "SampleService"被提取为类名。当不存在可以获得的类名时,分析模块104 结束操作,且不产生分析结果。在这样的情况下,分析模块104可以促使显示 模块103返回错误消息。
分析模块104参照服务标识符信息表111管理的服务标识符信息来确定 是否存在与从字符串提取的类名对应的任何服务名。当存在与所提取的类名对 应的服务名时,分析模块104获得所识别的服务名的服务ID。在"Sa卿leService"的示例情况下,获得服务ID"1"。
此外,使用所获得的服务ID,分析模块104使用服务功能信息表112来 获得与所获得的服务ID对应的功能名。例如,参照图8,当获得与
"SampleService"对应的服务ID "1"时,获得功能名"calc"。.
替代地,在该示例中,用户可以使用操作装置70以字符串的形式直接输 入功能名。替代地,分析部分104可以从服务功能信息表112获得每一个均与 服务ID对应的一个或多个功能名,并且通过LCD 60显示一个或多个功能名的 列表作为候选。用户可以使用鼠标从所显示的列表中选择一个或多个功能名。 替代地,用户可以使用键盘输入用于指定所显示的功能名之一的字符串。
在图6所示的示例中,分析模块104可以促使LCD 60以图标形式显示用 于识别在开发软件中可用的一个或多个服务的服务标识符信息。在该示例中, LCD 60显示包括图标列表部分S3 (其显示每一个均表示可用的一个或多个服 务的图标的列表)、以陈列(layout)形式显示从S3的图标列表选择的一个或 多个图标的图标陈列部分S4、以及与部分S4中显示的一个或多个图标有关的 补充信息的部分S2。具体地,在该示例中,用户可以通过使用鼠标执行拖曳操 作从部分S3显示的图标列表中选择图标,以促使所选择的图标从部分S3移动 到部分S4。在图6所示的示例中,可以以与参照图5描述的方式基本类似的方 式识别可用的服务名。例如, 一旦由通过输入模块101的用户输入选择了图标, 编辑模块102存储与所选择的图标有关的信息(诸如预分配给每个图标的图标 ID)。分析模块104参照服务标识符信息表111来获得与所获得的图标ID对应 的服务ID。
当获得服务ID时,分析模块104可以使用服务功能信息表112进一步获 得与服务ID对应的一个或多个功能名以显示给用户。例如,如图9所示,当 通过图标II的选择而获得服务ID "1"时,分析模块104参照服务功能信息表 112来获得与服务ID "1"对应的功能名"calc",并且在部分S4中显示的弹 出窗口 W中显示功能名"calc"。更具体地,当用户移动鼠标的光标来点击图 标I1时,弹出窗口 W可以显示可用的一个或多个功能名。用户可以使用鼠标 从列表中进一步选择一个或多个功能名。分析模块104可以获得可由编辑模块 102保存的功能名的选择来作为分析结果。例如,以这种方式,分析模块104 可以通过提供在开发软件中可用的一个或多个服务或一个或多个功能来辅助 PC1的用户开发软件。现在参照图10到12,根据本发明的示例性实施例描述由测试部分B在图
4的S03、 S04和S05执行的、通过运行分析结果指示的一个或多个功能来执行 用于确定开发中的软件是否恰当地运行的运行测试的操作。
更具体地,如图10所示,测试确定模块105确定是应该由第一测试模块 106还是由第二测试模块109针对分析结果指示的功能执行运行测试操作。在 确定中,测试确定模块105从服务功能信息表112获得与分析结果指示的功能 对应、的属性数据,并且基于属性数据确定是由第一测试模块106还是第二测试 模块109执行运行测试。在该示例中,属性数据关于网络服务指定功能要执行 的处理,诸如图7所示的功能的模式。更具体地,当属性数据指示功能的执行 引起网络服务的状态发生实质变化(physically changed)时,测试确定模块 105确定应该由第二测试模块109执行运行测试。当属性数据指示功能的执行 不引起网络服务的状态发生实质变化时,测试确定模块105确定应该由第一测 试模块106执行运行测试。
当确定结果指示要由第一测试模块106执行运行测试时,第一测试模块 106通过执行分析结果指示的功能,同时访问网络服务来执行运行测试。当确 定结果指示要由第二测试模块109执行运行测i^式时,第二测试模块109通过使 用可从服务功能信息表112管理的服务功能信息获得的模板数据执行操作。
参照图10,在S03-l,测试确定模块105从分析部分A接收分析结果, 其指示经受运行测试的一个或多个功能。例如,分析结果指示与对应于服务名 (诸如"SampleService"或"CGIService")的类名有关的信息,使得可以以 "class name"然后是"object;"的形式表示分析结果。此外,如参照图5 或6所述,可以以字符串或图标的形式或以字符串和图标的形式显示分析结果。 例如,在字符串的示例情况下,可以显示"SampleService service;"的分析 结果。在这样的情况下,提取字符串"SampleService"作为类名,并且可以 获得与类名对应的功能名"calc"。
在S03-2,测试确定模块105参照如图8所示的服务功能信息表112。
在S03-3,测试确定模块105获得诸如模式数据之类的、与分析结果指示 的功能名对应的属性数据来产生确定结果。更具体地,当功能的模式指示要由 功能执行的处理不引起网络服务的状态发生实质变化时,确定结果指示由第一 测试模块106执行针对功能的运行测试。当功能的模式指示要由功能执行的处 理引起网络服务的状态发生实质变化时,确定结果指示由第二测试模块109执行针对功能的运行测试。
在S03-4,当确定结果指示要由第二测试模块109执行针对分析结果指示
的功能的运行测试时,操作前进到S04来促使第二测试模块109执行运行测试。 当确定结果指示要由第一测试模块106针对分析结果指示的功能执行运行测试 时,操作前进到S05来促使第一测试模块106执行运行测试。
现在参照图11,根据本发明的示例性实施例解释第二测试模块109在图 10的S04执行的执行运行测试的操作。
在S04-l,第二测试模块109获得指示可用于运行测试的一个或多个服务 的分析结果。如参照图4到9所述,分析结果包括指示可用于确定开发中的软 件是否恰当地运行的一个或多个服务的服务功能信息。在该示例中,当该功能 的执行引起网络服务实质地改变其状态时,第二测试模块109针对分析结果指 示的功能的运行测试。在一个示例中,如图8所示,当功能的模式对应于"编 辑"(其执行网络服务提供的数据的编辑处理)时,促使第二测试模块109执 行运行测试。在另一个示例中,当功能的模式对应于"输出"(其执行在网络 服务中存储新数据的处理)时,促使第二测试模块109执行运行测试。
为了执行允许第二测试模块109获得分析结果的步骤S04-l,测试部分B 可以额外地配有能够接收分析结果的服务功能信息获得模块。此外,为了执行 允许第二测试模块109从服务存储模块108获得服务功能信息的步骤S04-l, 测试部分可以额外地配有能够读取服务功能信息的服务功能信息读取模块。返 回参照图3,可以由测试结果接收模块110实现服务功能信息获得模块和服务 功能信息读取模块。
在S04-2,第二测试模块109产生测试结果,该测试结果指示针对分析结 果指示的功能执行运行测试的模拟结果。在该示例中,甚至当分析结果指示的 功能需要通过网络3访问服务器2提供的网络服务时,第二测试模块109执行 运行测试,而不访问网络服务。由于不在网络服务上执行该功能,因此这消除 了用户需要授权或许可来执行促使网络服务的状态发生实质变化的功能的需 要。由于可以消除用于获得授权或许可所需的时间,因此这改善了软件开发的 效率。
为了检查功能是否恰当地运行,且不访问网络服务,第二测试模块109 参照存储在服务功能信息表112中的模板数据。在该示例中,模板数据指定希 望从网络服务接收的应答的数据格式。这是因为,在开发软件的过程中,只要运行测试能够确定功能是否可以从网络服务接收到期望的结构,对网络3上存 在的数据执行运行测试就不是必须的。
参照图13,图13图解模板数据的示例数据。图13的模板数据以XML格 式写成,并且包括多个标记(tag),诸如〈title〉、 〈suhtitle〉、 <linkhref = "http://example, com/service/,, 〉、 <update>、'<author>、 〈rmme〉、 <email〉, 〈id>、 〈entry〉和〈feed〉。如果软件访问网络服务,则信息被输入到每个标记 中。例如,用户名被输入到〈name〉标记中,用户的电子邮件地址被输入到 〈email〉标记中,而用户ID被输入到〈id〉标记中。当访问时,网络服务可以通 过网络3以诸如Atom之类的XML数据形式输出包括网络服务提供的特定信息 的应答。Atom是用于因特网工程任务组(IETF)的RFC 4287定义的网络内容 分布的一种XML格式。在该示例中,软件将Atom定义的数据结构解译为字符 串。
例如,当开发与用于管理多个用户的日程信息的网络服务通信的软件时, 希望从网络服务返回的数据包括用户标识信息或用户日程信息。然而,预先定 义了交换数据的方式(诸如数据格式)。因此运行测试仅需要检查开发中的软 件是否能够解译预定义的数据格式,因此不需要网络服务管理的数据。因此, 第二测试模块109通过使用可从服务功能信息表112获得的模板数据产生应 答,而无需访问网络服务,并且将应答返回到开发中的软件来确定软件是否能 够解译该应答。
例如,可以从服务功能信息表112的输入参数值获得诸如用户标识信息 或用户日程信息之类的信息。第二测试模块109针对分析结果指示的功能,将 输入参数值输入到模板数据来产生应答数据。第二测试模块109确定分析结果 指示的功能是否恰当地解译了应答数据,以产生运行测试的结果。 在S04-3,第二测试模块109输出在S04-2产生的测试结果。 在S04-4,测试结果接收模块110接收第二测试模块109发送的测试结果。 参照图12,根据本发明的示例性实施例解释第一测试模块106在图10的 S05执行的执行运行测试的操作。
例如,在该示例中,当指示经受运行测试的功能的模式的属性数据与"收 集"对应时(其指示获得网络服务管理的数据的处理),测试确定结果105促 使第一测试模块106执行运行测试。
在S05-1,第一测试模块106获得指示可用于运行测试的一个或多个服务的分析结果(诸如指示经受运行测试的服务的服务ID的信息)。可以通过可选 地设置的、能够读取服务功能信息的服务功能信息读取模块执行S05-1。
在S05-2,第一测试模块106参照服务标识符信息表111来确定是否发现 与从分析结果获得的服务ID对应的服务。当发现网络服务时,操作前进到 S05-3。当未发现网络服务时,操作结束。.
在该示例中,假设要由第一测试模块106执行的服务不执行促使网络服 务上数据物理地改变(例如通过编辑现有数据或存储新数据)的任何处理。
在S05-3,第一测试模块106获得与所获得的服务ID对应的服务标识符 信息,诸如URL。
在S05-4,第一测试模块106使用在S05-3获得的URL通过通信模块107 访问网络服务,并且执行经受运行测试的功能。
在S05-5,第一测试模块106从网络服务接收应答(其为执行功能的结果)。 可以由可选地设置的网络服务结果模块执行S05-5的接收应答的步骤。例如,可以从网络服务返回具有图13所示的类似数据格式的应答,其包 括诸如诸如〈title〉 、 〈subtitle〉 、 〈link href = "http:// example, com/service/', >、 <update>、 <author〉、 <name〉、 <email〉, 〈id〉、 〈entry〉和〈feed〉之类的标记。当访问网络服务时,将信息输入到每个标记。
此外,在该示例中,如图6或9所示,例如显示模块103显示的屏幕可 以配有关键字(key) K,其允许用户^令PC 1针对当前在屏幕上显示的一个 或多个功能执行运行测试。
参照图13和14,根据本发明的实施例解释显示部分C在图4的S06执行 的显示测试结果的操作。
显示部分C包括显示模块103,其通过图4的LCD 60显示第一测试模块 106或第二测试模块109产生的测试结果。
在一个示例中,显示模块106可以促使LCD 60显示具有诸如图13所示 的测试结果之类的测试结果的屏幕。当第一测试模块106执行运行测试同时访 问网络服务时,基于通过网络3从网络服务获得的、执行功能请求的处理的结 果来产生图13的屏幕。当第二测试模块109执行操作,且不访问网络服务对, 使用分析结果指示的功能作为关键字,基于通过将输入参数值输入到模板数据 提供的每一项而由第二测试模块109产生的应答来产生图13的屏幕,其中使 用分析结果指示的功能作为关键字来从服务功能信息表112获得该模板数据。参照图13,当以诸如Atom之类的XML格式编写应答时,应答包括XML属性名 和XML属性值指示的字符串。
在另一示例中,除了执行功能的结果或使用模板数据产生的应答之外, 可以向用户显示用于指示是由第一测试模块106还是由第二测试模块109执行 运行测试的信息。在一个示例中,可以与运行测试的结果一起显示用于指示是 由第一测试模块106还是由第二测试模块109执行运行测试的信息。在这样的 情况下,可以附加地包括用于指示是由第一测试模块106还是由第二测试模块 109执行运行测试的信息字符串。以这种方式,用户可以容易地识别测试结果 是实际执行功能的同时访问网络服务的结果还是模拟功能的执行而不访问网 络服务的结果。
. 在另一示例中,如图14所示,显示模块103可以使用网络应用程序促使 LCD 60显示第一测试模块106或第二测试模块109产生的测试结果。在这样的 情况下,显示模块103可以配有转换模块,其将测试结果转换为与网络应用程 序兼容的格式。
根据上述教学可以进行各种附加修改和变型。因此可以理解在所附权利 要求的范围内,可以与这里描述的不同的方式实践本发明。
根据这里描述的本发明的一些实施例,显然可以以多种方式将它们变型。 这样的变型不应认为是背离本发明的宗旨和范围,并且所有这些修改应该认为 是包含在本发明的范围内。
例如,在本公开和所附权利要求的范围内,可以相互组合和/或相互替换 不同示例性实施例的元素和/或特征。
例如,如参照图3所述,可以将一组软件组件与可用的另一组软件组件 一起存储在任意期望的存储装置中。在这样的情况下,服务存储模块108可以 在软件开发辅助设备1的存储器中注册该组软件组件来使该组软件组件可被用 户使用。
此外,如上所述,可以以存储在任意种类的存储介质中的计算机程序(作 为用于分发的软件包)的形式实施本发明的上述和其它方法。存储介质的示例 包括(但不限于)软盘、硬盘、光盘(诸如CD-R0M、 DVD)、磁光盘、磁盘、磁 带、非易失性存储卡、ROM (只读存储器)、半导体存储器等。
替代地,可以以存储在可通过网络访问的任意数量的存储装置中的计算 机程序的方式实施本发明的上述和其他方法。可以通过诸如局域网(LAN)或因特网之类的网络(可为有线或无线网)将计算机程序的任意部分下载到计算 机,以存储在诸如硬盘之类的计算机的内部存储器中。
替代地,可以以存储在计算机中的任意数量的存储器中的计算机程序的 形式实施本发明的上述和其他方法。例如,计算机程序可以预先安装在计算机 的硬盘驱动器中以随计算机分发。在另一示例中,计算机程序可以临时或永久 地安装到计算机的存储器中。
替代地,可以由ASIC实施本发明的任何上述和其它方法,该ASIC通过 互连常规电路部件的合适网络或将其与一个或多个通用微处理器和/或相应编 程的信号处理器组合而形成。
权利要求
1.一种在开发软件的过程中辅助用户开发软件的辅助设备,所述设备包括服务存储模块,用于在存储器中存储与在开发所述软件中可用的一组软件组件提供的一个或多个功能有关的服务功能信息,所述一组软件组件至少提供通过网络访问网络服务的功能;分析模块,用于分析开发中的所述软件来产生用来指示要用于运行测试的至少一个功能的分析结果,所述运行测试确定开发中的所述软件是否恰当地运行;第一测试模块,用于在访问所述网络服务的同时,使用所述分析结果指示的至少一个功能执行所述运行测试;第二测试模块,用于使用所述分析结果指示的至少一个功能执行运行测试,而不访问所述网络服务;测试确定模块,用于从存储在所述服务存储模块中的所述服务功能信息中获得与所述分析结果指示的至少一个功能对应的服务功能信息,以基于与所述分析结果指示的至少一个功能对应的所述服务功能信息确定是要由所述第一测试模块还是由所述第二测试模块执行所述运行测试,从而产生确定结果,并且促使基于所述确定结果选择的所述第一测试模块和所述第二测试模块之一通过执行所述运行测试来产生测试结果;和显示模块,用于通过显示装置显示所述测试结果。
2. 如权利要求1所述的设备,其中存储在存储器中的所述服务功能信息包括属性数据,所述属性数据关于网 络服务指定要由对应的功能执行的处理,和所述测试确定模块获得与所述分析结果指示的至少一个功能对应的属性 数据,并且当所述属性数据指示由所述分析结果指示的至少一个功能的执行引 起所述网络服务的状态发生实质变化时,确定应该由所述第二测试模块执行所 述运行测试。
3. 如权利要求2所述的设备,其中存储在所述存储器中的所述服务功能信息包括用于定义开发中的所述软 件的数据格式的模板数据,并且所述当所述确定结果指示所述运行测试应该由所述第二测试模块执行时,所述第二测试模块从存储在所述存储器中的所述服务功能信息获得与所 述分析结果指示的至少一个功能对应的模板数据,并且使用所获得的模板数据 产生所述测试结果。
4. 如权利要求3所述的设备,其中所述属性数据是指定要由所述对应的功能关于所述网络服务管理的数据执行的处理的模式数据,所述模式数据至少指 定下列处理之一收集所述网络服务管理的数据的处理; 编辑所述网络服务管理的数据的处理;和 将数据添加到所述网络服务管理的数据的处理,其中,当所述模式数据指定编辑处理和添加处理之一时,所述测试确定模 块确定应该由所述第二测试模块执行所述测试操作。
5. 如权利要求4所述的设备,其中由所述显示模块显示的所述测试结果包 括用于指示是由所述第一测试模块还是由所述第二测试模块执行所述运行测 试的信息。
6. 如权利要求5所述的设备,进一步包括输入模块,用于通过操作装置从用户接收用户输入,其中所述用户输入识 别要被集成到开发中的所述软件的至少一个功能,其中所述分析模块基于所述用户输入产生所述分析结果来促使所述分析结果 指示的至少一个功能反映用户输入识别的至少一个功能。
7. 如权利要求6所述的设备,其中当接收到用户输入时,当接收到用户输 入时,所述显示模块进一步配置来以下列显示格式中选择的至少一种显示格式 显示要被集成到开发中的所述软件中的至少一个功能以字符串的形式显示所述至少一个功能的第一格式;和 以图标形式显示所述至少一个功能的第二格式。
8. 如权利要求6所述的设备,其中所述服务存储模块进一步配置来存储与可用在开发所述软件中的所述一 组软件组件提供的一个或多个服务的标识有关的服务标识信息,和所述分析模块被进一步配置来促使所述显示装置显示屏幕,所述屏幕包括-第一部分,用于显示多个图形图像,每一个图形图像表示'可用在开发所述软件中的所述一组软件组件提供的一个或多个服务;'第二部分,用于在通过用户输入从第一部分选择多个图形图像的至少一个 图形图像时,显示与要被集成到开发中的所述软件中的至少一个功能对应的多 个图形图像中的至少一个图形图像。
9. 如权利要求8所示的设备,其中当用户通过所述操作装置选择在所述第 二部分中显示的所述图形图像时,所述分析模块进一步配置来从存储在所述服务存储模块中的所述服务功能信息中获得用于指示由通过用户选择的图形图像表示的、要被集成到开发中的所述软件的至少一个功能 提供的至少一个功能的服务功能信息;和 ,在屏幕上显示所获得的服务功能信息。
10. 如权利要求6所述的设备,其中所述服务存储模块进一步配置来存储与可用在开发所述软件中的所述一 组软件组件提供的一个或多个服务的标识有关的服务标识信息,并且当用户输 入以字符串形式识别要被集成到开发中的所述软件的至少一个功能时,所述分析模块进一步配置来从所述字符串中提取与变量对应的对象,并且 使用所述服务标识信息从所述一组软件组件提供的一个或多个服务中获得与 所提取的对象对应的服务。
11. 一种在开发软件的过程中辅助用户的方法,所述方法包括 在存储器中存储与在开发软件中可用的一组软件组件提供的一个或多个功能有关的服务功能信息,所述一组软件组件至少提供通过网络访问网络服务 的功能;分析开发中的所述软件来产生用于指示要用在运行测试的至少一个功能 的分析结果,所述运行测试确定开发中的所述软件是否恰当地运行;提供第一测试模块来在访问所述网络服务的同时,使用所述分析结果指示的至少一个功能执行所述运行测试;提供第二测试模块来使用分析结果指示的至少一个功能执行所述运行测试,而不访问所述网络服务;从存储在存储器中的所述服务功能信息中获得所述分析结果,以基于与所 述分析结果指示的至少一个功能对应的服务功能信息确定是要由所述第一测 试模块还是由所述第二测试模块执行所述运行测试,从而产生确定结果;促使基于所述确定结果选择的所述第一测试模块和所述第二测试模块之一通过执行所述运行测试来产生测试结果;和 通过显示装置显示所述测试结果。
12. 如权利要求11所述的方法,进一步包括通过操作装置从用户接收用户输入,其中所述用户输入识别要被集成到开 发中的所述软件的至少 一个功能,基于所述用户输入产生所述分析结果来促使所述分析结果指示的至少一 个功能反映所述用户输入识别的至少一个功能。
13. 如杈利要求12所述的方法,进一步包括-在所述存储器中存储与可用在开发所述软件中的所述一组软件组件提供 的一个或多个服务的标识有关的服务标识信息,和 通过所述显示装置显示屏幕,所述屏幕包括第一部分,用于显示多个图形图像,其每一个图形图像表示可用在开发所 述软件的所述一组软件组件提供的一个或多个服务;第二部分,用于在通过所述用户输入从第一部分选择多个图形图像的至少 一个图形图像时,显示与要被集成到开发中的所述软件的至少一个功能对应的 多个图形图像中的至少一个图形图像。
14. 如权利要求13所述的方法,进一步包括在所述存储器中存储可用在开发所述软件中所述一 组软件组件。
15. —种在开发软件的过程中辅助用户的软件开发辅助系统,所述系统包括软件开发辅助装置,所述软件开发辅助装置包括-服务存储模块,用于在存储器中存储与在软件开发中可用的一组软件组件 提供的一个或多个功能有关的服务功能信息,所述一组软件组件至少提供通过 网络访问网络服务的功能;分析模块,用于分析开发中的所述软件来产生用于指示要用在运行测试的 至少一个功能的分析结果,所述运行测试确定开发中的所述软件是否恰当地运 行;第一测试模块,用于在访问所述网络服务的同时,使用所述分析结果指示 的至少一个功能执行所述运行测试;第二测试模块,用于使用所述分析结果指示的至少一个功能执行运行测 试,而不访问所述网络服务;测试确定模块,用于从存储在所述服务存储模块中的所述服务功能信息中 获得与所述分析结果指示的至少一个功能对应的服务功能信息,以基于与所述 分析结果指示的至少一个功能对应的所述服务功能信息确定是要由所述第一 测试模块还是由所述第二测试模块执行所述运行测试,从而产生确定结果,并 且促使基于所述确定结果选择的所述第一测试模块和所述第二测试模块之一 通过执行所述运行测试来产生测试结果;和显示模块,用于通过显示装置显示所述测试结果。
16. —种计算机可读记录介质,包括促使计算机执行在开发软件中辅助用户的方法的计算机程序指令,所述方法包括'在存储器中存储与在开发软件中可用的一组软件组件提供的一个或多个 功能有关的服务功能信息,所述一组软件组件至少提供通过网络访问网络服务 的功能;分析开发中的所述软件来产生用于指示要用在运行测试的至少一个功能的分析结果,所述运行测试确定开发中的所述软件是否恰当地运行;提供第一测试模块来在访问所述网络服务的同时,使用分析结果指示的至 少一个功能执行所述运行测试;提供第二测试模块来使用分析结果指示的至少一个功能执行所述运行测 试,而不访问所述网络服务;.从存储在服务存储模块中的所述服务功能信息中获得所述分析结果,以基 于与所述分析结果指示的至少一个功能对应的服务功能信息确定是要由所述 第一测试模块还是由所述第二测试模块执行所述运行测试,从而产生确定结 果; ,促使基于所述确定结果选择的所述第一测试模块和所述第二测试模块之 一通过执行所述运行测试来产生测试结果;和通过显示装置显示所述测试结果。
全文摘要
公开了在开发具有访问网络服务的功能的软件的过程中辅助用户的设备、方法和系统。产生确定结果,该确定结果指示应该由第一测试模块还是由第二测试模块执行用于确定开发中的软件是否恰当地运行的运行测试。基于确定结果,由第一测试模块和第二测试模块中所选择的那个测试模块执行运行测试。
文档编号G06F11/36GK101587441SQ20091020354
公开日2009年11月25日 申请日期2009年5月20日 优先权日2008年5月20日
发明者中川胜树, 伊贺聪一郎 申请人:株式会社理光
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1