CN102622234B - 一种自动化测试用例的开发系统及开发方法 - Google Patents

一种自动化测试用例的开发系统及开发方法 Download PDF

Info

Publication number
CN102622234B
CN102622234B CN201210058151.3A CN201210058151A CN102622234B CN 102622234 B CN102622234 B CN 102622234B CN 201210058151 A CN201210058151 A CN 201210058151A CN 102622234 B CN102622234 B CN 102622234B
Authority
CN
China
Prior art keywords
user
case
test
control unit
data
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
CN201210058151.3A
Other languages
English (en)
Other versions
CN102622234A (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.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology 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 Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201210058151.3A priority Critical patent/CN102622234B/zh
Publication of CN102622234A publication Critical patent/CN102622234A/zh
Application granted granted Critical
Publication of CN102622234B publication Critical patent/CN102622234B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及基于命令行shell的自动化测试技术,其公开了一种自动化测试用例的开发系统及方法,解决传统技术的测试方案扩展性、复用性差、开发难度大、周期长的问题。该系统包括:用例设计单元,用于提供用例设计的图形用户界面、接受用户输入,并将用户输入信息转换为表示层数据并存储,然后发送给用例运行控制单元;用例运行控制单元,用于将接收到的表示层数据解析为脚本语言片段,并填充可变参数到脚本语言片段,然后运行脚本语言片段发送相应的shell命令给被测设备,并收集被测设备返回的执行结果。本发明适用于通信设备的自动化测试。

Description

一种自动化测试用例的开发系统及开发方法
技术领域
本发明涉及基于命令行shell的自动化测试技术,特别涉及一种自动化测试用例的开发系统及开发方法。
背景技术
对于基于命令行shell设备的自动化测试,早期通常通过录制重放系统实现:此类系统通过录制一段输入数据,在测试过程中进行回放,匹配测试结果是否和预期结果完全一致来实现。此类测试系统简单易用,只需理解测试业务流程即可开展自动化测试工作,但扩展性和复用性差,不易修改;重放数据依赖录制数据,不便于修改测试参数及测试步骤。
为了增强自动化测试的扩展性和适应性,后期业界又出现测试脚本系统:此类系统通常从功能角度出发,将被测功能分解为一个个测试项,通过脚本语言对每个测试项进行编程判断,并形成一套基于测试项的测试功能库,再由开发人员根据不同的测试用例通过脚本编程对以上测试项进行调用组合,进而判断测试结果;此类系统虽然解决了测试用例的扩展性与复用性,但同时带来了开发门槛高、开发难度大、开发时间长、效率低下等问题。
发明内容
本发明所要解决的技术问题是:提出一种自动化测试用例的开发系统,解决传统技术中如录制重放类系统的扩展性、复用性差的问题,而如测试脚本类系统开发难度大、周期长的问题。
本发明解决上述技术问题所采用的方案是:一种自动化测试用例的开发系统,包括:
用例设计单元,用于提供用例设计的图形用户界面、接受用户输入,并将用户输入信息转换为表示层数据并存储,然后发送给用例运行控制单元;所述用户输入信息包括:用户通过自然语言或者人机交互录入的测试业务数据、用户指定的测试业务数据中的可变参数及数据产生规则、用户指定的预期结果比较判定规则;所述表示层数据为用例结构化数据;
用例运行控制单元,用于将接收到的表示层数据解析为脚本语言片段,并填充可变参数到脚本语言片段,然后运行脚本语言片段发送相应的shell命令给被测设备,并收集被测设备返回的执行结果。
进一步,所述用例设计单元还负责显示和保存最终测试结果和日志,提供实时断点调试接口。
进一步,所述用例运行控制单元还负责将被测设备返回的执行结果与用户预先设定的预期结果进行比较判定,将判定结果返回给用例设计单元进行显示或断点调试。
进一步,所述用例设计单元包括信息录入子单元、记录及输出子单元;
所述信息录入子单元,用于接受用户输入信息,并将用户输入信息转换为表示层数据;
所述记录及输出子单元,用于对相关数据进行存储和显示。
进一步,所述用例运行控制单元包括解析子单元、执行子单元及比较判定子单元;
所述解析子单元,用于将接收到的表示层数据解析为脚本语言片段;
所述执行子单元,用于运行脚本语言片段发送相应的shell命令给被测设备;
所述比较判定子单元,用于将被测设备返回的执行结果与用户预先设定的预期结果进行比较判定。
进一步,所述被测设备由单个的被测设备之间通过构建网络组成,或者,由测试床与单个的被测设备之间通过构建网络组成。
进一步,所述用户输入信息包括:用户通过自然语言或者人机交互录入的测试业务数据、用户指定的测试业务数据中的可变参数及数据产生规则、用户指定的预期结果比较判定规则。
本发明的另一目的,还在于提出一种自动化测试用例的开发方法,其包括以下步骤:
a.用户向用例设计单元录入用户输入信息;所述用户输入信息包括:用户通过自然语言或者人机交互录入的测试业务数据、用户指定的测试业务数据中的可变参数及数据产生规则、用户指定的预期结果比较判定规则;
b.用例设计单元将用户输入信息转换为表示层数据,并传送给用例运行控制单元;所述表示层数据为用例结构化数据;
c.用例运行控制单元将表示层数据解析转换为脚本语言片段;
d.用例运行控制单元向脚本语言片段填充可变参数;
e.用例运行控制单元运行脚本语言片段,发送相应的shell命令给被测设备;
f.被测设备接收并执行shell命令,然后向用例运行控制单元返回执行结果;
g.用例运行控制单元将被测设备返回的执行结果与用户预先设定的预期结果进行比较判定,并将判定结果返回给用例设计单元;
h.用例设计单元根据判定结果进行显示或断点调试。
进一步,步骤a具体包括:
a1.用户通过人类自然语言或人机交互向用例设计单元录入测试业务数据;
a2.用户指定录入的测试业务数据中的可变参数和数据产生规则;
a3.用户预先设定预期结果,及比较判定规则。
进一步,步骤d中,用例运行控制单元根据数据产生规则向脚本语言片段填充可变参数。
本发明的有益效果是:本发明的系统保持了类似录制回放类型系统的人机界面交互方式,使用例开发简单、易用、高效;且将记录过程进行了粒度细分,不再是进行整个过程的记录,而是通过统一的格式化模版细分到每个验证点,同时支持对录入数据进行可变参数设置和进行参数值生成,并将用例业务数转换为中间表示层数据进行用例结构化,保证了测试用例的扩展性、复用性、灵活性;由于使用了趋近自然语言表达的结果匹配方法,用户仅需要了解匹配策略配置方法,不需要任何脚本语言程序基础。
附图说明
图1为本发明的开发系统实施例结构框图;
图2为本发明的开发方法实施例的流程图。
具体实施方式
本发明提出一种自动化测试用例的开发系统,解决传统技术中如录制重放类系统的扩展性、复用性差的问题,而如测试脚本类系统开发难度大、周期长的问题。该系统包括:用例设计单元、用例运行控制单元三个部分;其中,
用例设计单元,用于提供用例设计的图形用户界面、接受用户输入,并将用户输入信息转换为表示层数据并存储,然后发送给用例运行控制单元;所述用例设计单元还负责显示和保存最终测试结果和日志,提供实时断点调试接口。
用例运行控制单元,用于将接收到的表示层数据解析为脚本语言片段,并填充可变参数到脚本语言片段,然后运行脚本语言片段发送相应的shell命令给被测设备,并收集被测设备返回的执行结果;所述用例运行控制单元还负责将被测设备返回的执行结果与用户预先设定的预期结果进行比较判定,将判定结果返回给用例设计单元进行显示或断点调试。
本发明实施例中的被测设备接收和执行用例运行控制单元发送的shell命令并执行,然后向用例运行控制单元返回执行结果;所述被测设备可由单个的被测设备之间通过构建网络组成,或者,由测试床与单个的被测设备之间通过构建网络组成。本部分不是本发明的重点,此处不再赘述。
在具体实施上,可采用如图1所示的结构:
所述用例设计单元包括信息录入子单元、记录及输出子单元;
所述信息录入子单元,用于接受用户输入信息,并将用户输入信息转换为表示层数据;
所述记录及输出子单元,用于对相关数据进行存储和显示。
所述用例运行控制单元包括解析子单元、执行子单元及比较判定子单元;
所述解析子单元,用于将接收到的表示层数据解析为脚本语言片段;
所述执行子单元,用于运行脚本语言片段发送相应的shell命令给被测设备;
所述比较判定子单元,用于将被测设备返回的执行结果与用户预先设定的预期结果进行比较判定。
所述被测设备由多个被测设备通过网络构建而成。
基于上述开发系统,本发明的开发方法可采用如图2所示的步骤实现,具体包括:
1、用户向用例设计单元录入用户输入信息:即用户通过人类自然语言或人机交互向用例设计单元录入测试业务数据;指定录入的测试业务数据中的可变参数和数据产生规则;预先设定预期结果,及比较判定规则;
2、用例设计单元将用户输入信息转换为表示层数据,并传送给用例运行控制单元;
3、用例运行控制单元将表示层数据解析转换为脚本语言片段;
4、用例运行控制单元向脚本语言片段填充可变参数;
5、用例运行控制单元运行脚本语言片段,发送相应的shell命令给被测设备;
6、被测设备接收并执行shell命令,然后向用例运行控制单元返回执行结果;
7、用例运行控制单元将被测设备返回的执行结果与用户预先设定的预期结果进行比较判定,并将判定结果返回给用例设计单元;
8、用例设计单元根据判定结果进行显示或断点调试。
为了使本发明的方法更加通俗易懂,下面的实际测试用例为例进行说明:
用例描述:被测设备上配置设备名称为随机字符串,测试能否成功。
测试步骤:
在被测设备上运行以下命令行进行设备名称配置:
#config terminal
#devicename[随机字符串]
#end
预期结果:
在被测设备上运行名称检测命令行:
#show devicename
被测设备应回显:
#The devicename is[随机字符串]
若设备回显与以上字符串完全相等则测试结果为正确,否则测试结果为错误。
若要实现上述用例,本发明的实施过程如下:
S10、用户通过图形用户界面(UI)新增一个验证点——验证点1,录入配置命令:
#config terminal
#devicename[待替换字符串]
#end
S20、用户新增一个可变参数tmpRadomStr,选择数据产生规则为“随机字符串”类型,并以%tmpRadomStr%的语法格式替换前面的[待替换字符串];
S30、由于验证点发送的命令主要作用为下发配置,因此不填写任何匹配关系。
接下来重复以上过程,为检测命令行添加单独的验证点:
S10、用户通过图形用户界面(UI)再新增一个验证点——验证点2,录入检查命令:
#show devicename;
S20、验证点2不需要生成参数,仅需要使用验证点1的已有参数,不填写参数生成关系;
S30、用户通过图形用户界面(UI)新增一个比较判定规则,关系选择为“等于”,表达式值为The devicename is%tmpRadomStr%。需补充说明的是,本实例仅使用到“等于”关系,实际上系统中可供用户使用的预置的比较判定规则很多,并可以进行灵活组合。
至此,用例的设计过程完毕,系统将以上录入信息转化为表示层数据并保存和上传到用例运行控制单元,转化为表示层的用例数据;转换为结构化的表示层数据,是为了便于保存和传输,反向图形化及后期更改。
S40、解析单元获得表示层数据,并将表示层数据解析转换为脚本语言片段;
S50、解析单元根据数据产生规则填充可变参数到脚本语言片段;
经过解析后的代码已经可以被执行单元理解和执行。
S60、执行单元执行脚本语言片段,并返回设备执行结果数据;
S70、比较判定子单元获得执行单元执行结果,并根据表示层预期结果及其比较判定规则对照执行单元的执行结果进行匹配判断,若判定是否正确,如果正确,则跳转到S90输出测试结果;
S80、中断。若以上验证点2的执行结果未能正确匹配,若用户允许错误中断,则此时测试环境保留现场,开启断点调试模式与被测设备通过另一线程建立新的Shell命令行连接窗口,此时用户可以采用类似SSH或Telent方式直连到设备侧进行实时调试。当实时调试完成后,系统重新执行当前错误验证点内容并继续执行后续未进行的验证点;需补充说明的是,除错误中断外,用户也可以在验证点内主动使用中断命令强制在某位置进行中断和实时调试过程,以协助用例开发过程。
S90、记录和输出测试结果。
本发明所要求保护的技术方案包含但不仅限于上述实施方式中的内容,在不脱离本发明的精神实质的情况下,本领域技术人员根据上述实施方式所记载的内容对本发明的方案作出的等同替换均在本发明的保护范围内。

Claims (10)

1.一种自动化测试用例的开发系统,其特征在于,包括:
用例设计单元,用于提供用例设计的图形用户界面、接受用户输入,并将用户输入信息转换为表示层数据并存储,然后发送给用例运行控制单元;所述用户输入信息包括:用户通过自然语言或者人机交互录入的测试业务数据、用户指定的测试业务数据中的可变参数及数据产生规则、用户指定的预期结果比较判定规则;所述表示层数据为用例结构化数据;
用例运行控制单元,用于将接收到的表示层数据解析为脚本语言片段,并填充可变参数到脚本语言片段,然后运行脚本语言片段发送相应的shell命令给被测设备,并收集被测设备返回的执行结果。
2.如权利要求1所述的一种自动化测试用例的开发系统,其特征在于,所述用例设计单元还负责显示和保存最终测试结果和日志,提供实时断点调试接口。
3.如权利要求2所述的一种自动化测试用例的开发系统,其特征在于,所述用例运行控制单元还负责将被测设备返回的执行结果与用户预先设定的预期结果进行比较判定,将判定结果返回给用例设计单元进行显示或断点调试。
4.如权利要求3所述的一种自动化测试用例的开发系统,其特征在于,所述用例设计单元包括信息录入子单元、记录及输出子单元;
所述信息录入子单元,用于接受用户输入信息,并将用户输入信息转换为表示层数据;
所述记录及输出子单元,用于对相关数据进行存储和显示。
5.如权利要求3所述的一种自动化测试用例的开发系统,其特征在于,所述用例运行控制单元包括解析子单元、执行子单元及比较判定子单元;
所述解析子单元,用于将接收到的表示层数据解析为脚本语言片段;
所述执行子单元,用于运行脚本语言片段发送相应的shell命令给被测设备;
所述比较判定子单元,用于将被测设备返回的执行结果与用户预先设定的预期结果进行比较判定。
6.如权利要求1-5任意一项所述的一种自动化测试用例的开发系统,其特征在于,所述被测设备由单个的被测设备之间通过构建网络组成,或者,由测试床与单个的被测设备之间通过构建网络组成。
7.如权利要求1-5任意一项所述的一种自动化测试用例的开发系统,其特征在于,所述用户输入信息包括:用户通过自然语言或者人机交互录入的测试业务数据、用户指定的测试业务数据中的可变参数及数据产生规则、用户指定的预期结果比较判定规则。
8.一种自动化测试用例的开发方法,其特征在于,包括以下步骤:
a.用户向用例设计单元录入用户输入信息;所述用户输入信息包括:用户通过自然语言或者人机交互录入的测试业务数据、用户指定的测试业务数据中的可变参数及数据产生规则、用户指定的预期结果比较判定规则;
b.用例设计单元将用户输入信息转换为表示层数据,并传送给用例运行控制单元;所述表示层数据为用例结构化数据;
c.用例运行控制单元将表示层数据解析转换为脚本语言片段;
d.用例运行控制单元向脚本语言片段填充可变参数;
e.用例运行控制单元运行脚本语言片段,发送相应的shell命令给被测设备;
f.被测设备接收并执行shell命令,然后向用例运行控制单元返回执行结果;
g.用例运行控制单元将被测设备返回的执行结果与用户预先设定的预期结果进行比较判定,并将判定结果返回给用例设计单元;
h.用例设计单元根据判定结果进行显示或断点调试。
9.如权利要求8所述的一种自动化测试用例的开发方法,其特征在于,步骤a具体包括:
a1.用户通过人类自然语言或人机交互向用例设计单元录入测试业务数据;
a2.用户指定录入的测试业务数据中的可变参数和数据产生规则;
a3.用户预先设定预期结果,及比较判定规则。
10.如权利要求8或9所述的一种自动化测试用例的开发方法,其特征在于,步骤d中,用例运行控制单元根据数据产生规则向脚本语言片段填充可变参数。
CN201210058151.3A 2012-03-07 2012-03-07 一种自动化测试用例的开发系统及开发方法 Active CN102622234B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210058151.3A CN102622234B (zh) 2012-03-07 2012-03-07 一种自动化测试用例的开发系统及开发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210058151.3A CN102622234B (zh) 2012-03-07 2012-03-07 一种自动化测试用例的开发系统及开发方法

Publications (2)

Publication Number Publication Date
CN102622234A CN102622234A (zh) 2012-08-01
CN102622234B true CN102622234B (zh) 2015-07-15

Family

ID=46562164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210058151.3A Active CN102622234B (zh) 2012-03-07 2012-03-07 一种自动化测试用例的开发系统及开发方法

Country Status (1)

Country Link
CN (1) CN102622234B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103916283B (zh) * 2012-12-31 2017-10-10 北京新媒传信科技有限公司 服务器压力测试系统和方法
CN103218292B (zh) * 2013-03-29 2015-09-23 北京控制工程研究所 一种航天星载软件自动测试系统
CN104765679B (zh) * 2014-01-08 2017-07-07 中国科学院声学研究所 一种基于用户行为的业务在线测试方法与装置
CN105306292A (zh) * 2015-09-29 2016-02-03 上海斐讯数据通信技术有限公司 一种自动化测试系统
CN105335153A (zh) * 2015-10-12 2016-02-17 杭州古北电子科技有限公司 一种自动生成动态脚本的方法
CN106649092A (zh) * 2016-10-21 2017-05-10 郑州云海信息技术有限公司 一种测试脚本生成方法、网页测试方法、装置和系统
CN107273286B (zh) * 2017-06-02 2020-10-27 携程计算机技术(上海)有限公司 针对任务应用的场景自动化测试平台及方法
CN107908540B (zh) * 2017-07-26 2021-04-06 平安壹钱包电子商务有限公司 测试用例创建方法、装置、计算机设备及介质
CN107506303A (zh) * 2017-08-24 2017-12-22 航天中认软件测评科技(北京)有限责任公司 用于自动化测试的方法、装置及系统
CN107544463B (zh) * 2017-09-08 2019-12-13 北京新能源汽车股份有限公司 一种车用控制器诊断功能的自动测试方法及测试装置
CN107943689B (zh) * 2017-11-16 2021-04-23 北京卫星信息工程研究所 基于参数化测试脚本的自动化测试方法及测试系统
CN109818833B (zh) * 2019-03-14 2021-08-17 北京信而泰科技股份有限公司 一种以太网测试系统和以太网测试方法
CN110377507B (zh) * 2019-06-28 2022-07-08 苏州浪潮智能科技有限公司 一种基于脚本传递参数命令的方法及系统
CN110515841B (zh) * 2019-08-05 2024-01-12 瑞斯康达科技发展股份有限公司 一种命令测试的方法和设备及计算机存储介质
CN113609015A (zh) * 2021-08-05 2021-11-05 先进操作系统创新中心(天津)有限公司 一种基于Bash Shell的自动化测试框架
CN113923443A (zh) * 2021-09-27 2022-01-11 深圳市天视通视觉有限公司 一种网络录像机测试方法、装置及计算机可读存储介质
CN113986771B (zh) * 2021-12-29 2022-04-08 北京壁仞科技开发有限公司 用于调试目标程序代码的方法及装置、电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1983288A (zh) * 2005-12-16 2007-06-20 国际商业机器公司 验证操作支持系统及其方法
CN101046763A (zh) * 2006-03-29 2007-10-03 盛趣信息技术(上海)有限公司 基于脚本的自动化测试系统的实现方法
CN101241466A (zh) * 2007-02-08 2008-08-13 深圳迈瑞生物医疗电子股份有限公司 一种嵌入式软件的测试方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7502966B2 (en) * 2006-02-09 2009-03-10 International Business Machines Corporation Testcase generation via a pool of parameter files

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1983288A (zh) * 2005-12-16 2007-06-20 国际商业机器公司 验证操作支持系统及其方法
CN101046763A (zh) * 2006-03-29 2007-10-03 盛趣信息技术(上海)有限公司 基于脚本的自动化测试系统的实现方法
CN101241466A (zh) * 2007-02-08 2008-08-13 深圳迈瑞生物医疗电子股份有限公司 一种嵌入式软件的测试方法和系统

Also Published As

Publication number Publication date
CN102622234A (zh) 2012-08-01

Similar Documents

Publication Publication Date Title
CN102622234B (zh) 一种自动化测试用例的开发系统及开发方法
CN103812726B (zh) 一种数据通信设备的自动化测试方法及装置
CN106445811B (zh) 一种基于SecureCRT的自动化测试系统及方法
CN104731566B (zh) 集成开发环境测试装置、方法及系统
CN111104315A (zh) 一种测试脚本生成方法及装置、计算机可读存储介质
WO2009062419A1 (fr) Système et procédé de test
CN102495802B (zh) 测试软件系统的方法和装置以及计算机系统
JP2000196705A (ja) メッセ―ジ/シ―ケンス編集機能を有する自動通信プロトコル試験システムおよび試験方法
WO2021120544A1 (zh) 用于调试设备的方法及装置
WO2014079267A1 (zh) 红外遥控设备自动测试方法、设备及系统
CN110825595B (zh) 录制回放方法及系统、存储介质
CN108415857B (zh) 一种串口数据的通用处理方法
WO2007061241A1 (en) Error test method for mobile communication terminals
CN113672441A (zh) 对智能设备的测试方法及装置
CN108897695A (zh) 一种需求侧设备的互联测试方法及系统
CN106776329B (zh) 储能变流器的调试方法和调试设备
CN105677689B (zh) 日志记录方法及装置
CN102750143A (zh) 基于matlab com组件调用的dsp开发方法
CN112289345B (zh) 一种可视化智能终端语音诊断的方法
CN110789580A (zh) 列车网络控制系统的通讯检测方法、设备和系统
CN209441385U (zh) 列车网络控制系统的通讯检测系统
CN115967660A (zh) 测试can协议转换的方法、装置、终端设备及存储介质
CN113867990A (zh) 电池检测设备的通道控制方法
CN113934619A (zh) 基于Robot Framework测试框架的音源测试方法、系统及存储介质
JP2006155047A (ja) 検証システム及び検証方法

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