一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

自动化系统测试方法、装置、设备及存储介质与流程

2022-11-14 15:00:07 来源:中国专利 TAG:
1.本技术涉及计算机
技术领域
:,特别是涉及到一种自动化系统测试方法、装置、设备及存储介质。
背景技术
::2.随着计算机技术的发展,越来越多的业务流程可以通过计算机进行实现,业务发展和变化,都依赖系统功能的升级或功能变更,来满足业务发展需要。但是随着企业的发展,业务越来越复杂,同时系统升级带来的风险越来越高,那么自动化测试是检测系统稳定升级的最后一道防线。现有技术中自动化测试工具功能比较单一,不能全面自动触达系统的方方面面,需要人工协作完成流程或系统功能测试,导致测试投入的时间及人工成本增加。技术实现要素:3.本技术的主要目的为提供一种自动化系统测试方法、装置、设备及存储介质,旨在解决现有技术中自动化测试工具功能比较单一,不能全面自动测试系统的技术问题。4.为了实现上述发明目的,本技术提出一种自动化系统测试方法,所述方法包括:5.当检测到指定业务系统的测试命令时,获取所述指定业务系统的配置数据;6.生成用于所述指定业务系统测试的中间件,在所述中间件中模拟所述指定业务系统的配置数据;7.解析所述指定业务系统的配置数据,以生成测试引擎可执行的数据结构,并缓存于redis数据库中;8.所述测试引擎按照所述数据结构,执行对所述指定业务系统的测试。9.进一步地,所述获取所述指定业务系统的配置数据,包括:10.获取所述指定业务系统的接口配置数据、数据库链接配置数据、功能场景和外关联系统。11.进一步地,所述生成用于所述指定业务系统测试的中间件,在所述中间件中模拟所述指定业务系统的配置数据,包括:12.根据所述指定业务系统的接口配置数据,配置中间件的接口;13.根据所述指定业务系统的数据库链接配置数据,配置所述接口对应的数据库表数据;14.配置所述中间件链接的消息队列平台和redis数据库;15.根据所述指定业务系统的外关联系统,配置外关联系统服务接口mock数据。16.进一步地,所述根据所述指定业务系统的接口配置数据,配置中间件的接口之后,包括:17.获取所述指定业务系统的功能场景,对接口进行组合配置,得到组合接口,并对所述组合接口执行顺序配置。18.进一步地,所述获取所述指定业务系统的功能场景,对接口进行组合配置,得到组合接口,并对所述组合接口执行顺序配置。之后,包括:19.在实行不同功能场景时,检测不同功能场景执行的频率和接口变更情况。20.进一步地,所述根据所述指定业务系统的数据库链接配置数据,配置所述接口对应的数据库表数据之后,包括:21.判断所述接口对应的数据库表数据是否在同一数据库内;22.若不在同一数据库内,则配置多个数据库。23.本技术还提供了一种自动化系统测试装置,所述装置包括:24.数据获取模块,用于当检测到指定业务系统的测试命令时,获取所述指定业务系统的配置数据;25.中间件配置模块,用于生成用于所述指定业务系统测试的中间件,在所述中间件中模拟所述指定业务系统的配置数据;26.配置解析模块,用于解析所述指定业务系统的配置数据,以生成测试引擎可执行的数据结构,并缓存于redis数据库中;27.测试执行模块,用于所述测试引擎按照所述数据结构,执行对所述指定业务系统的测试。28.进一步地,所述自动化系统测试装置,所述装置还包括:29.接口配置模块,用于根据所述指定业务系统的接口配置数据,配置中间件的接口;30.接口表数据配置模块,用于根据所述指定业务系统的数据库链接配置数据,配置所述接口对应的数据库表数据;31.中间件消息队列及数据库配置模块,用于配置所述中间件链接的消息队列平台和redis数据库;32.外关联配置模块,用于根据所述指定业务系统的外关联系统,配置外关联系统服务接口mock数据。33.本技术还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。34.本技术还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。35.本技术提供的一种自动化系统测试方法,生成中间件对待测试的指定业务系统配置进行模拟,增加了自动测试的功能,更全面的检查系统的健康程度,并能够及时发现设计开发的缺陷,检查出人为遗漏功能场景,减少了系统测试时人为的协助测试,提升了测试效率。附图说明36.图1为本技术一实施例的自动化系统测试方法的流程示意图;37.图2为本技术一实施例的自动化系统测试装置的结构示意框图;38.图3为本技术一实施例的计算机设备的结构示意框图。39.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式40.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。41.参照图1,本技术实施例中提供一种自动化系统测试方法,所述方法包括:42.s1、当检测到指定业务系统的测试命令时,获取所述指定业务系统的配置数据。43.具体地,对于步骤s1,由于执行不同业务功能的系统配置数据不同,因此在确定指定业务系统需要进行测试之后,获取所述指定业务系统配置数据,包括接口配置数据、数据库链接配置数据、功能场景和外关联系统。44.s2、生成用于所述指定业务系统测试的中间件,在所述中间件中模拟所述指定业务系统的配置数据。45.具体地,对于步骤s2,中间件是介于应用系统和系统软件之间的一类软件,是一类软件统称,而非一种软件,有消息中间件,交易中间件,应用服务器等。它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。中间件是一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。该技术所提供的互操作性,推动了一致分布式体系架构的演进,该架构通常用于支持并简化那些复杂的分布式应用程序,屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担,帮助用户灵活、高效地开发和集成复杂的应用软件。用中间件模拟需要测试的指定业务系统配置数据来进行测试,能更全面的检测指定业务系统,及时发现设计开发的缺陷,检查出人为遗漏场景。46.s3、解析所述指定业务系统的配置数据,以生成测试引擎可执行的数据结构,并缓存于redis数据库中。47.具体地,对于步骤s3,由于接口处、数据库中等配置数据的格式可能不同,因此需要进行配置数据解析,将配置数据解析成测试引擎可执行的数据结构。配置数据解析的步骤包括获取配置数据的路径,从文件路径中提取对应的配置数据类型,初始化模型数组。将解析后的配置数据缓存于redis数据库中,便于后续测试引擎的调用。48.s4、所述测试引擎按照所述数据结构,执行对所述指定业务系统的测试。49.具体地,对于步骤s4,引擎是电子平台上开发程序或系统的核心组件。利用引擎,开发者可迅速建立、铺设程序所需的功能,或利用引擎辅助程序的运转。因此测试引擎能够按照上述解析后的数据结构,执行对指定业务系统的测试过程。50.在一个实施例中,上述获取所述指定业务系统的配置数据,包括:51.s101、获取所述指定业务系统的接口配置数据、数据库链接配置数据、功能场景和外关联系统。52.具体地,对于步骤s101,接口配置数据用于确定入参和预期结果出参判断。数据库链接配置数据用于确定实现指定业务系统运行的表数据内容和分布位置。功能场景用于确定指定业务系统能实现的具体功能,以及实现具体功能的接口分布情况。外关联系统为指定业务系统运行时调用的第三方系统。53.在一个实施例中,上述生成用于所述指定业务系统测试的中间件,在所述中间件中模拟所述指定业务系统的配置数据的步骤s2,包括:54.s201、根据所述指定业务系统的接口配置数据,配置中间件的接口。55.s202、根据所述指定业务系统的数据库链接配置数据,配置所述接口对应的数据库表数据。56.s203、配置所述中间件链接的消息队列平台和redis数据库。57.s204、根据所述指定业务系统的外关联系统,配置外关联系统服务接口mock数据。58.具体地,对于步骤s201,接口配置数据的接口url配置支持http协议对接口调用。一个url,比如http://www.example.com/home,http是一种url模式。总是出现在冒号和两个斜杠之前,作用是确定web客户端去访问资源的方式。在本例中,web客户端使用超文本传输协议也就是http去发起一个请求。常见的url模式还有ftp,mailto和git。接口配置还包括入参配置和预期结果出参判断。59.具体地,对于步骤s202,表结构数据中的“表”来源于关系型数据库中的“table”,关系型数据库中的数据都是以表结构进行存储的,它是数据分析工具中最基本的存储结构。在关系型数据库中一个数据库可以有多个数据表,每个数据表都是由固定列和任意行构成的二维表结构的数据集。表中的列称为字段,表中的行称为记录,并以字段为基本的存储单位和计算单位。表中的第一行是标题行,也称为字段名。表中第二行开始到最后一行的内容称为记录。60.字段名用以定位不同的字段,每个字段必须有字段名,且同一个表中的字段名不能重复。表中所有字段的记录数一致。根据所述指定业务系统的数据库链接配置数据,配置所述接口对应的数据库表数据的目的是,检测接口数据和表数据是否一致等。61.具体地,对于步骤s203,由于被测试的业务系统需消费mq才能完成功能,因此需要模拟外部系统触发mq,检测redis数据及模拟设置缓存数据。消息(message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。消息队列(messagequeue)是一种应用间的通信方式,常用的消息队列有:rabbitmq、rocketmq、kafka,activemq。消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到mq中而不用管谁来取,消息使用者只管从mq中取消息而不管是谁发布的。这样发布者和使用者都互不干扰。消息队列提供一个异步通信机制,消息的发送者不必一直等待到消息被成功处理才返回,而是立即返回。消息中间件负责处理网络通信,如果网络连接不可用,消息被暂存于队列当中,当网络畅通的时候在将消息转发给相应的应用程序或者服务,当然前提是这些服务订阅了该队列。如果使用消息中间件,既可以提高并发量,又降低服务之间的耦合度。redis是一个高性能的key-value数据库,使用ansic语言编写、并遵守bsd开源协议;支持网络、可基于内存、分布式、也可以用来实现简易的消息队列,有丰富的数据结构,包括:字符串(string)、哈希(hash)、列表(list)、集合(sets)和有序集合(sortedsets)。对于mq的使用,有三个角色:生产者(即模拟外部系统触发mq)、mq、消费者,生产者:在正常情况下,生产者是客户,有可能出现用户重复点击的情况,controller接口重复提交了两次,也可能是重试机制导致可能会推送重复的数据到mq中。mq:mq是允许存在多条一样的消息,假设网络出现了波动,消费者消费完一条消息后,发送请求时,mq还没来得及接受,突然挂了,导致mq以为消费者还未消费该条消息,mq回复后会再次推送了这条消息,导致出现重复消费。消费者:消费者是不允许出现消费两条一样的数据,消费者接收到消息后,正准备发送请求到mq,突然消费者挂了,还没得及发送ack,这时mq以为消费者还没消费该消息,消费者重启后,mq再次推送该条消息。为避免上述重复使用mq的情况,消费者把消费消息记录到redis中,再次消费时先到redis判断是否存在该数据,存在则表示消费过,直接丢弃。设置缓存数据的目的是大幅减少数据库写操作频率,从而减少数据库压力。或者在消费完数据后,由于都是需要插入到数据库中,使用数据库的唯一约束防止重复消费。插入数据库前先查询是否存在该数据,存在则直接丢弃消息,在生产端发布消息时,每次法发布消息都把上一条消息的id记录到消息体中,消费者接收到消息时,做如下操作:先根据上一条id去检查是否存在上一条消息还没被消费,如果不存在(消费后去掉id),则正常进行,如果正常操作;如果存在,则根据id到数据库检查是否被消费,如果被消费,则正常操作;如果还没被消费,则休眠一定时间(比如30ms),再重新检查,如被消费,则正常操作;如果还没被消费,则抛出异常。设置缓存的思路就是后台服务接收到用户请求时,如果请求校验没有问题,数据并不会直接落入数据库,而是先存储在缓冲层中,待缓冲层中写请求达到一定数量再进行批量落入数据库。这里所说的缓冲地带,实际上指的就是设置缓存。缓存数据可以放入redis数据库中。62.具体地,对于步骤s204,在业务系统运行过程中,可能会有调用第三方接口的场景。当开发或日常测试时,第三方的服务出现故障是,如果等着第三方的服务恢复,就会影响运行效率。如果我们在开发时,就定义一个mock服务,在发起调用时,不直接调到第三方接口,而是调到我们自己的mock服务,mock的本质就是用模拟桩来替换真实的依赖,阻断被测服务与真实服务之间的链路,使得测试用例可以独立运行,替换外部服务调用或一些速度较慢的操作,提升测试用例的运行速度。并且模拟异常逻辑,异常逻辑往往很难触发,通过mock可以人为的控制触发异常逻辑。63.在一个实施例中,上述根据所述指定业务系统的接口配置数据,配置中间件的接口的步骤s201之后,包括:64.s205、获取所述指定业务系统的功能场景,对接口进行组合配置,得到组合接口,并对所述组合接口执行顺序配置。65.具体地,对于步骤s205,由于完成业务系统中其中一个流程需要几个或多个接口组合配置,实现不同的流程的组合接口执行顺序和分支配置也不同。因此根据指定业务系统的功能场景,需要接口进行组合配置,并调配顺序,实现多重场景或者对不同结果预测实现不同场景。66.在一个实施例中,上述获取所述指定业务系统的功能场景,对接口进行组合配置,得到组合接口,并对所述组合接口执行顺序配置的步骤s205之后,包括:67.s206、在实行不同功能场景时,检测不同功能场景执行的频率和接口变更情况。68.具体地,对于步骤s206,由于实行不同功能场景是调整组合接口和执行顺序来实现的。因此检测不同功能场景执行的频率和接口变更情况,判断该情况下可能对现有功能的影响。69.在一个实施例中,上述根据所述指定业务系统的数据库链接配置数据,配置所述接口对应的数据库表数据的步骤s202之后,包括:70.s207、判断所述接口对应的数据库表数据是否在同一数据库内;71.s208、若不在同一数据库内,则配置多个数据库。72.具体地,对于步骤s207和s208,在平时的开发中,受到传统模式的影响,经典的开发模式是单一的数据库表操作,把数据都建到一个库里边,然后进行增删改查。但是随着项目开发,可能出现使用新的系统建立了新数据库的应用场景,同时需要把具有相同结构的老数据库也通过导入到一起或者定时同步。或者在分数据库时,不同的数据可能被分开了,但是同一个业务逻辑里,可能我们需要操作多个数据库,比如运行的是主数据库,其中有一个操作,需要把数据发送到另一个数据库里保存或者查询。分多个数据库的原因是读写分离,多个数据库的表结构是一样的,例如查询指令和控制指令不是同一数据库中的,这样能突破瓶颈,使得业务能进一步提高;另外还有模块分离的原因,每个数据库负责不同的模块,比如密码库,就只有密码表相关的,用户库仅仅是用户相关的,商品库就是商品相关的。因此在测试的时候,如果数据库表数据不在同一数据库内,就需要同时无缝测试多个库连接,每次提交一个测试版本,都需要对涉及到的数据库同时做测试,在不停掉项目的前提下,就需要做多库测试。73.参照图2,是本技术一实施例中自动化系统测试装置结构框图,装置包括:74.数据获取模块100,用于当检测到指定业务系统的测试命令时,获取所述指定业务系统的配置数据;75.中间件配置模块200,用于生成用于所述指定业务系统测试的中间件,在所述中间件中模拟所述指定业务系统的配置数据;76.配置解析模块300,用于解析所述指定业务系统的配置数据,以生成测试引擎可执行的数据结构,并缓存于redis数据库中;77.测试执行模块400,用于所述测试引擎按照所述数据结构,执行对所述指定业务系统的测试。78.具体地,对于数据获取模块100,由于执行不同业务功能的系统配置数据不同,因此在确定指定业务系统需要进行测试之后,获取所述指定业务系统配置数据,包括接口配置数据、数据库链接配置数据、功能场景和外关联系统。79.具体地,对于中间件配置模块200,中间件是介于应用系统和系统软件之间的一类软件,是一类软件统称,而非一种软件,有消息中间件,交易中间件,应用服务器等。它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。中间件是一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。该技术所提供的互操作性,推动了一致分布式体系架构的演进,该架构通常用于支持并简化那些复杂的分布式应用程序,屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担,帮助用户灵活、高效地开发和集成复杂的应用软件。用中间件模拟需要测试的指定业务系统配置数据来进行测试,能更全面的检测指定业务系统,及时发现设计开发的缺陷,检查出人为遗漏场景。80.具体地,对于配置解析模块300,由于接口处、数据库中等配置数据的格式可能不同,因此需要进行配置数据解析,将配置数据解析成测试引擎可执行的数据结构。配置数据解析的步骤包括获取配置数据的路径,从文件路径中提取对应的配置数据类型,初始化模型数组。将解析后的配置数据缓存于redis数据库中,便于后续测试引擎的调用。81.具体地,对于测试执行模块400,引擎是电子平台上开发程序或系统的核心组件。利用引擎,开发者可迅速建立、铺设程序所需的功能,或利用引擎辅助程序的运转。因此测试引擎能够按照上述解析后的数据结构,执行对指定业务系统的测试过程。82.在一个实施例中,上述自动化系统测试装置,还包括:83.配置数据确认模块,用于获取所述指定业务系统的接口配置数据、数据库链接配置数据、功能场景和外关联系统。84.具体地,对于配置数据确认模块,接口配置数据用于确定入参和预期结果出参判断。数据库链接配置数据用于确定实现指定业务系统运行的表数据内容和分布位置。功能场景用于确定指定业务系统能实现的具体功能,以及实现具体功能的接口分布情况。外关联系统为指定业务系统运行时调用的第三方系统。85.在一个实施例中,上述自动化系统测试装置,还包括:86.接口配置模块,用于根据所述指定业务系统的接口配置数据,配置中间件的接口;87.接口表数据配置模块,用于根据所述指定业务系统的数据库链接配置数据,配置所述接口对应的数据库表数据;88.中间件消息队列及数据库配置模块,用于配置所述中间件链接的消息队列平台和redis数据库;89.外关联配置模块,用于根据所述指定业务系统的外关联系统,配置外关联系统服务接口mock数据。90.具体地,对于接口配置模块,接口配置数据的接口url配置支持http协议对接口调用。一个url,比如http://www.example.com/home,http是一种url模式。总是出现在冒号和两个斜杠之前,作用是确定web客户端去访问资源的方式。在本例中,web客户端使用超文本传输协议也就是http去发起一个请求。常见的url模式还有ftp,mailto和git。接口配置还包括入参配置和预期结果出参判断。91.具体地,对于接口表数据配置模块,表结构数据中的“表”来源于关系型数据库中的“table”,关系型数据库中的数据都是以表结构进行存储的,它是数据分析工具中最基本的存储结构。在关系型数据库中一个数据库可以有多个数据表,每个数据表都是由固定列和任意行构成的二维表结构的数据集。表中的列称为字段,表中的行称为记录,并以字段为基本的存储单位和计算单位。表中的第一行是标题行,也称为字段名。表中第二行开始到最后一行的内容称为记录。字段名用以定位不同的字段,每个字段必须有字段名,且同一个表中的字段名不能重复。表中所有字段的记录数一致。根据所述指定业务系统的数据库链接配置数据,配置所述接口对应的数据库表数据的目的是,检测接口数据和表数据是否一致等。92.具体地,对于中间件消息队列及数据库配置模块,由于被测试的业务系统需消费mq才能完成功能,因此需要模拟外部系统触发mq,检测redis数据及模拟设置缓存数据。消息(message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。消息队列(messagequeue)是一种应用间的通信方式,常用的消息队列有:rabbitmq、rocketmq、kafka,activemq。消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到mq中而不用管谁来取,消息使用者只管从mq中取消息而不管是谁发布的。这样发布者和使用者都互不干扰。消息队列提供一个异步通信机制,消息的发送者不必一直等待到消息被成功处理才返回,而是立即返回。消息中间件负责处理网络通信,如果网络连接不可用,消息被暂存于队列当中,当网络畅通的时候在将消息转发给相应的应用程序或者服务,当然前提是这些服务订阅了该队列。如果使用消息中间件,既可以提高并发量,又降低服务之间的耦合度。redis是一个高性能的key-value数据库,使用ansic语言编写、并遵守bsd开源协议;支持网络、可基于内存、分布式、也可以用来实现简易的消息队列,有丰富的数据结构,包括:字符串(string)、哈希(hash)、列表(list)、集合(sets)和有序集合(sortedsets)。对于mq的使用,有三个角色:生产者(即模拟外部系统触发mq)、mq、消费者,生产者:在正常情况下,生产者是客户,有可能出现用户重复点击的情况,controller接口重复提交了两次,也可能是重试机制导致可能会推送重复的数据到mq中。mq:mq是允许存在多条一样的消息,假设网络出现了波动,消费者消费完一条消息后,发送请求时,mq还没来得及接受,突然挂了,导致mq以为消费者还未消费该条消息,mq回复后会再次推送了这条消息,导致出现重复消费。消费者:消费者是不允许出现消费两条一样的数据,消费者接收到消息后,正准备发送请求到mq,突然消费者挂了,还没得及发送ack,这时mq以为消费者还没消费该消息,消费者重启后,mq再次推送该条消息。为避免上述重复使用mq的情况,消费者把消费消息记录到redis中,再次消费时先到redis判断是否存在该数据,存在则表示消费过,直接丢弃。或者在消费完数据后,由于都是需要插入到数据库中,使用数据库的唯一约束防止重复消费。插入数据库前先查询是否存在该数据,存在则直接丢弃消息,在生产端发布消息时,每次法发布消息都把上一条消息的id记录到消息体中,消费者接收到消息时,做如下操作:先根据上一条id去检查是否存在上一条消息还没被消费,如果不存在(消费后去掉id),则正常进行,如果正常操作;如果存在,则根据id到数据库检查是否被消费,如果被消费,则正常操作;如果还没被消费,则休眠一定时间(比如30ms),再重新检查,如被消费,则正常操作;如果还没被消费,则抛出异常。设置缓存数据的目的是大幅减少数据库写操作频率,从而减少数据库压力。设置缓存的思路就是后台服务接收到用户请求时,如果请求校验没有问题,数据并不会直接落入数据库,而是先存储在缓冲层中,待缓冲层中写请求达到一定数量再进行批量落入数据库。这里所说的缓冲地带,实际上指的就是设置缓存。缓存数据可以放入redis数据库中。93.具体地,对于外关联配置模块,在业务系统运行过程中,可能会有调用第三方接口的场景。当开发或日常测试时,第三方的服务出现故障是,如果等着第三方的服务恢复,就会影响运行效率。如果我们在开发时,就定义一个mock服务,在发起调用时,不直接调到第三方接口,而是调到我们自己的mock服务,mock的本质就是用模拟桩来替换真实的依赖,阻断被测服务与真实服务之间的链路,使得测试用例可以独立运行,替换外部服务调用或一些速度较慢的操作,提升测试用例的运行速度。并且模拟异常逻辑,异常逻辑往往很难触发,通过mock可以人为的控制触发异常逻辑。94.在一个实施例中,上述自动化系统测试装置,还包括:95.功能接口配置模块,用于获取所述指定业务系统的功能场景,对接口进行组合配置,得到组合接口,并对所述组合接口执行顺序配置。96.具体地,对于功能接口配置模块,由于完成业务系统中其中一个流程需要几个或多个接口组合配置,实现不同的流程的组合接口执行顺序和分支配置也不同。因此根据指定业务系统的功能场景,需要接口进行组合配置,并调配顺序,实现多重场景或者对不同结果预测实现不同场景。97.在一个实施例中,上述自动化系统测试装置,还包括:98.接口检测模块,用于在实行不同功能场景时,检测不同功能场景执行的频率和接口变更情况。99.具体地,对于接口检测模块,由于实行不同功能场景是调整组合接口和执行顺序来实现的。因此检测不同功能场景执行的频率和接口变更情况,判断该情况下可能对现有功能的影响。100.在一个实施例中,上述自动化系统测试装置,还包括:101.多库配置模块,用于判断所述接口对应的数据库表数据是否在同一数据库内;若不在同一数据库内,则配置多个数据库。102.具体地,对于多库配置模块,在平时的开发中,受到传统模式的影响,经典的开发模式是单一的数据库表操作,把数据都建到一个库里边,然后进行增删改查。但是随着项目开发,可能出现使用新的系统建立了新数据库的应用场景,同时需要把具有相同结构的老数据库也通过导入到一起或者定时同步。或者在分数据库时,不同的数据可能被分开了,但是同一个业务逻辑里,可能我们需要操作多个数据库,比如运行的是主数据库,其中有一个操作,需要把数据发送到另一个数据库里保存或者查询。分多个数据库的原因是读写分离,多个数据库的表结构是一样的,例如查询指令和控制指令不是同一数据库中的,这样能突破瓶颈,使得业务能进一步提高;另外还有模块分离的原因,每个数据库负责不同的模块,比如密码库,就只有密码表相关的,用户库仅仅是用户相关的,商品库就是商品相关的。因此在测试的时候,如果数据库表数据不在同一数据库内,就需要同时无缝测试多个库连接,每次提交一个测试版本,都需要对涉及到的数据库同时做测试,在不停掉项目的前提下,就需要做多库测试。103.参照图3,本技术实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储自动化系统测试方法所用数据等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述任一实施例的一种自动化系统测试方法。104.本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定。105.本技术一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种自动化系统测试方法。可以理解的是,本实施例中的计算机可读存储介质可以是易失性可读存储介质,也可以为非易失性可读存储介质。106.本技术提供的一种自动化系统测试方法,对生成中间件对待测试的指定业务系统配置进行模拟,增加了自动测试的功能,更全面的检查系统的健康程度,并能够及时发现设计开发的缺陷,检查出人为遗漏功能场景,减少了系统测试时人为的协助测试,提升了测试效率。107.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。108.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。109.以上所述仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
:,均同理包括在本技术的专利保护范围内。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献