首页 / 专利库 / 软件 / 软件 / 软件云测试的实现方法和装置

软件测试的实现方法和装置

阅读:970发布:2021-04-14

专利汇可以提供软件测试的实现方法和装置专利检索,专利查询,专利分析的服务。并且本 发明 提供了 软件 云 测试的实现方法和装置,其中的方法包括:获取软件测试数据;确定软件测试数据所包含的各数据属性以及各数据属性各自对应的数据;根据语义字典确定各数据属性分别对应的基于软件云测试的数据属性以及各数据属性各自对应的数据分别对应的基于软件云测试的数据;根据基于软件云测试的数据属性以及基于软件云测试的数据生成用于软件云测试的软件云测试数据。本发明可以将软件测试数据批量的转换为用于软件云测试的软件云测试数据,避免了用户对所有测试数据逐一进行人工 修改 以使其适应云环境的现象;从而本发明极大的缩短了传统的软件测试迁移到云环境的时间,降低了传统的软件测试的云环境迁移成本,并提高了软件云测试的性能。,下面是软件测试的实现方法和装置专利的具体信息内容。

1.一种软件测试的实现方法,其中,该方法包括以下步骤:
获取软件测试数据;
确定所述软件测试数据所包含的各数据属性以及各数据属性各自对应的数据;
根据语义字典确定所述各数据属性分别对应的基于软件云测试的数据属性以及所述各数据属性各自对应的数据分别对应的基于软件云测试的数据;
根据所述基于软件云测试的数据属性以及基于软件云测试的数据生成用于软件云测试的软件云测试数据;
其中,所述确定所述软件测试数据所包含的各数据属性以及各数据属性各自对应的数据的步骤包括:
获取所述软件测试数据中的关键字;
利用预设模板确定所述软件测试数据中的属于数据属性的关键字以及属于数据属性对应的数据的关键字。
2.根据权利要求1所述的方法,其中,所述软件测试数据包括:软件测试用例
3.根据权利要求2所述的方法,其中,所述软件测试用例包括:基于JMeter软件测试工具的软件测试用例或者基于LoadRunner软件测试工具的软件测试用例。
4.根据权利要求1所述的方法,其中,所述确定所述软件测试数据所包含的各数据属性以及各数据属性各自对应的数据的步骤还包括:
根据所述软件测试数据所包含的各数据属性以及各数据属性各自对应的数据生成具有预定数据结构的中间测试数据。
5.根据权利要求4所述的方法,其中,所述确定所述软件测试数据所包含的各数据属性以及各数据属性各自对应的数据的步骤还包括:
将所述中间测试数据存储于中间临时文件中。
6.根据权利要求1所述的方法,其中,所述语义字典中设置有软件测试数据中的信息与软件云测试中的信息之间的映射关系。
7.根据权利要求1至6中任一权利要求所述的方法,其中,所述根据所述基于软件云测试的数据属性以及基于软件云测试的数据生成用于软件云测试的软件云测试数据的步骤包括:
在生成规则集合中查询所述基于软件云测试的数据属性以及基于软件云测试的数据对应的生成规则;
根据所述对应的生成规则将所述基于软件云测试的数据属性以及基于软件云测试的数据输出的信息生成用于软件云测试的软件云测试数据。
8.一种软件云测试的实现装置,其中,包括:
软件测试数据获取装置,用于获取软件测试数据的装置;
属性及数据确定装置,用于确定所述软件测试数据所包含的各数据属性以及各数据属性各自对应的数据的装置;
属性及数据转换装置,用于根据语义字典确定所述各数据属性分别对应的基于软件云测试的数据属性以及所述各数据属性各自对应的数据分别对应的基于软件云测试的数据的装置;
软件云测试数据生成装置,用于根据所述基于软件云测试的数据属性以及基于软件云测试的数据生成用于软件云测试的软件云测试数据的装置;
其中,所述属性及数据确定装置包括:
关键字获取装置,用于获取所述软件测试数据中的关键字的装置;
关键字确定装置,用于利用预设模板确定所述软件测试数据中的属于数据属性的关键字以及属于数据属性对应的数据的关键字的装置。
9.根据权利要求8所述的软件云测试的实现装置,其中,所述软件测试数据包括:软件测试用例。
10.根据权利要求9所述的软件云测试的实现装置,其中,所述软件测试用例包括:基于JMeter软件测试工具的软件测试用例或者基于LoadRunner软件测试工具的软件测试用例。
11.根据权利要求8所述的软件云测试的实现装置,其中,所述属性及数据确定装置还包括:
中间测试数据生成装置,用于根据所述软件测试数据所包含的各数据属性以及各数据属性各自对应的数据生成具有预定数据结构的中间测试数据的装置。
12.根据权利要求11所述的软件云测试的实现装置,其中,所述属性及数据确定装置还包括:
中间临时存储装置,用于将所述中间测试数据存储于中间临时文件中的装置。
13.根据权利要求8所述的软件云测试的实现装置,其中,所述语义字典中设置有软件测试数据中的信息与软件云测试中的信息之间的映射关系。
14.根据权利要求8至13中任一权利要求所述的软件云测试的实现装置,其中,所述软件云测试数据生成装置包括:
生成规则查询装置,用于在生成规则集合中查询所述基于软件云测试的数据属性以及基于软件云测试的数据对应的生成规则的装置;
云数据生成装置,用于根据所述对应的生成规则将所述基于软件云测试的数据属性以及基于软件云测试的数据输出的信息生成用于软件云测试的软件云测试数据的装置。

说明书全文

软件测试的实现方法和装置

技术领域

[0001] 本发明涉及计算机技术,尤其是涉及一种软件云测试的实现方法以及软件云测试的实现装置。

背景技术

[0002] 软件测试是软件开发过程中的一个重要组成部分,是保证软件质量的重要手段。成功开发出高质量的软件,必须重视并加强软件测试工作。
[0003] 传统的软件测试往往会面临测试预算有限、测试期限紧迫、测试成本较高、测试周期较长、测试用例数量庞大以及参与测试的地理分布用户数量有限等问题。另外,部分软件会存在需要在一个数据中心以及该数据中心之外分别进行数据测试的测试需求,而传统的软件测试往往很难满足这一测试需求。
[0004] 随着云技术的日渐发展,软件测试已经与云技术相结合,即借助云基础设施来实现软件测试。基于云的软件测试可以称为软件云测试。由于软件云测试可以具有无限的存储空间、可扩展且可用性高的云基础设施以及灵活的分布式测试环境等,因此,软件云测试可以有效解决传统的软件测试所面临的问题;由此可知,软件云测试可以有效降低软件(尤其是大型软件)的测试时间以及测试成本,提高软件测试效益,并满足上述测试需求。
[0005] 发明人在实现本发明过程中发现,由于软件云测试在测试数据(如测试用例)等方面存在一定的规范,因此,传统的软件测试中的测试数据通常并不能直接迁移到云环境中被软件云测试程序所使用;用户需要根据软件云测试对测试数据的相关规定对所有测试数据进行修改,以使其能够被软件云测试程序所使用。庞大的测试数据无疑会导致传统的软件测试的云环境迁移成本较高,且耗时较长;另外,测试数据修改过程中的人为错误还会对软件云测试产生不良影响。

发明内容

[0006] 本发明的目的是提供一种软件云测试的实现方法和装置。
[0007] 根据本发明其中一个方面,提供一种软件云测试的实现方法,且所述方法主要包括以下步骤:获取软件测试数据;确定所述软件测试数据所包含的各数据属性以及各数据属性各自对应的数据;根据语义字典确定所述各数据属性分别对应的基于软件云测试的数据属性以及所述各数据属性各自对应的数据分别对应的基于软件云测试的数据;根据所述基于软件云测试的数据属性以及基于软件云测试的数据生成用于软件云测试的软件云测试数据。
[0008] 根据本发明的其中另一个方面,还提供一种软件云测试的实现装置,且所述装置包括:软件测试数据获取装置,用于获取软件测试数据的装置;属性及数据确定装置,用于确定所述软件测试数据所包含的各数据属性以及各数据属性各自对应的数据的装置;属性及数据转换装置,用于根据语义字典确定所述各数据属性分别对应的基于软件云测试的数据属性以及所述各数据属性各自对应的数据分别对应的基于软件云测试的数据的装置;软件云测试数据生成装置,用于根据所述基于软件云测试的数据属性以及基于软件云测试的数据生成用于软件云测试的软件云测试数据的装置。
[0009] 与现有技术相比,本发明具有以下优点:本发明通过利用语义字典将软件测试数据所包含的各数据属性以及各数据属性各自对应的数据转换为基于软件云测试的数据属性以及基于软件云测试的数据,使用于传统软件测试的软件测试数据可以与软件云测试数据语义相通,进而使本发明能够在对用于传统软件测试的各软件测试数据正确解读的基础上,将用于传统软件测试的软件测试数据自动转换为软件云测试数据;从而本发明提供的技术方案可以将使用任一软件测试工具的用于传统软件测试的软件测试数据批量的转换为用于软件云测试的软件云测试数据,避免了用户对所有测试数据逐一进行人工修改以使其适应云环境的现象,进而避免了软件测试数据修改过程中的人为错误对软件云测试的不良影响;由上述描述可知,本发明提供的技术方案极大的缩短了传统的软件测试迁移到云环境的时间,降低了传统的软件测试的云环境迁移成本,并提高了软件云测试的性能。附图说明
[0010] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0011] 图1为本发明实施例一的软件云测试的实现方法流程图
[0012] 图2为本发明实施例二的软件云测试的实现装置示意图。
[0013] 附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

[0014] 在更加详细地讨论示例性实施例之前,应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是,其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的执行顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0015] 在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或者是由ASIC、FPGA、DSP等硬件执行预定处理过程,或者是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑平板电脑、智能手机等。
[0016] 所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
[0017] 需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
[0018] 后面所讨论的方法(其中一些通过流程图示出)可通过硬件、软件、固件中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
[0019] 这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是,本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
[0020] 应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
[0021] 应当理解的是,当一个单元被称为“连接”或者“耦合”到另一个单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
[0022] 这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
[0023] 还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
[0024] 下面结合附图对本发明作进一步详细描述。
[0025] 实施例一、软件云测试的实现方法。
[0026] 图1为本实施例的软件云测试的实现方法的流程图,且图1所示的方法主要包括:步骤S100、步骤S110、步骤S120以及步骤S130。本实施例所记载的方法通常是在计算机设备中被执行的,优选的,本实施例所记载的方法可以在台式计算机、笔记型计算机、服务器以及云设备中执行。下面对图1中的各步骤分别进行说明。
[0027] S100、获取软件测试数据。
[0028] 具体的,本实施例获取的软件测试数据是指需要迁移到云环境中进行软云测试的软件测试数据,如软件测试数据通常是指用于进行传统的软件测试的测试数据。
[0029] 本实施例获取的该软件测试数据通常主要包括:软件测试用例;如该软件测试用例可以为基于JMeter软件测试工具的软件测试用例,再如该软件测试用例也可以为基于LoadRunner软件测试工具的软件测试用例。上述基于JMeter软件测试工具和基于LoadRunner软件测试工具是目前两款较常使用的软件测试工具,本实施例中的软件测试数据还可以为基于其他软件测试工具的软件测试用例,如基于私有的软件测试工具的软件测试用例等。
[0030] 另外,本实施例中的软件测试数据还可以包括用于软件测试且除软件测试用例之外的其他形式的软件测试数据,如利用数据描述的服务等。本实施例不限制软件测试数据、软件测试工具以及软件测试用例等的具体表现形式。
[0031] 作为示例,本实施例可以通过读取的方式获取到软件测试数据,如从预先存储的软件测试数据文件中读取软件测试数据。本实施例也可以通过接收的方式获取到软件测试数据,如通过接收用户输入的信息而获取到软件测试数据,再如通过接收其他设备传输来的信息而获取到软件测试数据等。本实施例不限制获取软件测试数据的具体实现方式。
[0032] 针对一个软件利用软件测试工具对其进行软件测试所使用到的软件测试数据的数量通常很多,如包括数据众多的软件测试用例等,本实施例可以逐条获取软件测试数据。
[0033] S110、确定软件测试数据所包含的各数据属性以及各数据属性各自对应的数据。
[0034] 具体的,本实施例中的一条软件测试数据中通常包含有一个或者多个数据属性以及各数据属性分别对应的数据,也就是说,一条软件测试数据中通常包含有一个或者多个具体的数据以及用于分别描述各数据所属数据属性的一个或者多个描述信息。本实施例中的数据属性主要用于体现数据所对应的含义;在将软件测试数据中所包含的所有数据分别看作是不同字段的数据的情况下,本实施例可以将软件测试数据中所包含的所有数据属性分别看作是相应字段的字段名称。
[0035] 本实施例的数据属性的一个具体的例子,软件测试数据所包含的数据属性可以具体为:输入参数、执行周期、校验规则、期望结果、使用场景、创建人、判断规则以及断言等中的一个或者多个。上述仅仅例举了几种具体的数据属性,软件测试数据中的数据属性还可以包括其他更多内容,且数据属性具体所包含的内容通常是由软件测试工具以及软件测试需求决定的,在此不再对数据属性所包含的内容一一例举详细说明,且本实施例不限制数据属性的具体内容。
[0036] 作为示例,本实施例可以在预先设置的数据属性集合的基础上确定软件测试数据所包含的所有数据属性以及各数据属性所对应的数据;如本实施例可以预先将用于软件测试的多个软件测试数据(如所有软件测试数据)所涉及到的所有数据属性分别存储在数据属性集合中,在需要确定上述获取到的软件测试数据所包含的各数据属性以及各数据属性所对应的数据时,可以先对获取到的软件测试数据进行预处理,如滤除软件测试数据中包含的辅助性内容(如标点符号等),从而可以提取出软件测试数据所包含的所有关键字;然后,再判断软件测试数据所包含的所有关键字中是否存在与数据属性集合中的数据属性相匹配的关键字,如果软件测试数据所包含的所有关键字中存在与数据属性集合中的数据属性相匹配的关键字,则将这些相匹配的关键字作为该软件测试数据所包含的数据属性。在确定出软件测试数据中所包含的数据属性之后,通常可以根据预设判别逻辑判断出软件测试数据中与该数据属性对应的数据,如根据预设判别逻辑从与数据属性的位置相邻的内容中查询该数据属性所对应的数据;再如对于嵌套式的数据属性可以根据预设判别逻辑判断数据属性之间的嵌套关系,并进一步根据预设判别逻辑确定出该嵌套关系所对应的数据等。
[0037] 由于用于软件测试的多个软件测试数据(如所有软件测试数据)所涉及到的所有数据属性通常是可以预期的,因此,本实施例可以利用该可预期的所有数据属性来设置数据属性集合,且本实施例可以在该数据属性集合的基础上采用多种不同的方式确定出任意一条软件测试数据所包含的各数据属性以及各数据属性分别对应的数据。另外,用于软件测试的多个软件测试数据(如所有软件测试数据)所涉及到的一些数据也是可以预期的,如判断规则中的信息以及断言中的内容等,本实施例可以利用该可预期的数据来设置数据集合,以确定出一条软件测试数据所包含的部分数据。本实施例不限制设置数据属性集合以及数据集合的具体实现方式,也不限制确定软件测试数据所包含的各数据属性以及各数据属性分别对应的数据的具体实现方式。
[0038] 作为示例,本实施例可以可选的根据一条软件测试数据所包含的各数据属性以及各数据属性各自对应的数据生成一条具有预定数据结构的中间测试数据。本实施例预先对中间测试数据的数据结构进行了相关设置,从而在从一条软件测试数据中确定出其所包含的所有数据属性以及数据时,可以根据中间测试数据的数据结构使该条软件测试数据所包含的所有数据属性以及数据形成中间测试数据,即软件测试数据被转换为中间测试数据。
[0039] 作为示例,本实施例所生成的中间测试数据可以存储于中间临时文件中,且该中间临时文件可以在其中的中间测试数据都被转换为用于软件云测试的软件云测试数据后删除。
[0040] 作为示例,本实施例中的中间测试数据所具有的预定数据结构应根据可预期的所有数据属性(即多个软件测试数据所涉及到的所有数据属性)来设置,本实施例所生成的所有中间测试数据均具有完全相同的数据结构。
[0041] 作为示例,本实施例可以利用预设模板来执行上述确定出软件测试数据所包含的各数据属性以及各数据属性各自对应的数据的操作以及转换为中间测试数据的操作,一个具体的例子,预先根据可预期的所有数据属性在预设模板中设置包含有所有数据属性的预定数据结构(如每一个数据属性都具有明确设置的固定位置等),使该预设模板具有数据属性集合;该预设模板中针对所有数据属性设置的预定数据结构决定了中间测试数据的数据结构,即预设模板中针对所有数据属性设置的预定数据结构即为中间测试数据的数据结构;由于预设模板中设置有用于软件测试的所有软件测试数据所涉及到的所有数据属性,因此,预设模板可以利用其包含的用于软件测试的所有软件测试数据所涉及到的所有数据属性识别出任意一条软件测试数据所包含的所有数据属性,且预设模板可以根据其内设置的相应的预设判别逻辑确定各数据属性各自对应的数据;预设模板还可以根据预定数据结构确定出软件测试数据所包含的所有数据属性分别在预定数据结构中的位置,并将各数据属性各自对应的数据填充到预设模板中的相应位置处。在将软件测试数据所包含的所有数据属性对应的数据分别填充到预定数据结构中的相应位置处之后,本实施例的预设模板还可以针对预定数据结构中未进行数据添加的位置自行设置相应的内容,如预设模板将未进行数据添加的位置处设置为缺省值或者无效值等。在将软件测试数据所包含的各数据属性各自对应的数据分别填充到预定数据结构的相应位置处并进行了数据添加等操作之后,生成一条具有预定数据结构的中间测试数据,即软件测试数据被预设模板转换为中间测试数据。
[0042] 作为示例,本实施例可以在将进行某一软件测试的所有的软件测试数据都转换成中间测试数据之后,再执行下述步骤S120,此时,中间临时文件中存储有进行该软件测试的所有中间测试数据。另外,本实施例也可以在将一条软件测试数据转换成中间测试数据时,立刻执行下述步骤S120,在该情况下,本实施例可以不设置中间临时文件。
[0043] S120、根据语义字典确定上述各数据属性分别对应的基于软件云测试的数据属性以及上述各数据属性各自对应的数据分别对应的基于软件云测试的数据。
[0044] 具体的,本实施例中的语义字典主要用于使用于传统的软件测试的软件测试数据与用于软件云测试的软件云测试数据之间语义相通。本实施例的语义字典中预先设置有多个映射关系,该映射关系即软件测试数据中的信息与软件云测试数据中的信息之间的映射关系,如软件测试数据中的数据属性与软件云测试数据中的数据属性之间的映射关系;再如软件测试数据中的数据属性对应的数据与软件云测试数据中的数据属性对应的数据之间的映射关系。语义字典中的映射关系通常是根据用于软件测试的多个软件测试数据(如所有软件测试数据)所涉及到的所有信息设置的。该语义字典可以通过数据库或者表等形式来存储。本实施例不限制语义字典的具体内容以及语义字典的表现形式等。
[0045] 本实施例可以在语义字典的各映射关系中查询上述确定出的软件测试数据中的各数据属性分别对应的基于软件云测试的数据属性,并在语义字典的各映射关系中查询上述确定出的软件测试数据中的各数据属性各自对应的数据分别对应的基于软件云测试的数据,从而将上述确定出的各数据属性以及各数据属性各自对应的数据转换为软件云测试环境可以正确理解的信息。
[0046] 作为示例,本实施例可以利用上述预设模板来实现在语义字典的各映射关系中查询上述确定出的软件测试数据中的各数据属性分别对应的基于软件云测试的数据属性操作以及在语义字典的各映射关系中查询上述确定出的软件测试数据中的各数据属性各自对应的数据分别对应的基于软件云测试的数据的操作,从而本实施例的预设模板可以对软件测试数据中的各数据属性以及各数据属性各自对应的数据(如每一条中间测试数据)进行正确解读。
[0047] S130、根据上述基于软件云测试的数据属性以及基于软件云测试的数据生成用于软件云测试的软件云测试数据。
[0048] 具体的,本实施例预先设置有多条生成规则,本实施例中的所有生成规则可以是基于用于进行传统的软件测试的各软件测试数据与不同类型的软件云测试数据之间的映射关系而设置的,在本实施例采用了中间测试数据的情况下,所有的生成规则可以参考中间测试数据的数据结构(如中间测试数据中的哪些字段中的内容为有效内容,哪些字段中的内容为无效内容等)。
[0049] 作为示例,软件云测试数据的类型通常有多种,在利用语义字典将中间测试数据中的各字段内容有效解读为基于软件云测试的数据属性以及基于软件云测试的数据之后,本实施例可以根据相应的生成规则将解读后的基于软件云测试的数据属性以及基于软件云测试的数据转换为相应类型的软件云测试数据。
[0050] 本实施例中的不同类型的软件云测试数据通常用于完成不同的软件云测试目的,且本实施例不限制不同类型的软件云测试数据的具体表现形式以及软件云测试数据的类型数量等。
[0051] 生成规则的一个具体的例子,一条生成规则可以被描述为:在中间测试数据中的第一字段和第三字段中的为有效数据(即来自软件测试数据中的数据),而中间测试数据中的其他字段为无效数据(即不是来自软件测试数据中的数据,如为缺省值或者为无效值等)的情况下,该中间测试数据对应具有第一种类型的软件云测试数据,且中间测试数据中的第一字段中的有效数据对应于具有第一种类型的软件云测试数据中的第一参数,而中间测试数据中的第三字段中的有效数据对应具有第一种类型的软件云测试数据中的第二参数。上述对生成规则的具体描述仅仅用于举例,本实施例并不限制生成规则的具体内容以及具体表现形式。
[0052] 作为示例,本实施例可以将生成规则设置于上述预设模板中,预设模板中的多条生成规则可以表现为树的形式,也可以表现为列表等形式。本实施例在需要将上述基于软件云测试的数据属性以及基于软件云测试的数据转换为软件云测试数据时,应根据该基于软件云测试的数据属性以及基于软件云测试的数据的具体情况在生成规则集合中查询(如从树的根节点开始向叶节点方向进行搜索查询),以确定该基于软件云测试的数据属性以及基于软件云测试的数据所对应的生成规则(如树中的某个叶节点),在查询到基于软件云测试的数据属性以及基于软件云测试的数据对应的生成规则后,根据该生成规则将上述基于软件云测试的数据属性以及基于软件云测试的数据转换为相应的软件云测试数据。本实施例不限制生成规则的具体表现形式以及在生成规则中查询上述基于软件云测试的数据属性以及基于软件云测试的数据所对应的生成规则的具体实现方式。
[0053] 有上述描述可知,本发明通过将软件测试数据所包含的各数据属性以及各数据属性各自对应的数据转换为中间测试数据,由于中间测试数据具有统一的数据结构,因此,不同的软件测试数据在被转换后,具有完全相同数据结构;从而本发明参考中间测试数据设置生成规则时,可以通过中间测试数据屏蔽软件测试工具,最终简化了生成规则的设置操作。
[0054] 实施例二、软件云测试的实现装置。
[0055] 本实施例中的软件云测试的实现装置通常被设置于计算机设备中,优选的,本实施例所记载的软件云测试的实现装置可以设置在台式计算机、服务器以及云设备中。
[0056] 本实施例的软件云测试的实现装置的主要结构如图2所示。
[0057] 图2中,本实施例的软件云测试的实现装置主要包括:用于获取软件测试数据的装置(下述简称“软件测试数据获取装置200”)、用于确定上述软件测试数据所包含的各数据属性以及各数据属性各自对应的数据的装置(下述简称“属性及数据确定装置210”)、用于根据语义字典确定上述各数据属性分别对应的基于软件云测试的数据属性以及上述各数据属性各自对应的数据分别对应的基于软件云测试的数据的装置(下述简称“属性及数据转换装置220”)以及用于根据上述基于软件云测试的数据属性以及基于软件云测试的数据生成用于软件云测试的软件云测试数据的装置(下述简称“软件云测试数据生成装置230”)。
[0058] 下面参照具体实施例对软件云测试的实现装置进行说明。
[0059] 软件测试数据获取装置200主要用于获取软件测试数据。
[0060] 具体的,软件测试数据获取装置200获取的软件测试数据是指需要迁移到云环境中进行软云测试的软件测试数据,如软件测试数据通常是指用于进行传统的软件测试的测试数据。
[0061] 软件测试数据获取装置200获取的该软件测试数据通常主要包括:软件测试用例;如该软件测试用例可以为基于JMeter软件测试工具的软件测试用例,再如该软件测试用例也可以为基于LoadRunner软件测试工具的软件测试用例。上述基于JMeter软件测试工具和基于LoadRunner软件测试工具是目前两款较常使用的软件测试工具,软件测试数据获取装置200获取的软件测试数据还可以为基于其他软件测试工具的软件测试用例,如软件测试数据获取装置200获取基于私有的软件测试工具的软件测试用例等。
[0062] 另外,软件测试数据获取装置200获取的软件测试数据还可以包括用于软件测试且除软件测试用例之外的其他形式的软件测试数据,如软件测试数据获取装置200获取利用数据描述的服务等。本实施例不限制软件测试数据获取装置200获取的软件测试数据、软件测试工具以及软件测试用例等的具体表现形式。
[0063] 作为示例,软件测试数据获取装置200可以通过读取的方式获取到软件测试数据,如软件测试数据获取装置200从预先存储的软件测试数据文件中读取软件测试数据。软件测试数据获取装置200也可以通过接收的方式获取到软件测试数据,如软件测试数据获取装置200通过接收用户输入的信息而获取到软件测试数据,再如软件测试数据获取装置200通过接收其他设备传输来的信息而获取到软件测试数据等。本实施例不限制软件测试数据获取装置200获取软件测试数据的具体实现方式。
[0064] 针对一个软件利用软件测试工具对其进行软件测试所使用到的软件测试数据的数量通常很多,如包括数据众多的软件测试用例等,软件测试数据获取装置200可以逐条获取软件测试数据。
[0065] 属性及数据确定装置210主要用于确定上述软件测试数据所包含的各数据属性以及各数据属性各自对应的数据;且该属性及数据确定装置210可以可选的包括:用于获取上述软件测试数据中的关键字的装置(下述简称为“关键字获取装置”,图中未示出)以及用于利用预设模板确定上述软件测试数据中的属于数据属性的关键字以及属于数据属性对应的数据的关键字的装置(下述简称为“关键字确定装置”,图中未示出)。另外,该属性及数据确定装置210还可以可选的包括:用于根据上述软件测试数据所包含的各数据属性以及各数据属性各自对应的数据生成具有预定数据结构的中间测试数据的装置(下述简称为“中间测试数据生成装置”,图中未示出)。还有,该属性及数据确定装置210还可以可选的包括:用于将上述中间测试数据存储于中间临时文件中的装置(下述简称为“中间临时存储装置”,图中未示出)
[0066] 具体的,本实施例中的一条软件测试数据中通常包含有一个或者多个数据属性以及各数据属性分别对应的数据,也就是说,一条软件测试数据中通常包含有一个或者多个具体的数据以及用于分别描述各数据所属数据属性的一个或者多个描述信息。本实施例中的数据属性主要用于体现数据所对应的含义;在将软件测试数据中所包含的所有数据分别看作是不同字段的数据的情况下,本实施例可以将软件测试数据中所包含的所有数据属性分别看作是相应字段的字段名称。
[0067] 本实施例的数据属性的一个具体的例子,软件测试数据所包含的数据属性可以具体为:输入参数、执行周期、校验规则、期望结果、使用场景、创建人、判断规则以及断言等中的一个或者多个。上述仅仅例举了几种具体的数据属性,软件测试数据中的数据属性还可以包括其他更多内容,且数据属性具体所包含的内容通常是由软件测试工具以及软件测试需求决定的,在此不再对数据属性所包含的内容一一例举详细说明,且本实施例不限制数据属性的具体内容。
[0068] 作为示例,属性及数据确定装置210可以在预先设置的数据属性集合的基础上确定软件测试数据所包含的所有数据属性以及各数据属性所对应的数据;如属性及数据确定装置210可以预先将用于软件测试的多个软件测试数据(如所有软件测试数据)所涉及到的所有数据属性分别存储在数据属性集合中,在需要确定上述获取到的软件测试数据所包含的各数据属性以及各数据属性所对应的数据时,属性及数据确定装置210(如关键字获取装置)可以先对获取到的软件测试数据进行预处理,如滤除软件测试数据中包含的辅助性内容(如标点符号等),从而属性及数据确定装置210(如关键字获取装置)可以提取出软件测试数据所包含的所有关键字;然后,属性及数据确定装置210(如关键字确定装置)再判断软件测试数据所包含的所有关键字中是否存在与数据属性集合中的数据属性相匹配的关键字,如果软件测试数据所包含的所有关键字中存在与数据属性集合中的数据属性相匹配的关键字,则属性及数据确定装置210(如关键字确定装置)将这些相匹配的关键字作为该软件测试数据所包含的数据属性。在确定出软件测试数据中所包含的数据属性之后,属性及数据确定装置210(如关键字确定装置)通常可以根据预设判别逻辑判断出软件测试数据中与该数据属性对应的数据,如属性及数据确定装置210(如关键字确定装置)根据预设判别逻辑从与数据属性的位置相邻的内容中查询该数据属性所对应的数据;再如属性及数据确定装置210(如关键字确定装置)对于嵌套式的数据属性可以根据预设判别逻辑判断数据属性之间的嵌套关系,并进一步属性及数据确定装置210根据预设判别逻辑确定出该嵌套关系所对应的数据等。
[0069] 由于用于软件测试的多个软件测试数据(如所有软件测试数据)所涉及到的所有数据属性通常是可以预期的,因此,属性及数据确定装置210可以利用该可预期的所有数据属性来设置数据属性集合,且属性及数据确定装置210可以在该数据属性集合的基础上采用多种不同的方式确定出任意一条软件测试数据所包含的各数据属性以及各数据属性分别对应的数据。另外,用于软件测试的多个软件测试数据(如所有软件测试数据)所涉及到的一些数据也是可以预期的,如判断规则中的信息以及断言中的内容等,属性及数据确定装置210可以利用该可预期的数据来设置数据集合,以确定出一条软件测试数据所包含的部分数据。本实施例不限制属性及数据确定装置210设置数据属性集合以及数据集合的具体实现方式,也不限制属性及数据确定装置210确定软件测试数据所包含的各数据属性以及各数据属性分别对应的数据的具体实现方式。
[0070] 作为示例,属性及数据确定装置210(如中间测试数据生成装置)可以可选的根据一条软件测试数据所包含的各数据属性以及各数据属性各自对应的数据生成一条具有预定数据结构的中间测试数据。属性及数据确定装置210(如中间测试数据生成装置)预先对中间测试数据的数据结构进行了相关设置,从而在从一条软件测试数据中确定出其所包含的所有数据属性以及数据时,属性及数据确定装置210(如中间测试数据生成装置)可以根据中间测试数据的数据结构使该条软件测试数据所包含的所有数据属性以及数据形成中间测试数据,即软件测试数据被属性及数据确定装置210(如中间测试数据生成装置)转换为中间测试数据。
[0071] 作为示例,属性及数据确定装置210(如中间测试数据生成装置)所生成的中间测试数据可以被中间临时存储装置存储于中间临时文件中,且该中间临时文件可以在其中的中间测试数据都被转换为用于软件云测试的软件云测试数据后由属性及数据确定装置210删除。
[0072] 作为示例,本实施例中的中间测试数据所具有的预定数据结构应根据可预期的所有数据属性(即多个软件测试数据所涉及到的所有数据属性)来设置,属性及数据确定装置210所生成的所有中间测试数据均具有完全相同的数据结构。
[0073] 作为示例,属性及数据确定装置210可以利用预设模板来执行上述确定出软件测试数据所包含的各数据属性以及各数据属性各自对应的数据的操作以及转换为中间测试数据的操作,一个具体的例子,属性及数据确定装置210预先根据可预期的所有数据属性在预设模板中设置包含有所有数据属性的预定数据结构(如每一个数据属性都具有明确设置的固定位置等),使该预设模板具有数据属性集合;该预设模板中针对所有数据属性而设置的预定数据结构决定了中间测试数据的数据结构,即预设模板中针对所有数据属性设置的预定数据结构即为中间测试数据的数据结构;由于预设模板中设置有用于软件测试的所有软件测试数据所涉及到的所有数据属性,因此,属性及数据确定装置210可以利用预设模板中包含的用于软件测试的所有软件测试数据所涉及到的所有数据属性识别出任意一条软件测试数据所包含的所有数据属性,且属性及数据确定装置210可以根据预设模板内设置的相应的预设判别逻辑确定各数据属性各自对应的数据;属性及数据确定装置210还可以根据预定数据结构确定出软件测试数据所包含的所有数据属性分别在预定数据结构中的位置,并将各数据属性各自对应的数据填充到预设模板中的相应位置处。在将软件测试数据所包含的所有数据属性对应的数据分别填充到预定数据结构中的相应位置处之后,属性及数据确定装置210还可以针对预定数据结构中未进行数据添加的位置自行设置相应的内容,如属性及数据确定装置210将未进行数据添加的位置处设置为缺省值或者无效值等。在将软件测试数据所包含的各数据属性各自对应的数据分别填充到预定数据结构的相应位置处并进行了数据添加等操作之后,属性及数据确定装置210生成一条具有预定数据结构的中间测试数据,即软件测试数据被属性及数据确定装置210转换为中间测试数据。
[0074] 作为示例,属性及数据确定装置210可以在将进行某一软件测试的所有的软件测试数据都转换成中间测试数据之后,触发属性及数据转换装置220执行相应的操作,此时,中间临时文件中存储有进行该软件测试的所有中间测试数据。另外,属性及数据确定装置210也可以在将一条软件测试数据转换成中间测试数据时,立刻触发属性及数据转换装置
220执行相应的操作,在该情况下,本实施例可以不设置中间临时文件。
[0075] 属性及数据转换装置220主要用于根据语义字典确定上述各数据属性分别对应的基于软件云测试的数据属性以及上述各数据属性各自对应的数据分别对应的基于软件云测试的数据。
[0076] 具体的,本实施例中的语义字典主要用于使用于传统的软件测试的软件测试数据与用于软件云测试的软件云测试数据之间语义相通。本实施例的语义字典中预先设置有多个映射关系,该映射关系即软件测试数据中的信息与软件云测试数据中的信息之间的映射关系,如软件测试数据中的数据属性与软件云测试数据中的数据属性之间的映射关系;再如软件测试数据中的数据属性对应的数据与软件云测试数据中的数据属性对应的数据之间的映射关系。语义字典中的映射关系通常是根据用于软件测试的多个软件测试数据(如所有软件测试数据)所涉及到的所有信息设置的。该语义字典可以通过数据库或者表等形式来存储。本实施例不限制语义字典的具体内容以及语义字典的表现形式等。
[0077] 属性及数据转换装置220可以在语义字典的各映射关系中查询上述确定出的软件测试数据中的各数据属性分别对应的基于软件云测试的数据属性,并在语义字典的各映射关系中查询上述确定出的软件测试数据中的各数据属性各自对应的数据分别对应的基于软件云测试的数据,从而属性及数据转换装置220将上述确定出的各数据属性以及各数据属性各自对应的数据转换为软件云测试环境可以正确理解的信息。
[0078] 作为示例,属性及数据转换装置220可以利用上述预设模板来实现在语义字典的各映射关系中查询上述确定出的软件测试数据中的各数据属性分别对应的基于软件云测试的数据属性操作以及在语义字典的各映射关系中查询上述确定出的软件测试数据中的各数据属性各自对应的数据分别对应的基于软件云测试的数据的操作,从而本实施例的预设模板可以对软件测试数据中的各数据属性以及各数据属性各自对应的数据(如每一条中间测试数据)进行正确解读。
[0079] 软件云测试数据生成装置230主要用于根据基于软件云测试的数据属性以及基于软件云测试的数据生成用于软件云测试的软件云测试数据。
[0080] 软件云测试数据生成装置230可以可选的包括:用于在生成规则集合中查询上述基于软件云测试的数据属性以及基于软件云测试的数据对应的生成规则的装置(下述简称“生成规则查询装置,”,图中未示出)以及用于根据上述对应的生成规则将基于软件云测试的数据属性以及基于软件云测试的数据输出的信息生成用于软件云测试的软件云测试数据的装置(下述简称“云数据生成装置”,图中未示出)。
[0081] 具体的,软件云测试数据生成装置230预先设置有多条生成规则,软件云测试数据生成装置230中的所有生成规则可以是软件云测试数据生成装置230基于用于进行传统的软件测试的各软件测试数据与不同类型的软件云测试数据之间的映射关系而设置的,在本实施例采用了中间测试数据的情况下,所有的生成规则可以参考中间测试数据的数据结构(如中间测试数据中的哪些字段中的内容为有效内容,哪些字段中的内容为无效内容等)。
[0082] 作为示例,软件云测试数据的类型通常有多种,在属性及数据转换装置220利用语义字典将中间测试数据中的各字段内容有效解读为基于软件云测试的数据属性以及基于软件云测试的数据之后,软件云测试数据生成装置230可以根据相应的生成规则将解读后的基于软件云测试的数据属性以及基于软件云测试的数据转换为相应类型的软件云测试数据。
[0083] 本实施例中的不同类型的软件云测试数据通常用于完成不同的软件云测试目的,且本实施例不限制不同类型的软件云测试数据的具体表现形式以及软件云测试数据的类型数量等。
[0084] 软件云测试数据生成装置230设置的生成规则的一个具体的例子,一条生成规则可以被描述为:在中间测试数据中的第一字段和第三字段中的为有效数据(即来自软件测试数据中的数据),而中间测试数据中的其他字段为无效数据(即不是来自软件测试数据中的数据,如为缺省值或者为无效值等)的情况下,该中间测试数据对应具有第一种类型的软件云测试数据,且中间测试数据中的第一字段中的有效数据对应于具有第一种类型的软件云测试数据中的第一参数,而中间测试数据中的第三字段中的有效数据对应具有第一种类型的软件云测试数据中的第二参数。上述对生成规则的具体描述仅仅用于举例,本实施例并不限制软件云测试数据生成装置230设置的生成规则的具体内容以及具体表现形式。
[0085] 作为示例,软件云测试数据生成装置230可以将生成规则设置于上述预设模板中,预设模板中的多条生成规则可以表现为树的形式,也可以表现为列表等形式。软件云测试数据生成装置230在需要将上述基于软件云测试的数据属性以及基于软件云测试的数据转换为软件云测试数据时,应根据该基于软件云测试的数据属性以及基于软件云测试的数据的具体情况在生成规则集合中查询(如从树的根节点开始向叶节点方向进行搜索查询),以确定该基于软件云测试的数据属性以及基于软件云测试的数据所对应的生成规则(如树中的某个叶节点),在查询到基于软件云测试的数据属性以及基于软件云测试的数据对应的生成规则后,软件云测试数据生成装置230根据该生成规则将上述基于软件云测试的数据属性以及基于软件云测试的数据转换为相应的软件云测试数据。本实施例不限制生成规则的具体表现形式以及软件云测试数据生成装置230在生成规则中查询上述基于软件云测试的数据属性以及基于软件云测试的数据所对应的生成规则的具体实现方式。
[0086] 需要注意的是,本发明可以在软件和/或者软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(ASIC)或者任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器、磁或者光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
[0087] 对于本领域技术人员而言,显然,本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一方面来看,均应该将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明来限定,因此,旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应该将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一以及第二等词语用来表示名称,而并不表示任何特定顺序。
[0088] 虽然前面特别示出并且描述了示例性实施例,但是本领域技术人员将会理解的是,在不背离权利要求书的精神和范围的情况下,在其形式和细节方面可以有所变化。这里所寻求的保护在所附权利要求书中做了阐述。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈