CN111176974B - 容灾测试方法、装置、计算机可读介质及电子设备 - Google Patents

容灾测试方法、装置、计算机可读介质及电子设备 Download PDF

Info

Publication number
CN111176974B
CN111176974B CN201910616315.1A CN201910616315A CN111176974B CN 111176974 B CN111176974 B CN 111176974B CN 201910616315 A CN201910616315 A CN 201910616315A CN 111176974 B CN111176974 B CN 111176974B
Authority
CN
China
Prior art keywords
test
disaster
information
scene
case
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.)
Active
Application number
CN201910616315.1A
Other languages
English (en)
Other versions
CN111176974A (zh
Inventor
胡国彪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910616315.1A priority Critical patent/CN111176974B/zh
Publication of CN111176974A publication Critical patent/CN111176974A/zh
Application granted granted Critical
Publication of CN111176974B publication Critical patent/CN111176974B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供了一种容灾测试方法、容灾测试装置、计算机可读介质以及电子设备。本公开实施例中的容灾测试方法包括:获取容灾测试场景信息,并根据所述容灾测试场景信息确定目标测试场景;根据所述目标测试场景确定包括多个测试用例的测试用例序列;依次执行所述测试用例序列中的各个所述测试用例以得到各个所述测试用例的用例执行结果;根据所述用例执行结果生成所述目标测试场景的容灾测试报告。本公开实施例提供的容灾测试方法可以自动化地顺序执行测试用例并最终生成容灾测试报告,整个容灾测试过程自动化程度高,无需过多的人为干预,具有测试效率高、测试难度低的优点。

Description

容灾测试方法、装置、计算机可读介质及电子设备
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种容灾测试方法、容灾测试装置、计算机可读介质以及电子设备。
背景技术
随着计算机技术的发展,各种企业和机构的常规运作越发离不开网络和信息技术的支持,基于互联网技术的数据和应用服务也成为各种生产经营活动中必不可少的部分。
为了能够提供持续且稳定的数据和应用服务,避免因数据丢失或者服务中断而造成严重的业务损失,数据库以及服务中心必须具有一定的容灾能力。由于灾难性事件的偶发性和不可预测性,容灾系统需要在开发以及使用过程中利用各种测试手段对其容灾能力和补救效果做出验证,从而能够利用容灾测试保持容灾系统的可靠性和稳定性。当需要对容灾系统做出测试时,一般由测试人员对各个容灾操作步骤编写单独的测试脚本,并由人工控制进行脚本执行,而且针对不同的系统设备还需要测试人员重新编写或者修改测试用例,不仅耗费时间长而且操作复杂。
由此可见,如何缩短测试时长,提高容灾测试效率是目前亟待解决的问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种容灾测试方法、容灾测试装置、计算机可读介质以及电子设备,进而至少在一定程度上克服容灾测试效率低、操作难度大等技术问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的一个方面,提供一种容灾测试方法,该方法包括:获取容灾测试场景信息,并根据所述容灾测试场景信息确定目标测试场景;根据所述目标测试场景确定包括多个测试用例的测试用例序列;依次执行所述测试用例序列中的各个所述测试用例以得到各个所述测试用例的用例执行结果;根据所述用例执行结果生成所述目标测试场景的容灾测试报告。
根据本公开实施例的一个方面,提供一种容灾测试装置,该装置包括:测试场景确定模块,被配置为获取容灾测试场景信息,并根据所述容灾测试场景信息确定目标测试场景;测试用例确定模块,被配置为根据所述目标测试场景确定包括多个测试用例的测试用例序列;测试用例执行模块,被配置为依次执行所述测试用例序列中的各个所述测试用例以得到各个所述测试用例的用例执行结果;测试报告生成模块,被配置为根据所述用例执行结果生成所述目标测试场景的容灾测试报告。
在本公开的一些实施例中,基于以上技术方案,所述容灾测试场景信息包括执行设备信息、受灾设备信息和测试模式信息;所述测试场景确定模块包括:执行设备确定单元,被配置为确定用于执行测试用例的执行设备,并获取所述执行设备的执行设备信息;受灾设备确定单元,被配置为确定用于模拟出现受灾故障的受灾设备,并获取所述受灾设备的受灾设备信息;测试模式确定单元,被配置为确定当前容灾测试场景的测试模式,并获取所述测试模式的测试模式信息。
在本公开的一些实施例中,基于以上技术方案,所述受灾设备信息包括由多个所述受灾设备的设备编号组成的设备号段。
在本公开的一些实施例中,基于以上技术方案,所述测试模式包括演习模式和实测模式;所述测试模式确定单元包括:故障类型确定单元,被配置为确定所述受灾设备的受灾故障类型,所述受灾故障类型包括真实受灾故障和虚拟受灾故障;实测模式确定单元,被配置为当所述受灾设备的受灾故障类型为真实受灾故障时,确定当前容灾测试场景的测试模式为实测模式;演习模式确定单元,被配置为当所述受灾设备的受灾故障类型为虚拟受灾故障时,确定当前容灾测试场景的测试模式为演习模式。
在本公开的一些实施例中,基于以上技术方案,所述测试用例序列包括用于检查受灾环境的环境检查序列、用于对所述受灾环境进行环境切换的容灾执行序列和用于进行受灾环境恢复的环境恢复序列;其中,所述受灾环境包括受灾数据和受灾应用。
在本公开的一些实施例中,基于以上技术方案,所述容灾测试装置还包括:测试信息获取模块,被配置为获取当前执行的测试用例的测试信息;测试页面创建模块,被配置为在用于执行所述测试用例的执行设备上创建与所述当前执行的测试用例相对应的测试页面;测试信息显示模块,被配置为在所述测试页面内实时显示所述测试信息。
在本公开的一些实施例中,基于以上技术方案,所述测试报告生成模块包括:全量数据确定单元,被配置为根据所述用例执行结果确定所述目标测试场景的全量容灾测试数据;数据提取单元,被配置为从所述全量容灾测试数据中提取关键测试数据和容灾错误数据;报告生成单元,被配置为利用所述全量容灾测试数据、所述关键测试数据以及所述容灾错误数据生成所述目标测试场景的容灾测试报告。
根据本公开实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上任一实施例中的容灾测试方法。
根据本公开实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行如以上任一实施例中的容灾测试方法。
在本公开实施例提供的技术方案中,通过获取容灾测试场景信息可以确定目标测试场景,然后依据目标测试场景对应的测试用例序列,自动化地顺序执行测试用例并最终生成容灾测试报告,整个容灾测试过程自动化程度高,无需过多的人为干预,具有测试效率高、测试难度低的优点。另外,该容灾测试方法不仅测试人员可以使用,系统开发人员在容灾系统的开发过程中也可以使用。通过测试前移,既提高了开发人员的自测效率和质量,也将大部分系统缺陷提前到开发自测阶段发现并解决,整体上提高了容灾系统的质量,提升了容灾系统从开发到上线的整体效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了本公开所涉及的示例性系统架构示意图;
图2示出了本公开实施例中容灾测试平台的一种组成架构示意图;
图3示意性地示出了在本公开的一些实施例中容灾测试方法的步骤流程图;
图4示意性地示出了在本公开的一些实施例中获取容灾测试场景信息的步骤流程图;
图5示意性地示出了在本公开的一些实施例中确定测试模式为演习模式或者实测模式的步骤流程图;
图6示意性示出了在本公开的一些实施例中显示容灾测试信息的步骤流程图;
图7示意性地示出了在本公开的一些实施例中生成容灾测试报告的步骤流程图;
图8示出了容灾测试平台上提供的关于容灾测试场景管理的用户界面示意图;
图9示出了容灾测试平台上提供的新增容灾测试场景的用户界面示意图;
图10示出了容灾测试平台上提供的用于管理测试用例的用户界面示意图;
图11示出了容灾测试平台上提供的容灾测试场景执行过程中的用户界面示意图;
图12示意性地示出了在本公开一些实施例中的容灾测试装置的结构框图;
图13示意性地示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本公开实施例的容灾测试方法、容灾测试装置、计算机可读介质或者电子设备的示例性系统架构示意图。
如图1所示,系统架构100可以包括容灾测试平台110、网络120、主数据中心130和灾备数据中心140。主数据中心130可以是包括网络服务器、应用服务器、数据库服务器等各种服务器设备的生产机房,灾备数据中心140则是与主数据中心130具有相同或者相似功能的用于应对灾难性事故的备用容灾机房。网络120可以是能够在容灾测试平台110、主数据中心130和灾备数据中心140之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路、无线通信链路或者光纤电缆等等。容灾测试平台110可以是能够在测试人员的控制下执行测试用例以实现对主数据中心130和灾备数据中心140的容灾能力进行测试验证的计算机设备。
根据实现需要,应用本公开实施例的系统架构可以具有任意数目的容灾测试平台、网络、主数据中心和灾备数据中心。例如,一套容灾测试平台可以同时与多个主数据中心以及灾备数据中心进行网络数据通信,从而实现对多组容灾系统的容灾测试;另外,一组主数据中心和灾备数据中心也可以同时与多个容灾测试平台进行网络数据通信,以实现不同的测试需求。
图2示出了本公开实施例中容灾测试平台的一种组成架构示意图。如图2所示,容灾测试平台的组成架构可以包括前端210、后端220和数据层230三个部分。容灾测试平台的前端210采用bootstrap、jQuery、xterm等技术实现机器管理、容灾自动化、场景管理、用例管理等功能应用。其中,bootstrap是一种用于快速开发Web应用程序和网站的前端框架,jQuery是一种以直译式脚本语言(JavaScript)为基础搭建的编程框架,xterm是一种终端模拟器。容灾测试平台的后端220采用django、websocket等技术提供远程执行、一键生成场景、实时显示等功能应用。其中,django是一种由python写成的开源的web应用框架,websocket是一种在单个TCP连接上进行全双工通信的协议。容灾测试平台的数据层230采用mysql和redis进行相关测试数据存储。其中,mysql是一种关系型数据库管理系统,redis是一种开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。容灾测试平台利用自动单元测试框架pyunit调用自动化脚本执行用例并自动化生成测试报告和发送测试报告。
下面结合具体实施方式对本公开的容灾测试方法、容灾测试装置、计算机可读介质以及电子设备做出详细说明。
图3示意性地示出了本公开实施例中容灾测试方法的步骤流程图。如图3所示,该方法主要可以包括以下步骤:
步骤S310.获取容灾测试场景信息,并根据容灾测试场景信息确定目标测试场景。
容灾测试是通过模拟受灾情景,对容灾系统的容灾能力做出验证,从而保证容灾系统在出现真实的灾难性事件时能够及时做出响应处理。本步骤通过获取容灾测试场景信息确定目标测试场景,该目标测试场景主要可以对容灾测试中涉及的相关机器设备、测试模式、测试内容等信息做出规定。容灾测试平台的前端部分可以提供用于场景管理的用户界面,在该界面下可以由用户直接输入容灾测试场景信息,然后由相关信息生成目标测试场景,新增加的容灾测试场景将被保存在容灾测试平台上。用户也可以根据容灾测试场景信息从容灾测试平台内保存的诸多容灾测试场景中直接选取一个作为目标测试场景。
步骤S320.根据目标测试场景确定包括多个测试用例的测试用例序列。
在目标测试场景所规定的受灾情况下,容灾测试平台可以有针对性地通过多个容灾测试步骤进行容灾测试,而每个容灾测试步骤的执行是由具体的测试用例来实现。当确定目标测试场景后,本步骤可以确定与目标测试场景相对应的测试用例序列,该测试用例序列内包括按照预先设定的步骤执行顺序而依次排列的多个测试用例。每个测试用例可以对应一个单独的测试步骤,或者可以在一个测试用例内封装多个测试步骤,另外还可以用多个测试用例实现一个测试步骤。对于不同的测试场景而言,测试用例序列中测试用例的数量、种类以及执行顺序等方面都存在一定程度的差异。
步骤S330.依次执行测试用例序列中的各个测试用例以得到各个测试用例的用例执行结果。
针对确定的测试用例序列,本步骤可以按照预先设定的执行顺序依次运行各个测试用例,从而得到每个测试用例的用例执行结果。测试用例的执行可以是根据容灾测试场景信息,结合具体的容灾测试步骤,对自动化测试脚本进行调用,自动化测试脚本的执行结果即可作为各个测试用例的用例执行结果。
步骤S340.根据用例执行结果生成目标测试场景的容灾测试报告。
当一个测试用例的运行结果与预期结果相符时,用例执行结果为测试通过(pass);当一个测试用例的运行结果与预期结果不相符时,用例执行结果为测试失败(fail);当容灾测试平台的部分功能模块存在缺陷而导致测试用例执行受到阻碍,那么用例执行结果可以是测试受阻(block)。根据每个测试用例的用例执行结果以及测试过程中各个测试用例的执行过程记录,可以生成目标测试场景的容灾测试报告。用户除了可以通过容灾测试报告查看每个测试用例的执行结果,也可以从中获得每个测试用例的执行细节,从而能够对目标测试场景下的容灾系统做出评估。同时也可以根据容灾测试报告对目标测试场景中使用的测试用例做出调整,以便能够为后续的测试过程或者其他的测试场景提供参考依据。
在本公开实施例提供的容灾测试方法中,通过获取容灾测试场景信息可以确定目标测试场景,然后依据目标测试场景对应的测试用例序列,自动化地顺序执行测试用例并最终生成容灾测试报告,整个容灾测试过程自动化程度高,无需过多的人为干预,具有测试效率高、测试难度低的优点。另外,该容灾测试方法不仅测试人员可以使用,系统开发人员在容灾系统的开发过程中也可以使用。通过测试前移,既提高了开发人员的自测效率和质量,也将大部分系统缺陷提前到开发自测阶段发现并解决,整体上提高了容灾系统的质量,提升了容灾系统从开发到上线的整体效率。
在本公开的一些实施例中,用于确定目标测试场景的容灾测试场景信息可以包括执行设备信息、受灾设备信息和测试模式信息等各种信息。在此基础上,图4示意性地示出了获取容灾测试场景信息的步骤流程图。如图4所示,步骤S310中的获取容灾测试场景信息,可以包括以下步骤:
步骤S410.确定用于执行测试用例的执行设备,并获取执行设备的执行设备信息。
如上文所述,一组主数据中心和灾备数据中心可以同时与多个容灾测试平台进行网络数据通信,不同的容灾测试平台可以搭载于不同的执行设备上。本步骤首先确定用于执行测试用例的执行设备,同时获取执行设备的执行设备信息。执行设备信息主要可以包括执行设备的设备名称,例如可以是“测试脚本机”。不同的测试人员可以在同一执行设备或者不同的执行设备上创建个性化的容灾测试场景。
步骤S420.确定用于模拟出现受灾故障的受灾设备,并获取受灾设备的受灾设备信息。
除了确定容灾测试的执行设备以外,在一个容灾测试场景中还需要确定用于模拟出现受灾故障的受灾设备,同时获取受灾设备的受灾设备信息。在容灾测试过程中,执行设备可以向受灾设备发送测试数据,然后对受灾设备的数据处理情况进行监控。受灾设备可以是设备机房中的一个或者多个计算机设备,为了模拟真实的受灾情景,受灾设备一般需要选择设备机房中相互邻接的一组计算机设备。每一个受灾设备对应于一个设备编号,受灾设备信息可以相应包括由多个受灾设备的设备编号组成的设备号段,例如号段格式可以是11:21或者可以是21-01-080-082:21-02-00-50。
步骤S430.确定当前容灾测试场景的测试模式,并获取测试模式的测试模式信息。
对于不同的测试模式,容灾测试场景中执行的测试步骤也会存在一定差异,相应所使用的测试用例序列需要做出适应调整。测试模式的选择一般可以与测试目的和测试需求相关。例如,在一些测试模式下,测试目的是为了对受灾设备的容灾响应能力做出测试,以便提高受灾设备的可用性和稳定性;而在其他一些测试模式下,测试目的可以是对测试用例的执行情况做出验证,以便对测试用例做出修改和完善。
在实际应用中,容灾测试平台上可以提供容灾测试场景信息的输入页面,测试人员可以直接在页面内输入与执行设备、受灾设备以及测试模式等相关的容灾测试场景信息,然后根据用户输入的容灾测试场景信息可以自动创建一个目标测试场景。另外,当容灾测试平台上存储有一定数量的容灾测试场景时,也可以根据用户输入的容灾测试场景信息从数据库中直接选取一个与之对应的容灾测试场景作为目标测试场景。
在本公开的一些实施例中,容灾测试场景信息中所涉及的测试模式还可以包括演习模式(exercise)和实测模式(real)两种类型,图5示意性地示出了确定测试模式为演习模式或者实测模式的步骤流程图。如图5所示,步骤S430中的确定当前容灾测试场景的测试模式,可以包括以下步骤:
步骤S510.确定受灾设备的受灾故障类型,受灾故障类型包括真实受灾故障和虚拟受灾故障。
在一些容灾测试场景中,测试人员可以向受灾设备施加人为控制,以使其出现接近真实灾难性事件的真实受灾故障,例如测试人员可以通过切断电源或者切断网络连接等方式模拟真实受灾故障。在其他一些容灾测试场景中,受灾设备也可以是完好的能够正常工作的计算机设备,而不必向其施加人为故障,此时的受灾故障类型即为虚拟受灾故障。
步骤S520.当受灾设备的受灾故障类型为真实受灾故障时,确定当前容灾测试场景的测试模式为实测模式。
对于人为施加而产生的真实受灾故障,可以确定当前容灾测试场景的测试模式为实测模式。在实测模式下,容灾测试的各个步骤执行更加接近真实的受灾情景。例如,在容灾测试过程中,受灾设备与备用设备之间将采用异步方式进行数据处理。另外,在实现故障修复后,还需要对受灾设备进行数据恢复。
步骤S530.当受灾设备的受灾故障类型为虚拟受灾故障时,确定当前容灾测试场景的测试模式为演习模式。
对于虚拟受灾故障而言,受灾设备实际仍为完好的能够正常工作的计算机设备。由于仅为虚拟受灾故障,受灾设备并不会受到故障影响,因此容灾测试过程中,受灾设备也能正常进行数据通信,此时受灾设备与备用设备之间采用同步方式进行数据处理。在完成容灾测试的主要测试步骤后,无需对受灾设备进行数据恢复。
本公开实施例通过提供实测模式和演习模式两种测试模式,可以提高容灾测试的灵活性,在不同的测试模式下,可以对测试用例的配置做出适应调整,从而能够灵活控制测试过程。
在本公开的一些实施例中,对应于目标测试场景的测试用例序列可以由多个子序列构成,例如可以包括用于检查受灾环境的环境检查序列、用于对受灾环境进行环境切换的容灾执行序列和用于进行受灾环境恢复的环境恢复序列。其中,受灾环境又可以包括受灾数据和受灾应用。受灾数据指的是在发生灾难性事故时受到灾难影响的各种业务数据,例如系统数据、应用数据等等。受灾应用指的是受到灾难影响的各种应用系统,例如企业网站、邮件传输系统、业务运营系统等等。
在本公开的一些实施例中,容灾测试方法还可以包括显示容灾测试信息的步骤。如图6所示,在以上各实施例的基础上,容灾测试方法还包括以下步骤:
步骤S610.获取当前执行的测试用例的测试信息。
在各个测试用例的执行过程中,容灾测试平台可以实时获取执行过程中的各方面测试信息。例如,测试信息可以包括当前执行的测试用例的流程进度和节点以及在各个节点下的处理内容。
步骤S620.在用于执行测试用例的执行设备上创建与当前执行的测试用例相对应的测试页面。
当执行设备执行一个测试用例时,可以在显示界面上创建与该测试用例相对应的测试页面。当一个测试用例执行完毕后,容灾测试平台会继续执行测试用例序列中的下一个测试用例,此时执行设备上也将创建一个新的测试页面。
步骤S630.在测试页面内实时显示测试信息。
利用步骤S620中创建的测试页面,可以对步骤S610中所获取到的测试信息进行实时显示。测试人员可以借助测试页面内所显示的测试信息对测试用例的执行过程进行实时监控,并可以根据监控结果对容灾测试过程进行实时调整。另外,测试人员也可以通过切换测试页面,查看已执行完成的测试用例的执行结果。
图7示意性地示出了在本公开的一些实施例中生成容灾测试报告的步骤流程图。
如图7所示,在以上各实施例的基础上,步骤S340.根据用例执行结果生成目标测试场景的容灾测试报告可以包括以下步骤:
步骤S710.根据用例执行结果确定目标测试场景的全量容灾测试数据。
目标测试场景中每个测试用例的执行都会产生相应的用例执行结果,将所有用例执行结果进行分析整合后可以确定目标测试场景的全量容灾测试数据,全量容灾测试数据中覆盖了整个容灾测试过程中的所有测试数据。
步骤S720.从全量容灾测试数据中提取关键测试数据和容灾错误数据。
在确定全量容灾测试数据后,本步骤可以对全量容灾测试数据进行筛选和数据提取以得到关键测试数据和容灾错误数据。其中,关键测试数据可以包括一个或者几个关键测试步骤的代表性数据,而容灾错误数据则可以包括用例执行结果为测试失败的部分数据。
步骤S730.利用全量容灾测试数据、关键测试数据以及容灾错误数据生成目标测试场景的容灾测试报告。
在目标测试场景的容灾测试报告中包括有全量容灾测试数据、关键测试数据以及容灾错误数据三种数据类型。其中,全量容灾测试数据包括全部测试数据,关键测试数据可以作为容灾测试报告中包括核心数据内容的摘要部分,容灾错误数据则可以为测试人员提供测试用例或者容灾测试场景的异常信息。测试人员可以根据容灾测试报告中的关键测试数据和容灾错误数据对整体的容灾测试结果做出评估,在需要的时候也可以在全量容灾测试数据中查看详细的测试内容。
下面结合图8至图11中的各个用户界面示意图,对本公开实施例中的容灾测试方法的部分细节做出说明。
图8示出了容灾测试平台上提供的关于容灾测试场景管理的用户界面。如图8所示,容灾测试平台上存储有多个容灾测试场景,在场景管理页面中可以对容灾测试场景进行“新增”、“删除”、“修改”、“批量删除”等操作。每个容灾测试场景中均包含有一组测试用例,举例而言,名称为“set-11:21-Exercise”的容灾测试场景包括有21个测试用例。通过点击“详情”控件,也可以查看各个容灾测试场景的详细信息,例如可以查看容灾测试场景的测试用例序列、容灾测试场景的创建时间或者编辑时间、容灾测试场景的历史运行记录等等。
通过点击“新增”控件,可以跳转至容灾测试场景的生成页面。如图9所示,该生成页面中提供有多个输入框或者选择框。举例而言,在“执行机器”一栏可以选择容灾测试场景的执行设备,如“测试脚本机”;在“演习模式”一栏可以选择容灾测试场景的测试模式,如Real或者Exercise;在“故障机器”一栏可以选择容灾测试场景的受灾设备。完成相关容灾测试场景信息的输入后,点击“执行”控件便可以自动生成目标测试场景,该目标测试场景内包括了用于容灾测试的全流程自动化测试用例。
图10示出了容灾测试平台中用于管理测试用例的用户界面,在该用户界面下,可以对各个测试用例进行新增、修改、删除以及批量删除等功能。举例而言,名称为“启动发包-set11”的测试用例是容灾测试场景“set-11:21:31-Exercise”中的一个测试用例,该测试用例通过执行命令“cd/data/guobiaohu/rongzai_500set……”调用自动化测试脚本。
图11示出了容灾测试场景执行过程中的用户界面。图中左侧为容灾测试场景列表,该列表中的每一个容灾测试场景下又包括了一个测试用例序列,通过选取一个容灾测试场景可以触发测试用例序列的顺序执行。图中右侧提供了与各个测试用例相对应的测试页面,其中可以显示相应测试用例的实时执行情况。
当一个容灾测试场景执行完毕后,可以自动生成容灾测试报告,并且可以通过邮件等通信方式发送给测试执行人员。容灾测试报告直观易懂,可以包括全量容灾测试数据、关键测试数据和容灾错误数据等不同数据内容。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本公开的装置实施例,可以用于执行本公开上述实施例中的容灾测试方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的容灾测试方法的实施例。
图12示意性地示出了在本公开一些实施例中的容灾测试装置的结构框图。如图12所示,容灾测试装置1200主要可以包括:测试场景确定模块1210、测试用例确定模块1220、测试用例执行模块1230和测试报告生成模块1240。
测试场景确定模块1210被配置为获取容灾测试场景信息,并根据容灾测试场景信息确定目标测试场景;测试用例确定模块1220被配置为根据目标测试场景确定包括多个测试用例的测试用例序列;测试用例执行模块1230被配置为依次执行测试用例序列中的各个测试用例以得到各个测试用例的用例执行结果;测试报告生成模块1240被配置为根据用例执行结果生成目标测试场景的容灾测试报告。
在本公开的一些实施例中,基于以上技术方案,所述容灾测试场景信息包括执行设备信息、受灾设备信息和测试模式信息;所述测试场景确定模块包括:执行设备确定单元,被配置为确定用于执行测试用例的执行设备,并获取所述执行设备的执行设备信息;受灾设备确定单元,被配置为确定用于模拟出现受灾故障的受灾设备,并获取所述受灾设备的受灾设备信息;测试模式确定单元,被配置为确定当前容灾测试场景的测试模式,并获取所述测试模式的测试模式信息。
在本公开的一些实施例中,基于以上技术方案,所述受灾设备信息包括由多个所述受灾设备的设备编号组成的设备号段。
在本公开的一些实施例中,基于以上技术方案,所述测试模式包括演习模式和实测模式;所述测试模式确定单元包括:故障类型确定单元,被配置为确定所述受灾设备的受灾故障类型,所述受灾故障类型包括真实受灾故障和虚拟受灾故障;实测模式确定单元,被配置为当所述受灾设备的受灾故障类型为真实受灾故障时,确定当前容灾测试场景的测试模式为实测模式;演习模式确定单元,被配置为当所述受灾设备的受灾故障类型为虚拟受灾故障时,确定当前容灾测试场景的测试模式为演习模式。
在本公开的一些实施例中,基于以上技术方案,所述测试用例序列包括用于检查受灾环境的环境检查序列、用于对所述受灾环境进行环境切换的容灾执行序列和用于进行受灾环境恢复的环境恢复序列;其中,所述受灾环境包括受灾数据和受灾应用。
在本公开的一些实施例中,基于以上技术方案,所述容灾测试装置还包括:测试信息获取模块,被配置为获取当前执行的测试用例的测试信息;测试页面创建模块,被配置为在用于执行所述测试用例的执行设备上创建与所述当前执行的测试用例相对应的测试页面;测试信息显示模块,被配置为在所述测试页面内实时显示所述测试信息。
在本公开的一些实施例中,基于以上技术方案,所述测试报告生成模块包括:全量数据确定单元,被配置为根据所述用例执行结果确定所述目标测试场景的全量容灾测试数据;数据提取单元,被配置为从所述全量容灾测试数据中提取关键测试数据和容灾错误数据;报告生成单元,被配置为利用所述全量容灾测试数据、所述关键测试数据以及所述容灾错误数据生成所述目标测试场景的容灾测试报告。
本公开各实施例中提供的容灾测试装置的具体细节已经在对应的方法实施例中进行了详细的描述,因此此处不再赘述。
图13示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图13示出的电子设备的计算机系统1300仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图13所示,计算机系统1300包括中央处理单元(Central Processing Unit,CPU)1301,其可以根据存储在只读存储器(Read-Only Memory,ROM)1302中的程序或者从存储部分1308加载到随机访问存储器(Random Access Memory,RAM)1303中的程序而执行各种适当的动作和处理。在RAM 1303中,还存储有系统操作所需的各种程序和数据。CPU1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(Input/Output,I/O)接口1305也连接至总线1304。
以下部件连接至I/O接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
特别地,根据本公开的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元(CPU)1301执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (14)

1.一种容灾测试方法,其特征在于,所述方法包括:
获取容灾测试场景信息,并根据所述容灾测试场景信息确定目标测试场景;
根据所述目标测试场景确定包括多个测试用例的测试用例序列,所述测试用例序列包括用于检查受灾环境的环境检查序列、用于对所述受灾环境进行环境切换的容灾执行序列和用于进行受灾环境恢复的环境恢复序列,其中,所述受灾环境包括受灾数据和受灾应用;
依次执行所述测试用例序列中的各个所述测试用例以得到各个所述测试用例的用例执行结果;
根据所述用例执行结果生成所述目标测试场景的容灾测试报告。
2.根据权利要求1所述的容灾测试方法,其特征在于,所述容灾测试场景信息包括执行设备信息、受灾设备信息和测试模式信息;所述获取容灾测试场景信息,包括:
确定用于执行测试用例的执行设备,并获取所述执行设备的执行设备信息;
确定用于模拟出现受灾故障的受灾设备,并获取所述受灾设备的受灾设备信息;
确定当前容灾测试场景的测试模式,并获取所述测试模式的测试模式信息。
3.根据权利要求2所述的容灾测试方法,其特征在于,所述受灾设备信息包括由多个所述受灾设备的设备编号组成的设备号段。
4.根据权利要求2所述的容灾测试方法,其特征在于,所述测试模式包括演习模式和实测模式;所述确定当前容灾测试场景的测试模式,包括:
确定所述受灾设备的受灾故障类型,所述受灾故障类型包括真实受灾故障和虚拟受灾故障;
当所述受灾设备的受灾故障类型为真实受灾故障时,确定当前容灾测试场景的测试模式为实测模式;
当所述受灾设备的受灾故障类型为虚拟受灾故障时,确定当前容灾测试场景的测试模式为演习模式。
5.根据权利要求1所述的容灾测试方法,其特征在于,所述方法还包括:
获取当前执行的测试用例的测试信息;
在用于执行所述测试用例的执行设备上创建与所述当前执行的测试用例相对应的测试页面;
在所述测试页面内实时显示所述测试信息。
6.根据权利要求1所述的容灾测试方法,其特征在于,所述根据所述用例执行结果生成所述目标测试场景的容灾测试报告,包括:
根据所述用例执行结果确定所述目标测试场景的全量容灾测试数据;
从所述全量容灾测试数据中提取关键测试数据和容灾错误数据;
利用所述全量容灾测试数据、所述关键测试数据以及所述容灾错误数据生成所述目标测试场景的容灾测试报告。
7.一种容灾测试装置,其特征在于,所述装置包括:
测试场景确定模块,被配置为获取容灾测试场景信息,并根据所述容灾测试场景信息确定目标测试场景;
测试用例确定模块,被配置为根据所述目标测试场景确定包括多个测试用例的测试用例序列,所述测试用例序列包括用于检查受灾环境的环境检查序列、用于对所述受灾环境进行环境切换的容灾执行序列和用于进行受灾环境恢复的环境恢复序列,其中,所述受灾环境包括受灾数据和受灾应用;
测试用例执行模块,被配置为依次执行所述测试用例序列中的各个所述测试用例以得到各个所述测试用例的用例执行结果;
测试报告生成模块,被配置为根据所述用例执行结果生成所述目标测试场景的容灾测试报告。
8.根据权利要求7所述的容灾测试装置,其特征在于,所述容灾测试场景信息包括执行设备信息、受灾设备信息和测试模式信息;所述测试场景确定模块包括:
执行设备确定单元,被配置为确定用于执行测试用例的执行设备,并获取所述执行设备的执行设备信息;
受灾设备确定单元,被配置为确定用于模拟出现受灾故障的受灾设备,并获取所述受灾设备的受灾设备信息;
测试模式确定单元,被配置为确定当前容灾测试场景的测试模式,并获取所述测试模式的测试模式信息。
9.根据权利要求8所述的容灾测试装置,其特征在于,所述受灾设备信息包括由多个所述受灾设备的设备编号组成的设备号段。
10.根据权利要求8所述的容灾测试装置,其特征在于,所述测试模式包括演习模式和实测模式;所述测试模式确定单元包括:
故障类型确定单元,被配置为确定所述受灾设备的受灾故障类型,所述受灾故障类型包括真实受灾故障和虚拟受灾故障;
实测模式确定单元,被配置为当所述受灾设备的受灾故障类型为真实受灾故障时,确定当前容灾测试场景的测试模式为实测模式;
演习模式确定单元,被配置为当所述受灾设备的受灾故障类型为虚拟受灾故障时,确定当前容灾测试场景的测试模式为演习模式。
11.根据权利要求7所述的容灾测试装置,其特征在于,所述容灾测试装置还包括:
测试信息获取模块,被配置为获取当前执行的测试用例的测试信息;
测试页面创建模块,被配置为在用于执行所述测试用例的执行设备上创建与所述当前执行的测试用例相对应的测试页面;
测试信息显示模块,被配置为在所述测试页面内实时显示所述测试信息。
12.根据权利要求7所述的容灾测试装置,其特征在于,所述测试报告生成模块包括:
全量数据确定单元,被配置为根据所述用例执行结果确定所述目标测试场景的全量容灾测试数据;
数据提取单元,被配置为从所述全量容灾测试数据中提取关键测试数据和容灾错误数据;
报告生成单元,被配置为利用所述全量容灾测试数据、所述关键测试数据以及所述容灾错误数据生成所述目标测试场景的容灾测试报告。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的容灾测试方法。
14.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至6中任一项所述的容灾测试方法。
CN201910616315.1A 2019-07-09 2019-07-09 容灾测试方法、装置、计算机可读介质及电子设备 Active CN111176974B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910616315.1A CN111176974B (zh) 2019-07-09 2019-07-09 容灾测试方法、装置、计算机可读介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910616315.1A CN111176974B (zh) 2019-07-09 2019-07-09 容灾测试方法、装置、计算机可读介质及电子设备

Publications (2)

Publication Number Publication Date
CN111176974A CN111176974A (zh) 2020-05-19
CN111176974B true CN111176974B (zh) 2021-07-13

Family

ID=70624571

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910616315.1A Active CN111176974B (zh) 2019-07-09 2019-07-09 容灾测试方法、装置、计算机可读介质及电子设备

Country Status (1)

Country Link
CN (1) CN111176974B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000444B (zh) * 2020-10-27 2021-06-22 财付通支付科技有限公司 数据库事务处理方法、装置、存储介质和电子设备
CN112711510A (zh) * 2020-12-29 2021-04-27 长威信息科技发展股份有限公司 一种业务连续性运行监测自动适配方法及系统
CN112799969A (zh) * 2021-04-08 2021-05-14 蚂蚁金服(杭州)网络技术有限公司 分布式文件系统的测试方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201860A (zh) * 2015-05-07 2016-12-07 阿里巴巴集团控股有限公司 应用系统的测试方法及装置
CN107729187A (zh) * 2017-11-03 2018-02-23 郑州云海信息技术有限公司 一种基于虚拟化平台的测试用例管理容灾方法及系统
CN109901985A (zh) * 2017-12-08 2019-06-18 北京京东尚科信息技术有限公司 分布式测试装置及方法、存储介质和电子设备
CN109960648A (zh) * 2017-12-26 2019-07-02 北京奇虎科技有限公司 一种应用程序的测试方法、装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050171752A1 (en) * 2004-01-29 2005-08-04 Patrizio Jonathan P. Failure-response simulator for computer clusters

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201860A (zh) * 2015-05-07 2016-12-07 阿里巴巴集团控股有限公司 应用系统的测试方法及装置
CN107729187A (zh) * 2017-11-03 2018-02-23 郑州云海信息技术有限公司 一种基于虚拟化平台的测试用例管理容灾方法及系统
CN109901985A (zh) * 2017-12-08 2019-06-18 北京京东尚科信息技术有限公司 分布式测试装置及方法、存储介质和电子设备
CN109960648A (zh) * 2017-12-26 2019-07-02 北京奇虎科技有限公司 一种应用程序的测试方法、装置

Also Published As

Publication number Publication date
CN111176974A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN109271325B (zh) 应用的测试方法、系统、电子设备和存储介质
CN108399114B (zh) 一种系统性能测试方法、装置及存储介质
CN111176974B (zh) 容灾测试方法、装置、计算机可读介质及电子设备
US8381184B2 (en) Dynamic test coverage
CN103365770B (zh) 移动终端软件测试系统及软件测试方法
US9465718B2 (en) Filter generation for load testing managed environments
US10120783B2 (en) Determining test case efficiency
CN110764753A (zh) 一种业务逻辑代码生成方法、装置、设备及存储介质
CN111124850A (zh) Mqtt服务器性能测试方法、系统、计算机设备及存储介质
CN110347395A (zh) 基于云计算平台的软件发布方法及装置
CN110013672B (zh) 用于机器运行的游戏的自动化测试的方法、设备、装置以及计算机可读存储介质
CN112052172B (zh) 第三方通道的快速测试方法、装置和电子设备
Gao et al. Saas testing on clouds-issues, challenges and needs
CN109977012B (zh) 系统的联调测试方法、装置、设备及计算机可读存储介质
CN114003451B (zh) 一种接口测试方法、装置、系统及介质
CN113190443A (zh) 测试方法、装置、计算机设备和存储介质
CN110413517A (zh) 一种测试报告生成方法、装置、电子设备和存储介质
CN110928795A (zh) 一种存储系统升级的稳定性测试方法及装置
US11281521B1 (en) Methods, systems and computer readable media for troubleshooting test environments using automated analysis of log file data
CN110795338B (zh) 一种基于前后端交互的自动化测试方法、装置及电子设备
CN112965910A (zh) 自动化回归测试方法、装置、电子设备、存储介质
CN113434387A (zh) 一种基于脚本驱动的自动化测试工具及系统
CN113360365A (zh) 一种流程测试方法和流程测试系统
Dixit et al. FormTester: effective integration of model-based and manually specified test cases
CN109800155B (zh) 一种基于Probe的QTE联锁应用软件测试方法及装置

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
GR01 Patent grant
GR01 Patent grant