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

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

责任编辑李家云

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

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

水墨云历史黑名单IDC,斟酌选购

水墨云怎么样?本站黑名单idc,有被删除账号风险,建议转出及数据备份!水墨云ink cloud Service是成立于2017年的商家,自2020起开始从事香港、日本、韩国、美国等地区CN2 GIA线路的虚拟服务器租赁,同时还有台湾、国内nat vps相关业务,也有iplc专线产品,相对来说主打的是大带宽服务器产品。注意:本站黑名单IDC,有被删除账号风险,请尽量避免,如果已经购买建议转出及数据备...

inux国外美老牌PhotonVPS月$2.5 ,Linux系统首月半价

PhotonVPS 服务商我们是不是已经很久没有见过?曾经也是相当的火爆的,我们中文习惯称作为饭桶VPS主机商。翻看之前的文章,在2015年之前也有较多商家的活动分享的,这几年由于服务商太多,乃至于有一些老牌的服务商都逐渐淡忘。这不有看到PhotonVPS商家发布促销活动。PhotonVPS 商家七月份推出首月半价Linux系统VPS主机,首月低至2.5美元,有洛杉矶、达拉斯、阿什本机房,除提供普...

美国多IP站群VPS商家选择考虑因素和可选商家推荐

如今我们很多朋友做网站都比较多的采用站群模式,但是用站群模式我们很多人都知道要拆分到不同IP段。比如我们会选择不同的服务商,不同的机房,至少和我们每个服务器的IP地址差异化。于是,我们很多朋友会选择美国多IP站群VPS商家的产品。美国站群VPS主机商和我们普通的云服务器、VPS还是有区别的,比如站群服务器的IP分布情况,配置技术难度,以及我们成本是比普通的高,商家选择要靠谱的。我们在选择美国多IP...

vps测试脚本为你推荐
甘肃省武威市人民检察院技术检验鉴定urlcss支持ipadwindows键是哪个Windows键是哪个键啊?google图片搜索谁能教我怎么在手机用google的图片搜索啊!!!icloudiphone苹果6显示已停用请连接itunes什么意思css选择器CSS中选择器包括 A,超文本标记选择器 B,类选择器 C,标签选择器 D,ID选择器电信版iphone4s4和苹果iPhone 4S 电信版有什么区别苹果5.1.1完美越狱iphone4 5.1.1完美越狱怎么安装中文Siri?ios10.0.3ios10.0.2与i0S10.3.3区别
美国虚拟主机推荐 域名论坛 中文域名查询 vps是什么 香港主机 2014年感恩节 godaddy域名转出 css样式大全 商务主机 嘉洲服务器 193邮箱 空间技术网 中国电信宽带测速器 个人免费主页 优酷黄金会员账号共享 最漂亮的qq空间 网通服务器 英国伦敦 数据库空间 测速电信 更多