本发明涉及软件自动化测试技术领域,具体涉及一种测试用例驱动的可持续集成接口自动化测试方法及系统。
背景技术
测试用例是为了某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。接口测试时测试系统组件间接口的一种测试,接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点,测试的重点是检查数据的交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系。
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持续集成环境,设置待测系统代码更新后触发测试任务机制,测试任务执行完成后输出相关的测试报告,根据测试报告分析测试结果,最后提高测试质量和自动化测试覆盖率。
原子操作是一个接口的最小化操作,在原子操作的过程中,有一个明确的参数输入和结果返回,而且原子操作在接口测试过程中是已经测试充分,正确的接口。原子操作在组合用例代码的过程中可以重复使用。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。