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

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

责任编辑李家云

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

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

819云互联 香港 日本 美国 2核4G 18元 8核8G 39元 免费空间 免费CDN 香港 E3 16G 20M 230元/月

819云互联是海外领先的互联网业务平台服务提供商。专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前平台研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的海外资源、香港,日本,美国等各国优质的IDC资源。官方网站:https://www.819yun.com香港特价物理服务器:地区CPU内存带宽...

friendhosting:(优惠55%)大促销,全场VPS降价55%,9个机房,不限流量

每年的7月的最后一个周五是全球性质的“系统管理员日”,据说是为了感谢系统管理员的辛苦工作....friendhosting决定从现在开始一直到9月8日对其全球9个数据中心的VPS进行4.5折(优惠55%)大促销。所有VPS基于KVM虚拟,给100M带宽,不限制流量,允许自定义上传ISO...官方网站:https://friendhosting.net比特币、信用卡、PayPal、支付宝、微信、we...

pia云低至20/月,七折美国服务器

Pia云是一家2018的开办的国人商家,原名叫哔哔云,目前整合到了魔方云平台上,商家主要销售VPS服务,采用KVM虚拟架构 ,机房有美国洛杉矶、中国香港和深圳地区,洛杉矶为crea机房,三网回程CN2 GIA,带20G防御,常看我测评的朋友应该知道,一般带防御去程都是骨干线路,香港的线路也是CN2直连大陆,目前商家重新开业,价格非常美丽,性价比较非常高,有需要的朋友可以关注一下。活动方案...

vps测试脚本为你推荐
我的"点绛唇"documentcss计划ipad支持ipad支持ipad城乡居民社会养老保险人脸识别生存认证齐鲁工业大学高水平学科建设专项尺寸(mm)操作區域手控xp如何关闭445端口系统怎么关闭445端口google图片搜索如何用google搜索空间照片
下载虚拟主机 未注册域名查询 台湾服务器租用 免费域名解析 花生壳域名贝锐 hawkhost优惠码 bluehost 美国主机论坛 koss nerd typecho 512m内存 轻量 100m免费空间 上海域名 免费个人空间 php空间推荐 服务器是干什么的 gtt 绍兴电信 更多