CN110659198A - 应用程序的测试用例执行方法、装置和软件测试系统 - Google Patents
应用程序的测试用例执行方法、装置和软件测试系统 Download PDFInfo
- Publication number
- CN110659198A CN110659198A CN201810690766.5A CN201810690766A CN110659198A CN 110659198 A CN110659198 A CN 110659198A CN 201810690766 A CN201810690766 A CN 201810690766A CN 110659198 A CN110659198 A CN 110659198A
- Authority
- CN
- China
- Prior art keywords
- test
- task
- terminal
- case
- execute
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提出一种应用程序的测试用例执行方法、装置和软件测试系统。该方法包括:在测试控制端选择需要执行的测试用例和需要执行测试用例的测试终端;利用测试用例和需要执行测试用例的测试终端,设定测试任务,测试任务中包括测试用例和需要执行测试用例的测试终端对应的测试参数;调用jenkins,通过与jenkins配置的各个测试节点向需要执行测试用例的测试终端下发测试任务;通过jenkins控制测试终端执行测试任务;接收测试终端回传的测试任务的执行结果。本发明实施例通过调用jenkins及测试参数的配置,控制测试任务在不同系统类型的测试终端上执行,提升了测试执行效率;采用测试参数的配置与测试用例剥离的方式,降低耦合程度,提高用例的重用性和可维护性。
Description
技术领域
本发明涉及应用程序测试技术领域,尤其涉及一种应用程序的测试用例执行方法、装置和软件测试系统。
背景技术
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具。Jenkins用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins功能包括:1、持续的软件版本发布/测试项目。2、监控外部调用执行的工作。通过Jenkins集成工具可以对调用执行的测试任务进行管理。
应用程序的测试通常情况下需要在不同系统类型的测试终端上执行测试用例,例如系统类型可包括android(安卓)系统和ios系统。这种情况下需要根据不同的系统类型生成不同的Jenkins任务,使部署工作变得复杂,重复性工作的工作量较大,测试执行效率较低。
发明内容
本发明实施例提供一种应用程序的测试用例执行方法、装置和软件测试系统,以至少解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种应用程序的测试用例执行方法,包括:在测试控制端选择需要执行的测试用例和需要执行测试用例的测试终端;利用测试用例和需要执行测试用例的测试终端,设定测试任务,测试任务中包括测试用例和需要执行测试用例的测试终端对应的测试参数;调用jenkins,通过与jenkins配置的各个测试节点向需要执行测试用例的测试终端下发测试任务;通过jenkins控制测试终端执行测试任务;接收测试终端回传的测试任务的执行结果。
在一种可能实现方式中,通过jenkins集成工具控制所述测试终端执行所述测试任务,包括:根据需要执行所述测试用例的测试终端的数量在各个测试节点上的线程池中创建线程;通过创建的所述线程,向需要执行所述测试用例的测试终端下发所述测试任务,以控制所述测试终端执行所述测试任务。
在一种可能实现方式中,通过jenkins集成工具控制所述测试终端执行所述测试任务,还包括:通过jenkins集成工具执行所述测试任务的测试框架,将所述测试用例拉取到对应的所述测试节点;所述测试节点从需要执行测试任务中提取包括测试终端的设备标识的测试参数,选择与所述测试终端的设备标识对应的测试终端执行所述测试任务。
在一种可能实现方式中,所述测试参数还包括:待测试的应用程序的下载地址、需要执行测试任务的测试终端的系统类型、需要执行测试任务的测试终端的设备标识、测试任务的执行方式、测试账户名、测试账户密码、测试人、测试运行时长、测试任务执行记录、测试任务标识、测试用例所属的模块标识、测试用例标识和测试单元标识中至少一种。
在一种可能实现方式中,接收所述测试终端回传的所述测试任务的执行结果之后,还包括:通过所述测试控制端的社交工具发送所述测试任务的执行结果。
在一种可能实现方式中,接收所述测试终端回传的所述测试任务的执行结果之后,还包括:将所述测试终端回传的所述测试任务的执行结果上传到云端,所述测试任务的执行结果包括执行的用例个数、成功个数、失败个数、用例标识、检查点和执行结束的截图中至少一种。
第二方面,本发明实施例提供了一种应用程序的测试用例执行装置,包括:选择单元,用于在测试控制端选择需要执行的测试用例和需要执行所述测试用例的测试终端;测试任务生成单元,用于利用所述测试用例和需要执行所述测试用例的测试终端,设定测试任务,所述测试任务中包括所述测试用例和需要执行所述测试用例的测试终端对应的测试参数;测试任务下发单元,用于调用jenkins集成工具,通过与jenkins集成工具配置的各个测试节点向需要执行所述测试用例的测试终端下发所述测试任务;测试任务执行单元,用于通过jenkins集成工具控制所述测试终端执行所述测试任务;测试结果接收单元,用于接收所述测试终端回传的所述测试任务的执行结果。
在一种可能实现方式中,所述测试任务执行单元还用于:根据需要执行所述测试用例的测试终端的数量在各个测试节点上的线程池中创建线程;所述测试节点从需要执行测试任务中提取包括测试终端的设备标识的测试参数,选择与所述测试终端的设备标识对应的测试终端执行所述测试任务。
在一种可能实现方式中,所述测试任务执行单元还用于:通过jenkins集成工具执行所述测试任务的测试框架,将所述测试用例拉取到对应的所述测试节点;所述测试节点根据所述测试参数中包括的需要执行测试任务的测试终端的设备标识,选择对应的测试终端执行所述测试任务。
在一种可能实现方式中,所述测试参数还包括:待测试的应用程序的下载地址、需要执行测试任务的测试终端的系统类型、需要执行测试任务的测试终端的设备标识、测试任务的执行方式、测试账户名、测试账户密码、测试人、测试运行时长、测试任务执行记录、测试任务标识、测试用例所属的模块标识、测试用例标识和测试单元标识中至少一种。
在一种可能实现方式中,还包括测试结果发送单元,用于:通过所述测试控制端的社交工具发送所述测试任务的执行结果。
在一种可能实现方式中,还包括测试结果上传单元,用于:将所述测试终端回传的所述测试任务的执行结果上传到云端,所述测试任务的执行结果包括执行的用例个数、成功个数、失败个数、用例标识、检查点和执行结束的截图中至少一种。
第三方面,本发明实施例提供了一种软件测试系统,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述第一方面中任一所述的方法。
上述技术方案中的另一个技术方案具有如下优点或有益效果:采用测试参数的配置与测试用例剥离的方式,降低了耦合程度,提高了重用性和可维护性。
上述技术方案中的一个技术方案具有如下优点或有益效果:通过jenkins集成工具部署及相关测试参数的配置,可控制具有不同类型的操作系统的终端设备同时执行测试任务,提升了测试执行效率。
上述技术方案中的另一个技术方案具有如下优点或有益效果:设置线程池使多个测试任务并发执行,避免多设备并行执行测试任务之间互相影响,提升了测试执行效率。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1为本发明一实施例提供的应用程序的测试用例执行方法的流程图;
图2为本发明一实施例提供的应用程序的测试用例执行方法的测试参数设置的程序页面示意图;
图3为本发明另一实施例提供的应用程序的测试用例执行方法的流程图;
图4为本发明另一实施例提供的应用程序的测试用例执行方法的测试用例查看结果的程序页面示意图;
图5为本发明另一实施例提供的应用程序的测试用例执行方法的流程图;
图6为本发明另一实施例提供的应用程序的测试用例执行方法的选择测试机器的程序页面示意图;
图7为本发明另一实施例提供的应用程序的测试用例执行方法的选择测试机器的程序页面示意图;
图8为本发明一实施例提供的应用程序的测试用例执行装置的结构框图;
图9为本发明另一实施例提供的应用程序的测试用例执行装置的结构框图;
图10为本发明一实施例提供的软件测试系统的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
图1为本发明一实施例提供的应用程序的测试用例执行方法的流程图。如图1所示,本发明实施例的应用程序的测试用例执行方法包括:步骤S110,在测试控制端选择需要执行的测试用例和需要执行测试用例的测试终端;步骤S120,利用测试用例和需要执行测试用例的测试终端,设定测试任务,测试任务中包括测试用例和需要执行测试用例的测试终端对应的测试参数;步骤S130,调用jenkins,通过与jenkins配置的各个测试节点向需要执行测试用例的测试终端下发测试任务;步骤S140,通过jenkins控制测试终端执行测试任务;步骤S150,接收测试终端回传的测试任务的执行结果。
测试用例可以用来测试某个应用程序是否满足特定需求。应用程序在自动化测试过程中,一般需要执行多个步骤。测试用例可包括每个步骤该应用程序要操作的操作对象,例如哪个控件,每个操作对象对应的操作类型,以及对各个操作对象的操作顺序。在步骤S110中,在测试控制端选择需要执行的测试用例和需要执行测试用例的测试终端,以及执行任务相关的测试参数。在步骤S120中,利用测试用例和需要执行测试用例的测试终端设定测试任务,测试任务中可包括带有测试参数的测试指令,测试指令用于在测试终端执行测试用例。其中,测试参数可根据实际测试场景的需要设置,如测试机的测试deviceId(设备标识)、系统类型、要执行的APP的下载地址、测试单元和执行方式等。
软件测试过程中通常需要在多个测试终端例如各种型号的手机、掌上电脑等执行应用程序的测试用例,这种情况属于并发性较高的应用场景。在数据高并发的应用场景中,单台的物理机的服务部署已经不能满足现状服务的需求,负载均衡和多节点发布成为工作中经常要做的、又是重复性程度高、比较繁琐的工作。Jenkins提出了持续集成的概念,可用于监控持续重复的工作。
本发明实施例中利用jenkins和各个节点进行通信,通过master(主节点)和agent(从节点)的方式进行通信。其中,节点之间的通信协议可以使用HTTP(HyperText TransferProtocol,超文本传输协议)协议。各个节点通过USB(通用串行总线,Universal SerialBus)数据线连接测试终端,测试终端可包括手机等终端设备。jenkins可以通过各个节点和测试终端进行通信。例如,要执行一款APP(Application,应用程序)的测试用例,测试平台可以通过jenkins下发相应的测试任务到测试手机上。
具体地,master和agent之间建立通信连接的过程可以包括如下几个步骤:
首先在jenkins服务上配置节点机器,新建、配置jenkins的工作目录,还有一些基础配置。基础配置可包括需要执行测试任务的测试终端的设备标识和/或执行测试任务的测试终端的个数等。
然后节点机器下载JAR(Java Archive,Java归档文件)包,JAR是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。JAR文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被编译器具直接使用。在JAR中包含特殊的文件,如部署描述符,用来指示工具如何处理特定的JAR。
接下来启动JAR包服务,服务里面主动发送请求和jenkins的master节点进行通信,获取master节点正确的应答后,该节点机器就和master建立了连接,接下来就可以正常在该节点上执行任务了。
上述技术方案中的一个技术方案具有如下优点或有益效果:通过jenkins集成工具部署及相关测试参数的配置,可控制测试任务在不同系统类型的测试终端上执行,提升了测试执行效率。
上述技术方案中的另一个技术方案具有如下优点或有益效果:采用测试参数的配置与测试用例剥离的方式,降低了耦合程度,提高了重用性和可维护性。
在一种可能实现方式中,通过jenkins集成工具控制所述测试终端执行所述测试任务,包括:根据需要执行所述测试用例的测试终端的数量在各个测试节点上的线程池中创建线程;通过创建的所述线程,向需要执行所述测试用例的测试终端下发所述测试任务,以控制所述测试终端执行所述测试任务。
在多个测试终端执行应用程序的测试用例时,在各个测试节点上创建多个线程,每个线程对应一个测试终端。根据在测试参数中设置的任务执行的需要选择的测试机,开辟相应的线程池来执行用例。线程池的线程是根据选择的测试设备创建的。这种实施方式中,即使多设备并行执行测试任务也不会互相影响。特别是对于android的兼容性测试,是相当有效果的。
上述技术方案中的另一个技术方案具有如下优点或有益效果:设置线程池使多个测试任务并发执行,避免多设备并行执行测试任务之间互相影响,提升了测试执行效率。
在一种可能实现方式中,通过jenkins集成工具控制所述测试终端执行所述测试任务,还包括:通过jenkins集成工具执行所述测试任务的测试框架,将所述测试用例拉取到对应的所述测试节点;所述测试节点从需要执行测试任务中提取包括测试终端的设备标识的测试参数,选择与所述测试终端的设备标识对应的测试终端执行所述测试任务。
底层执行测试用例的测试框架,把选择要执行的测试用例从测试平台拉取到节点机器上,然后根据需要执行所述测试用例的测试终端,利用jenkins执行测试框架。
在一种可能实现方式中,所述测试参数还包括:待测试的应用程序的下载地址、需要执行测试任务的测试终端的系统类型、需要执行测试任务的测试终端的设备标识、测试任务的执行方式、测试账户名、测试账户密码、测试人、测试运行时长、测试任务执行记录、测试任务标识、测试用例所属的模块标识、测试用例标识和测试单元标识中至少一种。
在一种可能实现方式中,所述测试参数还可包括测试执行环境,测试执行环境包括仿真环境和/或线上环境。通常情况下,测试人员需要测试各个测试环境下程序的运行情况并确保程序业务功能在各个环境运行正常。测试人员在测试控制端进行测试参数的配置时,可选择测试执行环境,则在后续执行测试任务时提取包括测试执行环境的测试参数,选择在预先设置的测试执行环境下执行测试任务。
具体地,底层的参数化的任务中的参数值,可以通过平台调用jenkins传递。可根据实际测试场景的需要设置测试参数,如测试参数可包括要执行的APP的下载地址,测试机的测试deviceId(设备标识)、系统类型、测试单元和执行方式等,其中执行方式可以包括“是否重置”,即是否重新安装被测试APP。
图2为本发明一实施例提供的应用程序的测试用例执行方法的测试参数设置的程序页面示意图。如图2所示,用于构建项目的测试参数可包括:app_url(待测试的应用程序的下载地址)、test_user_name(测试账户名)、test_user_pass(测试账户密码)、deviceId(需要执行测试任务的测试终端的设备标识)、user_name(测试人)、run_time(测试运行时长)、history_id(测试任务执行记录)、task_id(测试任务标识)、module_id(测试用例所属的模块标识)、case_id(测试用例标识)、suit_id(测试单元标识)、case_execute_type(测试任务的执行方式)。
此外,在用例执行过程中,可设置定时任务去执行用例,还可以编写线上APP的用例,目的为了线上APP稳定性的监控。
图3为本发明另一实施例提供的应用程序的测试用例执行方法的流程图。如图3所示,在一种可能实现方式中,步骤S150,接收所述测试终端回传的所述测试任务的执行结果之后,还包括:步骤S160,通过所述测试控制端的社交工具发送所述测试任务的执行结果。
用例执行完成后,还可以发放给执行人消息提醒,如发放钉钉消息提醒,消息中可包含超链接,点击超链接可查看该次任务执行结果的详细情况。图4为本发明另一实施例提供的应用程序的测试用例执行方法的测试用例查看结果的程序页面示意图。如图4所示,该次任务执行结果的详细情况包括执行了多少用例,成功了多少用例、失败了多少用例等信息。此外还可以查看到用例执行详情。例如,用例ID(用例标识)为21的测试用例的检查点信息记录了:“校验退出方案是否存在,检验确定按钮是否存在”,该用例的测试结果为通过。
参见图3,在一种可能实现方式中,步骤S150,接收所述测试终端回传的所述测试任务的执行结果之后,还包括:步骤S170,将所述测试终端回传的所述测试任务的执行结果上传到云端,所述测试任务的执行结果包括执行的用例个数、成功个数、失败个数、用例标识、检查点和执行结束的截图中至少一种。
在这种实施方式中,测试用例执行结果的截图可以上传到云端,在测试平台统一展示,便于统计用例bug(故障)转化率。比如测试100个用例,结果发现了10个bug,转化率就是10%。其中,bug包括APP不能正常展示、闪退、数据不准确等情况。
图5为本发明另一实施例提供的应用程序的测试用例执行方法的流程图。如图5所示,测试用例执行的具体步骤如下:
S10、选择用例。
可通过单选、多选或全选等方式选择至少一个执行用例。
S20、选择测试机器。
图6及图7为本发明另一实施例提供的应用程序的测试用例执行方法的选择测试机器的程序页面示意图。如图6及图7所示,可在“系统类型”下拉选择框中选择需要执行测试任务的测试终端的系统类型,例如android或者ios。在一种实施方式中,也可支持多选,可同时在android系统和ios系统的测试机器上进行执行测试用例;可在“选择机器”下拉选择框中选择需要执行测试任务的测试终端,例如可在下拉选择框中选择测试终端的设备名称、设备型号或者设备标识;可在“是否重置”下拉选择框中选择是否重新安装被测试APP;可在“appurl”的文本输入框中输入要测试的APP的URL(Uniform Resource Locator,统一资源定位符)地址,在测试平台上传完APP之后,生成APP的下载地址URL,通过该URL可以获取要测试的APP。
S30、提交测试任务。
点击确认按钮,提交测试任务。为防止测试人员的误操作,可在点击确认按钮后弹出对话框,待测试人员再次确认,再次点击确认按钮后完成测试任务的提交。
S40、平台传参,执行jenkins任务。
测试参数上传到测试平台,后台服务进行代码拼接。jenkins的参数化任务的具体设置可参见图2所示。
S50、jenkins任务利用批处理或者shell(计算机壳层)脚本执行测试框架。
测试框架可以提供可重用的基础自动化测试模块,其主要提供最基础的自动化测试功能,比如打开一个程序、模拟鼠标和键盘来点击或操作控件,最后验证控件的属性以判断程序的正确性。
S60、框架拉取用例,执行用例。
从测试平台将所述测试用例拉取到对应的所述测试节点,测试节点选择对应的测试终端执行测试用例。可将每次的测试执行结果保存在用例测试执行日志中,以供查看。
S70、通过发送HTTP请求,把执行结果上传到平台。
S80、然后通过社交软件发送消息例如发送钉钉消息给任务执行者。
S90、点击消息,查看结果详情。
任务执行者收到消息后点击消息,可直接在浏览器查看测试详情,如图4所示。
图8为本发明一实施例提供的应用程序的测试用例执行装置的结构框图。如图8所示,本发明实施例的应用程序的测试用例执行装置包括:选择单元100,用于在测试控制端选择需要执行的测试用例和需要执行所述测试用例的测试终端;测试任务生成单元200,用于利用所述测试用例和需要执行所述测试用例的测试终端,设定测试任务,所述测试任务中包括所述测试用例和需要执行所述测试用例的测试终端对应的测试参数;测试任务下发单元300,用于调用jenkins集成工具,通过与jenkins集成工具配置的各个测试节点向需要执行所述测试用例的测试终端下发所述测试任务;测试任务执行单元400,用于通过jenkins集成工具控制所述测试终端执行所述测试任务;测试结果接收单元500,用于接收所述测试终端回传的所述测试任务的执行结果。
根据本发明应用程序的测试用例执行装置的一种实施方式,所述测试任务执行单元400还用于:根据需要执行所述测试用例的测试终端的数量在各个测试节点上的线程池中创建线程;通过创建的所述线程,向需要执行所述测试用例的测试终端下发所述测试任务,以控制所述测试终端执行所述测试任务。
根据本发明应用程序的测试用例执行装置的一种实施方式,所述测试任务执行单元400还用于:通过jenkins集成工具执行所述测试任务的测试框架,将所述测试用例拉取到对应的所述测试节点;所述测试节点从需要执行测试任务中提取包括测试终端的设备标识的测试参数,选择与所述测试终端的设备标识对应的测试终端执行所述测试任务。
根据本发明应用程序的测试用例执行装置的一种实施方式,所述测试参数还包括:待测试的应用程序的下载地址、需要执行测试任务的测试终端的系统类型、需要执行测试任务的测试终端的设备标识、测试任务的执行方式、测试账户名、测试账户密码、测试人、测试运行时长、测试任务执行记录、测试任务标识、测试用例所属的模块标识、测试用例标识和测试单元标识中至少一种。
图9为本发明另一实施例提供的应用程序的测试用例执行装置的结构框图。如图9所示,根据本发明应用程序的测试用例执行装置的一种实施方式,还包括测试结果发送单元600,用于:通过所述测试控制端的社交工具发送所述测试任务的执行结果。
根据本发明应用程序的测试用例执行装置的一种实施方式,所述装置还包括测试结果上传单元700,用于:将所述测试终端回传的所述测试任务的执行结果上传到云端,所述测试任务的执行结果包括执行的用例个数、成功个数、失败个数、用例标识、检查点和执行结束的截图中至少一种。
本发明实施例的应用程序的测试用例生成装置中各单元的功能可以参见上述方法的相关描述,在此不再赘述。
图10为本发明一实施例提供的软件测试系统的结构框图。如图10所示,该系统包括:存储器101和处理器102,存储器101内存储有可在处理器102上运行的计算机程序。所述处理器102执行所述计算机程序时实现上述实施例中的应用程序的测试用例执行方法。所述存储器101和处理器102的数量可以为一个或多个。
该系统还包括:
通信接口103,用于与外界设备进行通信,进行数据交互传输。
存储器101可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器101、处理器102和通信接口103独立实现,则存储器101、处理器102和通信接口103可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,PeripheralComponent)总线或扩展工业标准体系结构(EISA,Extended Industry StandardComponent)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器101、处理器102及通信接口103集成在一块芯片上,则存储器101、处理器102及通信接口103可以通过内部接口完成相互间的通信。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明各部分可用硬件、软件、固件或它们组合来实现。在上述实施方式中,多个步骤或方法可用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种应用程序的测试用例执行方法,其特征在于,包括:
在测试控制端选择需要执行的测试用例和需要执行所述测试用例的测试终端;
利用所述测试用例和需要执行所述测试用例的测试终端,设定测试任务,所述测试任务中包括所述测试用例和需要执行所述测试用例的测试终端对应的测试参数;
调用jenkins集成工具,通过与jenkins集成工具配置的各个测试节点向需要执行所述测试用例的测试终端下发所述测试任务;
通过jenkins集成工具控制所述测试终端执行所述测试任务;
接收所述测试终端回传的所述测试任务的执行结果。
2.根据权利要求1所述的方法,其特征在于,通过jenkins集成工具控制所述测试终端执行所述测试任务,包括:
根据需要执行所述测试用例的测试终端的数量在各个测试节点上的线程池中创建线程;
通过创建的所述线程,向需要执行所述测试用例的测试终端下发所述测试任务,以控制所述测试终端执行所述测试任务。
3.根据权利要求1或2所述的方法,其特征在于,通过jenkins集成工具控制所述测试终端执行所述测试任务,还包括:
通过jenkins集成工具执行所述测试任务的测试框架,将所述测试用例拉取到对应的所述测试节点;
所述测试节点从需要执行测试任务中提取包括测试终端的设备标识的测试参数,选择与所述测试终端的设备标识对应的测试终端执行所述测试任务。
4.根据权利要求1或2所述的方法,其特征在于,所述测试参数还包括:待测试的应用程序的下载地址、需要执行测试任务的测试终端的系统类型、需要执行测试任务的测试终端的设备标识、测试任务的执行方式、测试账户名、测试账户密码、测试人、测试运行时长、测试任务执行记录、测试任务标识、测试用例所属的模块标识、测试用例标识和测试单元标识中至少一种。
5.根据权利要求1或2所述的方法,其特征在于,接收所述测试终端回传的所述测试任务的执行结果之后,还包括:
通过所述测试控制端的社交工具发送所述测试任务的执行结果。
6.根据权利要求1或2所述的方法,其特征在于,接收所述测试终端回传的所述测试任务的执行结果之后,还包括:
将所述测试终端回传的所述测试任务的执行结果上传到云端,所述测试任务的执行结果包括执行的用例个数、成功个数、失败个数、用例标识、检查点和执行结束的截图中至少一种。
7.一种应用程序的测试用例执行装置,其特征在于,包括:
选择单元,用于在测试控制端选择需要执行的测试用例和需要执行所述测试用例的测试终端;
测试任务生成单元,用于利用所述测试用例和需要执行所述测试用例的测试终端,设定测试任务,所述测试任务中包括所述测试用例和需要执行所述测试用例的测试终端对应的测试参数;
测试任务下发单元,用于调用jenkins集成工具,通过与jenkins集成工具配置的各个测试节点向需要执行所述测试用例的测试终端下发所述测试任务;
测试任务执行单元,用于通过jenkins集成工具控制所述测试终端执行所述测试任务;
测试结果接收单元,用于接收所述测试终端回传的所述测试任务的执行结果。
8.根据权利要求7所述的装置,其特征在于,所述测试任务执行单元还用于:
根据需要执行所述测试用例的测试终端的数量在各个测试节点上的线程池中创建线程;
通过创建的所述线程,向需要执行所述测试用例的测试终端下发所述测试任务,以控制所述测试终端执行所述测试任务。
9.根据权利要求7或8所述的装置,其特征在于,所述测试任务执行单元还用于:
通过jenkins集成工具执行所述测试任务的测试框架,将所述测试用例拉取到对应的所述测试节点;
所述测试节点从需要执行测试任务中提取包括测试终端的设备标识的测试参数,选择与所述测试终端的设备标识对应的测试终端执行所述测试任务。
10.根据权利要求7或8所述的装置,其特征在于,所述测试参数还包括:待测试的应用程序的下载地址、需要执行测试任务的测试终端的系统类型、需要执行测试任务的测试终端的设备标识、测试任务的执行方式、测试账户名、测试账户密码、测试人、测试运行时长、测试任务执行记录、测试任务标识、测试用例所属的模块标识、测试用例标识和测试单元标识中至少一种。
11.根据权利要求7或8所述的装置,其特征在于,还包括测试结果发送单元,用于:
通过所述测试控制端的社交工具发送所述测试任务的执行结果。
12.根据权利要求7或8所述的装置,其特征在于,还包括测试结果上传单元,用于:
将所述测试终端回传的所述测试任务的执行结果上传到云端,所述测试任务的执行结果包括执行的用例个数、成功个数、失败个数、用例标识、检查点和执行结束的截图中至少一种。
13.一种软件测试系统,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810690766.5A CN110659198A (zh) | 2018-06-28 | 2018-06-28 | 应用程序的测试用例执行方法、装置和软件测试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810690766.5A CN110659198A (zh) | 2018-06-28 | 2018-06-28 | 应用程序的测试用例执行方法、装置和软件测试系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110659198A true CN110659198A (zh) | 2020-01-07 |
Family
ID=69027467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810690766.5A Pending CN110659198A (zh) | 2018-06-28 | 2018-06-28 | 应用程序的测试用例执行方法、装置和软件测试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659198A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256265A (zh) * | 2020-10-14 | 2021-01-22 | 北京百家科技集团有限公司 | H5页面稳定性的测试方法、装置及存储介质、电子设备 |
CN112783780A (zh) * | 2021-01-28 | 2021-05-11 | 开放智能机器(上海)有限公司 | 一种多环境多平台嵌入式系统的自动化测试方法及系统 |
CN112953791A (zh) * | 2021-01-29 | 2021-06-11 | 北京字节跳动网络技术有限公司 | 网络探测方法、装置、电子设备及计算机可读存储介质 |
CN113204495A (zh) * | 2021-05-31 | 2021-08-03 | 广州方硅信息技术有限公司 | 基于b/s架构的自动化测试方法、装置、存储介质及设备 |
CN113495846A (zh) * | 2021-09-07 | 2021-10-12 | 浙江华创视讯科技有限公司 | 一种基于集群的终端测试系统及测试装置 |
CN113890846A (zh) * | 2021-09-23 | 2022-01-04 | 深圳Tcl新技术有限公司 | 一种配网检测方法、装置、系统及存储介质和终端设备 |
CN113993157A (zh) * | 2021-10-27 | 2022-01-28 | 深圳市芯中芯科技有限公司 | 基于蓝牙透传的蜂窝物联网网络参数在线检测系统及方法 |
CN114863586A (zh) * | 2022-04-25 | 2022-08-05 | 北京新能源汽车股份有限公司 | 一种测试方法、装置及终端 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536888A (zh) * | 2014-12-24 | 2015-04-22 | 网易(杭州)网络有限公司 | 移动设备的游戏测试方法与系统 |
CN104978258A (zh) * | 2014-04-01 | 2015-10-14 | 中国银联股份有限公司 | 软件自动化测试方法及系统 |
US20150381742A1 (en) * | 2014-06-30 | 2015-12-31 | Verizon Patent And Licensing Inc. | Automated web services validation |
CN106201882A (zh) * | 2016-07-13 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 基于Jenkins的操作系统自动化测试方法及系统 |
CN106909483A (zh) * | 2015-12-23 | 2017-06-30 | 华大半导体有限公司 | 一种导航模块的测试方法 |
CN107590075A (zh) * | 2017-09-19 | 2018-01-16 | 郑州云海信息技术有限公司 | 一种软件测试方法及装置 |
CN107678942A (zh) * | 2017-08-30 | 2018-02-09 | 苏州朗动网络科技有限公司 | 一种api自动化测试方法 |
-
2018
- 2018-06-28 CN CN201810690766.5A patent/CN110659198A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978258A (zh) * | 2014-04-01 | 2015-10-14 | 中国银联股份有限公司 | 软件自动化测试方法及系统 |
US20150381742A1 (en) * | 2014-06-30 | 2015-12-31 | Verizon Patent And Licensing Inc. | Automated web services validation |
CN104536888A (zh) * | 2014-12-24 | 2015-04-22 | 网易(杭州)网络有限公司 | 移动设备的游戏测试方法与系统 |
CN106909483A (zh) * | 2015-12-23 | 2017-06-30 | 华大半导体有限公司 | 一种导航模块的测试方法 |
CN106201882A (zh) * | 2016-07-13 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 基于Jenkins的操作系统自动化测试方法及系统 |
CN107678942A (zh) * | 2017-08-30 | 2018-02-09 | 苏州朗动网络科技有限公司 | 一种api自动化测试方法 |
CN107590075A (zh) * | 2017-09-19 | 2018-01-16 | 郑州云海信息技术有限公司 | 一种软件测试方法及装置 |
Non-Patent Citations (1)
Title |
---|
程启帆: "Jenkins持续集成平台的可用性研究与实现", 《中国优秀硕士学位论文全文数据库•信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256265A (zh) * | 2020-10-14 | 2021-01-22 | 北京百家科技集团有限公司 | H5页面稳定性的测试方法、装置及存储介质、电子设备 |
CN112783780A (zh) * | 2021-01-28 | 2021-05-11 | 开放智能机器(上海)有限公司 | 一种多环境多平台嵌入式系统的自动化测试方法及系统 |
CN112953791A (zh) * | 2021-01-29 | 2021-06-11 | 北京字节跳动网络技术有限公司 | 网络探测方法、装置、电子设备及计算机可读存储介质 |
CN112953791B (zh) * | 2021-01-29 | 2023-02-24 | 北京字节跳动网络技术有限公司 | 网络探测方法、装置、电子设备及计算机可读存储介质 |
CN113204495A (zh) * | 2021-05-31 | 2021-08-03 | 广州方硅信息技术有限公司 | 基于b/s架构的自动化测试方法、装置、存储介质及设备 |
CN113495846A (zh) * | 2021-09-07 | 2021-10-12 | 浙江华创视讯科技有限公司 | 一种基于集群的终端测试系统及测试装置 |
CN113890846A (zh) * | 2021-09-23 | 2022-01-04 | 深圳Tcl新技术有限公司 | 一种配网检测方法、装置、系统及存储介质和终端设备 |
CN113993157A (zh) * | 2021-10-27 | 2022-01-28 | 深圳市芯中芯科技有限公司 | 基于蓝牙透传的蜂窝物联网网络参数在线检测系统及方法 |
CN114863586A (zh) * | 2022-04-25 | 2022-08-05 | 北京新能源汽车股份有限公司 | 一种测试方法、装置及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659198A (zh) | 应用程序的测试用例执行方法、装置和软件测试系统 | |
CN109302522B (zh) | 测试方法、装置以及计算机系统和介质 | |
CN109933522B (zh) | 一种自动化用例的测试方法、测试系统及存储介质 | |
CN108959068B (zh) | 软件界面测试方法、设备及存储介质 | |
US20150100829A1 (en) | Method and system for selecting and executing test scripts | |
US20150100832A1 (en) | Method and system for selecting and executing test scripts | |
CN109766269A (zh) | 持续集成自动化测试方法、装置、设备和介质 | |
US20150100830A1 (en) | Method and system for selecting and executing test scripts | |
CN107832207A (zh) | 接口性能测试方法、装置、存储介质和计算机设备 | |
US20150100831A1 (en) | Method and system for selecting and executing test scripts | |
CN107656872B (zh) | 软件测试方法、装置、设备和计算机存储介质 | |
CN113505073B (zh) | 一种数据库的性能测试方法、装置、设备及介质 | |
CN112231228B (zh) | 一种固件升级测试方法、装置、平台、设备及存储介质 | |
WO2017041499A1 (zh) | 一种软件升级方法、系统和计算机可读存储介质 | |
CN111258913A (zh) | 算法自动测试方法、装置、计算机系统及可读存储介质 | |
CN115658529A (zh) | 用户页面的自动化测试方法以及相关设备 | |
CN109388420A (zh) | 应用升级测试方法、装置、计算机设备及存储介质 | |
CN113687858A (zh) | 配置文件的检查方法、装置、电子设备及存储介质 | |
CN111159023A (zh) | 测试方法、装置、电子设备及计算机可读存储介质 | |
CN110297749B (zh) | 一种测试新功能的方法及终端 | |
CN113553095A (zh) | 小程序的发布方法、装置、电子设备及存储介质 | |
CN107678969B (zh) | 测试版本发布方法、装置、版本控制设备和测试机 | |
CN111104331A (zh) | 软件管理方法、终端设备及计算机可读存储介质 | |
CN117667658A (zh) | 测试程序生成方法和测试程序生成设备 | |
CN112905445B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200107 |
|
RJ01 | Rejection of invention patent application after publication |