CN112269742A - 一种基于jenkins的自动化白盒测试方法、装置及可读存储介质 - Google Patents
一种基于jenkins的自动化白盒测试方法、装置及可读存储介质 Download PDFInfo
- Publication number
- CN112269742A CN112269742A CN202011181197.5A CN202011181197A CN112269742A CN 112269742 A CN112269742 A CN 112269742A CN 202011181197 A CN202011181197 A CN 202011181197A CN 112269742 A CN112269742 A CN 112269742A
- Authority
- CN
- China
- Prior art keywords
- test
- case
- jenkins
- instruction
- script
- 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.)
- Withdrawn
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 230
- 238000013515 script Methods 0.000 claims abstract description 54
- 238000000034 method Methods 0.000 claims abstract description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 238000011144 upstream manufacturing Methods 0.000 abstract description 12
- 238000012827 research and development Methods 0.000 abstract description 6
- 238000010276 construction Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000000391 smoking effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
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参数化构建、上下游任务、多配置任务的方式,结合python脚本可以低成本、快速的搭建起一套研发自测、白盒测试、单元测试的框架,从而快速发现代码问题,提高代码质量和发版效率。
Description
技术领域
本发明涉及计算机领域,特别涉及一种基于jenkins的自动化白盒测试方法、装置及计算机可读存储介质。
背景技术
在一款软件产品的研发过程中,测试人员大多不具备专业的代码开发能力,所以导致多为黑盒测试,并使用的各种已经封装开发好的测试平台进行测试工作。而研发人员又专注于产品功能及需求开发,对于代码的单元测试、白盒测试等没有专门的测试框架。
基于上述问题,本发明旨在快速搭建一套自动化测试框架,提高研发人员的代码质量,提高版本发布的效率。
发明内容
有鉴于此,本发明的目的在于提供一种基于jenkins的自动化白盒测试方法、装置及计算机可读存储介质,搭建一套自动化测试框架,提高研发人员的代码质量,提高版本发布的效率。其具体方案如下:
一种基于jenkins的自动化白盒测试方法,包括:
接收测试指令,查找到与所述测试指令对应的预先构建的测试用例集;
从代码库中调用与所述测试用例集中的测试用例信息对应的用例脚本集;
利用所述测试用例信息,创建相应的测试工程;
利用所述测试工程运行所述用例脚本集,执行与所述测试用例集对应的测试,得到所述用例脚本的执行情况和执行日志。
可选的,所述接收测试指令,查找到与所述测试指令对应的预先构建的测试用例的过程,包括:
接收所述测试指令,利用所述测试指令中的项目名称、用例级别和测试设备信息,查找到与所述测试指令对应的预先构建的所述测试用例集。
可选的,还包括:
定时接收测试指令,查找到与所述测试指令对应的预先构建的测试用例集。
本发明还公开了一种基于jenkins的自动化白盒测试***,包括:
测试用例查找模块,用于接收测试指令,查找到与所述测试指令对应的预先构建的测试用例集;
用例脚本调用模块,用于从代码库中调用与所述测试用例集中的测试用例信息对应的用例脚本集;
测试工程创建模块,用于利用所述测试用例信息,创建相应的测试工程;
用例脚本执行模块,用于利用所述测试工程运行所述用例脚本集,执行与所述测试用例集对应的测试,得到所述用例脚本的执行情况和执行日志。
可选的,所述测试用例查找模块,具体用于接收所述测试指令,利用所述测试指令中的项目名称、用例级别和测试设备信息,查找到与所述测试指令对应的预先构建的所述测试用例集。
可选的,还包括:
定时测试模块,用于定时接收测试指令,查找到与所述测试指令对应的预先构建的测试用例集。
本发明还公开了一种基于jenkins的自动化白盒测试装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如前述的基于jenkins的自动化白盒测试方法。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的基于jenkins的自动化白盒测试方法。
本发明中,基于jenkins的自动化白盒测试方法,包括:接收测试指令,查找到与测试指令对应的预先构建的测试用例集;从代码库中调用与测试用例集中的测试用例信息对应的用例脚本集;利用测试用例信息,创建相应的测试工程;利用测试工程运行用例脚本集,执行与测试用例集对应的测试,得到用例脚本的执行情况和执行日志。
本发明利用jenkins参数化构建、上下游任务、多配置任务的方式,结合python脚本可以低成本、快速的搭建起一套研发自测、白盒测试、单元测试的框架,从而快速发现代码问题,提高代码质量和发版效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种基于jenkins的自动化白盒测试方法流程示意图;
图2为本发明实施例公开的一种基于jenkins的自动化白盒测试***结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种基于jenkins的自动化白盒测试方法,参见图1所示,该方法包括:
S11:接收测试指令,查找到与测试指令对应的预先构建的测试用例集。
具体的,利用jenkins创建上下游工程,上游工程主要用于配置测试用例的各种信息,例如,项目名称、用例级别和测试设备信息等,其中,用例级别可分为三级,L1、L2、L3,L1为冒烟用例,用于冒烟测试覆盖测试用例,L2为基线用例,用于基本功能覆盖测试用例,L3为全量用例,用于高级功能覆盖测试用例。测试指令中可以包括用例级别和该级别下的项目名称和测试设备信息,例如,测试指令中包括L2级别,项目名称为一类基本功能测试,测试设备名称为A设备和B设备,根据上述测试指令中的项目名称、用例级别和测试设备信息,便可以查找到与测试指令对应的预先构建的测试用例集。
需要说明的是,测试用例集主要记载了所需测试用例的测试用例信息,而不是立刻查找到用例脚本本身,即具体程序代码。根据测试指令,查找到仅是包括信息的测试用例集,相较于直接查找和调用相应的用例脚本索引速度更快,能够更快的相应用户输入的信息,提高用户体验,***中再利用测试用例集去调用相应的用例脚本集更为快速。
S12:从代码库中调用与测试用例集中的测试用例信息对应的用例脚本集。
具体的,预先构建代码库,其中包括“TestCase/[L1、L2、L3]//用于存放各级别的pyhton、shell等用例脚本”,“cripts/[start.py、run.py]//存放jenkins工程脚本,start.py对于上游工程脚本,run.py为下游工程脚本”和“Lib/[paramiko、其他模块、install.sh],Lib目录通过执行install.sh来完成对paramkio等python模块的安装”。
具体的,Jenkins上游工程主要使用scripts目录下的start.py,该脚本根据上游工程中传入的测试用例集中的测试用例信息,通过“TestCase”可以从代码库中调用与测试用例集中的测试用例信息对应的用例脚本集,得到用例脚本集,即需要执行的用例脚本。
具体的,在得到用例脚本后,可以利用Jenkins中Parameterized Trigger plugin插件将测试用例信息作为多配置任务传递给下游工程。同时将对应用例集的用例脚本集通过paramiko模块自动传输到各测试设备上面。最后,上游工程执行完成后触发下游工程的多配置任务。
S13:利用测试用例信息,创建相应的测试工程。
具体的,下游工程的多配置任务,获取到上游工程传递的测试用例信息。然后在配置中添加Dynamic Axis参数,用于接收上游传递的测试用例信息。配置完该参数后,即可在下游任务构建时创建测试用例集中以各测试脚本命名的工程。
S14:利用测试工程运行用例脚本集,执行与测试用例集对应的测试,得到用例脚本的执行情况和执行日志。
具体的,通过获取工程的名称传递给下游工程的执行脚本run.py来解析后执行相应的测试用例脚本。此处jenkins下游工程创建的各工程开始执行各测试用例脚本,通过python的paramiko模块的交互式执行方法可实时看到各测试脚本的执行情况。
可以理解的是,下游工程利用测试工程控制各测试设备上的用例脚本执行与测试用例集对应的测试,每个测试设备上的用例脚本并列运行,分别由不同的测试工程控制和运行,最终得到用例脚本的执行情况和执行日志。
此外,还可以开启jenkins的定时构建工程,定时发出预先设计好的测试指令,运行相应的预先搭建的测试用例集,执行上述的S11至S14,便能够每天定时去将研发的各自验用例通过该基于Jenkins的自动化测试框架去执行,从而不断快速发现问题,提高代码质量。
可见,本发明实施例利用jenkins参数化构建、上下游任务、多配置任务的方式,结合python脚本可以低成本、快速的搭建起一套研发自测、白盒测试、单元测试的框架,从而快速发现代码问题,提高代码质量和发版效率。
相应的,本发明实施例还公开了一种基于jenkins的自动化白盒测试***,参见图2所示,该***包括:
测试用例查找模块11,用于接收测试指令,查找到与测试指令对应的预先构建的测试用例集;
用例脚本调用模块12,用于从代码库中调用与测试用例集中的测试用例信息对应的用例脚本集;
测试工程创建模块13,用于利用测试用例信息,创建相应的测试工程;
用例脚本执行模块14,用于利用测试工程运行用例脚本集,执行与测试用例集对应的测试,得到用例脚本的执行情况和执行日志。
可见,本发明实施例利用jenkins参数化构建、上下游任务、多配置任务的方式,结合python脚本可以低成本、快速的搭建起一套研发自测、白盒测试、单元测试的框架,从而快速发现代码问题,提高代码质量和发版效率。
具体的,测试用例查找模块11,具体用于接收测试指令,利用测试指令中的项目名称、用例级别和测试设备信息,查找到与测试指令对应的预先构建的测试用例集。
具体的,还包括:
定时测试模块,用于定时接收测试指令,查找到与测试指令对应的预先构建的测试用例集。
此外,本发明实施例还公开了一种基于jenkins的自动化白盒测试装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序以实现如前述的基于jenkins的自动化白盒测试方法。
另外,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述的基于jenkins的自动化白盒测试方法。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的技术内容进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种基于jenkins的自动化白盒测试方法,其特征在于,包括:
接收测试指令,查找到与所述测试指令对应的预先构建的测试用例集;
从代码库中调用与所述测试用例集中的测试用例信息对应的用例脚本集;
利用所述测试用例信息,创建相应的测试工程;
利用所述测试工程运行所述用例脚本集,执行与所述测试用例集对应的测试,得到所述用例脚本的执行情况和执行日志。
2.根据权利要求1所述的基于jenkins的自动化白盒测试方法,其特征在于,所述接收测试指令,查找到与所述测试指令对应的预先构建的测试用例的过程,包括:
接收所述测试指令,利用所述测试指令中的项目名称、用例级别和测试设备信息,查找到与所述测试指令对应的预先构建的所述测试用例集。
3.根据权利要求1或2所述的基于jenkins的自动化白盒测试方法,其特征在于,还包括:
定时接收测试指令,查找到与所述测试指令对应的预先构建的测试用例集。
4.一种基于jenkins的自动化白盒测试***,其特征在于,包括:
测试用例查找模块,用于接收测试指令,查找到与所述测试指令对应的预先构建的测试用例集;
用例脚本调用模块,用于从代码库中调用与所述测试用例集中的测试用例信息对应的用例脚本集;
测试工程创建模块,用于利用所述测试用例信息,创建相应的测试工程;
用例脚本执行模块,用于利用所述测试工程运行所述用例脚本集,执行与所述测试用例集对应的测试,得到所述用例脚本的执行情况和执行日志。
5.根据权利要求4所述的基于jenkins的自动化白盒测试***,其特征在于,所述测试用例查找模块,具体用于接收所述测试指令,利用所述测试指令中的项目名称、用例级别和测试设备信息,查找到与所述测试指令对应的预先构建的所述测试用例集。
6.根据权利要求4或5所述的基于jenkins的自动化白盒测试***,其特征在于,还包括:
定时测试模块,用于定时接收测试指令,查找到与所述测试指令对应的预先构建的测试用例集。
7.一种基于jenkins的自动化白盒测试装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至3任一项所述的基于jenkins的自动化白盒测试方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的基于jenkins的自动化白盒测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011181197.5A CN112269742A (zh) | 2020-10-29 | 2020-10-29 | 一种基于jenkins的自动化白盒测试方法、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011181197.5A CN112269742A (zh) | 2020-10-29 | 2020-10-29 | 一种基于jenkins的自动化白盒测试方法、装置及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112269742A true CN112269742A (zh) | 2021-01-26 |
Family
ID=74346143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011181197.5A Withdrawn CN112269742A (zh) | 2020-10-29 | 2020-10-29 | 一种基于jenkins的自动化白盒测试方法、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112269742A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836039A (zh) * | 2021-10-25 | 2021-12-24 | 四川虹美智能科技有限公司 | 自动化冒烟测试方法和*** |
CN114625664A (zh) * | 2022-03-24 | 2022-06-14 | 上海英恒电子有限公司 | 一种自动化测试方法、装置、设备及存储介质 |
CN117555626A (zh) * | 2023-11-29 | 2024-02-13 | 沐曦集成电路(上海)有限公司 | 基于Jenkins的硬件测试方法、电子设备和介质 |
-
2020
- 2020-10-29 CN CN202011181197.5A patent/CN112269742A/zh not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836039A (zh) * | 2021-10-25 | 2021-12-24 | 四川虹美智能科技有限公司 | 自动化冒烟测试方法和*** |
CN114625664A (zh) * | 2022-03-24 | 2022-06-14 | 上海英恒电子有限公司 | 一种自动化测试方法、装置、设备及存储介质 |
CN117555626A (zh) * | 2023-11-29 | 2024-02-13 | 沐曦集成电路(上海)有限公司 | 基于Jenkins的硬件测试方法、电子设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112269742A (zh) | 一种基于jenkins的自动化白盒测试方法、装置及可读存储介质 | |
US20230004481A1 (en) | Automated application testing system | |
CN112685035B (zh) | 项目开发方法及装置、计算机可读存储介质、电子设备 | |
US20200174917A1 (en) | Rapid Automation First-pass Testing Framework | |
US10942837B2 (en) | Analyzing time-series data in an automated application testing system | |
CN110750458A (zh) | 大数据平台测试方法、装置、可读存储介质及电子设备 | |
CN107015841B (zh) | 一种程序编译的预处理方法及程序编译设备 | |
CN112241360A (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
CN114297056A (zh) | 一种自动化测试方法及*** | |
CN113590454A (zh) | 测试方法、装置、计算机设备和存储介质 | |
CN114676053A (zh) | 一种硬件设备的自动化分析方法及装置 | |
CN113535567A (zh) | 软件测试方法、装置、设备和介质 | |
CN103176903B (zh) | MapReduce分布式***程序的测试方法及设备 | |
CN115514677B (zh) | 服务器拨测方法及*** | |
CN111679828A (zh) | 一种数据处理的方法及装置、电子设备、存储介质 | |
WO2019051714A1 (zh) | 一种用于智能设备的应用程序内存的测试方法及测试装置 | |
CN112035356A (zh) | 一种web应用兼容性的自动化测试方法及*** | |
CN110990209A (zh) | 存储稳定性的测试方法、测试装置、测试设备及存储介质 | |
CN117370203B (zh) | 自动化测试方法、***、电子设备及存储介质 | |
Arteaga et al. | A framework for non-functional testing process of mobile applications | |
CN104252409A (zh) | 一种获取WebApp执行过程的方法及*** | |
CN113608996B (zh) | 一种镜像编译测试方法、***、装置及可读存储介质 | |
CN116860324B (zh) | 开发数据处理方法、开发数据处理设备以及可读存储介质 | |
CN117370203A (zh) | 自动化测试方法、***、电子设备及存储介质 | |
CN112612710A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210126 |