一种自动化测试系统及方法技术方案

技术编号:24613279 阅读:18 留言:0更新日期:2020-06-24 01:02
本发明专利技术公开了一种自动化测试系统及方法。所公开的系统包括:源代码管理模块,用于对待测试软件的源代码进行版本管理;测试环境构建模块,用于基于待测试软件的源代码,构建待测试软件的测试环境;测试用例和测试脚本自动生成模块,用于基于用户通过GUI执行的测试操作,自动生成测试用例和测试脚本;测试模块,用于基于测试用例和测试脚本,在测试环境下自动执行测试并生成测试报告。所公开的技术方案减少了自动化测试过程中的人工操作步骤,缩短了软件开发的生命周期,降低了软件产品维护的复杂度。

An automatic test system and method

【技术实现步骤摘要】
一种自动化测试系统及方法
本专利技术涉及自动化测试领域,尤其涉及一种自动化测试系统及方法。
技术介绍
应用软件在开发完成之后,通常都需要进行功能测试、性能测试等各种测试,只有在测试通过之后才能发布给用户使用。因此,软件测试是软件项目生命周期中的一个重要阶段。以web软件开发为例,开发人员通常会分别进行前端和后端的开发,以提高开发效率。在开发完成之后,通常需要进行前端页面测试、以及后端业务功能测试。前端和后端彼此相互依赖,一方有问题另一方就可能需要进行相应的源代码调整。例如,在web软件开发完成后,测试人员首先需要规划要测试的每个功能点的测试用例,之后根据测试用例编写相应的测试脚本代码,完成后需协调运维人员准备测试环境,每个功能的版本测试需要确保外部环境一致,测试脚本运行完成后还需要收集汇总测试结果,反馈给开发人员。随着开发过程中快速迭代、快速交付的需求日益凸显,在项目快速迭代的过程中,为了保证交付质量不可避免的要进行一遍又一遍的测试。如果进行人工测试,费事又费力。例如,单独进行前端或后端的测试覆盖率不高且极有可能因人工失误忽略某些测试环节。测出问题时还需要测试人员与开发人员紧密沟通以解决问题,这样就导致大量的人力、物力和时间的浪费。因此,人工测试已经不能满足大型软件的测试需求,于是出现了自动化测试技术。然而,现有的自动化测试工具或软件通常只能完成整个测试工作的一部分,而且测试过程通常需要专业测试人员、运维人员的大量人工操作。例如,自动录制工具通常只能自动录制和生成测试脚本,由于前端技术日新月异,通常都需要由专业的测试人员编写许多测试用例,才能结合测试脚本进行测试覆盖率符合要求的自动化测试。随着新功能的开发,测试用例还需要频繁更新。例如,需要运维人员使用单独的测试环境部署工具来部署测试环境,以及维护测试环境里的软件更新。而且,同手工测试类似,测出问题时也需要测试人员与开发人员紧密沟通以解决问题,同样会导致大量的人力、物力和时间的浪费。因此,现有的自动化测试工具也已经不能再满足需要。因此,为了在自动化测试过程中减少人工操作步骤,缩短软件开发的生命周期,减少开发、测试人员的工作量,降低软件产品维护的复杂度,需要提出新的技术方案。
技术实现思路
根据本专利技术的自动化测试系统,包括:源代码管理模块,用于对待测试软件的源代码进行版本管理;测试环境构建模块,用于基于待测试软件的源代码,构建待测试软件的测试环境;测试用例和测试脚本自动生成模块,用于基于用户通过GUI执行的测试操作,自动生成测试用例和测试脚本;测试模块,用于基于测试用例和测试脚本,在测试环境下自动执行测试并生成测试报告。根据本专利技术的自动化测试系统,还包括:软件发布模块,用于自动发布通过自动化测试后的软件。根据本专利技术的自动化测试系统,其源代码管理模块还用于:基于webhook自动发送源代码更新消息,其测试环境构建模块还用于:基于webhook接收源代码更新消息,下载并重新编译更新后的源代码,重新构建待测试软件的测试环境,其中,源代码管理模块包括下列中的一种:SVN、Gitlab,测试环境构建模块包括Jenkins。根据本专利技术的自动化测试系统,其测试用例和测试脚本自动生成模块还用于:通过录制用户通过GUI执行的测试操作,自动生成测试用例和测试脚本,其中,测试用例和测试脚本自动生成模块包括Selenium。根据本专利技术的自动化测试系统,其测试环境构建模块还用于:基于Docker虚拟化技术来构建待测试软件和/或web浏览器软件的Docker镜像,进而构建待测试软件的虚拟测试环境,其中,测试环境构建模块包括Jenkins,web浏览器软件包括Chrome-headless模式下的Chromeweb浏览器软件。根据本专利技术的自动化测试方法,包括:使用源代码管理模块,对待测试软件的源代码进行版本管理;使用测试环境构建模块,基于待测试软件的源代码,构建待测试软件的测试环境;使用测试用例和测试脚本自动生成模块,基于用户通过GUI执行的测试操作,自动生成测试用例和测试脚本;使用测试模块,基于测试用例和测试脚本,在测试环境下自动执行测试并生成测试报告。根据本专利技术的自动化测试方法,还包括:使用软件发布模块,自动发布通过自动化测试后的软件。根据本专利技术的自动化测试方法,还包括:使用源代码管理模块,基于webhook自动发送源代码更新消息;使用测试环境构建模块,基于webhook接收源代码更新消息,下载并重新编译更新后的源代码,重新构建待测试软件的测试环境,其中,源代码管理模块包括下列中的一种:SVN、Gitlab,测试环境构建模块包括Jenkins。根据本专利技术的自动化测试方法,还包括:使用测试用例和测试脚本自动生成模块,通过录制用户通过GUI执行的测试操作,自动生成测试用例和测试脚本,其中,测试用例和测试脚本自动生成模块包括Selenium。根据本专利技术的自动化测试方法,还包括:使用测试环境构建模块,基于Docker虚拟化技术来构建待测试软件和/或web浏览器软件的Docker镜像,进而构建待测试软件的虚拟测试环境,其中,测试环境构建模块包括Jenkins,web浏览器软件包括Chrome-headless模式下的Chromeweb浏览器软件。根据本专利技术的上述技术方案,减少了自动化测试过程中的人工操作步骤,缩短了软件开发的生命周期,降低了软件产品维护的复杂度。附图说明并入到说明书中并且构成说明书的一部分的附图示出了本专利技术的实施例,并且与相关的文字描述一起用于解释本专利技术的原理。在这些附图中,类似的附图标记用于表示类似的要素。下面描述中的附图是本专利技术的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。图1示例性地示出了根据本专利技术的自动化测试系统的示意框图。图2示例性地示出了根据本专利技术的自动化测试方法的示意流程图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。图1示例性地示出了根据本专利技术的自动化测试系统的示意框图。如图1的实线框所示,根据本专利技术的自动化测试系统100包括:源代码管理模块101,用于对待测试软件的源代码进行版本管理;测试环境构建模块103,用于基于待测试软件的源代码,构建待测试软件的测试环境;...

【技术保护点】
1.一种自动化测试系统,其特征在于,包括:/n源代码管理模块,用于对待测试软件的源代码进行版本管理;/n测试环境构建模块,用于基于待测试软件的源代码,构建待测试软件的测试环境;/n测试用例和测试脚本自动生成模块,用于基于用户通过GUI执行的测试操作,自动生成测试用例和测试脚本;/n测试模块,用于基于所述测试用例和测试脚本,在测试环境下自动执行测试并生成测试报告。/n

【技术特征摘要】
1.一种自动化测试系统,其特征在于,包括:
源代码管理模块,用于对待测试软件的源代码进行版本管理;
测试环境构建模块,用于基于待测试软件的源代码,构建待测试软件的测试环境;
测试用例和测试脚本自动生成模块,用于基于用户通过GUI执行的测试操作,自动生成测试用例和测试脚本;
测试模块,用于基于所述测试用例和测试脚本,在测试环境下自动执行测试并生成测试报告。


2.如权利要求1所述的自动化测试系统,其特征在于,还包括:
软件发布模块,用于自动发布通过自动化测试后的软件。


3.如权利要求1所述的自动化测试系统,其特征在于,所述源代码管理模块还用于:
基于webhook自动发送源代码更新消息,
所述测试环境构建模块还用于:
基于webhook接收所述源代码更新消息,下载并重新编译更新后的源代码,重新构建待测试软件的测试环境,
其中,所述源代码管理模块包括下列中的一种:SVN、Gitlab,所述测试环境构建模块包括Jenkins。


4.如权利要求1所述的自动化测试系统,其特征在于,所述测试用例和测试脚本自动生成模块还用于:
通过录制用户通过GUI执行的测试操作,自动生成测试用例和测试脚本,
其中,所述测试用例和测试脚本自动生成模块包括Selenium。


5.如权利要求1所述的自动化测试系统,其特征在于,所述测试环境构建模块还用于:
基于Docker虚拟化技术来构建待测试软件和/或web浏览器软件的Docker镜像,进而构建待测试软件的虚拟测试环境,
其中,所述测试环境构建模块包括Jenkins,所述web浏览器软件包括Chrome-headless模式下的Chromeweb浏览器软件。

...

【专利技术属性】
技术研发人员:王全韩晓攀赵鹏
申请(专利权)人:北京数聚鑫云信息技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1