CN109032941A - 测试用例驱动的可持续集成接口自动化测试方法及系统 - Google Patents
测试用例驱动的可持续集成接口自动化测试方法及系统 Download PDFInfo
- Publication number
- CN109032941A CN109032941A CN201810800346.8A CN201810800346A CN109032941A CN 109032941 A CN109032941 A CN 109032941A CN 201810800346 A CN201810800346 A CN 201810800346A CN 109032941 A CN109032941 A CN 109032941A
- Authority
- CN
- China
- Prior art keywords
- test case
- test
- code
- atomic
- driving
- 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
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/3684—Test management for test design, e.g. generating new test cases
Abstract
本发明提供一种测试用例驱动的可持续集成接口自动化测试方法及系统,包括如下步骤:对原子操作进行提取,形成原子操作库;对测试用例中包含多个原子操作的用例进行标记,并将标记的测试用例为驱动;选择对应的原子操作方法,组合成相应的测试用例代码;使用TestNG框架对测试用例代码进行管理,将测试用例代码执行任务集成到Jenkins持续集成环境,实现对特定软件系统的集成接口自动化。
Description
技术领域
本发明涉及软件自动化测试技术领域,具体涉及一种测试用例驱动的可持续集成接口自动化测试方法及系统。
背景技术
测试用例是为了某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。接口测试时测试系统组件间接口的一种测试,接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点,测试的重点是检查数据的交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系。
TestNG是一个测试框架,其灵感来自JUnit和NUnit,同时引入了一些新的功能,使其功能更强大,使用更方便。TestNG类似于JUnit,但它不是JUnit框架的扩展。它的灵感来源于JUnit。它的目的是优于JUnit,尤其是在用于测试集成多类时。 TestNG消除了大部分的旧框架的限制,使开发人员能够编写更加灵活和强大的测试。 因为它在很大程度上借鉴了Java注解(JDK5.0引入的)来定义测试,它也可以显示如何使用这个新功能在真实的Java语言生产环境中。
Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程,通常情况是在测试用例设计完成且评审通过之后,由测试人员根据测试用例描述的步骤进行一步步执行测试,得到实际结果与预期结果进行比较。自动化即把这个执行的过程代码化,通过自动化化测试框架的管理,让机器运行测试步骤,从而对比实际结果与预期结果的过程。
现有的自动化测试接口测试主要依赖工具,主要进行参数和参数组合测试;业务和流程测试用例主要依赖人工测试,自动化测试覆盖率不高。
发明内容
为了克服上述现有技术中的不足,本发明提供一种测试用例驱动的可持续集成接口自动化测试方法及系统,以解决上述技术问题。
本发明的技术方案是:
一种测试用例驱动的可持续集成接口自动化测试方法,包括如下步骤:
对原子操作进行提取,形成原子操作库;
对测试用例中包含多个原子操作的用例进行标记,并将标记的测试用例为驱动;
选择对应的原子操作方法,组合成相应的测试用例代码;
使用TestNG框架对测试用例代码进行管理,将测试用例代码执行任务集成到Jenkins持续集成环境,实现对特定软件系统的集成接口自动化。
进一步的,步骤对原子操作进行提取,形成原子操作库包括:
对原子操作进行提取,把不同的原子操作提取出来之后,组成原子操作函数,形成原子操作库;其中,原子操作是一个接口的最小化操作,原子操作库包含对待测系统的最基础操作的所有方法。
进一步的,步骤对测试用例中包含多个原子操作的用例进行标记,并将标记的测试用例为驱动,包括:
梳理测试用例;
对测试用例中包含多个原子操作的用例进行标记;
设置标记的测试用例为驱动。
进一步的,步骤选择对应的原子操作方法,组合成相应的测试用例代码,包括:
将标记的测试用例为驱动,根据测试用例的测试步骤,组合成新的自动化测试用例代码。
进一步的,步骤使用TestNG框架对测试用例代码进行管理,测试用例代码执行任务集成到Jenkins持续集成环境,实现对特定软件系统的集成接口自动化,包括:
将测试用例代码执行任务集成到Jenkins持续集成环境;
设置待测系统代码更新后触发测试任务机制,实现对特定软件系统的集成接口自动化。
进一步的,该方法还包括:测试任务执行完成后输出相关的测试报告,根据测试报告分析测试结果,最后提高测试质量和自动化测试覆盖率。
本发明技术方案还提供一种测试用例驱动的可持续集成接口自动化测试系统,包括TestNG框架、Jenkins持续集成环境、测试用例和原子操作;
该系统还包括提取模块和标记模块;
提取模块,用于对原子操作进行提取,形成原子操作库;
标记模块,用于对测试用例中包含多个原子操作的用例进行标记,并将标记的测试用例为驱动,并将设为驱动的测试用例对应的原子操作方法组合成相应的测试用例代码;
TestNG框架,用于对测试用例代码进行管理,将测试用例代码执行任务集成到Jenkins持续集成环境;
Jenkins持续集成环境设置有触发模块,用于设置待测系统代码更新后触发测试任务;实现对待测软件系统的集成接口自动化。
进一步的,该系统还包括输出模块,所述输出模块,用于测试任务执行完成后输出相关的测试报告。
测试人员对待测系统进行接口自动化测试规划,对接口自动化测试实现过程中,对原子操作进行提取,把不同的原子操作提取出来之后,组成原子操作函数,形成原子操作库。原子操作库包含对待测系统的最基础操作的所有方法,梳理测试用例,对测试用例中包含多个原子操作的用例进行标记,以标记的测试用例为驱动,选择对应的原子操作方法,组合成相应的测试用例代码。使用TestNG框架对测试用例代码进行管理,从而实现用例的自动化测试把测试用例代码执行任务集成到Jenkins持续集成环境,设置待测系统代码更新后触发测试任务机制,测试任务执行完成后输出相关的测试报告,根据测试报告分析测试结果,最后提高测试质量和自动化测试覆盖率。
原子操作是一个接口的最小化操作,在原子操作的过程中,有一个明确的参数输入和结果返回,而且原子操作在接口测试过程中是已经测试充分,正确的接口。原子操作在组合用例代码的过程中可以重复使用。
从以上技术方案可以看出,本发明具有以下优点:提出把接口测试的原子操作为基础,以测试用例为驱动,根据测试用例的测试步骤,组合成新的自动化测试用例代码,以TestNG为自动化测试管理框架,把自动化用例代码集成到Jenkins,从而实现对特定软件系统的集成接口自动化测试方案,提高自动化测试覆盖率;Jenkins集成自动化测试任务,代码提交触发接口测试任务,从而进行可持续集成测试,快速获取测试结果,提供测试效率。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
图1为一种测试用例驱动的可持续集成接口自动化测试框架。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
实施例一
如图1所示,一种测试用例驱动的可持续集成接口自动化测试方法,包括如下步骤:
对原子操作进行提取,形成原子操作库;
对测试用例中包含多个原子操作的用例进行标记,并将标记的测试用例为驱动;
选择对应的原子操作方法,组合成相应的测试用例代码;
使用TestNG框架对测试用例代码进行管理,将测试用例代码执行任务集成到Jenkins持续集成环境,实现对特定软件系统的集成接口自动化。
步骤对原子操作进行提取,形成原子操作库包括:
对原子操作进行提取,把不同的原子操作提取出来之后,组成原子操作函数,形成原子操作库;其中,原子操作是一个接口的最小化操作,原子操作库包含对待测系统的最基础操作的所有方法。
步骤对测试用例中包含多个原子操作的用例进行标记,并将标记的测试用例为驱动,包括:
梳理测试用例;
对测试用例中包含多个原子操作的用例进行标记;
设置标记的测试用例为驱动。
步骤选择对应的原子操作方法,组合成相应的测试用例代码,包括:
将标记的测试用例为驱动,根据测试用例的测试步骤,组合成新的自动化测试用例代码。
步骤使用TestNG框架对测试用例代码进行管理,测试用例代码执行任务集成到Jenkins持续集成环境,实现对特定软件系统的集成接口自动化,包括:
将测试用例代码执行任务集成到Jenkins持续集成环境;
设置待测系统代码更新后触发测试任务机制,实现对特定软件系统的集成接口自动化。
该方法还包括:测试任务执行完成后输出相关的测试报告,根据测试报告分析测试结果,最后提高测试质量和自动化测试覆盖率。
把接口测试的原子操作为基础,以测试用例为驱动,根据测试用例的测试步骤,组合成新的自动化测试用例代码,以TestNG为自动化测试管理框架,把自动化用例代码集成到Jenkins,从而实现对特定软件系统的集成接口自动化测试方法。
实施例二
一种测试用例驱动的可持续集成接口自动化测试系统,包括TestNG框架、Jenkins持续集成环境、测试用例和原子操作;
该系统还包括提取模块和标记模块;
提取模块,用于对原子操作进行提取,形成原子操作库;
标记模块,用于对测试用例中包含多个原子操作的用例进行标记,并将标记的测试用例为驱动,并将设为驱动的测试用例对应的原子操作方法组合成相应的测试用例代码;
TestNG框架,用于对测试用例代码进行管理,将测试用例代码执行任务集成到Jenkins持续集成环境;
Jenkins持续集成环境设置有触发模块,用于设置待测系统代码更新后触发测试任务;实现对待测软件系统的集成接口自动化。
该系统还包括输出模块,所述输出模块,用于测试任务执行完成后输出相关的测试报告。
测试人员对待测系统进行接口自动化测试规划,对接口自动化测试实现过程中,对原子操作进行提取,把不同的原子操作提取出来之后,组成原子操作函数,形成原子操作库。原子操作库包含对待测系统的最基础操作的所有方法,梳理测试用例,对测试用例中包含多个原子操作的用例进行标记,以标记的测试用例为驱动,选择对应的原子操作方法,组合成相应的测试用例代码。使用TestNG框架对测试用例代码进行管理,从而实现用例的自动化测试把测试用例代码执行任务集成到Jenkins持续集成环境,设置待测系统代码更新后触发测试任务机制,测试任务执行完成后输出相关的测试报告,根据测试报告分析测试结果,最后提高测试质量和自动化测试覆盖率。
原子操作是一个接口的最小化操作,在原子操作的过程中,有一个明确的参数输入和结果返回,而且原子操作在接口测试过程中是已经测试充分,正确的接口。原子操作在组合用例代码的过程中可以重复使用。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种测试用例驱动的可持续集成接口自动化测试方法,其特征在于包括如下步骤:
对原子操作进行提取,形成原子操作库;
对测试用例中包含多个原子操作的用例进行标记,并将标记的测试用例为驱动;
选择对应的原子操作方法,组合成相应的测试用例代码;
使用TestNG框架对测试用例代码进行管理,将测试用例代码执行任务集成到Jenkins持续集成环境,实现对特定软件系统的集成接口自动化。
2.根据权利要求1所述的一种测试用例驱动的可持续集成接口自动化测试方法,其特征在于,步骤对原子操作进行提取,形成原子操作库包括:
对原子操作进行提取,把不同的原子操作提取出来之后,组成原子操作函数,形成原子操作库;其中,原子操作是一个接口的最小化操作,原子操作库包含对待测系统的最基础操作的所有方法。
3.根据权利要求2所述的一种测试用例驱动的可持续集成接口自动化测试方法,其特征在于,步骤对测试用例中包含多个原子操作的用例进行标记,并将标记的测试用例为驱动,包括:
梳理测试用例;
对测试用例中包含多个原子操作的用例进行标记;
设置标记的测试用例为驱动。
4.根据权利要求3所述的一种测试用例驱动的可持续集成接口自动化测试方法,其特征在于,步骤选择对应的原子操作方法,组合成相应的测试用例代码,包括:
将标记的测试用例为驱动,根据测试用例的测试步骤,组合成新的自动化测试用例代码。
5.根据权利要求4所述的一种测试用例驱动的可持续集成接口自动化测试方法,其特征在于,步骤使用TestNG框架对测试用例代码进行管理,测试用例代码执行任务集成到Jenkins持续集成环境,实现对特定软件系统的集成接口自动化,包括:
将测试用例代码执行任务集成到Jenkins持续集成环境;
设置待测系统代码更新后触发测试任务机制,实现对特定软件系统的集成接口自动化。
6.根据权利要求1所述的一种测试用例驱动的可持续集成接口自动化测试方法,其特征在于,该方法还包括:
测试任务执行完成后输出相关的测试报告。
7.一种测试用例驱动的可持续集成接口自动化测试系统,其特征在于包括TestNG框架、Jenkins持续集成环境、测试用例和原子操作;
该系统还包括提取模块和标记模块;
提取模块,用于对原子操作进行提取,形成原子操作库;
标记模块,用于对测试用例中包含多个原子操作的用例进行标记,并将标记的测试用例为驱动,并将设为驱动的测试用例对应的原子操作方法组合成相应的测试用例代码;
TestNG框架,用于对测试用例代码进行管理,将测试用例代码执行任务集成到Jenkins持续集成环境;
Jenkins持续集成环境设置有触发模块,用于设置待测系统代码更新后触发测试任务;实现对特定软件系统的集成接口自动化。
8.根据权利要求7所述的一种测试用例驱动的可持续集成接口自动化测试系统,其特征在于,该系统还包括输出模块,所述输出模块,用于测试任务执行完成后输出相关的测试报告。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810800346.8A CN109032941A (zh) | 2018-07-20 | 2018-07-20 | 测试用例驱动的可持续集成接口自动化测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810800346.8A CN109032941A (zh) | 2018-07-20 | 2018-07-20 | 测试用例驱动的可持续集成接口自动化测试方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109032941A true CN109032941A (zh) | 2018-12-18 |
Family
ID=64643689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810800346.8A Pending CN109032941A (zh) | 2018-07-20 | 2018-07-20 | 测试用例驱动的可持续集成接口自动化测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109032941A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813662A (zh) * | 2020-06-16 | 2020-10-23 | 上海中通吉网络技术有限公司 | 用户行为驱动的可持续集成的测试方法、装置和设备 |
CN113535567A (zh) * | 2021-07-21 | 2021-10-22 | 工银科技有限公司 | 软件测试方法、装置、设备和介质 |
CN114545896A (zh) * | 2022-01-20 | 2022-05-27 | 北京全路通信信号研究设计院集团有限公司 | 一种计算机联锁软件自动测试架构方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339532A (zh) * | 2007-07-06 | 2009-01-07 | 中国银联股份有限公司 | 一种Web应用系统的自动化测试方法及装置 |
CN102169183A (zh) * | 2010-12-10 | 2011-08-31 | 北京空间飞行器总体设计部 | 一种基于测试原子的卫星自动化测试方法 |
CN102831052A (zh) * | 2011-06-16 | 2012-12-19 | 中国银联股份有限公司 | 测试用例自动化生成装置及方法 |
CN104820640A (zh) * | 2015-05-19 | 2015-08-05 | 广州华多网络科技有限公司 | 一种网页测试方法和装置 |
CN105095059A (zh) * | 2014-04-15 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种自动化测试的方法和装置 |
CN106227652A (zh) * | 2016-07-12 | 2016-12-14 | 合网络技术(北京)有限公司 | 自动化测试方法及系统 |
CN106354638A (zh) * | 2016-08-29 | 2017-01-25 | 广州唯品会信息科技有限公司 | 基于词法分析的自动测试方法及装置 |
JP2017037494A (ja) * | 2015-08-10 | 2017-02-16 | 富士通株式会社 | テストケース生成方法、テストケース生成プログラムおよびテストケース生成装置 |
CN107643981A (zh) * | 2017-08-29 | 2018-01-30 | 顺丰科技有限公司 | 一种多元业务流程的自动化测试平台及运行方法 |
CN107832231A (zh) * | 2017-12-05 | 2018-03-23 | 郑州云海信息技术有限公司 | 一种系统测试方法、装置及介质 |
-
2018
- 2018-07-20 CN CN201810800346.8A patent/CN109032941A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339532A (zh) * | 2007-07-06 | 2009-01-07 | 中国银联股份有限公司 | 一种Web应用系统的自动化测试方法及装置 |
CN102169183A (zh) * | 2010-12-10 | 2011-08-31 | 北京空间飞行器总体设计部 | 一种基于测试原子的卫星自动化测试方法 |
CN102831052A (zh) * | 2011-06-16 | 2012-12-19 | 中国银联股份有限公司 | 测试用例自动化生成装置及方法 |
CN105095059A (zh) * | 2014-04-15 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种自动化测试的方法和装置 |
CN104820640A (zh) * | 2015-05-19 | 2015-08-05 | 广州华多网络科技有限公司 | 一种网页测试方法和装置 |
JP2017037494A (ja) * | 2015-08-10 | 2017-02-16 | 富士通株式会社 | テストケース生成方法、テストケース生成プログラムおよびテストケース生成装置 |
CN106227652A (zh) * | 2016-07-12 | 2016-12-14 | 合网络技术(北京)有限公司 | 自动化测试方法及系统 |
CN106354638A (zh) * | 2016-08-29 | 2017-01-25 | 广州唯品会信息科技有限公司 | 基于词法分析的自动测试方法及装置 |
CN107643981A (zh) * | 2017-08-29 | 2018-01-30 | 顺丰科技有限公司 | 一种多元业务流程的自动化测试平台及运行方法 |
CN107832231A (zh) * | 2017-12-05 | 2018-03-23 | 郑州云海信息技术有限公司 | 一种系统测试方法、装置及介质 |
Non-Patent Citations (1)
Title |
---|
王肖: "Android手机软件可靠性测试研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813662A (zh) * | 2020-06-16 | 2020-10-23 | 上海中通吉网络技术有限公司 | 用户行为驱动的可持续集成的测试方法、装置和设备 |
CN113535567A (zh) * | 2021-07-21 | 2021-10-22 | 工银科技有限公司 | 软件测试方法、装置、设备和介质 |
CN113535567B (zh) * | 2021-07-21 | 2023-02-24 | 工银科技有限公司 | 软件测试方法、装置、设备和介质 |
CN114545896A (zh) * | 2022-01-20 | 2022-05-27 | 北京全路通信信号研究设计院集团有限公司 | 一种计算机联锁软件自动测试架构方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739755B (zh) | 一种基于程序追踪和混合执行的模糊测试系统 | |
US7623981B2 (en) | Testing of embedded systems | |
CN106354630B (zh) | 一种基于动态符号执行的软件缺陷检测方法 | |
CN106649100A (zh) | 一种自动化测试方法及系统 | |
CN106415504B (zh) | 测试用例生成系统及记录测试用例的记录介质 | |
CN109032941A (zh) | 测试用例驱动的可持续集成接口自动化测试方法及系统 | |
US20070061641A1 (en) | Apparatus and method for generating test driver | |
CN108595336A (zh) | 一种基于以太网的计算机软件测试系统 | |
CN102567201A (zh) | 跨模型的图形用户界面测试脚本自动修复方法 | |
CN102707712B (zh) | 电子装备故障诊断方法和系统 | |
CN110515826A (zh) | 一种基于次数频谱与神经网络算法的软件缺陷定位方法 | |
CN109491922A (zh) | 一种基于模型驱动的测试方法和装置 | |
CN108932191A (zh) | 自动化测试方法、系统、计算机设备及可读存储介质 | |
CN107622017B (zh) | 一种通用自动化软件测试的解析方法 | |
Zhou et al. | Extracting configuration knowledge from build files with symbolic analysis | |
CN109710240A (zh) | 流程图分解方法及系统 | |
CN107703773A (zh) | 一种基于硬件在环仿真系统的软件测试方法及装置 | |
CN104331361B (zh) | 一种用于白盒测试覆盖率计算可视化的测试装置及方法 | |
CN111176995B (zh) | 一种基于大数据测试用例的测试方法和测试系统 | |
CN111966575B (zh) | 一种航空机载显示软件的图形自动化测试方法 | |
CN112685316A (zh) | 代码执行路径的获取方法、装置、计算机设备及存储介质 | |
CN112685291A (zh) | 系统联合测试方法及相关装置 | |
CN104536880A (zh) | 基于符号执行的gui程序测试用例扩增方法 | |
Saddler et al. | EventFlowSlicer: a tool for generating realistic goal-driven GUI tests. | |
CN109828922A (zh) | 一种基于Python实时编译技术的通用自动测试引擎及使用方法 |
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: 20181218 |
|
RJ01 | Rejection of invention patent application after publication |