CN110674024A - 电子设备集成测试系统及其方法 - Google Patents

电子设备集成测试系统及其方法 Download PDF

Info

Publication number
CN110674024A
CN110674024A CN201810709690.6A CN201810709690A CN110674024A CN 110674024 A CN110674024 A CN 110674024A CN 201810709690 A CN201810709690 A CN 201810709690A CN 110674024 A CN110674024 A CN 110674024A
Authority
CN
China
Prior art keywords
test
source code
electronic device
resource
description file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810709690.6A
Other languages
English (en)
Inventor
支农
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Memblaze Technology Co Ltd
Original Assignee
Beijing Memblaze Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Memblaze Technology Co Ltd filed Critical Beijing Memblaze Technology Co Ltd
Priority to CN201810709690.6A priority Critical patent/CN110674024A/zh
Publication of CN110674024A publication Critical patent/CN110674024A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Abstract

提供了电子设备集成测试系统及其方法。所提供的电子设备的集成测试方法,包括:获取用于电子设备的源代码与测试描述文件;根据测试描述文件,获取要使用的测试资源与测试用例;获取根据所述源代码构建的可执行代码;所述测试资源在所述电子设备上安装所述可执行代码,并执行所述测试用例来测试所述电子设备。

Description

电子设备集成测试系统及其方法
技术领域
本申请涉及测试技术,尤其涉及对开发阶段具有多个版本的电子设备进行测试的集成测试系统以及在集成测试系统中所应用的测试方法。
背景技术
一些电子设备中运行的软件或固件(为了清楚与简明的目的,下文统称为固件,以及将运行在电子设备外部的用于测试电子设备的计算机或服务器中的指令序列称为测试软件)需要被充分测试以确保电子设备的质量与可靠性。
随着电子设备的固件被迭代开发,电子设备的功能日益复杂,测试软件要检查的目标也随之变化。需要测试软件充分了解当前被测试的电子设备的固件所提供的特性,以便知晓有当前被测试的电子设备有哪些待测试的特征,以及这些待测试特性的验收标准。
在申请号为2018106300065、发明名称为电子设备测试方法与装置的中国专利申请中提供了用于测试电子设备的技术方案。
发明内容
然而,测试软件与电子设备固件往往由不同团队开发。由于各自的开发进度,不同团队之间对当前的被测试的电子设备的特性的理解常常存在差异,导致测试软件难以准确获知被存储设备的测试特性,和/或设置了错误的验收标准。例如,测试软件要测试存储设备的多命名空间特性,而被测试的存储设备的固件尚不支持多命名空间特性,在此情况下测试软件提示测试失败,但据此并不能确认存储设备的任何缺陷。随着电子设备变得复杂,开发周期变长,电子设备的硬件与固件版本增多,为测试软件与电子设备之间的协同带来进一步的问题。
电子设备开发过程还用到多种工具系统,诸如版本管理系统、持续集成系统,电子设备的测试过程还涉及多种用于执行测试的计算机、服务器,以及被测试设备的样品,用于向被测试设备安装软件的工具等。这些工具系统提供了测试电子设备的综合环境。也为测试过程增加了进一步的复杂性,使得测试过程更容易引入各种工具系统的协同问题。
需要解决上述问题。
根据本申请的第一方面,提供了根据本申请第一方面的第一电子设备的集成测试方法,包括:获取用于电子设备的源代码与测试描述文件;根据测试描述文件,获取要使用的测试资源与测试用例;获取根据所述源代码构建的可执行代码;所述测试资源在所述电子设备上安装所述可执行代码,并执行所述测试用例来测试所述电子设备。
根据本申请第一方面的第一电子设备的集成测试方法,提供了根据本申请第一方面的第二电子设备的集成测试方法,还包括:响应于获取用于电子设备的所述源代码,用所述源代码构建可执行代码,并将构建的可执行代码存储到可执行代码库;响应于用所述源代码构建可执行代码成功,将所述源代码存储到源代码库;其中存储在源代码库中的所述源代码被添加了标签。
根据本申请第一方面的第一或第二电子设备的集成测试方法,提供了根据本申请第一方面的第三电子设备的集成测试方法,其中根据所述测试描述文件的指示,从测试用例库获取所述测试用例。
根据本申请第一方面的第一至第三电子设备的集成测试方法之一,提供了根据本申请第一方面的第四电子设备的集成测试方法,还包括:根据所述测试描述文件的指示,识别用于测试所述电子设备的测试资源,其中所述测试资源耦合到所述电子设备;指示所述测试资源在所述电子设备上安装所述可执行代码,并执行所述测试用例来测试所述电子设备。
根据本申请第一方面的第四电子设备的集成测试方法,提供了根据本申请第一方面的第五电子设备的集成测试方法,其中所述测试资源根据所述测试文件的指示,从可执行代码库获取所述可执行代码,以及从测试用例库获取所述测试用例。
根据本申请第一方面的第四或第五电子设备的集成测试方法,提供了根据本申请第一方面的第六电子设备的集成测试方法,其中根据所述测试文件指示测试的类型,选择同所述类型对应的测试资源;所述测试资源根据所述测试文件的指示,从可执行代码库获取对应类型的测试用例。
根据本申请第一方面的第二至第六电子设备的集成测试方法之一,提供了根据本申请第一方面的第七电子设备的集成测试方法,其中从源代码库获取所述源代码的标签,根据所述标签对应的业务规则确定要使用的测试资源以及测试的类型;选择同所述类型对应的测试资源,从可执行代码库获取对应类型的所述测试用例。
根据本申请第一方面的第七电子设备的集成测试方法,提供了根据本申请第一方面的第八电子设备的集成测试方法,还包括:响应于执行所述测试用例测试所述电子设备得到了预期的结果,将所述源代码存储到所述源代码库并为所述源代码添加第二标签。
根据本申请第一方面的第一至第八电子设备的集成测试方法之一,提供了根据本申请第一方面的第九电子设备的集成测试方法,还包括:响应于更新用于所述电子设备的源代码,获取用于电子设备的源代码与测试描述文件,其中所述测试描述文件与所述源代码被一同更新。
根据本申请第一方面的第一至第八电子设备的集成测试方法之一,提供了根据本申请第一方面的第十电子设备的集成测试方法,还包括:响应于接收到测试任务,获取用于电子设备的源代码与测试描述文件,其中所述测试任务指示了要被测试的源代码,以及同所述源代码相关联地存储所述测试描述文件。
根据本申请第一方面的第一至第十电子设备的集成测试方法之一,提供了根据本申请第一方面的第十一电子设备的集成测试方法,还包括:根据所述测试描述文件,从测试用例库获取第二测试用例,执行所述的第二测试用例以分析所述源代码是否符合要求。
根据本申请第一方面的第一至第十一电子设备的集成测试方法之一,提供了根据本申请第一方面的第十二电子设备的集成测试方法,还包括:根据测试描述文件,获取多个测试任务;为每个测试任务获取要使用的测试资源与测试用例;以及在获取的各个测试资源的所述电子设备上安装所述可执行代码,并执行对应的测试用例,来同时执行所述多个测试任务。
根据本申请的第二方面,提供了根据本申请第二方面的第一电子设备的集成测试系统,包括:源代码获取模块,用于获取用于电子设备的源代码与测试描述文件;测试代理模块,用于根据测试描述文件,获取要使用的测试资源与测试用例;构建模块,用于获取根据所述源代码构建的可执行代码;执行模块,用于所述测试资源在所述电子设备上安装所述可执行代码,并执行所述测试用例来测试所述电子设备。
根据本申请的第三方面,提供了根据本申请第三方面的第一电子设备的集成测试系统,包括:构建服务器,用于获取用于电子设备的源代码与测试描述文件;持续集成服务器,用于根据测试描述文件,获取要使用的测试资源与测试用例;以及获取根据所述源代码构建的可执行代码;测试代理,用于在耦合到所述测试资源的所述电子设备上安装所述可执行代码,并执行所述测试用例来测试所述电子设备。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1展示了根据本申请实施例的电子设备的测试系统的框图;
图2展示了根据本申请实施例的测试系统实施测试的流程图;以及
图3展示了根据本申请又一实施例的电子设备的测试系统的框图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1展示了根据本申请实施例的电子设备的测试系统的框图。
根据图1展示的实施例的测试系统包括构建服务器(110)、可执行代码库120、源代码库130、测试用例库140与一个或多个测试资源组。图1中展示了测试资源组160、162与166。各个测试资源组中包括一个或多个测试资源,以及测试代理。测试资源组160包括测试资源1-1、测试资源1-2与测试资源1-3。测试资源组162包括测试资源2-1、测试资源2-2与测试资源2-3。测试资源组166包括测试资源3-1、测试资源3-2与测试资源3-3。测试资源是例如用于测试电子设备的计算机或服务器。可选地,测试资源包括被测试电子设备的专用测试设备,和/或被测试的电子设备。
构建服务器用于接收更新的源代码,以及测试描述文件,并编译/构建源代码,以生成用于电子设备的可执行代码。构建服务器还解析测试描述文件,根据测试描述文件的内容,指示测试资源组的测试代理来实施相关的测试。
根据本申请的实施例,连同被更新的源代码,向构建服务器发布测试描述文件。测试描述文件描述了为测试使用了当前被更新的源代码的测试设备,要使用的测试资源、测试软件和/或测试方法等信息。
作为举例,测试描述文件指示对当前更新的源代码,使用的测试资源为包括被测试电子设备的服务器,以及通过运行指定的测试软件来实施测试。测试描述文件使用例如IP地址来标识作为测试资源的服务器,使用硬件序列号来标识作为测试资源的被测试电子设备,使用测试软件名称(以及可选地版本号)来标识测试软件。作为又一个例子,测试描述文件指示使用服务器与电子设备作为测试资源,而构建服务器例如通过询问测试代理来获得可用的测试资源。
响应于接收了更新的源代码,构建服务器110将编译/构建源代码所生成的可执行代码存储到可执行代码库120。可选地,构建服务器110还为每次构建生成版本标识(例如版本号),并将生成的版本标识同生成的可执行代码相关联地存储到可执行代码库120,从而可依据版本标识从可执行代码库120获取对应的可执行代码。
构建服务器110还将接收的源代码连同版本标识相关联地存储到源代码库130。可选地,仅在从接收的源代码生成可执行代码成功的情况下,才将接收的源代码存储到源代码库130。作为举例,源代码库130是运行了GIT系统或SVN系统(版本管理系统)的服务器。
测试用例库存储了多种诸如测试软件的测试用例。测试资源通过执行测试用例来对被测试电子设备实施测试。测试描述文件指示了要使用的测试用例。例如,测试描述文件指示测试用例的名字,或者指示测试用例的类型(例如,单元测试、冒烟测试、回归测试),而从测试用例库中获取具有所指示的类型的测试用例。
构建服务器110根据测试描述文件指示的测试资源(例如,测试资源3-1),得到具有该测试资源的测试资源组(例如,测试资源组166)。构建服务器110同测试管理测试资源组166的测试代理180通信,以指示测试代理180在测试资源3-1上执行测试。根据构建服务器110的指示,测试代理180从可执行代码库120获取要被测试的同更新的源代码版本号相对应的可执行文件E,将可执行文件E安装到测试资源3-1的被测试电子设备。构建服务器110还根据测试描述文件从测试用例库140获取测试软件,并将获取的测试软件发送给测试代理180,测试代理180在测试资源3-1上运行接收的测试软件来对被测试电子设备实施测试。
在可选的实施方式中,构建服务器110根据测试描述文件指示的测试资源(例如,测试资源3-1),得到具有该测试资源的测试资源组(例如,测试资源组166)。构建服务器从测试资源组166的测试代理180获取测试资源3-1的访问接口,并将要被测试的可执行文件E与从测试数据库140获取的测试软件提供给测试资源3-1。测试资源3-1获取要被测试的可执行文件E,将可执行文件E安装到被测试电子设备,并运行测试软件来对被测试电子设备实施测试。
可选地,测试描述文件还指示对源代码进行分析,以检查源代码是否符合要求(例如,是否符合编码规则、是否存在内存泄漏、是否正确标注了作者信息等)。响应于测试描述文件指示对源代码进行分析,测试代理还从源代码库130获取指定的源代码,通过例如测试资源3-1分析获取的源代码是否符合要求。可选地,测试代理还从测试用例库140获取用于分析源代码是否符合要求的软件。
更新的源代码指示了电子设备的更新的版本。根据本申请的实施例,连同更新的源代码而提供测试描述文件,使得测试描述文件体现了更新的源代码所需的测试需求。优选地,由更新的源代码的开发人员提供测试描述文件,使得测试描述文件的内容同更新的源代码对测试的需求一致。通过要求在向构建服务器提供更新的源代码的同时一并提供测试描述文件,使得相同的提供方(例如开发人员)提供更新的源代码与测试描述文件,避免了测试描述文件与被测试电子设备的版本的不一致。
图2展示了根据本申请实施例的测试系统实施测试的流程图。
用户向例如构建服务器110(也参看图1)提供更新的源代码与测试描述文件,构建服务器获取更新的源代码与测试描述文件(210)。构建服务器为获取的源代码生成版本号,并将源代码存储到源代码库130(220)。可选地,构建服务器110响应于每次获取了更新的源代码而生成唯一的版本号。构建服务器110编译/构建获取的源代码,生成用于被测试电子的可执行代码,并将生成的可执行代码存储到可执行代码库120(230)。可选地,构建服务器110也同可执行代码对应的版本号存储到可执行代码库。例如,同可执行代码对应的版本号,是例如用于构建可执行代码的源代码的版本号,或者是构建服务器为每次构建可执行代码而生成的版本号。
构建服务器110还继续同源代码一并获取的测试描述文件,从测试描述文件中获取为实施测试所需的测试资源与测试用例(240)。测试资源是例如用于执行测试的服务器的标识(例如IP地址、操作系统账户信息等)、为运行测试所使用的电子设备的标识(例如,硬件序列号)或类型(例如,内存大小)测试用例是例如要被运行的测试软件,通过作为测试资源的服务器运行测试软件来对被测试的电子设备施加测试激励。构建服务器110还根据从测试文件获取的测试资源获得管理测试资源的测试代理(例如,测试代理180)。
构建服务器110通过测试代理指示测试描述文件所记录的测试资源实施测试(250)。在一个例子中,构建服务器110从可执行代码库120获取指定版本的可执行代码,将获取的可执行代码提供给测试代理(例如,测试代理180);构建服务器110从测试用例库140获取测试软件,将获取的测试软件提供给测试代理180。构建服务器110还将被指定的测试资源标识(例如,测试资源3-1)提供给测试代理180。测试代理180作为响应,将收到的指定版本的可执行代码安装到同测试资源3-1(例如,测试服务器)绑定的被测试电子设备,以及利用测试资源3-1运行所接收的测试软件,以对被测试电子设备实施测试。在又一个例子中,构建服务器110将测试描述文件指定的可执行代码版本、指定的测试软件标识以及指定的测试资源提标识提供给例如测试代理180。测试代理180将接收的指定的可执行代码版本与指定的测试软件标识提供给测试资源3-1(例如,测试服务器),测试资源3-1根据接收的指定的可执行代码版本与指定的测试软件标识,分别从可执行代码库120获取指定版本的可执行代码并安装在耦合到自身的被测试电子设备,从测试用例库140获取指定的测试软件,运行获取的测试软件来对被测试电子设备实施测试。
图3展示了根据本申请又一实施例的电子设备的测试系统的框图。
根据图3展示的实施例的测试系统包括构建服务器(310)、可执行代码库320、源代码库330、测试用例库340、持续集成服务器350、可选地业务规则库380与一个或多个测试资源组。图3中展示了测试资源组360、362与366。各个测试资源组中包括一个或多个测试资源,以及测试代理。
构建服务器310用于接收更新的源代码,以及测试描述文件,并编译/构建源代码,以生成用于电子设备的可执行代码。构建服务器310将编译/构建源代码所生成的可执行代码存储到可执行代码库320。可选地,提供给构建服务器310的源代码中还指示了源代码的版本标识(例如版本号),构建服务器310将版本标识同生成的可执行代码相关联地存储到可执行代码库320。提供给构建服务器310的源代码(包括测试描述文件)还被存储到源代码库330。
可选地,更新的源代码(包括测试描述文件)首先被存储到源代码库330,以及构建服务器从源代码库330获得更新的源代码(包括测试描述文件)。
依然可选地,根据本申请一个实施例的测试系统还包括版本管理服务器(未示出)。更新的源代码(包括测试描述文件)被提交给版本管理服务器。版本管理服务器为更新的源代码(包括测试描述文件)生成版本标识,并提交给构建服务器310。仅在构建服务器310从向版本管理服务器指示根据接收的源代码生成可执行代码成功的情况下,版本管理服务器才将源代码(包括测试描述文件)存储到源代码库330。
源代码库330中,各个版本的源代码被组织为树形结构。图3展示了具有2个分支(主干分支与DEV分支)的源代码版本树。版本树的分支上记录了多个版本的源代码。版本树的分支上的箭头方向指示了版本被更新的方向。在版本被更新的方向上,在后版本的源代码是对在前版本的源代码的更新。在版本树中,一些重要的版本的源代码被附加标记了标签。图3展示了位于主干分支上的标签1、标签2与标签4,以及位于DEV分支上的标签3。标签3所指示的版本来源于对标签2所指示的版本的修改。而标签4所指示的版本来源于将标签3所指示的版本合并到主干后得到的版本。标签指示了例如当前版本的类型(测试版本、基准版本、发布版本、性能升级版本等)。作为举例,标签3所指示的版本为测试版本,而标签4所指示的版本为发布版本。
构建服务器310向持续集成服务器350指示对源代码构建成功。响应于收到构建服务器310的指示,持续集成服务器350从构建服务器310或者源代码库330获取测试描述文件。持续集成服务器350还解析测试描述文件,根据测试描述文件的内容,指示测试资源组的测试代理来实施相关的测试。
根据本申请的实施例,连同被更新的源代码,向构建服务器发布测试描述文件。测试描述文件描述了为测试使用了当前被更新的源代码的测试设备,要使用的测试资源、测试软件和/或测试方法等信息。
作为举例,测试描述文件指示对当前更新的源代码,使用的测试资源类型。持续集成服务器根据测试描述文件指示的测试资源类型,选择能提供被指示的测试资源类型的测试资源组。例如,被指示的测试资源类型,是被绑定了被测试电子设备的测试服务器,持续集成服务器350查询业务规则库380以获知哪个测试资源组能提供被指示的测试资源类型。
作为又一个例子,测试描述文件指示了测试资源的标识(例如IP地址),持续集成服务器350根据测试资源标识访问测试资源而无须查询业务规则库380。
测试用例库340存储了多种诸如测试软件的测试用例。继续集成服务器350根据测试描述文件的指示从测试用例库340获取测试用例并提供给测试资源。测试资源通过执行测试用例来对被测试电子设备实施测试。测试描述文件指示了要使用的测试用例。例如,测试描述文件指示测试用例的名字,或者指示测试用例的类型(例如,单元测试、冒烟测试、回归测试),而从测试用例库中获取具有所指示的类型的测试用例。
可选地,持续集成服务器350根据从源代码库330获得的当前版本的源代码的标签来识别要使用的测试用例类型。例如当前版本的源代码标签指示“测试版本”,持续集成服务器350查询业务规则库380获得对于“测试版本”源代码要执行单元测试与冒烟测试类型的测试用例。若当前版本的源代码标签指示“发布版本”,持续集成服务器350查询业务规则库360获得对于“发布版本”源代码要执行回归测试类型的测试用例。可选地,不使用单独的业务规则库380,而由持续集成服务器350来提供业务规则库的功能。
依然可选地,业务规则库380还指示当前版本的源代码的标签与测试资源的关联。例如,业务规则库380的业务规则指示,测试资源组360用于执行对“测试版本”源代码的测试,测试资源组362用于执行对“基准版本”源代码的测试,而测试资源组366用于执行对“发布版本”源代码的测试。持续集成服务器350根据当前版本的源代码的标签,而选择测试资源组。
作为举例,完成了某新功能的源代码开发。新开发的源代码中还包括测试描述文件。构建服务器310向持续集成服务器350指示对新开发的源代码构建成功。所开发的源代码被记录到源代码库330的DEV分支,以及还为该版本源代码附加了“标签3”。持续集成服务器350根据从源代码库330获得“标签3”对应版本的源代码的标签识别要对应“测试版本”的测试用例。程序集成服务器350指示测试代理执行对应“测试版本”的测试用例。响应于测试代理指示测试执行成功,持续集成服务器将“标签3”对应版本的源代码记录到源代码库330的主干分支,并为该版本源代码添加“标签4”。可选地,还将“标签3”对应版本的源代码同主干分支上的源代码合并以得到同“标签4”对应版本的源代码。持续集成服务器350根据从源代码库330获得“标签4”对应版本的源代码的标签识别要对应“发布版本”的测试用例。程序集成服务器350指示测试代理执行对应“发布版本”的测试用例。
依然可选地,业务规则库380中指示了当前版本的源代码的标签与测试资源/测试用例的关联。例如,标签3对应测试版本的测试用例,而标签4对应于发布版本的测试用例;以及新版本的源代码被更新后要先被记录到源代码库330的DEV分支,然后实施对应的测试用例,在测试通过后,在将新版本源代码记录到源代码库340的主干分支,并再次实施对应的测试用例。可选地,业务规则库380还定义测试未通过的情况下的业务规则。例如,响应于执行对应发布版本的测试用例失败,生成修改当前版本源代码的任务。依然可选地,业务规则库380定义的业务规则指示在执行完对应测试版本的测试用例成功后,继续执行对应发布版本的测试用例,并在对应发布版本的测试用例执行成功后,才将更新的源代码记录在源代码库340的主干分支,并附加标签。
持续集成服务器350根据当前版本的源代码的标签,从业务规则库380获取所需的测试资源组以及所需的测试用例。从而可省去测试描述文件。
依然可选地,持续集成服务求350响应于用户通过客户端提交的测试任务而发起对指定版本的源代码的测试,而不依赖于构建服务器310提供的指示。在一个例子中,用户提交的测试任务指示使用的测试描述文件。在又一个例子中,依据用户提交的测试任务指示的源代码的版本对应的标签而依据业务规则库380的指示获取要使用的测试资源组与测试用例。
持续集成服务器350同管理被选取的测试资源组的测试代理(例如,测试代理380通信),以指示测试代理380在测试资源上执行测试。根据构建服务器350的指示,测试代理380从自身管理的测试资源组中选取可用的测试资源(例如当前空闲的测试资源3-1),从可执行代码库320获取要被测试的同更新的源代码版本号相对应的可执行文件,将获取的可执行文件安装到测试资源3-1的被测试电子设备。
测试代理380还从持续集成服务器350获取测试软件,并指示在测试资源3-1上运行接收的测试软件来对被测试电子设备实施测试。作为举例,测试描述文件中指示了为执行测试要使用的测试软件。相应地,测试代理380根据测试描述文件的指示获取要使用的测试软件。可选地,测试代理根据测试描述文件的指示,直接从测试用例库340获取测试软件。
可选地,响应于测试描述文件指示对源代码进行分析,测试代理380还从源代码库330获取指定的源代码,通过例如测试资源3-1分析获取的源代码是否符合要求。可选地,测试代理还从测试用例库340获取用于分析源代码是否符合要求的软件。
依然可选地,持续集成服务器350同时在多个测试资源上发起测试。例如,继续集成服务器350获得了用户提交的多个测试任务,根据每个测试任务,指示测试代理实施相应的测试。作为举例,测试代理380指示测试资源3-1执行一个测试任务,而指示测试资源3-2执行另一个测试任务,以及继续集成服务器350还指示测试资源组2的测试代理同时处理又一个测试任务。
作为又一个例子,持续集成服务器350从构建服务器310获得了对多个版本的更新的源代码的指示。对于每个更新的源代码,持续集成服务器350选择实施测试所需的测试资源组,向测试资源组的测试代理指示在测试资源上执行测试。测试代理获取自身所在测试资源组中可用的测试资源,并将各版本的更新代码部署到对应的各个可用的测试资源上并执行各测试软件来实施测试。
作为再一个例子,测试系统中,由单一的测试代理管理所有测试资源组。持续集成服务器350向单一的测试代理指示执行测试,而测试代理根据持续集成服务器350的指示选择适合执行当前测试的测试资源组,并从所选择的测试资源组中选择测试资源并执行测试。
测试代理还从测试资源收集测试执行的结果,向持续集成服务器350指示测试执行完成,以及可选地展示执行结果。
根据本申请的实施例,在测试系统中引入源代码的版本管理标识,将测试流程与版本管理流程相结合。根据源代码的版本的含义执行同版本对应的适当测试,确保了不同版本的源代码满足各版本的质量要求。还通过对测试资源的统一管理,根据(体现了测试目的的)源代码版本的标签对测试资源分为测试资源组,并对测试资源组内的同类资源按使用情况进行选择与使用,提高了测试资源的利用率。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种电子设备的集成测试方法,包括:
获取用于电子设备的源代码与测试描述文件;
根据测试描述文件,获取要使用的测试资源与测试用例;
获取根据所述源代码构建的可执行代码;
所述测试资源在所述电子设备上安装所述可执行代码,并执行所述测试用例来测试所述电子设备。
2.根据权利要求1所述的方法,还包括:
响应于获取用于电子设备的所述源代码,用所述源代码构建可执行代码,并将构建的可执行代码存储到可执行代码库;
响应于用所述源代码构建可执行代码成功,将所述源代码存储到源代码库;其中
存储在源代码库中的所述源代码被添加了标签。
3.根据权利要求1或2所述的方法,还包括:
根据所述测试描述文件的指示,识别用于测试所述电子设备的测试资源,其中所述测试资源耦合到所述电子设备;
指示所述测试资源在所述电子设备上安装所述可执行代码,并执行所述测试用例来测试所述电子设备。
4.根据权利要求3所述的方法,其中
所述测试资源根据所述测试文件的指示,从可执行代码库获取所述可执行代码,以及从测试用例库获取所述测试用例。
5.根据权利要求3或4所述的方法,其中
根据所述测试文件指示测试的类型,选择同所述类型对应的测试资源;
所述测试资源根据所述测试文件的指示,从可执行代码库获取对应类型的测试用例。
6.根据权利要求2-5之一所述的方法,其中
从源代码库获取所述源代码的标签,根据所述标签对应的业务规则确定要使用的测试资源以及测试的类型;
选择同所述类型对应的测试资源,从可执行代码库获取对应类型的所述测试用例。
7.根据权利要求6所述的方法,还包括:
响应于执行所述测试用例测试所述电子设备得到了预期的结果,将所述源代码存储到所述源代码库并为所述源代码添加第二标签。
8.根据权利要求1-7之一所述的方法,还包括:
响应于更新用于所述电子设备的源代码,获取用于电子设备的源代码与测试描述文件,
其中所述测试描述文件与所述源代码被一同更新。
9.根据权利要求1-18之一所述的方法,还包括:
根据测试描述文件,获取多个测试任务;
为每个测试任务获取要使用的测试资源与测试用例;以及
在获取的各个测试资源的所述电子设备上安装所述可执行代码,并执行对应的测试用例,
来同时执行所述多个测试任务。
10.一种电子设备的集成测试系统,包括:
构建服务器,用于获取用于电子设备的源代码与测试描述文件;
持续集成服务器,用于根据测试描述文件,获取要使用的测试资源与测试用例;以及获取根据所述源代码构建的可执行代码;
测试代理,用于在耦合到所述测试资源的所述电子设备上安装所述可执行代码,并执行所述测试用例来测试所述电子设备。
CN201810709690.6A 2018-07-02 2018-07-02 电子设备集成测试系统及其方法 Pending CN110674024A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810709690.6A CN110674024A (zh) 2018-07-02 2018-07-02 电子设备集成测试系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810709690.6A CN110674024A (zh) 2018-07-02 2018-07-02 电子设备集成测试系统及其方法

Publications (1)

Publication Number Publication Date
CN110674024A true CN110674024A (zh) 2020-01-10

Family

ID=69065321

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810709690.6A Pending CN110674024A (zh) 2018-07-02 2018-07-02 电子设备集成测试系统及其方法

Country Status (1)

Country Link
CN (1) CN110674024A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112613894A (zh) * 2020-12-31 2021-04-06 中国农业银行股份有限公司 一种关联源代码和制品的方法及装置
WO2022111529A1 (zh) * 2020-11-24 2022-06-02 华为技术有限公司 一种应用程序的调试方法及电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030167423A1 (en) * 2002-03-01 2003-09-04 Fujitsu Limited Program product, method, and system for testing consistency of machine code files and source files
CN102693183A (zh) * 2012-05-30 2012-09-26 瑞斯康达科技发展股份有限公司 一种实现软件自动化测试的方法及系统
CN102799515A (zh) * 2011-05-24 2012-11-28 腾讯科技(深圳)有限公司 应用程序测试方法及装置
US8561036B1 (en) * 2006-02-23 2013-10-15 Google Inc. Software test case management
CN104035859A (zh) * 2013-03-07 2014-09-10 腾讯科技(深圳)有限公司 一种可视化自动测试方法及其系统
CN105786691A (zh) * 2014-12-25 2016-07-20 重庆重邮信科通信技术有限公司 一种移动终端自动化集成测试装置、方法和系统
CN106407102A (zh) * 2015-08-03 2017-02-15 腾讯科技(深圳)有限公司 应用程序的模糊测试方法、装置及系统
CN107229482A (zh) * 2017-08-04 2017-10-03 郑州云海信息技术有限公司 一种用于软件系统开发的方法及系统
CN107408046A (zh) * 2015-07-07 2017-11-28 甲骨文国际公司 用于跨异构计算环境供应云服务的系统和方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030167423A1 (en) * 2002-03-01 2003-09-04 Fujitsu Limited Program product, method, and system for testing consistency of machine code files and source files
US8561036B1 (en) * 2006-02-23 2013-10-15 Google Inc. Software test case management
CN102799515A (zh) * 2011-05-24 2012-11-28 腾讯科技(深圳)有限公司 应用程序测试方法及装置
CN102693183A (zh) * 2012-05-30 2012-09-26 瑞斯康达科技发展股份有限公司 一种实现软件自动化测试的方法及系统
CN104035859A (zh) * 2013-03-07 2014-09-10 腾讯科技(深圳)有限公司 一种可视化自动测试方法及其系统
CN105786691A (zh) * 2014-12-25 2016-07-20 重庆重邮信科通信技术有限公司 一种移动终端自动化集成测试装置、方法和系统
CN107408046A (zh) * 2015-07-07 2017-11-28 甲骨文国际公司 用于跨异构计算环境供应云服务的系统和方法
CN106407102A (zh) * 2015-08-03 2017-02-15 腾讯科技(深圳)有限公司 应用程序的模糊测试方法、装置及系统
CN107229482A (zh) * 2017-08-04 2017-10-03 郑州云海信息技术有限公司 一种用于软件系统开发的方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022111529A1 (zh) * 2020-11-24 2022-06-02 华为技术有限公司 一种应用程序的调试方法及电子设备
CN112613894A (zh) * 2020-12-31 2021-04-06 中国农业银行股份有限公司 一种关联源代码和制品的方法及装置
CN112613894B (zh) * 2020-12-31 2024-04-16 中国农业银行股份有限公司 一种关联源代码和制品的方法及装置

Similar Documents

Publication Publication Date Title
CN108287694B (zh) 应用程序构建方法、系统、计算机设备和存储介质
EP3769223B1 (en) Unified test automation system
US8151248B1 (en) Method and system for software defect management
US9372784B2 (en) Test system configuration method and system
US7877732B2 (en) Efficient stress testing of a service oriented architecture based application
US8561036B1 (en) Software test case management
US7512933B1 (en) Method and system for associating logs and traces to test cases
US7870169B2 (en) Method for enabling traceability and recovery from errors during migration of software applications
JP5208635B2 (ja) プログラミングを支援するための情報処理装置、情報処理システム、プログラミング支援方法およびプログラム
US20160259636A1 (en) Software patch evaluator
US11113050B2 (en) Application architecture generation
US20140026120A1 (en) Unit testing an enterprise javabeans (ejb) bean class
US20120159422A1 (en) Test management domain asset discovery and analysis
CN112769706B (zh) 组件化路由方法及系统
CN112241360A (zh) 一种测试用例生成方法、装置、设备及存储介质
CN112685312A (zh) 一种未覆盖代码的测试用例推荐方法及装置
US11422917B2 (en) Deriving software application dependency trees for white-box testing
CN110674024A (zh) 电子设备集成测试系统及其方法
CN112988578A (zh) 一种自动化测试方法和装置
CN115794214B (zh) 应用模块元数据管理方法、设备、存储介质及装置
CN116820477A (zh) 一种依赖管理方法、装置、电子设备及存储介质
CN110737438A (zh) 一种数据处理方法和装置
CN113495723B (zh) 一种调用功能组件的方法、装置及存储介质
CN110737429A (zh) 一种利用Makefile自身的依赖关系的模块化编译方法和装置
CN111897794A (zh) 数据库的维护方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100192 room A302, building B-2, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing

Applicant after: Beijing yihengchuangyuan Technology Co.,Ltd.

Address before: 100192 room A302, building B-2, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing

Applicant before: BEIJING MEMBLAZE TECHNOLOGY Co.,Ltd.