掌桥专利:专业的专利平台
掌桥专利
首页

一种用例运行平台

文献发布时间:2024-04-18 19:58:21


一种用例运行平台

技术领域

本发明涉及软件测试技术领域,更具体地说,涉及一种用例运行平台。

背景技术

当下软件测试行业,针对接口测试,大多数公司采用的测试方法仍是通过本地开发工具或者第三方的测试工具进行调用测试等,这些都只能作为简单的接口调试使用,对于大型项目以及需要经常维护的项目来说,用例没有得到很好的管理,只能一条一条的手工运行,效率偏低。

发明内容

本发明的目的是提供一种用例运行平台,能够解决现有技术中用例没有得到很好的管理、效率偏低的问题。

为了实现上述目的,本发明提供如下技术方案:

一种用例运行平台,包括平台前端及平台后端,其中:

所述平台前端,用于:提供用户界面,在所述用户界面展示当前用户所属项目的用例列表,供当前用户在所述用例列表中选取单个或者多个当前需运行的用例;

所述平台后端,用于:确定当前用户选取的单个或者多个用例,并从数据库中调取并运行当前用户选取的相应用例,实现用例的单个或批量运行。

优选的,所述平台前端还用于:确定管理员预先为当前用户配置的角色,展示该角色对应的用例列表;

所述平台后端还用于:存储并维护角色与用例之间的对应关系,以将当前用户角色对应的用例列表反馈给所述平台前端进行展示。

优选的,所述平台前端还用于:调用编辑功能接口,供当前用户提供对展示的用例列表进行编辑;

所述平台后端还用于:将用例的编辑功能接口提供给所述平台前端,并在当前用户对展示的用例列表编辑时,链接到所述数据库中进行相应的用例编辑操作。

优选的,所述平台前端还用于:为当前用户展示相应用例列表的分布统计图;

所述平台后端还用于:绘制当前用户对应用例列表的分布统计图,并将绘制所述分布统计图反馈给所述平台前端进行展示。

优选的,所述平台后端从数据库中调取并运行当前用户选取的相应用例具体包括:获取所述平台前端传入的用例标识,所述用例标识为当前用户选取的用例的标识;查询所述数据库筛选出与所述用例标识对应的用例;构建筛选出的用例对应的预设格式文件,并运行所述预设格式文件。

优选的,所述平台后端还用于:在构建所述预设格式文件之前,对于筛选出的用例中的指定字符,利用相应的实际值替换所述指定字符中的变量。

优选的,所述平台后端还用于:运行当前用户选取的相应用例之后,验证当前用户选取的相应用例的运行是否通过,并基于验证的结果生成测试报告,并反馈给预设人员。

优选的,所述平台后端将所述测试报告反馈给预设人员具体包括:将所述测试报告通过邮件发送至预设人员的指定邮箱。

优选的,所述平台后端还用于:在开始执行用例的同时,将用例正在执行中的信息反馈给所述平台前端,供所述平台前端展示该信息。

优选的,所述平台前端采用的技术架构为用户界面的渐进式框架Vue,所述平台后端采用的技术架构为代码开发框架springboot+测试框架testng+数据库管理工具mysql。

本发明提供了一种用例运行平台,包括平台前端及平台后端,其中:所述平台前端,用于:提供用户界面,在所述用户界面展示当前用户所属项目的用例列表,供当前用户在所述用例列表中选取单个或者多个当前需运行的用例;所述平台后端,用于:确定当前用户选取的单个或者多个用例,并从数据库中调取并运行当前用户选取的相应用例,实现用例的单个或批量运行。本发明提供的用例运行平台中,平台后端将用例均存储维护于数据库中,平台前端在用户界面中对用例列表进行展示,供用户选取单个或者多个需运行的用例,平台后端从数据库中调取并运行用户在平台前端所选取的用例,从而实现用例的单个或者多个运行。可见,本发明能够基于数据库实现对用例的有效管理,进而响应于用户操作实现单个或者批量的用例运行,因此,本发明能够对用例进行很好的管理,有效提高效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种用例运行平台的结构示意图;

图2为本发明实施例提供的一种用例运行平台中用户界面示例图;

图3为本发明实施例提供的一种用例运行平台中分布统计示例图;

图4为本发明实施例提供的一种用例运行平台中用例列表示例图;

图5为本发明实施例提供的一种用例运行平台中构建xml文件示例图;

图6为本发明实施例提供的一种用例运行平台中后端内部方法调用图;

图7为本发明实施例提供的一种用例运行平台中用例批量选择示例图;

图8、图9分别为本发明实施例提供的一种用例运行平台中后端实现相应步骤的语句示例图;

图10为本发明实施例提供的一种用例运行平台中测试报告示例图;

图11、12为本发明实施例提供的一种用例运行平台中用例描述界面示例图及用例语句示例图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,其示出了本发明实施例提供的一种用例运行平台的结构示意图,可以包括平台前端11及平台后端12,其中:

所述平台前端11,用于:提供用户界面,在所述用户界面展示当前用户所属项目的用例列表,供当前用户在所述用例列表中选取单个或者多个当前需运行的用例;

所述平台后端12,用于:确定当前用户选取的单个或者多个用例,并从数据库中调取并运行当前用户选取的相应用例,实现用例的单个或批量运行。

需要说明的是,本发明实施例中的用例可以是针对接口测试的测试用例,也可以是其他需运行管理等的用例,均在本发明的保护范围之内。

本发明实施例提供的用例运行平台包括平台前端及平台后端,可分别简称为前端及后端。前端的主要功能是提供一个用户界面,用户在前端登录系统后,即可在用户界面上查看自己所属项目的用例列表,进而选取出单个或者至少两个需要运行的用例;后端将用例存储在数据库中,在用户选取出单个或者至少两个需要运行的用例后,从数据库中调取用户选取的需要运行的用例,并运行调取到的用例,以响应用户的操作实现单笔执行用例或者批量运行用例,满足用户的用例运行需求。其中,用户所属项目可理解为用户所属的测试项目,如针对某指定接口进行测试的项目,从而使得用户界面仅展示用户所属项目的用例列表,便于用户从中选取合适的用例进行运行。

本发明提供的用例运行平台中,平台后端将用例均存储维护于数据库中,平台前端在用户界面中对用例列表进行展示,供用户选取单个或者多个需运行的用例,平台后端从数据库中调取并运行用户在平台前端所选取的用例,从而实现用例的单个或者多个运行。可见,本发明能够基于数据库实现对用例的有效管理,进而响应于用户操作实现单个或者批量的用例运行,因此,本发明能够对用例进行很好的管理,有效提高效率。

本发明实施例提供的一种用例运行平台,所述平台前端还可以用于:确定管理员预先为当前用户配置的角色,展示该角色对应的用例列表;

所述平台后端还可以用于:存储并维护角色与用例之间的对应关系,以将当前用户角色对应的用例列表反馈给所述平台前端进行展示。

本发明实施例中的前端还可以实现自动化系统角色管理。具体来说,后端可以存储各角色与用例之间的对应关系;用户在前端登录系统后即可获知用户的角色,然后将与该用户角色具有对应关系的用例列表反馈给前端,使得前端仅对与该用户角色对应的用例列表进行展示。其中,用户的角色可以由管理员预先基于实际需要设置,如可以包括普通级别测试员、高级测试员等,相应的高级测试员具有的权限高于普通级别测试员,其所能查看的用例列表也比普通级别测试员的要多,从而能够使得用户仅能查看自己权限内的用例,提高了用例运行的安全性。

另外,在管理员等能够对角色进行管理的用户登录系统后,前端可以供此类用户进行相应的角色管理操作,包括角色新增、角色删除、给角色添加对应菜单权限(如哪些菜单可见,哪些菜单不可见)、给用户配置相应角色等。其中,用户在前端登录系统后,用户界面展示用户对应角色所关联的菜单,可以包括查看用例列表的菜单、查看用例分类统计的菜单、展示饼状分布图(用例分类统计所得)的菜单,用户通过点击等方式选取菜单后,查看相应的数据信息。

本发明实施例提供的一种用例运行平台,所述平台前端还可以用于:调用编辑功能接口,供当前用户提供对展示的用例列表进行编辑;

所述平台后端还可以用于:将用例的编辑功能接口提供给所述平台前端,并在当前用户对展示的用例列表编辑时,链接到所述数据库中进行相应的用例编辑操作。

需要说明的是,后端还可以提供给前端增删改查用例的接口,前端在用户对展示的用例列表进行增删改查等编辑操作时,调用上述接口,使得后端链接到数据库中同步用户的编辑操作,实现相应的用户增删改查。从而能够在用户需要时供用户对其具有权限的用例进行编辑操作,进一步提升用户对用例进行管理运行的灵活性及体验感。

本发明实施例提供的一种用例运行平台,所述平台前端还可以用于:为当前用户展示相应用例列表的分布统计图;

所述平台后端还可以用于:绘制当前用户对应用例列表的分布统计图,并将绘制所述分布统计图反馈给所述平台前端进行展示。

当前用户在用户界面通过点击相应按钮等发出分布获取指令后,后端可以对当前用户对应的用例进行分布统计,进而得到相应的分布统计图,并将分布统计图反馈给前端,以使得前端将其在用户界面进行展示,进一步提升用户的信息获知全面性及体验感。其中,分布统计图可以为饼状分布图,当然也可以为根据实际需要进行的其他设置。需要说明的是,分布统计时可以按照所测试的功能统计,同一功能为一类,如转账、付款为不同的类,也可以按照所测试的APP统计,如支付软件、聊天软件为不同的类,还可以根据实际需要进行其他设置,均在本发明的保护范围之内。

本发明实施例提供的一种用例运行平台,所述平台后端从数据库中调取并运行当前用户选取的相应用例具体可以包括:获取所述平台前端传入的用例标识,所述用例标识为当前用户选取的用例的标识;查询所述数据库筛选出与所述用例标识对应的用例;构建筛选出的用例对应的预设格式文件,并运行所述预设格式文件;

本发明实施例提供的一种用例运行平台,所述平台后端还可以用于:在构建所述预设格式文件之前,对于筛选出的用例中的指定字符,利用相应的实际值替换所述指定字符中的变量。

本发明实施例提供的一种用例运行平台,所述平台后端还可以用于:运行当前用户选取的相应用例之后,验证当前用户选取的相应用例的运行是否通过,并基于验证的结果生成测试报告,并反馈给预设人员。

本发明实施例提供的一种用例运行平台,所述平台后端将所述测试报告反馈给预设人员具体可以包括:将所述测试报告通过邮件发送至预设人员的指定邮箱。

需要说明的是,后端的用例执行接口可以根据前端传入的参数,后端代码进行查询数据库确定相应的用例并运行。首先根据传入的用例标识(如用例编号),sql语句筛选出需要执行的用例;然后对于用例中字段含有特殊字符(如“{}”)的,利用字符内参数(变量)的当前实际值替换该参数,比如用例请求中有“requestDate”当前时间这个字段,这个参数是动态的,需要根据实际情况进行替换,代码发现这个字段的值是带有“{}”后,会根据参数名“requestDate”进行替换成真实的值(当前时间);然后构建预设格式文件,如xml文件,构建的具体过程如下:前端传入所需要执行用例的用例标识,后端代码接收到用例标识后,将用例标识传给现有的testng.xml,代码构建执行testng.xml,实现调用testng执行用例。每条用例执行后,根据已有规则验证该条用例是否通过,每条用例中都有期望返回的结果,代码会判断实际的返回与期望的值是否一致,若一致,则认为通过,不一致,则该条用例不通过,例如用例中的预期响应码字段值是100201,那么在执行时,需要判断被测系统实际的返回是否是100201,如果不是,则认为该条用例不通过,再比如用例的预期响应字段不能为空,那么被测系统的返回中该字段若是空,则认为该条用例不通过;ExtentTestNGIReporterListener(报告监听类),是一个用例监听java类,通过给testng.xml文件配置就可以实现。在用例执行完成后可以自动生成HTML格式(超文本标记语言)的测试报告,并通过邮件发送给相关人员,邮箱地址在代码中预先配置。从而高效实现用例运行及所得结果的反馈。

本发明实施例提供的一种用例运行平台,所述平台后端还可以用于:在开始执行用例的同时,将用例正在执行中的信息反馈给所述平台前端,供所述平台前端展示该信息。

前端将用例标识传递给后端的RunCaseController.RunSel方法,在该方法中调用了asynService.RunxmlAndParam(s,"xmlAndParamter.xml")方法,也即一边执行方法,另外继续返回给前端用户用例正在执行中的信息,如”用例执行中,请稍后查看测试结果”的信息。具体来说,上述异步方法指定了需要运行的xml文件,并接收参数”s”;在调用这个异步方法的时候,把前端传递过来的用例标识作为”s”传给该方法,RunxmlAndParam方法执行的具体流包括程:接收s,替换xmlAndParamter.xml文件中的参数,找到xml配置的具体需要执行的类,该类根据用例标识查找到所需要执行的用例,并通过testng进行执行,执行完成后,xml文件中同时配置了监听器,就会自动生成测试报告。通过调用工具类testConfig.sendEmail就可以发送用例给到相应人员。从而将进展实时反馈给前端,使得前端用户能够随时获知用例运行情况。

本发明实施例提供的一种用例运行平台,所述平台前端采用的技术架构可以为用户界面的渐进式框架Vue,所述平台后端采用的技术架构可以为代码开发框架springboot+测试框架testng+数据库管理工具mysql。从而实现平台的有效构建及实现。

在一种具体实现方式中,本发明实施例提供的一种用例运行平台具体可以包括以下内容:

前端采用的技术架构是:Vue(用户界面的渐进式框架)。主要功能是提供一个用户界面,用户在登录系统后,可查看所属项目的用例列表,对用例进行增删改查,可单笔执行测试用例,也可批量运行用例,运行结果查看下载,自动化系统角色管理,查看用例数分布统计图。图2为用户界面示例图,图3为分布统计图的示例图,图4为用例列表示例图。

后端采用的技术架构是springboot(代码开发框架)+testng(测试框架)+mysql(数据库管理工具)。具体实现步骤:编写springboot代码,提供给前端平台增删改查接口,实现将用例存储在mysql数据库中;用例执行接口,根据前端传入的参数,后端代码进行查询数据库,根据传入的用例编号,sql语句筛选出需要执行的测试用例,对于用例中字段含有特殊字符“{}”的,将其中的参数替换成真实的值,然后构建xml文件。构建xml文件的具体过程如下:前端传入所需要执行用例的编号,后端代码接收到编号后,将编号传给现有的testng.xml,然后代码构建执行testng.xml,实现调用testng执行测试用例,每条用例执行后,根据已有规则验证该条用例是否通过,如图5所示,实现用例运行结果监听,在用例执行完成后就会自动生成HTML格式(超文本标记语言)的测试报告,并通过邮件发送给相关人员,邮箱地址在代码中配置。

后端内部方法调用如图6所示,用户界面选中用例编号2、3、4后,点击“运行所选”按钮,前端将编号2、3、4传递给后端的RunCaseController.RunSel方法,在该方法中调用asynService.RunxmlAndParam(s,"xmlAndParamter.xml")方法,即执行方法的同时继续返回给前台用户”用例执行中,请稍后查看测试结果”的信息。异步方法指定需要运行的xml文件,并接收参数”s”,在调用这个异步方法的时候,把前端传递过来的编号作为”s”传给该方法,RunxmlAndParam方法执行的具体流程:接收s,替换xmlAndParamter.xml文件中的参数,找到xml配置的具体需要执行的类,该类根据编号查找到所需要执行的用例,并通过testng进行执行,执行完成后,xml文件中同时配置了监听器,就会自动生成测试报告,通过调用工具类testConfig.sendEmail就可以发送用例给到相应人员。

本发明实施例提供的用例运行平台具有以下优点:

①用例系统管理;本发明将用例维护在数据库中,根据sql语句运行所需用例,利于维护,不会造成代码冗余;

②可支持人工单笔执行;针对每条用例提供执行按钮,点击执行即可进入用例运行页面,提交可查看具体执行结果;

③可支持批量运行,提供批量选择功能,如图7所示,针对需要运行的用例,批量选择后,点击运行所选,前端收集所选用例的编号,传给后端,后端代码使用一个集合List接收前端传入的用例编号,因为传入的要执行的用例可能是多个,所以用一个集合进行接收,将这个编号通过参数话传给要执行的testng.xml文件,如图8、图9并通过注解@Async同步返回给前端用例运行中,代码再异步构建xml文件,调用testng进行封装运行所选测试用例。

④运行结果保存并生成html文件,可供浏览器打开,报告中详细记录了测试用例名称以及错误日志,如图10所示。

⑤参数化实现,比如说请求时间、请求单号等这种类型的数据,因为需要符合实际又不能重复,所以无法进行写死存放在数据库中,本发明实现在每条用例运行之前进行参数检查,如果参数中包含“{}”标识,则根据传入的具体值进行判断替换,如图11、图12。

因此,本发明由于回归测试的动作和用例是完全设计好的,测试期望的结果也是完全可以预料的,将回归测试自动运行,可以极大提高测试效率,缩短回归测试时间;低投入,高产出,使用率高,和UI自动化测试相比,接口自动化更加稳定,便于维护;上手快,学习和迁移成本低都会比较低,简单的用户使用界面,人人都能用,新人进入项目时,可通过现成的接口调用,快速学习了解项目;更好的利用资源将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员解脱出来投入更多精力设计更好的测试用例。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种用于对接量子计算机与用户的云平台及平台运行方法
  • 一种测试用例代码自动生成的方法及测试用例管理平台
  • 一种基于禁忌搜索的列车运行控制系统测试用例生成方法
技术分类

06120116484055