CN104391795A - 一种分布式系统中自动化测试覆盖率的测试方法及系统 - Google Patents

一种分布式系统中自动化测试覆盖率的测试方法及系统 Download PDF

Info

Publication number
CN104391795A
CN104391795A CN201410725841.9A CN201410725841A CN104391795A CN 104391795 A CN104391795 A CN 104391795A CN 201410725841 A CN201410725841 A CN 201410725841A CN 104391795 A CN104391795 A CN 104391795A
Authority
CN
China
Prior art keywords
application
coverage rate
test
automatic test
configuration 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.)
Granted
Application number
CN201410725841.9A
Other languages
English (en)
Other versions
CN104391795B (zh
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.)
Chongqing Tianji cloud Clothing Technology Co., Ltd.
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information 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 Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201410725841.9A priority Critical patent/CN104391795B/zh
Publication of CN104391795A publication Critical patent/CN104391795A/zh
Application granted granted Critical
Publication of CN104391795B publication Critical patent/CN104391795B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种分布式系统中自动化测试覆盖率的测试方法及系统,测试方法包括:响应于测试启动命令,从源代码路径中获取编译每个应用所使用的源文件;对所述源文件进行编译得到每个应用;根据预设应用配置文件,在与每个应用对应的设备上部署每个应用;触发自动化测试启动命令,以运行关于应用的自动化测试;从每个设备中获取与每个应用相关的单体覆盖率报告,生成整体覆盖率报告。本发明通过从源代码路径获取源文件,从而自动编译应用,将应用部署于对应的设备中,并在执行自动化测试后,从每个设备获取每个应用的覆盖率报告,实现获取分布式系统应用的覆盖率。同时,也与自动化测试很好地整合,使得在自动化测试过程中能实现获取覆盖率报告。

Description

一种分布式系统中自动化测试覆盖率的测试方法及系统
技术领域
本发明涉及自动化测试相关技术领域,特别是一种分布式系统中自动化测试覆盖率的测试方法及系统。
背景技术
自动化测试覆盖率是指在执行自动化测试过程中,每个应用被使用的比例。覆盖率是度量测试完整性的一个手段,是测试有效性的一个度量。现有用于获取覆盖率主要采用Jenkins、EMMA等工具。
Jenkins,之前叫做Hudson,是基于Java开发的一种持续集成工具,用于监控秩序重复的工作,包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
Jenkins是一个持续集成工具。它可以根据设定持续定期编译,运行相应代码;运行单元测试和集成测试;将运行结果发送至邮件,或展示成报。
Jenkins提供了自动编译,打包功能,通过第三方的静态扫描插件扫描代码规则和质量,然后运行单元测试,邮件发送或展示单元测试和各个阶段的报告。通过配置定时时间,或者在SVN中配置钩子自动触发任务的运行(编译,静态扫描,打包,单元测试,报告)。
EMMA是一个用于检测和报告JAVA代码覆盖率的开源工具。它不但能很好的用于小型项目,很方便地得出覆盖率报告,而且适用于大型企业级别的项目。EMMA是一个开源、面向Java程序测试覆盖率收集和报告工具。它通过对编译后的Java字节码文件进行插装,在测试执行过程中收集覆盖率信息,并通过支持多种报表格式对覆盖率结果进行展示。EMMA所使用的字节码插装不仅保证EMMA不会给源代码带来“脏代码”,还确保EMMA摆脱了源代码的束缚,这一特点使EMMA应用于功能测试成为了可能。
EMMA有许多优点,它支持许多种级别的覆盖率指标:包,类,方法,语句块(basicblock)和行,特别是它能测出某一行是否只是被部分覆盖,如条件语句短路的情况。它能生成text,xml,html等形式的报告,以满足不同的需求,其html报告提供下钻功能,能够从package开始一步步链接到用户所关注的某个方法。EMMA能和Makefile和Ant集成,便于应用于大型项目。特别还需指出的一点是,EMMA的效率很高,这对于大型项目来说很重要。
Emma它通过对编译后的Java字节码文件进行插装,在测试执行过程中收集覆盖率信息,获得测试覆盖率过程中,类、方法等覆盖的百分比报告,可以方便测试人员更好的评估测试。测试人员通过对照覆盖率报告与测试用例设计文档,需求文档可以迅速找到测试的不足。通过与开发人员进行讨论,可以更好的评估测试力度,并指导进一步的测试。因此在功能测试中引入覆盖率信息,能够完善测试结果报告,确保测试质量和力度,保证测试按质、按量地完成。
EMMA是通过向.class文件中插入字节码的方式来跟踪记录被运行代码信息的。EMMA支持两种模式:On the fly和Offline模式。On the fly模式往加载的类中加入字节码,相当于用EMMA实现的application classloader替代原来的application class loader。Offline模式在类被加载前,加入字节码。
On the fly模式比较方便,缺点也比较明显,如它不能为被bootclass loader加载的类生成覆盖率报告,也不能为像J2EE容器那种自己有独特class loader的类生成覆盖率报告。
EMMA也支持两种运行方式:Command line和Ant。命令行一般和Onthe fly模式一起适用,对于简单的项目能够快速产生覆盖率报告。使用Emma进行覆盖率统计的时候存在以下几个缺点:
然而,现有技术并不能很好地获取分布式应用的覆盖率。
对于大型的项目,分布式部署在不同机器上的,不能很方便的收集到该项目下所有应用的覆盖率信息。同时,每次部署程序到不同的路径,每次都需要手工的修改插桩的命令。收集完一次报告之后,若想再一次统计某个时间段的覆盖率信息,第二次统计的信息里面会包含第一次的结果,造成结果不准确。对于企业级多个项目集中式统一迭代部署,统一收集报告的时候中间有很多手工繁琐的操作,不够灵活。特别是,对于自动化测试,现有技术不能方便的和自动化测试,自动部署集成。
发明内容
基于此,有必要针对现有技术不能很好地获取分布式应用的覆盖率的技术问题,提供一种分布式系统中自动化测试覆盖率的测试方法及系统。
一种分布式系统中自动化测试覆盖率的测试方法,包括:
源文件获取步骤,响应于测试启动命令,从预设的与每个应用关联的源代码路径中获取编译每个应用所使用的源文件,多个所述应用部署在不同的设备上;
应用编译步骤,对所述源文件进行编译得到每个应用;
应用部署步骤,根据预设应用配置文件,在与每个应用对应的设备上部署每个应用,所述应用配置文件包括应用与设备的对应关系,以及每个设备的访问标识;
自动化测试启动步骤,触发自动化测试启动命令,以运行关于应用的自动化测试;
报告生成步骤,响应于自动化测试结束命令,根据从所述应用配置文件中所获取的每个设备的访问标识,从每个设备中获取与每个应用相关的单体覆盖率报告,合并所述单体覆盖率报告生成整体覆盖率报告。
一种分布式系统中自动化测试覆盖率的测试系统,包括:
源文件获取模块,用于响应于测试启动命令,从预设的与每个应用关联的源代码路径中获取编译每个应用所使用的源文件,多个所述应用部署在不同的设备上;
应用编译模块,用于对所述源文件进行编译得到每个应用;
应用部署模块,用于根据预设应用配置文件,在与每个应用对应的设备上部署每个应用,所述应用配置文件包括应用与设备的对应关系,以及每个设备的访问标识;
自动化测试启动模块,用于触发自动化测试启动命令,以运行关于应用的自动化测试;
报告生成模块,用于响应于自动化测试结束命令,根据从所述应用配置文件中所获取的每个设备的访问标识,从每个设备中获取与每个应用相关的单体覆盖率报告,合并所述单体覆盖率报告生成整体覆盖率报告。
本发明通过从源代码路径获取源文件,从而自动编译应用,然后将应用部署于对应的设备中,并在执行自动化测试后,从每个设备获取每个应用的覆盖率报告,实现获取分布式系统应用的覆盖率。同时,也与自动化测试很好地整合,使得在自动化测试过程中能实现获取覆盖率报告。
附图说明
图1为本发明一种分布式系统中自动化测试覆盖率的测试方法的工作流程图;
图2为本发明采用插桩方式的一个最佳实施例的工作流程图;
图3为本发明采用监控方式的一个最佳实施例的工作流程图;
图4为本发明一种分布式系统中自动化测试覆盖率的测试系统的结构模块图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细的说明。
如图1所示为本发明一种分布式系统中自动化测试覆盖率的测试方法的工作流程图,包括:
步骤S101,响应于测试启动命令,从预设的与每个应用关联的源代码路径中获取编译每个应用所使用的源文件,多个所述应用部署在不同的设备上;
步骤S102,对所述源文件进行编译得到每个应用;
步骤S103,根据预设应用配置文件,在与每个应用对应的设备上部署每个应用,所述应用配置文件包括应用与设备的对应关系,以及每个设备的访问标识;
步骤S104,触发自动化测试启动命令,以运行关于应用的自动化测试;
步骤S105,响应于自动化测试结束命令,根据从所述应用配置文件中所获取的每个设备的访问标识,从每个设备中获取与每个应用相关的单体覆盖率报告,合并所述单体覆盖率报告生成整体覆盖率报告。
步骤S101中,源代码路径可以是SVN(Subvers ion)路径即源代码版本控制系统的源文件路径。用户将源代码保存在源代码路径中供系统自动获取。当获得源代码后,对其进行编译从而生成所需要的应用。
在分布式系统中,一个项目所包括的应用分别部署在不同的设备中。在步骤S103中,根据应用配置文件,确定每个应用所需部署的设备,从而将应用部署的对应的设备上。部署好应用后,在步骤S104中触发自动化测试启动命令,以运行关于应用的自动化测试。在运行的过程中,自动生成关于每个应用的单体覆盖率报告。并在步骤S105中将多个单体覆盖率报告整合成为关于所有应用的整体覆盖率报告。
本发明能够满足分布式系统的覆盖率测试需求,并与自动化测试整合,实现自动化测试的同时获取整体覆盖率报告。
覆盖率报告的生成有多种方式,其中一种方式是采用插桩的方式。程序插桩技术是在被测程序中插入探针,然后通过探针的执行来获得程序的控制流和数据流信息,以此来实现测试的目的。因此,根据探针插入的时间可以分为目标代码插桩和源代码插桩。
在其中一个实施例中,所述步骤S102,还包括:
根据预设的包括至少一个待监测类的监测文件列表,对每个待监测类进行插桩。
本实施例在步骤S102中实现插桩,以对应用进行监测。插桩可以是在编译的同时实现插桩,也可以是在编译结束后进行插桩。具体方式可以采用现有的各种程序插桩技术实现。例如采用emma的emma instr命令,对class进行插桩。
监测文件列表可以是一个配置文件,用于标识需要进行插桩的类作为待监测类,以及被排除不需要插桩的类。
覆盖率报告的生成除了可以采用插桩方式以外,还可以采用监控的方式,例如采用监控方式,其具体方式为:
在设备上启动tomcat,然后在tomcat中启动应用,通过jacoco程序获取每个应用的单体覆盖率报告。
在其中一个实施例中,所述步骤S103,还包括:获取与每个应用关联且为获取覆盖率而设置的配置文件作为测试用配置文件,将测试用配置文件覆盖对应应用所在设备的配置文件。
测试用配置文件是为了获得覆盖率而生成的专门用于测试的配置文件。一般来说,测试用配置文件可以是用于标识该应用所需要访问的数据库或者服务器等相关信息的配置文件。原配置文件所配置的数据库或者服务器等相关信息是用于实际运行应用时所用,然而为了获取覆盖率,其所访问的数据库或者服务器等,可能需要指向对应的测试用数据库或测试用服务器,因此,将原配置文件替换为测试用配置文件。
测试启动命令的生成,可以是用户点击命令按钮或者在命令行中输入命令。然而,为了更好地提高测试效率,还可以是由某些特殊执行所触发。
在其中一个实施例中,还包括:
当所述源文件发生更新,生成所述测试启动命令。
本实施例在用户对源文件进行了更新后,触发生成测试启动命令,从而执行自动化测试并获取覆盖率。
在其中一个实施例中,所述测试启动命令包括项目标识,所述应用配置文件还包括为预设的每个项目标识关联相关应用:
所述步骤S101,具体包括:响应于测试启动命令,从预设的应用配置文件中,获取所述项目标识所关联的应用,作为项目应用,从预设的与每个项目应用关联的源代码路径中获取编译每个项目应用所使用的源文件;
所述步骤S102,具体包括:对所述源文件进行编译得到每个项目应用;
所述步骤S103,具体包括:根据预设应用配置文件,在与每个项目应用对应的设备上部署每个项目应用;
所述步骤S104,具体包括:触发自动化测试启动命令,以运行关于项目应用的自动化测试;
所述步骤S105,具体包括:响应于自动化测试结束命令,根据从所述应用配置文件中所获取的每个设备的访问标识,从每个设备中获取与每个项目应用相关的单体覆盖率报告,合并所述单体覆盖率报告生成整体覆盖率报告。
一个项目包括多个应用,不同的项目所包括的应用也不同。针对不同的项目确定不同的应用及其相应的源文件,从而为该项目专门生成应用并执行自动化测试,从而提高效率,减少资源浪费。
如图2所示为本发明采用插桩方式的一个最佳实施例的工作流程图,采用Emma实现,包括:
步骤S201,基础信息配置。在系统中维护项目和应用之间的对应关系以及应用所在设备的IP和端口信息(即设备的访问标识),并存入数据库,采用对应关系配置,并且在系统上维护好排除和需插桩的文件名称作为监测文件列表,存入数据库。
持续自动执行如下步骤:
步骤S202,自动编译。在Jenkins中配置好分布式系统各个子系统的SVN路径,和账号信息,让其能够通过jenkins自动编译。
步骤S203,自动插桩。在编译后增加触发Shell脚本执行的步骤,Shel l脚本读取数据库中需插桩的文件配置(步骤S201中配置),统一在Jekins服务器上执行emma instr命令对该应用的编译好的class进行插桩。
步骤S204,自动部署。插桩完毕后,执行linux远程拷贝命令,将插桩过后的测试用配置文件拷贝到该应用对应的目录中(步骤S201中配置),并启动应用,测试用配置文件可以预先设置生成。
步骤S205,自动化测试。当分布式系统最后一个应用执行完成S202~S204步骤后,触发自动化脚本运行自动化测试。
步骤S206,收集覆盖率和自动化测试报告。当自动化脚本执行完毕后,(服务器端执行)自动触发远程收集报告的脚本,该脚本读取系统中在步骤S201中配置好的应用IP和端口信息,进行远程收集报告并合并多台机器上的,邮件自动发送覆盖率报告信息。
对于步骤S206,具体包括:
1)从数据库中读取每个应用所在的IP和端口
2)程序控制依次执行emma远程收集报告命令收集每个应用的覆盖率报告,按IP和端口生成.ec文件。一个应用对应一个.ec文件
3)执行emma提供的merge命令,把该项目下的每个应用的.ec文件进行合并,生成最终的项目的.ec文件。
4)利用步骤3)中的合并后.ec文件,执行emma自带的report命令生成项目的覆盖率报告
5)解析测试报告,将报告覆盖率信息插入数据库。
6)触发程序发送自动化测试报告和覆盖率报告。
如图3所示为本发明采用监控方式的一个最佳实施例的工作流程图,采用jacoco实现,包括:
初次使用配置:
步骤S301,jvm监控配置,在每个应用的Tomcat都配置,端口和IP信息;
步骤S302,基础信息配置。在系统中维护项目和应用之间的对应关系以及应用所在设备的IP和端口信息(即设备的访问标识),并存入数据库,采用对应关系配置,并且在系统上维护好排除和需插桩的文件名称作为监测文件列表,存入数据库。
持续自动执行如下步骤:
步骤S303,自动编译。在Jenkins中配置好分布式系统各个子系统的SVN路径,和账号信息,让其能够通过jenkins自动编译。
步骤S304,自动部署。执行linux远程拷贝命令,将插桩过后的测试用配置文件拷贝到该应用对应的目录中(步骤S302中配置),并启动应用,测试用配置文件可以预先设置生成。
步骤S305,自动化测试。当分布式系统最后一个应用执行完成S303~S304步骤后,触发自动化脚本运行自动化测试。
步骤S306,收集覆盖率和自动化测试报告。当自动化脚本执行完毕后,(服务器端执行)自动触发远程收集报告的脚本,该脚本读取系统中在步骤S302中配置好的应用IP和端口信息,进行远程收集报告并合并多台机器上的,邮件自动发送覆盖率报告信息。
如图4所示为本发明一种分布式系统中自动化测试覆盖率的测试系统的结构模块图,包括:
源文件获取模块401,用于响应于测试启动命令,从预设的与每个应用关联的源代码路径中获取编译每个应用所使用的源文件,多个所述应用部署在不同的设备上;
应用编译模块402,用于对所述源文件进行编译得到每个应用;
应用部署模块403,用于根据预设应用配置文件,在与每个应用对应的设备上部署每个应用,所述应用配置文件包括应用与设备的对应关系,以及每个设备的访问标识;
自动化测试启动模块404,用于触发自动化测试启动命令,以运行关于应用的自动化测试;
报告生成模块405,用于响应于自动化测试结束命令,根据从所述应用配置文件中所获取的每个设备的访问标识,从每个设备中获取与每个应用相关的单体覆盖率报告,合并所述单体覆盖率报告生成整体覆盖率报告。
在其中一个实施例中,所述应用编译模块,还用于:
根据预设的包括至少一个待监测类的监测文件列表,对每个待监测类进行插桩。
在其中一个实施例中,所述应用部署模块,还用于:获取与每个应用关联且为获取覆盖率而设置的配置文件作为测试用配置文件,将测试用配置文件覆盖对应应用所在设备的配置文件。
在其中一个实施例中,还包括:
测试启动命令生成模块,用于当所述源文件发生更新,生成所述测试启动命令。
在其中一个实施例中,所述测试启动命令包括项目标识,所述应用配置文件还包括为预设的每个项目标识关联相关应用:
所述源文件获取模块401,具体用于:响应于测试启动命令,从预设的应用配置文件中,获取所述项目标识所关联的应用,作为项目应用,从预设的与每个项目应用关联的源代码路径中获取编译每个项目应用所使用的源文件;
所述应用编译模块402,具体用于:对所述源文件进行编译得到每个项目应用;
所述应用部署模块403,具体用于:根据预设应用配置文件,在与每个项目应用对应的设备上部署每个项目应用;
所述自动化测试启动模块404,具体用于:触发自动化测试启动命令,以运行关于项目应用的自动化测试;
所述报告生成模块405,具体用于:响应于自动化测试结束命令,根据从所述应用配置文件中所获取的每个设备的访问标识,从每个设备中获取与每个项目应用相关的单体覆盖率报告,合并所述单体覆盖率报告生成整体覆盖率报告。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种分布式系统中自动化测试覆盖率的测试方法,其特征在于,包括:
源文件获取步骤,响应于测试启动命令,从预设的与每个应用关联的源代码路径中获取编译每个应用所使用的源文件,多个所述应用部署在不同的设备上;
应用编译步骤,对所述源文件进行编译得到每个应用;
应用部署步骤,根据预设应用配置文件,在与每个应用对应的设备上部署每个应用,所述应用配置文件包括应用与设备的对应关系,以及每个设备的访问标识;
自动化测试启动步骤,触发自动化测试启动命令,以运行关于应用的自动化测试;
报告生成步骤,响应于自动化测试结束命令,根据从所述应用配置文件中所获取的每个设备的访问标识,从每个设备中获取与每个应用相关的单体覆盖率报告,合并所述单体覆盖率报告生成整体覆盖率报告。
2.根据权利要求1所述的分布式系统中自动化测试覆盖率的测试方法,其特征在于,所述应用编译步骤,还包括:
根据预设的包括至少一个待监测类的监测文件列表,对每个待监测类进行插桩。
3.根据权利要求1所述的分布式系统中自动化测试覆盖率的测试方法,其特征在于,所述应用部署步骤,还包括:获取与每个应用关联且为获取覆盖率而设置的配置文件作为测试用配置文件,将测试用配置文件覆盖对应应用所在设备的配置文件。
4.根据权利要求1所述的分布式系统中自动化测试覆盖率的测试方法,其特征在于,还包括:
当所述源文件发生更新,生成所述测试启动命令。
5.根据权利要求1所述的分布式系统中自动化测试覆盖率的测试方法,其特征在于,所述测试启动命令包括项目标识,所述应用配置文件还包括为预设的每个项目标识关联相关应用:
所述源文件获取步骤,具体包括:响应于测试启动命令,从预设的应用配置文件中,获取所述项目标识所关联的应用,作为项目应用,从预设的与每个项目应用关联的源代码路径中获取编译每个项目应用所使用的源文件;
所述应用编译步骤,具体包括:对所述源文件进行编译得到每个项目应用;
所述应用部署步骤,具体包括:根据预设应用配置文件,在与每个项目应用对应的设备上部署每个项目应用;
所述自动化测试启动步骤,具体包括:触发自动化测试启动命令,以运行关于项目应用的自动化测试;
所述报告生成步骤,具体包括:响应于自动化测试结束命令,根据从所述应用配置文件中所获取的每个设备的访问标识,从每个设备中获取与每个项目应用相关的单体覆盖率报告,合并所述单体覆盖率报告生成整体覆盖率报告。
6.一种分布式系统中自动化测试覆盖率的测试系统,其特征在于,包括:
源文件获取模块,用于响应于测试启动命令,从预设的与每个应用关联的源代码路径中获取编译每个应用所使用的源文件,多个所述应用部署在不同的设备上;
应用编译模块,用于对所述源文件进行编译得到每个应用;
应用部署模块,用于根据预设应用配置文件,在与每个应用对应的设备上部署每个应用,所述应用配置文件包括应用与设备的对应关系,以及每个设备的访问标识;
自动化测试启动模块,用于触发自动化测试启动命令,以运行关于应用的自动化测试;
报告生成模块,用于响应于自动化测试结束命令,根据从所述应用配置文件中所获取的每个设备的访问标识,从每个设备中获取与每个应用相关的单体覆盖率报告,合并所述单体覆盖率报告生成整体覆盖率报告。
7.根据权利要求6所述的分布式系统中自动化测试覆盖率的测试系统,其特征在于,所述应用编译模块,还用于:
根据预设的包括至少一个待监测类的监测文件列表,对每个待监测类进行插桩。
8.根据权利要求6所述的分布式系统中自动化测试覆盖率的测试系统,其特征在于,所述应用部署模块,还用于:获取与每个应用关联且为获取覆盖率而设置的配置文件作为测试用配置文件,将测试用配置文件覆盖对应应用所在设备的配置文件。
9.根据权利要求6所述的分布式系统中自动化测试覆盖率的测试系统,其特征在于,还包括:
测试启动命令生成模块,用于当所述源文件发生更新,生成所述测试启动命令。
10.根据权利要求6所述的分布式系统中自动化测试覆盖率的测试系统,其特征在于,所述测试启动命令包括项目标识,所述应用配置文件还包括为预设的每个项目标识关联相关应用:
所述源文件获取模块,具体用于:响应于测试启动命令,从预设的应用配置文件中,获取所述项目标识所关联的应用,作为项目应用,从预设的与每个项目应用关联的源代码路径中获取编译每个项目应用所使用的源文件;
所述应用编译模块,具体用于:对所述源文件进行编译得到每个项目应用;
所述应用部署模块,具体用于:根据预设应用配置文件,在与每个项目应用对应的设备上部署每个项目应用;
所述自动化测试启动模块,具体用于:触发自动化测试启动命令,以运行关于项目应用的自动化测试;
所述报告生成模块,具体用于:响应于自动化测试结束命令,根据从所述应用配置文件中所获取的每个设备的访问标识,从每个设备中获取与每个项目应用相关的单体覆盖率报告,合并所述单体覆盖率报告生成整体覆盖率报告。
CN201410725841.9A 2014-12-03 2014-12-03 一种分布式系统中自动化测试覆盖率的测试方法及系统 Active CN104391795B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410725841.9A CN104391795B (zh) 2014-12-03 2014-12-03 一种分布式系统中自动化测试覆盖率的测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410725841.9A CN104391795B (zh) 2014-12-03 2014-12-03 一种分布式系统中自动化测试覆盖率的测试方法及系统

Publications (2)

Publication Number Publication Date
CN104391795A true CN104391795A (zh) 2015-03-04
CN104391795B CN104391795B (zh) 2017-05-10

Family

ID=52609703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410725841.9A Active CN104391795B (zh) 2014-12-03 2014-12-03 一种分布式系统中自动化测试覆盖率的测试方法及系统

Country Status (1)

Country Link
CN (1) CN104391795B (zh)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978269A (zh) * 2015-06-30 2015-10-14 四川九洲电器集团有限责任公司 一种自动化测试方法
CN104978191A (zh) * 2015-06-24 2015-10-14 小米科技有限责任公司 应用部署方法和服务器
CN105117262A (zh) * 2015-09-11 2015-12-02 北京京东尚科信息技术有限公司 一种任务自动化执行方法
CN105589805A (zh) * 2015-12-16 2016-05-18 北京奇虎科技有限公司 一种代码覆盖率报告的生成方法和装置
CN105589928A (zh) * 2015-12-02 2016-05-18 中国银联股份有限公司 用于分布式数据处理系统的模拟测试方法
CN105608000A (zh) * 2015-12-16 2016-05-25 北京奇虎科技有限公司 获取代码覆盖率数据的方法及装置
CN105630671A (zh) * 2015-12-16 2016-06-01 北京奇虎科技有限公司 代码覆盖率报告的生成方法及装置
CN106095681A (zh) * 2016-06-14 2016-11-09 深圳市彬讯科技有限公司 一种SVN集成JSHint代码检测方法及其系统
CN106095415A (zh) * 2016-06-01 2016-11-09 乐视控股(北京)有限公司 开发文件打包方法、装置及系统
CN106294183A (zh) * 2016-08-25 2017-01-04 网易(杭州)网络有限公司 覆盖率检测方法、装置和设备
CN106326118A (zh) * 2016-08-19 2017-01-11 东软集团股份有限公司 代码测试覆盖率确定方法和装置
CN106445784A (zh) * 2016-09-27 2017-02-22 北京搜狐新动力信息技术有限公司 一种信息监控方法及装置
CN107122293A (zh) * 2016-12-05 2017-09-01 北京小度信息科技有限公司 软件性能测试方法、装置、服务器及系统
CN107480050A (zh) * 2017-07-17 2017-12-15 上海爱数信息技术股份有限公司 一种自动测试更新包的测试方法
CN108415821A (zh) * 2017-02-09 2018-08-17 腾讯科技(深圳)有限公司 测试报告的生成方法及装置
CN109359054A (zh) * 2018-12-18 2019-02-19 浙江诺诺网络科技有限公司 生成覆盖率统计报告的方法、装置、设备及存储介质
CN109408356A (zh) * 2017-08-17 2019-03-01 广州阿里巴巴文学信息技术有限公司 一种用于目标应用手工测试的代码覆盖率采集方法
CN109684226A (zh) * 2018-12-29 2019-04-26 携程计算机技术(上海)有限公司 Java代码覆盖率统计系统
CN109976994A (zh) * 2017-12-27 2019-07-05 航天信息股份有限公司 Java项目的白盒测试方法、装置、计算机设备
CN110968507A (zh) * 2019-11-20 2020-04-07 北京创鑫旅程网络技术有限公司 覆盖率统计方法及装置
CN111061639A (zh) * 2019-12-18 2020-04-24 中信百信银行股份有限公司 一种高效多系统测试代码覆盖率的管理方法
CN111858367A (zh) * 2020-07-24 2020-10-30 北京达佳互联信息技术有限公司 代码覆盖率测试方法、系统、装置、电子设备及存储介质
CN112346981A (zh) * 2020-11-11 2021-02-09 上海哔哩哔哩科技有限公司 联调测试覆盖率检测方法及系统
CN113485908A (zh) * 2021-05-25 2021-10-08 中国人民财产保险股份有限公司 一种覆盖率的获取方法、装置及电子设备
CN114706767A (zh) * 2022-03-24 2022-07-05 网易(杭州)网络有限公司 一种代码覆盖率采集方法、装置及设备
CN116521742A (zh) * 2023-06-25 2023-08-01 北京大学 源代码分析结果聚合方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143517A1 (en) * 2004-12-22 2006-06-29 Microsoft Corporation Replicated virtual machine
CN103095518A (zh) * 2011-11-08 2013-05-08 阿里巴巴集团控股有限公司 覆盖率测试处理方法、装置、覆盖率测试服务器及系统
CN103530231A (zh) * 2013-10-12 2014-01-22 北京京东尚科信息技术有限公司 一种基于业务流程控制的应用程序测试方法及系统
CN104111844A (zh) * 2013-04-19 2014-10-22 腾讯科技(深圳)有限公司 在移动终端内安装应用程序的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143517A1 (en) * 2004-12-22 2006-06-29 Microsoft Corporation Replicated virtual machine
CN103095518A (zh) * 2011-11-08 2013-05-08 阿里巴巴集团控股有限公司 覆盖率测试处理方法、装置、覆盖率测试服务器及系统
CN104111844A (zh) * 2013-04-19 2014-10-22 腾讯科技(深圳)有限公司 在移动终端内安装应用程序的方法及系统
CN103530231A (zh) * 2013-10-12 2014-01-22 北京京东尚科信息技术有限公司 一种基于业务流程控制的应用程序测试方法及系统

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978191A (zh) * 2015-06-24 2015-10-14 小米科技有限责任公司 应用部署方法和服务器
CN104978191B (zh) * 2015-06-24 2018-06-19 小米科技有限责任公司 应用部署方法和服务器
CN104978269A (zh) * 2015-06-30 2015-10-14 四川九洲电器集团有限责任公司 一种自动化测试方法
CN105117262A (zh) * 2015-09-11 2015-12-02 北京京东尚科信息技术有限公司 一种任务自动化执行方法
CN105589928A (zh) * 2015-12-02 2016-05-18 中国银联股份有限公司 用于分布式数据处理系统的模拟测试方法
CN105630671A (zh) * 2015-12-16 2016-06-01 北京奇虎科技有限公司 代码覆盖率报告的生成方法及装置
CN105608000A (zh) * 2015-12-16 2016-05-25 北京奇虎科技有限公司 获取代码覆盖率数据的方法及装置
CN105589805B (zh) * 2015-12-16 2019-12-24 北京奇虎科技有限公司 一种代码覆盖率报告的生成方法和装置
CN105608000B (zh) * 2015-12-16 2019-05-31 北京奇虎科技有限公司 获取代码覆盖率数据的方法及装置
CN105630671B (zh) * 2015-12-16 2019-03-08 北京奇虎科技有限公司 代码覆盖率报告的生成方法及装置
CN105589805A (zh) * 2015-12-16 2016-05-18 北京奇虎科技有限公司 一种代码覆盖率报告的生成方法和装置
CN106095415A (zh) * 2016-06-01 2016-11-09 乐视控股(北京)有限公司 开发文件打包方法、装置及系统
CN106095681A (zh) * 2016-06-14 2016-11-09 深圳市彬讯科技有限公司 一种SVN集成JSHint代码检测方法及其系统
CN106326118A (zh) * 2016-08-19 2017-01-11 东软集团股份有限公司 代码测试覆盖率确定方法和装置
CN106326118B (zh) * 2016-08-19 2019-03-15 东软集团股份有限公司 代码测试覆盖率确定方法和装置
CN106294183B (zh) * 2016-08-25 2019-03-08 网易(杭州)网络有限公司 覆盖率检测方法、装置和设备
CN106294183A (zh) * 2016-08-25 2017-01-04 网易(杭州)网络有限公司 覆盖率检测方法、装置和设备
CN106445784A (zh) * 2016-09-27 2017-02-22 北京搜狐新动力信息技术有限公司 一种信息监控方法及装置
CN107122293A (zh) * 2016-12-05 2017-09-01 北京小度信息科技有限公司 软件性能测试方法、装置、服务器及系统
CN108415821A (zh) * 2017-02-09 2018-08-17 腾讯科技(深圳)有限公司 测试报告的生成方法及装置
CN107480050A (zh) * 2017-07-17 2017-12-15 上海爱数信息技术股份有限公司 一种自动测试更新包的测试方法
CN109408356B (zh) * 2017-08-17 2022-09-06 阿里巴巴(中国)有限公司 一种用于目标应用手工测试的代码覆盖率采集方法
CN109408356A (zh) * 2017-08-17 2019-03-01 广州阿里巴巴文学信息技术有限公司 一种用于目标应用手工测试的代码覆盖率采集方法
CN109976994A (zh) * 2017-12-27 2019-07-05 航天信息股份有限公司 Java项目的白盒测试方法、装置、计算机设备
CN109359054A (zh) * 2018-12-18 2019-02-19 浙江诺诺网络科技有限公司 生成覆盖率统计报告的方法、装置、设备及存储介质
CN109684226A (zh) * 2018-12-29 2019-04-26 携程计算机技术(上海)有限公司 Java代码覆盖率统计系统
CN110968507A (zh) * 2019-11-20 2020-04-07 北京创鑫旅程网络技术有限公司 覆盖率统计方法及装置
CN110968507B (zh) * 2019-11-20 2023-07-25 北京创鑫旅程网络技术有限公司 覆盖率统计方法及装置
CN111061639A (zh) * 2019-12-18 2020-04-24 中信百信银行股份有限公司 一种高效多系统测试代码覆盖率的管理方法
CN111061639B (zh) * 2019-12-18 2023-03-24 中信百信银行股份有限公司 一种高效多系统测试代码覆盖率的管理方法
CN111858367A (zh) * 2020-07-24 2020-10-30 北京达佳互联信息技术有限公司 代码覆盖率测试方法、系统、装置、电子设备及存储介质
CN112346981A (zh) * 2020-11-11 2021-02-09 上海哔哩哔哩科技有限公司 联调测试覆盖率检测方法及系统
CN113485908A (zh) * 2021-05-25 2021-10-08 中国人民财产保险股份有限公司 一种覆盖率的获取方法、装置及电子设备
CN114706767A (zh) * 2022-03-24 2022-07-05 网易(杭州)网络有限公司 一种代码覆盖率采集方法、装置及设备
CN116521742A (zh) * 2023-06-25 2023-08-01 北京大学 源代码分析结果聚合方法、装置、电子设备及存储介质
CN116521742B (zh) * 2023-06-25 2023-09-22 北京大学 源代码分析结果聚合方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN104391795B (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN104391795A (zh) 一种分布式系统中自动化测试覆盖率的测试方法及系统
CN105094783B (zh) 安卓应用稳定性测试的方法及装置
CN104407980B (zh) 移动应用自动化测试装置和方法
CN105446868B (zh) 系统兼容性测试方法、测试用例管理方法及相关装置
CN103150249B (zh) 一种自动化测试的方法和系统
US8140911B2 (en) Dynamic software tracing
CN105868097B (zh) 系统测试方法及其装置
CN102053906A (zh) 用于收集程序运行时信息的系统和方法
CN106649107B (zh) 安卓系统稳定性的自动化测试方法及装置
CN107832207A (zh) 接口性能测试方法、装置、存储介质和计算机设备
CN104077140A (zh) 用于持续集成的自动化编译方法和编译装置
CN105808417A (zh) 自动化测试方法及代理服务器
CN102143008A (zh) 用于数据中心的诊断故障事件的方法及装置
CN111756575A (zh) 存储服务器的性能分析方法及装置、电子设备
CN105512044A (zh) 用于关键字驱动测试的对象库的更新方法及系统
CN103729294A (zh) 应用软件性能脚本测试方法与装置
CN102340429B (zh) 一种互联网协议还原自动化检测方法
CN105653946A (zh) 基于组合事件行为触发的Android恶意行为检测系统及其检测方法
CN103186463B (zh) 确定软件的测试范围的方法和系统
CN106354638A (zh) 基于词法分析的自动测试方法及装置
CN105574150A (zh) 一种数据处理方法和装置
CN102043720A (zh) 利用sql语句自动生成测试数据的方法和装置
Huang et al. UI driven Android application reduction
JP2004530209A (ja) 並列動作するコンポーネントベースの分散形ソフトウェアシステムにおけるシステム情報および動作を検出ならびに記録する方法
CN110633199A (zh) 用于支持智能合约的区块链的测试装置、方法及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180509

Address after: 223800 room 416-429, Hengtong mansion, 19 Hongze Road, Suyu District, Suqian, Huaian, Jiangsu, -YS00157

Patentee after: Suqian Jingdong Heng Rui Enterprise Management Co., Ltd.

Address before: 100080 Haidian District, Beijing, 65 Xing Shu Kou Road, 11C, west section of the western part of the building, 1-4 stories West 1-4 story.

Co-patentee before: Beijing Jingdong Century Commerce Co., Ltd.

Patentee before: Beijing Jingdong Shangke Information Technology Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180718

Address after: 401121 6, Fortune 2, A building, Fortune Plaza, 15, fortune Avenue, Yubei District, Chongqing

Patentee after: Chongqing Tianji cloud Clothing Technology Co., Ltd.

Address before: 223800 room 416-429, Hengtong mansion, 19 Hongze Road, Suyu District, Suqian, Huaian, Jiangsu, -YS00157

Patentee before: Suqian Jingdong Heng Rui Enterprise Management Co., Ltd.