CN107133177A - 一种自动化测试框架 - Google Patents
一种自动化测试框架 Download PDFInfo
- Publication number
- CN107133177A CN107133177A CN201710334139.3A CN201710334139A CN107133177A CN 107133177 A CN107133177 A CN 107133177A CN 201710334139 A CN201710334139 A CN 201710334139A CN 107133177 A CN107133177 A CN 107133177A
- Authority
- CN
- China
- Prior art keywords
- test
- module
- script
- key table
- control system
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
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)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明公开了一种自动化测试框架,包括测试用例管理***、控制***和第三方自动化测试工具;并将测试用例、关键字表、测试脚本单独管理,分层映射,形成关键字驱动的自动化测试框架。本发明的一种自动化测试框架和现有技术相比,层次清晰、便于后期维护,而且关键字驱动测试,脚本编写简单,使得编程基础不太好的测试人员也可以进行自动化测试脚本的设计和编写,大大提高了工作效率。
Description
技术领域
本发明涉及软件自动化测试技术领域,具体地说是一种自动化测试框架。
背景技术
如何提升产品的质量和竞争力,高效的软件测试无疑发挥着举足轻重的作用。自动化测试就是希望能够通过自动化测试工具或其他手段,按照测试工程师的预定计划进行自动的测试,目的是减轻手工测试的劳动量,从而达到提高软件质量的目的。软件自动化测试框架是软件自动化测试的能否成功的关键。
自动化测试框架,即是应用于自动化测试所用的框架。按照框架的定义,自动化测试框架要么是提供可重用的基础自动化测试模块,如:selenium、watir等,它们主要提供最基础的自动化测试功能,比如打开一个程序,模拟鼠标和键盘来点击或操作被测试对象,最后验证被测对象的属性以判断程序的正确性;要么是可以提供自动化测试执行和管理功能的架构模块,如:Phoenix Framework,robot,STAF等,它们本身不提供基础的自动化测试支持,只是用于组织、管理和执行那些独立的自动化测试用例,测试完成后统计测试结果,通常这类框架一般都会集成一个基础自动化测试模块,如:robot框架就可以集成selenium框架,Phoenix Framework集成的也是selenium框架。
而目前,一般的公司软件自动化测试都是盲目的,将***测试的用例直接转化为自动化测试脚本,一个脚本对应一个用例,脚本之间独立、不可共享,造成脚本编写复杂、可维护性差,往往造成自动化测试半途而废的后果,造成人力、物力的浪费。
发明内容
本发明的技术任务是提供一种基于关键字驱动的自动化测试框架,提高自动化测试的成功率。
本发明的技术任务是按以下方式实现的,一种自动化测试框架,包括测试用例管理***、控制***和第三方自动化测试工具;
其中,所述的测试用例管理***支持测试者依据测试需求设计测试用例,并构建关键字表,存放于数据库,便于控制***与第三方自动化测试工具的访问;
所述的控制***负责对数据库的操作、测试数据处理及传输数据控制;
所述的第三方自动化测试工具,负责执行自动化测试任务,解析关键字表,并根据关键字驱动测试脚本进行自动化测试,返回处理结果给控制***,输出测试报告。
进一步的,优选的方法为,所述的控制***,用于从数据库中读取数据,驱动第三方工具读取关键字表,驱动测试脚本执行。
进一步的,优选的方法为,所述的测试用例管理***包括测试用例设计模块,关键字管理模块、生成测试请求模块以及生成关键字表模块;
所述的测试用例设计模块,用于依据测试需求,进行测试用例的设计;
所述的关键字管理模块,用于关键字管理;
所述的生成测试请求模块,用于生成测试请求;
所述的生成关键字表模块,用于生成以关键字表。
进一步的,优选的方法为,所述的控制***包括控制模块、读取关键字表模块及导航脚本模块;
其中,所述的控制模块,为后台***,负责整个框架的数据传输控制;
所述的读取关键字表模块,用于读取关键字表;
所述的导航脚本模块,为了便于后期关键字脚本的维护,负责建立测试关键字表的树形结构。
进一步的,优选的方法为,所述的第三方自动化测试工具包括驱动脚本模块、功能支持脚本模块和数据处理脚本模块。
一种自动化测试框架的设计方法,具体方法如下:
S1、测试用例管理***支持测试者依据测试需求设计测试用例,并构建关键字表,存放于数据库,便于控制***与第三方自动化测试工具的访问;
S2、控制***负责对数据库的操作、测试数据处理及传输数据控制;
S3、第三方自动化测试工具,负责执行自动化测试任务,解析关键字表,并根据关键字驱动测试脚本进行自动化测试,返回处理结果给控制***,输出测试报告。
本发明的一种自动化测试框架和现有技术相比,有益效果为:
1、测试用例、关键字表、功能测试脚本分层次映射管理,清晰、便于维护;
2、关键字驱动测试,使得编程基础不太好的测试人员也可以进行自动化测试脚本的设计和编写;
3、存在导航功能,便于关键字表在项目间的共享;
4、控制模块负责整个框架的运作及数据处理,并对测试者透明,便于框架的使用。
附图说明
附图1为一种自动化测试框架的流程图。
具体实施方式
实施例1:
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图1对本发明做进一步地详细描述:
框架包含测试用例管理***、控制***及第三方自动化测试工具。
测试用例管理***支持测试者依据测试需求设计测试用例,并构建关键字表,存放于数据库;测试用例管理***包括测试用例设计模块、关键字管理模块、生成测试请求模块、生成关键字表模块。
测试用例设计就是将一个测试用例中的几个不同的测试点拆分并且将其单个点的测试步骤进行了封装,形成了一个模块。
例如:一个测试用例要对一个登录程序进行测试,其中包括:用户名输入、密码输入、以及确定登录;
那么就可以将用户名输入、密码输入、确定登录、取消登录四个操作分别封装在四个不同的模块中。测试时,只需调用其模块即可。这样的话,当一个模块有变化,你只需单独维护那个模块即可,也可以根据模块的不同组合成不同的测试用例。
关键字管理就是一种面向对象的思想,例如:QTP、RFT中,对象可以为一个数据或者一个关键字,对对象的抓取,可以将其测试对象封装为一个关键字,即可以将gui元素封装成了一个个关键字,这样可以对其关键对象进行各种操作了,不同的对象可以驱动不同的测试流向与结果。
简单的应用的方式可以用一个EXCEL表,里面包括“对象类型”“对象名称”“对象操作名称”“判断方式”“预期结果”。这样的话,可以通过导入不同的对象类型和名称、不同的对象操作来构建成了一个测试用例表了。
测试工程师依据测试需求,进行测试用例的设计,生成以关键字为驱动的测试用例表,存放于数据库,便于控制***与第三方自动化测试工具访问。
控制***负责对数据库的操作、测试数据处理及传输数据控制。控制***包括但不限于从数据库中读取数据,驱动第三方工具读取关键字表,驱动测试脚本执行等;控制***包括控制模块、读取关键字表模块及导航脚本模块。其中控制模块对于测试者是透明的,为后台***,负责整个框架的数据传输控制,例如驱动第三方自动化测试工具脚本读取关键字表、访问数据库等。导航脚本负责建立测试关键字表的树形结构,便于后期关键字脚本的维护。
第三方自动化测试工具,包括驱动脚本模块、功能支持脚本模块和数据处理脚本模块。第三方自动化测试工具负责读取关键字表,创建自动化测试脚本,并负责执行实际的功能测试,输出测试报告。
本发明还保护一种自动化测试框架的设计方法,具体方法如下:
S1、测试用例管理***支持测试者依据测试需求设计测试用例,并构建关键字表,存放于数据库,便于控制***与第三方自动化测试工具的访问;
S2、控制***负责对数据库的操作、测试数据处理及传输数据控制;
S3、第三方自动化测试工具,负责执行自动化测试任务,解析关键字表,并根据关键字驱动测试脚本进行自动化测试,返回处理结果给控制***,输出测试报告。
本发明通过测试用例管理***、控制***及第三方自动化测试工具,将测试用例、关键字表、测试脚本单独管理,分层映射。形成关键字驱动的自动化测试框架。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
Claims (6)
1.一种自动化测试框架,其特征在于,包括测试用例管理***、控制***和第三方自动化测试工具;
其中,所述的测试用例管理***支持测试者依据测试需求设计测试用例,并构建关键字表,存放于数据库,便于控制***与第三方自动化测试工具的访问;
所述的控制***负责对数据库的操作、测试数据处理及传输数据控制;
所述的第三方自动化测试工具,负责执行自动化测试任务,解析关键字表,并根据关键字驱动测试脚本进行自动化测试,返回处理结果给控制***,输出测试报告。
2.根据权利要求1所述的一种自动化测试框架,其特征在于,所述的控制***,用于从数据库中读取数据,驱动第三方工具读取关键字表,驱动测试脚本执行。
3.根据权利要求1所述的一种自动化测试框架,其特征在于,所述的测试用例管理***包括测试用例设计模块,关键字管理模块、生成测试请求模块以及生成关键字表模块;
所述的测试用例设计模块,用于依据测试需求,进行测试用例的设计;
所述的关键字管理模块,用于关键字管理;
所述的生成测试请求模块,用于生成测试请求;
所述的生成关键字表模块,用于生成以关键字表。
4.根据权利要求1所述的一种自动化测试框架,其特征在于,所述的控制***包括控制模块、读取关键字表模块及导航脚本模块;
其中,所述的控制模块,为后台***,负责整个框架的数据传输控制;
所述的读取关键字表模块,用于读取关键字表;
所述的导航脚本模块,为了便于后期关键字脚本的维护,负责建立测试关键字表的树形结构。
5.根据权利要求1所述的一种自动化测试框架,其特征在于,所述的第三方自动化测试工具包括驱动脚本模块、功能支持脚本模块和数据处理脚本模块。
6.一种自动化测试框架的设计方法,其特征在于,具体方法如下:
S1、测试用例管理***支持测试者依据测试需求设计测试用例,并构建关键字表,存放于数据库,便于控制***与第三方自动化测试工具的访问;
S2、控制***负责对数据库的操作、测试数据处理及传输数据控制;
S3、第三方自动化测试工具,负责执行自动化测试任务,解析关键字表,并根据关键字驱动测试脚本进行自动化测试,返回处理结果给控制***,输出测试报告。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710334139.3A CN107133177A (zh) | 2017-05-12 | 2017-05-12 | 一种自动化测试框架 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710334139.3A CN107133177A (zh) | 2017-05-12 | 2017-05-12 | 一种自动化测试框架 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107133177A true CN107133177A (zh) | 2017-09-05 |
Family
ID=59731535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710334139.3A Pending CN107133177A (zh) | 2017-05-12 | 2017-05-12 | 一种自动化测试框架 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107133177A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107957948A (zh) * | 2017-12-07 | 2018-04-24 | 郑州云海信息技术有限公司 | 一种用户界面自动化测试装置及方法 |
CN108304329A (zh) * | 2018-02-13 | 2018-07-20 | 论客科技(广州)有限公司 | 一种测试用例的设计方法、装置、终端及可读存储介质 |
CN108427637A (zh) * | 2018-01-18 | 2018-08-21 | 平安科技(深圳)有限公司 | 测试案例推荐方法、电子装置及可读存储介质 |
CN110399299A (zh) * | 2019-07-17 | 2019-11-01 | 深圳证券交易所 | 自动化测试框架和测试用例的执行方法 |
CN110727567A (zh) * | 2019-09-09 | 2020-01-24 | 平安证券股份有限公司 | 软件质量检测的方法、装置、计算机设备和存储介质 |
CN110909739A (zh) * | 2019-11-19 | 2020-03-24 | 广东润联信息技术有限公司 | 图片识别并操作的方法、装置、计算机设备及存储介质 |
CN111190812A (zh) * | 2019-12-12 | 2020-05-22 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于嵌入式设备的自动化测试框架 |
CN108228464B (zh) * | 2018-01-12 | 2020-12-29 | 浪潮通用软件有限公司 | 一种基于数据驱动的移动应用ui测试框架及其实现方法 |
CN112667494A (zh) * | 2020-12-08 | 2021-04-16 | 上海纳恩汽车技术股份有限公司 | 一种基于配置表的汽车uds自动化测试方法,***以及存储介质 |
CN113434387A (zh) * | 2021-06-01 | 2021-09-24 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种基于脚本驱动的自动化测试工具及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101017457A (zh) * | 2007-02-09 | 2007-08-15 | 山东浪潮齐鲁软件产业股份有限公司 | 一种计算机软件的自动化测试方法 |
CN101187894A (zh) * | 2006-11-15 | 2008-05-28 | 中兴通讯股份有限公司 | 一种基于关键字驱动的自动测试方法及其测试*** |
US20150113510A1 (en) * | 2008-03-25 | 2015-04-23 | Barclays Capital Inc. | Method and System for Automated Testing of Computer Applications |
CN104598376A (zh) * | 2014-12-30 | 2015-05-06 | 中国科学院计算机网络信息中心 | 一种数据驱动的分层自动化测试***和方法 |
CN104778124A (zh) * | 2015-04-13 | 2015-07-15 | 上海新炬网络信息技术有限公司 | 一种软件应用自动化测试方法 |
CN106547689A (zh) * | 2016-10-20 | 2017-03-29 | 金航数码科技有限责任公司 | 一种基于web的自动化测试用例开发***及方法 |
-
2017
- 2017-05-12 CN CN201710334139.3A patent/CN107133177A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187894A (zh) * | 2006-11-15 | 2008-05-28 | 中兴通讯股份有限公司 | 一种基于关键字驱动的自动测试方法及其测试*** |
CN101017457A (zh) * | 2007-02-09 | 2007-08-15 | 山东浪潮齐鲁软件产业股份有限公司 | 一种计算机软件的自动化测试方法 |
US20150113510A1 (en) * | 2008-03-25 | 2015-04-23 | Barclays Capital Inc. | Method and System for Automated Testing of Computer Applications |
CN104598376A (zh) * | 2014-12-30 | 2015-05-06 | 中国科学院计算机网络信息中心 | 一种数据驱动的分层自动化测试***和方法 |
CN104778124A (zh) * | 2015-04-13 | 2015-07-15 | 上海新炬网络信息技术有限公司 | 一种软件应用自动化测试方法 |
CN106547689A (zh) * | 2016-10-20 | 2017-03-29 | 金航数码科技有限责任公司 | 一种基于web的自动化测试用例开发***及方法 |
Non-Patent Citations (1)
Title |
---|
陈丽丽 等: "基于关键字驱动的自动化测试框架研究", 《长春理工大学学报》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107957948A (zh) * | 2017-12-07 | 2018-04-24 | 郑州云海信息技术有限公司 | 一种用户界面自动化测试装置及方法 |
CN108228464B (zh) * | 2018-01-12 | 2020-12-29 | 浪潮通用软件有限公司 | 一种基于数据驱动的移动应用ui测试框架及其实现方法 |
CN108427637A (zh) * | 2018-01-18 | 2018-08-21 | 平安科技(深圳)有限公司 | 测试案例推荐方法、电子装置及可读存储介质 |
CN108427637B (zh) * | 2018-01-18 | 2021-05-25 | 平安科技(深圳)有限公司 | 测试案例推荐方法、电子装置及可读存储介质 |
CN108304329A (zh) * | 2018-02-13 | 2018-07-20 | 论客科技(广州)有限公司 | 一种测试用例的设计方法、装置、终端及可读存储介质 |
CN110399299A (zh) * | 2019-07-17 | 2019-11-01 | 深圳证券交易所 | 自动化测试框架和测试用例的执行方法 |
CN110399299B (zh) * | 2019-07-17 | 2023-09-26 | 深圳证券交易所 | 自动化测试框架和测试用例的执行方法 |
CN110727567A (zh) * | 2019-09-09 | 2020-01-24 | 平安证券股份有限公司 | 软件质量检测的方法、装置、计算机设备和存储介质 |
CN110727567B (zh) * | 2019-09-09 | 2024-02-02 | 平安证券股份有限公司 | 软件质量检测的方法、装置、计算机设备和存储介质 |
CN110909739A (zh) * | 2019-11-19 | 2020-03-24 | 广东润联信息技术有限公司 | 图片识别并操作的方法、装置、计算机设备及存储介质 |
CN111190812A (zh) * | 2019-12-12 | 2020-05-22 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于嵌入式设备的自动化测试框架 |
CN111190812B (zh) * | 2019-12-12 | 2023-12-08 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于嵌入式设备的自动化测试框架的*** |
CN112667494A (zh) * | 2020-12-08 | 2021-04-16 | 上海纳恩汽车技术股份有限公司 | 一种基于配置表的汽车uds自动化测试方法,***以及存储介质 |
CN113434387A (zh) * | 2021-06-01 | 2021-09-24 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种基于脚本驱动的自动化测试工具及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107133177A (zh) | 一种自动化测试框架 | |
Bendig et al. | Digital orientation and environmental performance in times of technological change | |
CN107807878B (zh) | 基于关键字的通用测试资源驱动与执行管理方法 | |
CN107957948A (zh) | 一种用户界面自动化测试装置及方法 | |
CN107621944A (zh) | 基于自动化运维的持续集成流水线***及其方法 | |
CN107844424B (zh) | 基于模型的测试***及方法 | |
US9218271B2 (en) | Test planning based on dynamic coverage analysis | |
CN105404949B (zh) | 一种自定义流程的***及其方法 | |
CN107958049A (zh) | 一种数据质量稽查管理*** | |
CN107179753A (zh) | 来自控制器程序文件的自动化控制***点配置 | |
CN111813661B (zh) | 一种全局业务数据驱动自动测试方法、装置、设备和介质 | |
US20130346948A1 (en) | Creating a test case | |
CN110413524A (zh) | 用于生成测试脚本的方法和装置、自动化测试方法 | |
CN107766448A (zh) | 基于规则的卫星遥测数据分析*** | |
CN107992519A (zh) | 一种面向智能电网大数据的多源异构数据校验***及方法 | |
CN108595604A (zh) | 一种智能报表的数据可视化***及方法 | |
CN109858081A (zh) | 基于Teamcenter的整车产品数据设计协同方法 | |
KR101419708B1 (ko) | 업무표준화 작업 방법 및 시스템 | |
CN107369003A (zh) | 一种实验室智能管理方法及*** | |
CN113157336A (zh) | 一种基于c#语言的抓具配置***、方法、装置和存储介质 | |
CN103092156A (zh) | 设备可替换型自动化测试***及方法 | |
CN104965497B (zh) | 在线式生产数据快速生成与管理方法及*** | |
CN109271691B (zh) | 一种关键特性的自动提取快速标注方法 | |
CN107729305B (zh) | 基于数据库及前端显示技术的会议材料自动生成方法 | |
CN103809973B (zh) | 图控界面设计***及其图控界面设计操作方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170905 |
|
RJ01 | Rejection of invention patent application after publication |