CN101571798A - 自动化测试脚本产生及使用方法 - Google Patents

自动化测试脚本产生及使用方法 Download PDF

Info

Publication number
CN101571798A
CN101571798A CN 200810036824 CN200810036824A CN101571798A CN 101571798 A CN101571798 A CN 101571798A CN 200810036824 CN200810036824 CN 200810036824 CN 200810036824 A CN200810036824 A CN 200810036824A CN 101571798 A CN101571798 A CN 101571798A
Authority
CN
China
Prior art keywords
script
test
automatic test
function
produces
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.)
Granted
Application number
CN 200810036824
Other languages
English (en)
Other versions
CN101571798B (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.)
CHENGDU MIO TECHNOLOGY Ltd
Mitac International Corp
Original Assignee
CHENGDU MIO TECHNOLOGY Ltd
Mitac International Corp
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 CHENGDU MIO TECHNOLOGY Ltd, Mitac International Corp filed Critical CHENGDU MIO TECHNOLOGY Ltd
Priority to CN 200810036824 priority Critical patent/CN101571798B/zh
Publication of CN101571798A publication Critical patent/CN101571798A/zh
Application granted granted Critical
Publication of CN101571798B publication Critical patent/CN101571798B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明揭示一种自动化测试脚本产生及使用方法,该自动化测试脚本产生方法在三大模块中实现的,该产生方法包括:产生调用函数关系;设计出相应的测试用例;获取上述调用函数关系和测试用例;从底层函数开始遍历直到将顶层函数包含出来;提取当前所遍历到的函数组写入一个空的脚本并在该脚本里写入一个入口函数;在入口函数开口部分插入一段代码,用于读取用例;在入口函数结尾部分插入一段代码,用于输出测试结果,最后产生脚本并运行该脚本。借助该自动化测试脚本产生及使用方法不会因为操作人员的技术水准高低而影响测试的效果,提高了用例执行的可靠性和回归测试的一致性,同时也配合提高了测试覆盖率。

Description

自动化测试脚本产生及使用方法
【技术领域】
本发明涉及一种脚本产生及使用方法,特别是一种自动化测试脚本产生及使用方法。
【背景技术】
测试用例的设计决定了测试的充分性和可靠性,而从测试用例转化为测试脚本,则保证了测试用例的可实施性,即保证用例被机器识别并能够在程序中运行。
目前业界的自动化测试脚本产生和使用方法有很多种:
1、通过手工脚本录制产生;
2、编写脚本模块并进行结构化组合;
3、通过脚本共享,使不同的脚本之间可以互相调用;
4、通过将测试输入存储在独立的数据文件中,在测试脚本中仅存储控制信息来调用这些测试数据;
以上的脚本产生和使用方法都是依赖被测程序的,因此缺乏一定的灵活性,如果被测程序有了较大的改变,测试脚本也就不适用了。如果将脚本功能细分并以模块化的方式来组合,又需要花费大量时间在这些脚本集的组织与管理上。并且这种方法仅适用于持续集成的大型项目。
通常来说,一个适用范围越广的测试脚本,维护与使用技术难度也就越大,需要专业编程支持。但自动化测试的宗旨之一是不降低质量的情况下由尽量低技能的人员完成,并使更高技能的人员有时间和资源,对产品进入更深层次的测试。
有鉴于此,实有必要提出一种自动化测试脚本产生及使用方法,该自动化测试脚本产生及使用方法由程序自动运行实现的,脚本的产生不需要通过手工录制或者编程实现,而且其使用和运行也不需要手工维护和管理,使用简单,不会因为操作人员的技术水准高低而影响测试的效果,提高了用例执行的可靠性和回归测试的一致性,同时也配合提高了测试覆盖率。缩短测试周期,加快测试进度,从而加快产品发布进度。
【发明内容】
本发明目的在于提供一种自动化测试脚本产生及使用方法,借助该自动化测试脚本产生及使用方法不会因为操作人员的技术水准高低而影响测试的效果,提高了用例执行的可靠性和回归测试的一致性,同时也配合提高了测试覆盖率。缩短测试周期,加快测试进度,从而加快产品发布进度。
为达成上述目的,本发明提供一种自动化测试脚本产生方法,该自动化测试脚本产生方法在三大模块中实现的,该自动化测试脚本产生的方法步骤如下:
(1)代码解析模块产生调用函数关系并输入给脚本产生模块;
(2)用例设计模块设计出相应的测试用例并作为输入给脚本产生模块;
(3)脚本产生模块获取上述调用函数关系和测试用例;
(4)从底层函数开始遍历直到将顶层函数包含出来;
(5)提取当前所遍历到的函数组写入一个空的脚本并在该脚本里写入一个入口函数;
(6)在入口函数开口部分插入一段代码,用于读取用例;
(7)在入口函数结尾部分插入一段代码,用于输出测试结果,最后产生脚本。
本发明更提出一种上述自动化测试脚本产生后的使用方法,该使用方法在脚本产生模块中实现,该使用方法包括:
(1)运行上述脚本产生测试结果数据;
(2)根据脚本所包含的函数组命名上述结果数据;
(3)分析每一层函数的运行结果输出是否出现异常,若出现异常为“是”则进入步骤(4);若没出现异常为“否”则结束测试;
(4)确认为哪一层函数出现问题后,对该函数进行相应的处理,然后返回步骤(3)。
于本实施例,该代码解析模块,其根据C++语法构造和面向对象原理,用正则表达式来产生调用函数关系;该用例设计模块,其用于获取用例设计方案进行组合计算,得到一系列数据化测试用例;该脚本产生模块,其用于产生一系列可运行的测试脚本。
相较于现有技术,本发明的自动化测试脚本产生及使用方法由程序自动运行实现的,脚本的产生不需要通过手工录制或者编程实现,而且其使用和运行也不需要手工维护和管理,使用简单,不会因为操作人员的技术水准高低而影响测试的效果,提高了用例执行的可靠性和回归测试的一致性,同时也配合提高了测试覆盖率。缩短测试周期,加快测试进度,从而加快产品发布进度。
为对本发明的目的、构造特征及其功能有进一步的了解,兹配合附图详细说明如下:
【附图说明】
图1绘示本发明自动化测试脚本产生及使用方法的模块的示意图。
图2绘示本发明自动化测试脚本产生的方法步骤流程图。
图3绘示本发明自动化测试脚本使用方法的步骤流程图。
【具体实施方式】
参照图1、图2所示,该自动化测试脚本产生的方法步骤如下:
步骤101:代码解析模块1扫描源代码,产生调用函数关系;
步骤102:用例设计模块2根据参数及取值范围设计出相应的测试用例并作为输入给脚本产生模块3;
步骤103:脚本产生模块3获取上述调用函数关系和测试用例;
步骤104:从底层函数开始遍历,逐步向上包含直到将顶层函数包含出来;
步骤105:在以上的每次包含过程中提取出当前所遍历到的函数组,写入一个空的脚本,并在产生的该脚本中写入一个入口函数,且当前遍历到函数组为入口函数的子函数被其调用;
步骤106:在入口函数开口部分里插入一段代码,用于读取用例;
步骤107:在入口函数结尾部分插入一段代码,用于输出测试结果,最后产生脚本。
参照图1、图3所示,本发明更提出一种上述自动化测试脚本产生后的使用方法,该使用方法在脚本产生模块中实现,该使用方法包括:
步骤201:脚本产生模块3将上述脚本逐一运行即可产生一系列供分析的测试结果数据;
步骤202:根据脚本所包含的函数组命名上述结果数据;
步骤203:分析每一层函数的运行结果输出是否出现异常,若出现异常为“是”则进入步骤(4);若没出现异常为“否”则结束测试;
步骤204:确认为哪一层函数出现问题后,对该函数进行相应的处理,然后返回步骤203。
于本实施例,一代码解析模块1,其根据C++语法构造和面向对象原理,用正则表达式来产生调用函数关系;一用例设计模块2,其用于获取用例设计方案进行组合计算,得到一系列数据化测试用例;一脚本产生模块3,其用于产生一系列可运行的测试脚本。

Claims (5)

1、一种自动化测试脚本产生的方法,该自动化测试脚本产生的方法在三大模块中实现的,其特征在于,该自动化测试脚本产生的方法步骤包括:
(1)代码解析模块产生调用函数关系并输入给脚本产生模块;
(2)用例设计模块设计出相应的测试用例并作为输入给脚本产生模块;
(3)脚本产生模块获取上述调用函数关系和测试用例;
(4)从底层函数开始遍历直到将顶层函数包含出来;
(5)提取当前所遍历到的函数组写入一个空的脚本并在该脚本里写入一个入口函数;
(6)在入口函数开口部分插入一段代码,用于读取用例;
(7)在入口函数结尾部分插入一段代码,用于输出测试结果,最后产生脚本。
2、如权利要求1所述的自动化测试脚本产生的方法,其特征在于,该代码解析模块扫描源代码,其根据C++语法构造和面向对象原理,用正则表达式来产生调用函数关系。
3、如权利要求1所述的自动化测试脚本产生的方法,其特征在于,该用例设计模块,其用于获取用例设计方案进行组合计算,得到一系列数据化测试用例。
4、如权利要求1所述的自动化测试脚本产生的方法,其特征在于,该脚本产生模块,其用于产生一系列可运行的测试脚本。
5、一种自动化测试脚本产生后的使用方法,其基于上述自动化测试脚本产生的方法,该使用方法在脚本产生模块中实现,其特征在于,该使用方法包括:
(1)运行上述自动化测试脚本产生测试结果数据;
(2)根据脚本所包含的函数组命名上述结果数据;
(3)分析每一层函数的运行结果输出是否出现异常,若出现异常为“是”则进入步骤(4);若没出现异常为“否”则结束测试;
(4)确认为哪一层函数出现问题后,对该函数进行相应的处理,然后返回步骤(3)。
CN 200810036824 2008-04-29 2008-04-29 自动化测试脚本产生及使用方法 Expired - Fee Related CN101571798B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810036824 CN101571798B (zh) 2008-04-29 2008-04-29 自动化测试脚本产生及使用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810036824 CN101571798B (zh) 2008-04-29 2008-04-29 自动化测试脚本产生及使用方法

Publications (2)

Publication Number Publication Date
CN101571798A true CN101571798A (zh) 2009-11-04
CN101571798B CN101571798B (zh) 2013-01-09

Family

ID=41231161

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810036824 Expired - Fee Related CN101571798B (zh) 2008-04-29 2008-04-29 自动化测试脚本产生及使用方法

Country Status (1)

Country Link
CN (1) CN101571798B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706799A (zh) * 2009-11-20 2010-05-12 中兴通讯股份有限公司 一种实现自动化测试的方法和装置
CN102591776A (zh) * 2011-12-30 2012-07-18 苏州汉清投资管理有限公司 一种自动生成代码的系统
CN104778032A (zh) * 2014-01-09 2015-07-15 阿尔卡特朗讯 一种用于进行持续集成的方法和设备
CN106647405A (zh) * 2016-12-27 2017-05-10 贵州西部丽城生态环境发展有限责任公司 一种易扩展的除臭飘香机控制方法
CN108132790A (zh) * 2017-12-22 2018-06-08 广州酷狗计算机科技有限公司 检测无用代码的方法、装置及计算机存储介质
CN108920286A (zh) * 2018-06-28 2018-11-30 河南思维轨道交通技术研究院有限公司 一种在Thrift RPC环境下高效率使用Python脚本的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100351811C (zh) * 2004-11-15 2007-11-28 华为技术有限公司 一种软件产品健壮性的测试方法及装置
CN100401265C (zh) * 2005-06-06 2008-07-09 华为技术有限公司 关键字驱动的自动化测试系统及方法
CN1959710A (zh) * 2005-11-04 2007-05-09 鸿富锦精密工业(深圳)有限公司 自动测试系统及方法
CN101025686A (zh) * 2007-03-22 2007-08-29 中兴通讯股份有限公司 一种自动化测试系统及测试脚本的生成和运行方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706799A (zh) * 2009-11-20 2010-05-12 中兴通讯股份有限公司 一种实现自动化测试的方法和装置
CN101706799B (zh) * 2009-11-20 2013-04-10 中兴通讯股份有限公司 一种实现自动化测试的方法和装置
CN102591776A (zh) * 2011-12-30 2012-07-18 苏州汉清投资管理有限公司 一种自动生成代码的系统
CN104778032A (zh) * 2014-01-09 2015-07-15 阿尔卡特朗讯 一种用于进行持续集成的方法和设备
CN106647405A (zh) * 2016-12-27 2017-05-10 贵州西部丽城生态环境发展有限责任公司 一种易扩展的除臭飘香机控制方法
CN108132790A (zh) * 2017-12-22 2018-06-08 广州酷狗计算机科技有限公司 检测无用代码的方法、装置及计算机存储介质
CN108132790B (zh) * 2017-12-22 2020-11-03 广州酷狗计算机科技有限公司 检测无用代码的方法、装置及计算机存储介质
CN108920286A (zh) * 2018-06-28 2018-11-30 河南思维轨道交通技术研究院有限公司 一种在Thrift RPC环境下高效率使用Python脚本的方法

Also Published As

Publication number Publication date
CN101571798B (zh) 2013-01-09

Similar Documents

Publication Publication Date Title
CN101571798B (zh) 自动化测试脚本产生及使用方法
CN106294673B (zh) 一种用户自定义规则实时解析日志数据的方法与系统
CN102819492B (zh) 一种基于Android的关键字驱动自动化测试框架
CN105608258B (zh) 一种基于模型的系统设计及信息流可视化仿真系统及方法
US9594543B2 (en) Activity diagram model-based system behavior simulation method
CN105138335B (zh) 一种基于控制流图的函数调用路径提取方法及装置
CN104991863A (zh) 一种基于功能块图测试模型自动生成测试用例的方法
CN100474318C (zh) 一种自动生成设计bom的系统
CN109783496B (zh) 基于Excel&VBA的数据收集和处理自动化工具及使用方法
CN100561445C (zh) 一种根据程序内容自动生成测试数据集的方法和装置
CN103308846B (zh) 一种基于模型识别的集成芯片功能性能检测方法和装置
CN105893254A (zh) 测试用例导入方法及装置
CN113238932B (zh) 测试用例自动生成方法
CN108804304B (zh) 测试用例生成方法及装置、存储介质、电子设备
CN104050087A (zh) 一种基于uml模型的软件架构正确性验证方法
CN102541735A (zh) 软件自动化测试方法
CN102087629A (zh) 一种基于Agent嵌入式软件的不变量测试方法与工具
CN107622017A (zh) 一种通用自动化软件测试的解析方法
CN101482897A (zh) 一种智能裙装款式与纸样设计系统
CN104331361B (zh) 一种用于白盒测试覆盖率计算可视化的测试装置及方法
CN103885754A (zh) 一种数据模型自动生成系统及方法
CN103150251A (zh) 一种智能获取自动化测试对象的方法
CN111444106A (zh) 一种对软件可测试需求的分析方法及系统
KR20050101520A (ko) 프로그램 작성 장치
CN113672509A (zh) 自动化测试方法、装置、测试平台及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130109

Termination date: 20130429