测试试述一种用于自动化测试的脚本语言的设计与实现

vps测试脚本  时间:2021-05-03  阅读:()

试述一种用于自动化测试的脚本语言的设计与实现

文档信息

目录

1脚本语言cript的特色

11语法风格严谨、简便

12高度动态化的面向对象技术

13与被测试程序的无缝交互

14多任务、高并发的协程机制

15支持库依赖程度低、可跨平台

2嵌入式测试脚本语言cript的实现

21预处理

22字节码编译

23主控程序与被测系统交互

24解释执行

31被测试系统简介

32测试任务

正文

摘要对软件进行经常性、规范的测试是保证软件质量的重要手段灵活地使用脚本技术能够使软件测试更加的自动化软件测试的脚本化在大大的减少测试人员的工作量的同时使整个测试项目更易被维

护测试用的脚本语言具有较好的可移植性使脚本代码具有很强的复用性与通用性所以设计实现了一种自动化测试的脚本语言cript并对该语言的设计思路、实现及其应用加以阐述

关键字 自动测试脚本语言编译器

0引言

近年来软件行业蓬勃发展软件的规模急剧增大对软件的测试所需要的工作量越来越大操作也越来越繁琐因此建立一种易维护、可复用、高度自动化的测试策略的需求也越来越迫切

在测试中使用脚本技术是实现软件测试的自动化的有效手段以脚本代码的形式描述测试用例、测试步骤较之测试人员手动实现更为规范、精确脚本语言的宿主虚拟机能够反复地、高速地执行脚本代码极大的减少了测试人员的繁冗操作提高了测试工作的复用性与可维护性

目前市场出现了多种具有脚本技术的软件自动化测试框架或平台但是所附带的脚本语言体系简单特性单一该文将对作者所设计的一种具有丰富特性的脚本语言加以阐述

1脚本语言cript的特色

11语法风格严谨、简便

cript语法风格接近C/C++但是比其二者语法要求更加规范严谨同时充分的考虑到了测试人员在编写代码时对于简便快捷的要求增加了譬如foreach  quote之类的“语法糖” 这些“语法糖”仅存在于预处理期之前故而在提高便携性的同时不会降低脚本的执行效率

12高度动态化的面向对象技术

大部分现代化高级编程语言都实现了OO object oriented特性 OO技术能够提供对代码非常好的组织能力 cript语言为了方便测试人员组织测试项目 同样加入了OO特性但没有照搬模仿诸如J AVA 、 C++的O O实现方式 JAV A、 C++等高级语言在编译阶段就已确定类型的结构及继承体系而cript的面向对象是高度动态的在编译阶段仅仅确定了对象成员的元数据但是并没有对类型以及操作方式做任何推断所以测试人员非常自然的在编程时享受多态、函数闭包的好处

13与被测试程序的无缝交互cript脚本引擎会在测试开始之前建立一个通信管道同时建立一个被测试程序的接口映射表能够将被测试程序的接口符号绑定到测试脚本之中可以不通过其他渠道直接驱动被测试软件

14多任务、高并发的协程机制

为了实现测试操作的多任务性 引入了协程机制协程不同于一般的例程或者是函数它能够被人为的制约执行流程或挂起在cript中加入了yield关键字来挂起当前的任务执行后续的任务

15支持库依赖程度低、可跨平台

为了方便测试不同的操作系统下的软件脚本引擎本身被设计为高度跨平台其具体实现使用遵循的AI -C 89标准的C语言编码完成cript仅仅依赖与少量的标准库这使脚本语言引擎本身可以在绝大部分部分的平台上能够顺利编译成功目前 已经windows xp或者更高版本 、 linux kernel26以上 、 Mac OS X测试编译通过执行情况良好

2嵌入式测试脚本语言cript的实现cript脚本引擎对脚本代码执行的操作总体而言分为四个步骤“预处理+字节码编译+主控程序与被测系统的交互+解释执行” 每个步骤都使用了一个或几个模块 以下将阐述全部步骤以及所使用的模块的实现细节

21预处理

预处理是在程序源代码被编译之前 由预处理器Preprocessor对程序源代码进行处理这个过程并不对程序的源代码一种用于自动化测试的脚本语言的设计与实现相关范文由写论文的好帮手http: 转载

请保留 .进行剖析但它把源代码分割或处理成为特定的符号用来支持宏调用

首先 bufferloader模块将脚本代码读入缓存并将缓存的地址传给preprocessor模块该模块负责对代码文本进行预处理把不会被执行的注释消除并完成宏展开、以及将一些“语法糖”转换成规范的形式紧接着压缩空白符的数量提高接下来的词法分析速度

22字节码编译

Preprocessor将处理的结果提交给lexer_analyzer模块负责分析词法lexer_analyzer本质是一个字符串扫描器扫描器的游标不断向后扫描并获得一个子串与内置的一个词法单元类型的hash表I中的模式串进行字符串全匹配把匹配的结果以及该子串提交给语法分析器

23主控程序与被测系统交互

编译阶段完成之后虚拟机VM会与被测试的软件交互API_register模块将会寻找软件导出C/C++的函数接口的地址并与之前syntax_analyzer提供接口的字符串形式使之与编译阶段生成的符号表匹配、绑定完成接口链接VM使用pipe_holder分配一定大小的缓存默认64K来建立字符管道

24解释执行

31被测试系统简介

目标系统是一个简易的制约小车系统通过外部给定的输入制约小车进行直行、旋转、并根据摄像头输入的数据捕捉障碍物、测距使小车能够具有一定的避障能力

32测试任务

测试人员通过脚本输入一组障碍物的数据 同时通过该系统提供的接口函数截获系统所响应的序列并记录使测试人员能在模拟的环境下测试该代码的性能与效果

结束语

该文给出了一个用于程序自动化测试的脚本语言的设计、实现及其实际测试举例现在这个脚本语言已经成为我们工程中的一个重要技术进一步的工作是不断的提供新的调度操控方式并提供可视化的编辑工具方便测试人员使用

参考文献

[1]Alfred V Aho  Monica S lam Ravi Sethi  et alCompile Principles Techniques and Tools Second Edition[M]赵建华郑涛戴新宇译北京机械工业出版社 2009229-273

[2]Newell A Shaw J C Programming the logic theorymachine[C] Proc Western Joint Computer Conference 1957

[3]Ullman J D Fast algorithms for the elimination ofcommon subexpressio Acta Inf 1973 2  191-213

[4] [ZK #]Alfred V Aho Monica S lam Ravi Sethi et alCompile Principles Techniques and Tools Second Edition[M]

[5]Bebenita M brandner F Fahndrich M et al Tillmannand H Venter SPUR a trace-based JIT compiler for CIL[C] InProceedings of ACM conference on Object-Oriented

Programming Systems Languages and Appli cat io OOPSLA

2010

708-725

[6]赵斌飞刘磊测试脚本自动生成器的设计与实现[J]计算机科学 2008 6

[7]Jeremy Siek Philip Wadler Threesomes with andwithout blame In Script to Program Evolution STOP  2009

责任编辑李家云

“试述一种用于自动化测试的脚本语言的设计与实现”文档源于网络本人编辑整理。本着保护作者知识产权的原则仅供学习交流请勿商用。如有侵犯作者

权益请作者留言或者发站内信息联系本人我将尽快删除。谢谢您的阅读与下载

腾讯云2核4GB内存8M带宽 年74元

一般大厂都是通过首年才有可以享受爆款活动,然后吸引我们注册他们商家达到持续续费和购买的目的。一般只有大厂才能有这样的魄力和能力首年亏本,但是对于一般的公司和个人厂家确实难过,这几年确实看到不少的同类商家难以生存。这里我们可以看到有对应的套餐方案。不过这两个套餐都是100%CPU独享的,不是有某云商家限制CPU的。但是轻量服务器有个不好的就是带宽是较大且流量是限制的额,分别是1GB和1.2TB月流量...

GreenCloudVPS($30/年),500G大硬盘VPS,10Gbps带宽

GreenCloudVPS最近在新加坡DC2节点上了新机器,Dual Xeon Silver 4216 CPU,DDR4内存,10Gbps网络端口,推出了几款大硬盘VPS套餐,基于KVM架构,500GB磁盘起年付30美元。除了大硬盘套餐外,还加推了几款采用NVMe硬盘的常规套餐,最低年付20美元。不过需要提醒的是,机房非直连中国,尤其是电信用户ping值感人,包括新加坡DC1也是如此。大硬盘VPS...

wordpress通用企业主题 wordpress高级企业自适应主题

wordpress高级企业自适应主题,通用型企业展示平台 + 流行宽屏设计,自适应PC+移动端屏幕设备,完美企业站功能体验+高效的自定义设置平台。一套完美自适应多终端移动屏幕设备的WordPress高级企业自适应主题, 主题设置模块包括:基本设置、首页设置、社会化网络设置、底部设置、SEO设置; 可以自定义设置网站通用功能模块、相关栏目、在线客服及更多网站功能。点击进入:wordpress高级企业...

vps测试脚本为你推荐
昌吉市第五小学多媒体设备技术参数设备ipad支持ipad支持ipad支持ipadApplicationsios5netbios端口怎么关闭8909端口!其他端口就不用了win10445端口win的22端口和23端口作用分别是什么 ?ipad上网为什么我的ipad 显示无法连接到网络x-routerx-arcsinx的等价无穷小是什么?
新网域名管理 万网域名证书查询 smartvps 主机测评网 站群服务器 国内永久免费云服务器 标准机柜尺寸 商务主机 网通ip idc资讯 静态空间 国外代理服务器地址 华为云服务登录 360云服务 百度云加速 lamp架构 黑科云 酷锐 accountsuspended 2016黑色星期五 更多