CN111221719B - 一种自动化测试系统及测试方法 - Google Patents

一种自动化测试系统及测试方法 Download PDF

Info

Publication number
CN111221719B
CN111221719B CN201811410018.3A CN201811410018A CN111221719B CN 111221719 B CN111221719 B CN 111221719B CN 201811410018 A CN201811410018 A CN 201811410018A CN 111221719 B CN111221719 B CN 111221719B
Authority
CN
China
Prior art keywords
test
testing
database
module
test 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
CN201811410018.3A
Other languages
English (en)
Other versions
CN111221719A (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.)
Hisense TransTech Co Ltd
Original Assignee
Hisense TransTech 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 Hisense TransTech Co Ltd filed Critical Hisense TransTech Co Ltd
Priority to CN201811410018.3A priority Critical patent/CN111221719B/zh
Publication of CN111221719A publication Critical patent/CN111221719A/zh
Application granted granted Critical
Publication of CN111221719B publication Critical patent/CN111221719B/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
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

一种自动化测试系统及测试方法
技术领域
本发明实施例涉及自动化测试领域,尤其涉及一种自动化测试系统及测试方法。
背景技术
随着计算机技术的迅速发展,软件的应用范围越来越广泛,软件结构也越来越复杂。为了保证软件产品的高质量和测试的高效率,自动化测试越来越受到人们的重视。
当前的自动化测试方式主要是基于产品UI(User Interface,用户界面)层测试,将黑盒功能测试转化为由程序或工具执行的一种自动化测试。但对于智能交通领域,存在大量的智能交通数据,软件版本较多,当前的自动化测试需要针对每个业务进行编写测试程序并测试,测试成本高,且需要大量的测试人员。
发明内容
本发明实施例提供一种自动化测试系统及测试方法,用于智能交通领域的软件自动化测试,将多个测试模块集成为测试系统,测试模块之间相互调用,以提高自动化测试的效率。
本发明实施例提供的一种自动化测试系统,包括:
关系数据库测试模块、大数据算法后台测试模块、分布式数据库测试模块以及前端测试模块;
所述关系数据库测试模块用于提供与关系数据库相关的测试用例,以测试所述关系数据库的连接健壮性、数据库性能和所述关系数据库与大数据算法后台进行数据交互的性能;
所述大数据算法后台测试模块用于提供与所述大数据算法后台相关的测试用例,以测试所述大数据算法后台满足用户需求的性能;
所述分布式数据库测试模块用于提供与分布式数据库相关的测试用例,以测试所述分布式数据库的连接健壮性、数据库性能、所述分布式数据库与所述大数据算法后台进行数据交互的性能、所述分布式数据库与前端进行数据交互的性能;
所述前端测试模块用于提供与所述前端相关的测试用例,以测试所述前端的性能、所述前端与所述分布式数据库进行数据交互的性能。
上述技术方案中,将关系数据库测试模块、大数据算法后台测试模块、分布式数据库测试模块以及前端测试模块高度集成为自动化测试系统,全面的对交通信号控制系统进行自动化测试,且各模块之间交叉调用,在自动化测试时,可以根据测试业务的需求调用各测试模块中的测试用例,即无需针对每个测试业务的需求编写测试程序,有效提高测试效率,降低开发和测试的成本。
可选的,所述关系数据库测试模块包括所述关系数据库的设计规范测试模块、数据交互测试模块;
所述关系数据库的设计规范测试模块用于测试所述关系数据库的连接健壮性、数据库性能;
所述数据交互测试模块用于测试所述关系数据库与所述大数据算法后台进行数据交互的性能。
可选的,所述关系数据库的设计规范测试模块包括所述关系数据库的连接健壮性测试用例、性能测试用例;所述关系数据库的连接健壮性测试用例用于测试所述关系数据库的连接方式和连接稳定性;所述关系数据库的性能测试用例用于测试所述关系数据库的数据库结构、表结构、表逻辑;
所述数据交互测试模块包括大数据算法调用参数的数据测试用例和数据集测试用例;所述大数据算法调用参数的数据测试用例用于测试大数据算法运行时所需调用的参数以及中间数据的正确性和完整性;所述数据集测试用例用于测试业务需求的数据集的正确性和完整性。
上述技术方案中,关系数据库测试模块包括多个关系数据库测试用例,用于测试关系数据库的连接健壮性、数据库性能、与大数据算法后台进行数据交互的性能等,从而实现对关系数据库测试模块的准确、高效自动化测试。
可选的,所述大数据算法后台测试模块包括单元测试用例、算法参数的正确性测试用例、算法测试用例;
所述单元测试用例用于测试所述大数据算法后台的函数的功能和逻辑;
所述算法参数的正确性测试用例用于测试所述大数据算法后台中每个算法的输入输出的正确性;
所述算法测试用例用于测试用户需求的输入输出的完整性和一致性。
上述技术方案中,大数据算法后台测试模块包括多个大数据算法后台测试用例,用于测试大数据算法后台的函数的功能和逻辑、输入输出的正确性等,从而实现对大数据算法后台测试模块的准确、高效自动化测试。
可选的,所述分布式数据库测试模块包括所述分布式数据库的连接健壮性测试用例、性能测试用例、算法结果正确性测试用例和前端的需求数据正确性测试用例;
所述分布式数据库的连接健壮性测试用例用于测试所述分布式数据库的连接方式和连接稳定性;
所述分布式数据库的性能测试用例用于测试所述分布式数据库的数据库结构、表结构、表逻辑、数据库设计的安全性;
所述分布式数据库的算法结果正确性测试用例用于测试存储在所述分布式数据库的大数据算法后台的结果的正确性;
所述前端的需求数据正确性测试用例用于测试存储在所述分布式数据库的前端的需求数据的正确性。
上述技术方案中,分布式数据库测试模块包括多个分布式数据库测试用例,用于测试分布式数据库的连接健壮性、数据库性能、与大数据算法后台进行数据交互的性能、与前端进行数据交互的性能等,从而实现对分布式数据库测试模块的准确、高效自动化测试。
可选的,所述前端测试模块包括所述前端的功能测试用例、性能测试用例、接口测试用例;
所述前端的功能测试用例用于测试所述前端的功能是否满足用户需求;
所述前端的性能测试用例用于测试所述前端的时间性能和空间性能;
所述前端的接口测试用例用于测试所述前端显示元素的完整性。
可选的,所述前端的性能测试用例包括所述前端的时间性能单元测试用例、空间性能单元测试用例;
所述前端的时间性能单元测试用例用于测试前端页面的响应时间、加载时间、运行时间;
所述前端的空间性能单元测试用例用于测试运行所消耗的系统资源。
上述技术方案中,前端测试模块包括多个前端测试用例,用于测试前端的性能、与分布式数据库进行数据交互的性能等,从而实现对前端测试模块的准确、高效自动化测试。
可选的,所述系统还包括测试用例创建模块;
所述测试用例创建模块用于根据业务的需求,从所述关系数据库测试模块、大数据算法后台测试模块、分布式数据库测试模块以及前端测试模块中确定出与所述业务的需求相对应的测试用例,得到所述业务的需求的测试用例集。
上述技术方案中,针对自动化测试系统的每一个测试业务,测试用例创建模块根据业务需求调用各测试模块中业务所需的测试用例,形成测试用例集,以满足各测试业务的需求。也就是说,该技术方案通过测试用例创建模块对各测试模块中的测试用例进行调用,实现只对自动化测试系统中各测试模块中测试用例进行一次编写,即可满足该自动化测试系统中不同的软件测试需求。
相应的,本发明实施例还提供了一种自动化测试系统的测试方法,包括:
获取用户输入的配置脚本;所述配置脚本包括测试所需的测试用例的标识以及各测试用例之间的流程步骤;
根据所述各测试用例之间的流程步骤以及所述测试所需的测试用例的标识依次调用所述测试所需的测试用例;所述测试用例包括以下测试用例之一或任意组合:关系数据库测试用例、大数据算法后台测试用例、分布式数据库测试用例以及前端测试用例。
上述技术方案中,通过配置脚本即可根据业务的需求,将自动化测试系统中各测试模块的测试用例进行调用,并测试业务的需求对应的测试用例,满足自动化测试系统不同测试业务的需求,以达到自动化测试系统的有效测试,同时降低了软件开发成本及开发时间。
可选的,在所述依次调用所述测试所需的测试用例之后,还包括:
生成测试报告;所述测试报告包括通过率报告、代码覆盖率报告;所述通过率报告包括测试环境、测试摘要、测试结果;所述代码覆盖率报告包括已通过测试的代码的比例、未通过测试的代码的比例。
上述技术方案中,通过生成的测试报告,测试人员可以了解测试环境、测试进度,以及在测试用例不通过的情况下,准确定位出错误代码,有效提高测试效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种自动化测试系统的示意图;
图2为本发明实施例提供的另一种自动化测试系统的示意图;
图3为本发明实施例提供的一种交通信号控制系统中测试用例集的示意图;
图4为本发明实施例提供的一种自动化测试系统的测试方法的流程示意图;
图5为本发明实施例提供的一种交通信号控制系统自动化测试的示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示例性的示出了本发明实施例提供一种自动化测试系统10的结构,该自动化测试系统10包括关系数据库测试模块110、大数据算法后台测试模块120、开源数据库测试模块130以及前端测试模块140。
其中,关系数据库测试模块110用于提供与关系数据库相关的测试用例,以测试关系数据库的连接健壮性、数据库性能和关系数据库与大数据算法后台进行数据交互的性能;大数据算法后台测试模块120用于提供与大数据算法后台相关的测试用例,以测试大数据算法后台满足用户需求的性能;分布式数据库测试模块130用于提供与分布式数据库相关的测试用例,测试分布式数据库的连接健壮性、数据库性能和分布式数据库与大数据算法后台进行数据交互的性能、分布式数据库与前端进行数据交互的性能;前端测试模块140用于提供与前端相关的测试用例,测试前端的性能、前端与分布式数据库进行交互的性能。
在具体实施环境中,关系数据库测试模块110可以为Oracle数据库测试模块,分布式数据库测试模块130可以为Hbase数据库测试模块,前端测试模块140可以为Web(WorldWide Web,全球广域网或万维网)前端测试模块;如图1的自动化测试系统10中,可以将测试模块划分为测试用例,将测试用例划分为单元测试用例,如图2所示,将Oracle数据库测试模块划分为多个Oracle数据库测试用例、大数据算法后台测试模块划分为多个大数据算法后台测试用例、Hbase数据库测试模块划分为多个Hbase数据库测试用例、Web前端测试模块划分为多个Web前端测试用例;进一步将Oracle数据库测试用例划分为多个Oracle数据库单元测试用例、大数据算法后台测试模块划分为多个大数据算法后台单元测试用例、Hbase数据库测试模块划分为多个Hbase数据库单元测试用例、Web前端测试模块划分为多个Web前端单元测试用例。
本发明实施例提供一种关系数据库测试模块110,将关系数据库测试模块110划分为多个关系数据库测试用例,示例性的,在对关系数据库测试用例进行编写时,可以采用编程语言Pytest编写。在对关系数据库测试用例进行具体测试时,可以预先设定关系数据库测试用例的期望输入数据和期望输出数据,期望输入数据作为关系数据库测试用例的输入参数,然后获取到关系数据库测试用例的输出数据,将该关系数据库测试用例的输出数据与期望输出数据对比,检测该关系数据库测试用例是否执行成功。
关系数据库测试模块110包括关系数据库的设计规范测试模块、数据交互测试模块。其中,关系数据库的设计规范测试模块用于测试关系数据库的连接健壮性、数据库性能;关系数据库的数据交互测试模块用于测试关系数据库与大数据算法后台进行数据交互的性能。
具体的,关系数据库的设计规范测试模块包括关系数据库的连接健壮性测试用例、性能测试用例。
(1)关系数据库的连接健壮性测试用例
关系数据库的连接健壮性测试用例用于测试关系数据库的连接方式和连接稳定性,进一步的,关系数据库的连接健壮性测试用例还可以包括关系数据库的连接方式单元测试用例、关系数据库的连接稳定性单元测试用例。
(2)关系数据库的性能测试用例
关系数据库的性能测试用例用于测试关系数据库的数据库结构、表结构、表逻辑,进一步的,关系数据库的性能测试用例还可以包括数据库结构单元测试用例、表结构单元测试用例、表逻辑单元测试用例。
具体的,关系数据库的数据交互测试模块包括大数据算法调用参数的数据测试用例和数据集测试用例。
(1)大数据算法调用参数的数据测试用例
大数据算法调用参数的数据测试用例用于测试大数据算法运行时所需参数以及中间数据的正确性和完整性,解释为,大数据算法运行时所需的参数是从关系数据库中获取的,该测试用例用于测试从关系数据库中获取的参数的正确性和完整性;以及大数据算法运行时产生的中间参数存储在关系数据库中,该测试用例还用于测试该存储在关系数据库中的参数的正确性和完整性。进一步的,大数据算法调用参数的数据测试用例还可以包括大数据算法运行时所需参数正确性和完整性的单元测试用例、中间数据正确性和完整性的单元测试用例。
(2)数据集测试用例
数据集测试用例用于测试业务需求的数据集的正确性和完整性,解释为,测试业务所需的数据集是从关系数据库中获取的,该测试用例用于测试从关系数据库中获取的数据集的正确性和完整性。
本发明实施例提供一种大数据算法后台测试模块120。由于大数据算法后台是用户需求的关键实现,是保证软件功能实现的核心部分,算法的完整实现直接决定了用户需求的完整实现。从分析需求文档入手,了解需求的实现背景,分析需求的合理性,明确需求的范围,挖掘需求文档中隐藏的需求。根据需求分析列出需求的框架,测试范围包含的各个功能点,测试的场景等。将大数据算法后台测试模块120划分为多个大数据算法后台测试用例,示例性的,在对大数据算法后台测试用例进行编写时,可以采用编程语言Python和Pytest编写。
大数据算法后台测试模块120包括单元测试用例、算法参数的正确性测试用例、算法测试用例。其中,单元测试用例用于测试大数据算法后台的函数的功能和逻辑,算法参数的正确性测试用例用于测试大数据算法后台中每个算法的输入输出的正确性,算法测试用例用于测试用户需求的输入输出的完整性和一致性。
进一步的,单元测试可以使用白盒测试,以直接测试函数的功能和逻辑的方式,减小系统功能缺陷出现的错误定位难问题。具体实施场景中,可以将被测的大数据算法后台代码以本地包的形式导入到测试工程,减少代码的编写。算法测试用例可以通过编程语言Pytest的fixture功能将已编写的白盒测试组装并结合部分黑盒测试用例来完成。
本发明实施例提供一种分布式数据库测试模块130。将分布式数据库测试模块130划分为多个分布式数据库测试用例,示例性的,在对分布式数据库测试用例进行编写时,可以采用Oracle数据库的cx_Oracle模块和SQL(Structured Query Language,结构化查询语言)编写。具体的,在对分布式数据库测试用例进行具体测试时,可以预先设定分布式数据库测试用例的期望输入数据和期望输出数据,期望输入数据作为分布式数据库测试用例的输入参数,然后获取到分布式数据库测试用例的输出数据,将该分布式数据库测试用例的输出数据与期望输出数据对比,检测该分布式数据库测试用例是否执行成功。
分布式数据库测试模块130包括分布式数据库的连接健壮性测试用例、性能测试用例、算法结果正确性测试用例和前端的需求数据正确性测试用例。
(1)分布式数据库的连接健壮性测试用例
分布式数据库的连接健壮性测试用例用于测试分布式数据库的连接方式和连接稳定性,进一步的,分布式数据库的连接健壮性测试用例还可以包括分布式数据库的连接方式单元测试用例、分布式数据库的连接稳定性单元测试用例。
(2)分布式数据库的性能测试用例
分布式数据库的性能测试用例用于测试分布式数据库的数据库结构、表结构、表逻辑、数据库设计的安全性。进一步的,分布式数据库的性能测试用例还可以包括数据库结构单元测试用例、表结构单元测试用例、表逻辑单元测试用例、数据库设计的安全性单元测试用例。
(3)分布式数据库的算法结果正确性测试用例
分布式数据库的算法结果正确性测试用例用于测试存储在分布式数据库的大数据算法后台的结果的正确性,也就是说,测试大数据算法后台输出的结果是否存储到分布式数据库中以及在确定大数据算法后台输出的结果存储到分布式数据库中之后,确定分布式数据库中存储结果的正确性。
(4)前端的需求数据正确性测试用例
前端的需求数据正确性测试用例用于测试存储在分布式数据库的前端的需求数据的正确性,也就是说,测试前端所需求的数据是否存储在分布式数据库中以及在确定前端所需求的数据存储到分布式数据库中之后,确定分布式数据库中存储数据的正确性。
本发明实施例提供一种前端测试模块140。将前端测试模块140划分为多个前端测试用例,示例性的,在对前端测试用例进行编写时,可以采用单元测试框架Unittest编写。与大数据算法后台测试模块120、分布式数据库测试模块130联合进行多层次的黑白盒测试,有效形成高度集成的自动化测试系统。
前端测试模块140包括前端的功能测试用例、性能测试用例、接口测试用例。
(1)前端的功能测试用例
前端的功能测试用例用于测试前端的功能是否满足用户需求,即测试软件的实际功能是否符合用户的要求,包括基本的带有逻辑关系的键盘、鼠标操作功能,并对验证测试结果的正确性进行判断。
(2)前端的性能测试用例
前端的性能测试用例用于测试前端的时间性能和空间性能,进一步的,前端的性能测试用例包括前端的时间性能单元测试用例、空间性能单元测试用例。
前端的时间性能单元测试用例用于测试前端页面的响应时间、加载时间、运行时间,其中,前端页面可以为Web页面。
前端的空间性能单元测试用例用于测试运行所消耗的系统资源,例如硬件资源,CPU(Central Processing Unit,中央处理器)资源,内存资源等。
(3)前端的接口测试用例
前端的接口测试用例用于测试前端显示元素的完整性,具体的,可以提取前端页面的关键元素,根据获取到的关键元素确定分布式数据库中与该关键元素相对应的元素,并判断与该关键元素相对应的元素是否完全显示在前端页面上。
此外,本发明实施例中的自动化测试系统还可以包括测试用例创建模块,该测试用例创建模块用于根据业务的需求,从关系数据库测试模块110、大数据算法后台测试模块120、分布式数据库测试模块130以及前端测试模块140四个模块中确定出与业务的需求相对应的测试用例,得到该业务的需求的测试用例集。在对交通信号控制系统进行测试时,自动化测试系统包括Oracle数据库测试模块、大数据算法后台测试模块、Hbase数据库测试模块以及Web前端测试模块,测试用例创建模块根据交通信号控制系统的业务需求,从Oracle数据库测试模块、大数据算法后台测试模块、Hbase数据库测试模块以及Web前端测试模块中确定出测试用例,组成该业务需求的测试用例集,具体如图3所示。
基于同一发明构思,图4示例性的示出了本发明实施例提供的一种自动化测试系统的测试方法的流程,该测试方法可以通过自动化测试系统执行,具体流程可以如下。
步骤401,获取用户输入的配置脚本。
其中,配置脚本包括测试所需的测试用例的标识以及各测试用例之间的流程步骤。测试用例包括以下测试用例之一或任意组合:
关系数据库测试用例、大数据算法后台测试用例、分布式数据库测试用例以及前端测试用例。
步骤402,根据所述各测试用例之间的流程步骤以及所述测试所需的测试用例的标识依次调用所述测试所需的测试用例。
该测试方法中,还可以在依次调用测试所需的测试用例之后,生成测试报告。其中,生成的测试报告可以为两份,分别是通过率报告、代码覆盖率报告。
(1)通过率报告
通过率报告包括测试环境、测试摘要、测试结果。
测试环境包括测试时间、测试平台信息、Python版本、需要的第三方包的信息,测试环境信息可以帮助测试人员和开发人员了解测试环境的具体细节。
测试摘要包括测试用例的通过数量、未通过数量、未测试数量,即测试摘要包括测试用例的测试数量和未测试数量,测试用例的测试数量又包括测试用例的通过数量和未通过数量。
测试结果显示了具体的测试细节,测试结果可以包括每个测试用例的具体位置、执行测试的时间。若某个测试用例未通过测试,则测试结果中会显示该测试用例的执行时间,并定位到错误代码的位置,有效提高了错误定位的效率,进一步改善测试用例的运行时间指标。在具体软件测试中,测试结果对于交通信号控制系统的设计具有一定的指导意义。
(2)代码覆盖率报告
代码覆盖率报告包括已通过测试的代码的比例、未通过测试的代码的比例;已通过测试的代码可以标记为绿色,未通过测试的代码可以标记为红色。通过了解各测试单元的代码测试覆盖率,能够有效的判断测试系统的设计是否优良,是否符合执行规范。
此外,在生成测试报告之后,还可以通过邮件或其他方式通知软件测试人员,完成整个软件系统的自动化测试。
为了更好的解释本发明,下面在具体的交通信号控制系统中进行详述。
在交通信号控制系统中,针对交通信号控制系统进行分析,根据交通信号控制系统的业务需求编写关系数据库测试模块、大数据算法后台测试模块、分布式数据库测试模块以及前端测试模块的测试用例,将各模块的测试用例向上集成为测试模块,分别对关系数据库测试模块、大数据算法后台测试模块、分布式数据库测试模块以及前端测试模块进行测试,生成自动化测试报告,然后将自动化测试报告发送至软件测试人员。具体流程可以参照图5。
本发明实施例中,将测试系统分成关系数据库测试模块、大数据算法后台测试模块、分布式数据库测试模块以及前端测试模块,并将关系数据库测试模块、大数据算法后台测试模块、分布式数据库测试模块以及前端测试模块划分出相对应的测试用例,对测试用例进行编写,进一步的,各测试用例向上集成为测试模块,将各测试模块向上集成为自动化测试系统,也就是说,该自动化测试系统是各测试用例高度集成的,且各测试模块之间交叉调用,针对自动化测试系统的每一个测试业务,测试用例创建模块根据业务需求调用各测试模块中的业务所需的测试用例,形成测试用例集,本技术方案中,测试模块的交叉调用,不会出现针对每个测试业务都需要编写测试程序,相当于本方案中只编写各测试模块中测试用例,在自动化测试时只需要编写脚本进行调用测试用例即可,满足自动化测试系统不同测试业务需求的前提下,降低了软件开发成本及开发时间。
此外,将自动化测试系统的测试模块划分为测试用例,以及将测试用例划分为单元测试用例,测试模块之间交叉调用,考虑了测试模块之间的数据机制和白盒逻辑关系,避免测试模块的单一测试,解决了重复测试、不完全测试问题,并且在测试用例不通过时,准确定位到错误代码的位置,以使得软件开发人员可以快速解决测试问题,降低开发成本和维护成本。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种自动化测试系统,其特征在于,包括:关系数据库测试模块、大数据算法后台测试模块、分布式数据库测试模块以及前端测试模块;
所述关系数据库测试模块用于提供与关系数据库相关的测试用例,以测试所述关系数据库的连接健壮性、数据库性能和所述关系数据库与大数据算法后台进行数据交互的性能;
所述大数据算法后台测试模块用于提供与所述大数据算法后台相关的测试用例,以测试所述大数据算法后台满足用户需求的性能;
所述分布式数据库测试模块用于提供与分布式数据库相关的测试用例,以测试所述分布式数据库的连接健壮性、数据库性能、所述分布式数据库与所述大数据算法后台进行数据交互的性能、所述分布式数据库与前端进行数据交互的性能;
所述前端测试模块用于提供与所述前端相关的测试用例,以测试所述前端的性能、所述前端与所述分布式数据库进行数据交互的性能。
2.如权利要求1所述的系统,其特征在于,所述关系数据库测试模块包括所述关系数据库的设计规范测试模块、数据交互测试模块;
所述关系数据库的设计规范测试模块用于测试所述关系数据库的连接健壮性、数据库性能;
所述数据交互测试模块用于测试所述关系数据库与所述大数据算法后台进行数据交互的性能。
3.如权利要求2所述的系统,其特征在于,所述关系数据库的设计规范测试模块包括所述关系数据库的连接健壮性测试用例、数据库性能测试用例;所述关系数据库的连接健壮性测试用例用于测试所述关系数据库的连接方式和连接稳定性;所述数据库性能测试用例用于测试所述关系数据库的数据库结构、表结构、表逻辑;
所述数据交互测试模块包括大数据算法调用参数的数据测试用例和数据集测试用例;所述大数据算法调用参数的数据测试用例用于测试大数据算法运行时所需调用的参数以及中间数据的正确性和完整性;所述数据集测试用例用于测试业务需求的数据集的正确性和完整性。
4.如权利要求1所述的系统,其特征在于,所述大数据算法后台测试模块包括单元测试用例、算法参数的正确性测试用例、算法测试用例;
所述单元测试用例用于测试所述大数据算法后台的函数的功能和逻辑;
所述算法参数的正确性测试用例用于测试所述大数据算法后台中每个算法的输入输出的正确性;
所述算法测试用例用于测试用户需求的输入输出的完整性和一致性。
5.如权利要求1所述的系统,其特征在于,所述分布式数据库测试模块包括所述分布式数据库的连接健壮性测试用例、数据库性能测试用例、算法结果正确性测试用例和前端的需求数据正确性测试用例;
所述分布式数据库的连接健壮性测试用例用于测试所述分布式数据库的连接方式和连接稳定性;
所述数据库性能测试用例用于测试所述分布式数据库的数据库结构、表结构、表逻辑、数据库设计的安全性;
所述分布式数据库的算法结果正确性测试用例用于测试存储在所述分布式数据库的大数据算法后台的结果的正确性;
所述前端的需求数据正确性测试用例用于测试存储在所述分布式数据库的前端的需求数据的正确性。
6.如权利要求1所述的系统,其特征在于,所述前端测试模块包括所述前端的功能测试用例、性能测试用例、接口测试用例;
所述前端的功能测试用例用于测试所述前端的功能是否满足用户需求;
所述前端的性能测试用例用于测试所述前端的时间性能和空间性能;
所述前端的接口测试用例用于测试所述前端显示元素的完整性。
7.如权利要求1所述的系统,其特征在于,所述前端的性能测试用例包括所述前端的时间性能单元测试用例、空间性能单元测试用例;
所述前端的时间性能单元测试用例用于测试前端页面的响应时间、加载时间、运行时间;
所述前端的空间性能单元测试用例用于测试运行所消耗的系统资源。
8.如权利要求1至7任一项所述的系统,其特征在于,所述系统还包括测试用例创建模块;
所述测试用例创建模块用于根据业务的需求,从所述关系数据库测试模块、大数据算法后台测试模块、分布式数据库测试模块以及前端测试模块中确定出与所述业务的需求相对应的测试用例,得到所述业务的需求的测试用例集。
9.一种基于权利要求1至8任一项所述的自动化测试系统的测试方法,其特征在于,包括:
获取用户输入的配置脚本;所述配置脚本包括测试所需的测试用例的标识以及各测试用例之间的流程步骤;
根据所述各测试用例之间的流程步骤以及所述测试所需的测试用例的标识依次调用所述测试所需的测试用例;所述测试用例包括以下测试用例之一或任意组合:关系数据库测试用例、大数据算法后台测试用例、分布式数据库测试用例以及前端测试用例。
10.如权利要求9所述的方法,其特征在于,在所述依次调用所述测试所需的测试用例之后,还包括:
生成测试报告;所述测试报告包括通过率报告、代码覆盖率报告;所述通过率报告包括测试环境、测试摘要、测试结果;所述代码覆盖率报告包括已通过测试的代码的比例、未通过测试的代码的比例。
CN201811410018.3A 2018-11-23 2018-11-23 一种自动化测试系统及测试方法 Active CN111221719B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811410018.3A CN111221719B (zh) 2018-11-23 2018-11-23 一种自动化测试系统及测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811410018.3A CN111221719B (zh) 2018-11-23 2018-11-23 一种自动化测试系统及测试方法

Publications (2)

Publication Number Publication Date
CN111221719A CN111221719A (zh) 2020-06-02
CN111221719B true CN111221719B (zh) 2023-04-14

Family

ID=70827461

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811410018.3A Active CN111221719B (zh) 2018-11-23 2018-11-23 一种自动化测试系统及测试方法

Country Status (1)

Country Link
CN (1) CN111221719B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101135989A (zh) * 2006-08-31 2008-03-05 中国银联股份有限公司 一种Web应用系统的自动化测试的方法和装置
CN101145127A (zh) * 2006-09-12 2008-03-19 中兴通讯股份有限公司 一种基于设备的软件测试自动化系统及其方法
DE102008056434A1 (de) * 2008-11-07 2010-05-12 Martin-Luther-Universität Halle-Wittenberg Verfahren zur Verifikation von aus Softwarebausteinen zusammengesetzten Systemen

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101001183A (zh) * 2007-01-10 2007-07-18 网之易信息技术(北京)有限公司 一种网络应用软件的测试方法和系统
US10282281B2 (en) * 2011-10-07 2019-05-07 Syntel, Inc. Software testing platform and method
US9710644B2 (en) * 2012-02-01 2017-07-18 Servicenow, Inc. Techniques for sharing network security event information
CN103019936B (zh) * 2012-12-06 2015-07-22 武汉华中数控股份有限公司 一种数控软件测试系统
CN105095078A (zh) * 2015-07-22 2015-11-25 厦门美图移动科技有限公司 一种系统自动化测试设备、方法和计算设备
CN105718372B (zh) * 2016-01-22 2018-05-18 珠海市精实测控技术有限公司 一种电控板黑盒测试用例生成及自动测试方法
CN105786667A (zh) * 2016-02-29 2016-07-20 惠州Tcl移动通信有限公司 一种分布式自动化测试方法及系统
US9934130B2 (en) * 2016-05-20 2018-04-03 Accenture Global Solutions Limited Software integration testing with unstructured database
WO2018094533A1 (en) * 2016-11-26 2018-05-31 Fio Corporation System, method and/or computer-readable medium for identifying and/or localizing one or more rapid diagnostic tests
CN107608880A (zh) * 2017-08-24 2018-01-19 郑州云海信息技术有限公司 一种基于数据驱动用于虚拟化平台的自动化测试方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101135989A (zh) * 2006-08-31 2008-03-05 中国银联股份有限公司 一种Web应用系统的自动化测试的方法和装置
CN101145127A (zh) * 2006-09-12 2008-03-19 中兴通讯股份有限公司 一种基于设备的软件测试自动化系统及其方法
DE102008056434A1 (de) * 2008-11-07 2010-05-12 Martin-Luther-Universität Halle-Wittenberg Verfahren zur Verifikation von aus Softwarebausteinen zusammengesetzten Systemen

Also Published As

Publication number Publication date
CN111221719A (zh) 2020-06-02

Similar Documents

Publication Publication Date Title
US9524226B2 (en) System and method for display of software quality
CN110297760A (zh) 测试数据的构造方法、装置、设备及计算机可读存储介质
CN108268373A (zh) 自动化测试用例管理方法、装置、设备及存储介质
CN109977012B (zh) 系统的联调测试方法、装置、设备及计算机可读存储介质
CN111679977B (zh) 一种基于Jest的React项目单元测试方法、设备及存储介质
CN110059002A (zh) 测试数据的生成方法、测试设备、存储介质及装置
CN113238930A (zh) 软件系统的测试方法、装置、终端设备和存储介质
CN111752846A (zh) 一种接口测试方法及装置
CN108897678B (zh) 静态代码检测方法和静态代码检测系统、存储设备
CN113342692B (zh) 测试用例自动生成方法、装置、电子设备及存储介质
CN114610608A (zh) 测试用例处理方法、装置、电子设备以及存储介质
KR102418796B1 (ko) 고장형태 영향분석 기반 고장 분석의 고장 모드 추천 시스템
KR102399597B1 (ko) 인공지능을 활용한 고장형태 영향분석 자동화 시스템
KR102268053B1 (ko) 클라우드 서버 및 로보틱 프로세스 자동화 기술 기반의 차량용 지능형 안전분석 시스템
CN111221719B (zh) 一种自动化测试系统及测试方法
CN110554956A (zh) 一种bdms自动化测试方法
CN115599683A (zh) 自动化测试方法、装置、设备及存储介质
CN112100086B (zh) 软件自动化测试方法、装置、设备和计算机可读存储介质
CN115185797A (zh) 视觉算法模型的测试方法、系统、电子设备及存储介质
CN112380118A (zh) 单元测试方法、装置、介质及电子设备
CN113392024A (zh) 存储过程的测试方法、装置、设备及介质
KR100775102B1 (ko) 임베디드 디바이스상에서 플랫폼 기반 어플리케이션의 품질테스트 결과 예측 시스템 및 그 방법
CN109374038A (zh) 一种基于应用样机的核安全级仪控产品的变更测试方法
CN111143221B (zh) 一种测试方法及装置
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