脚本环境(精选12篇)
脚本环境 篇1
跨站脚本攻击在各种网络安全漏洞中, 一直被OWASP (Open Web Application Security Project) 组织评为十大安全漏洞中的第二威胁漏洞。2011年, 国内最热门的信息平台“新浪微博”爆发跨站脚本攻击, 仅持续16分钟, 感染的用户就达33000个, 可见其危害之大。
高职院校的《网络安全与防范》课程也把跨站脚本攻击作为一个重点的教学内容。为了让学生充分掌握跨站脚本攻击的防范方法, 就必须透彻的了解跨站脚本攻击的原理和具体的实施过程。
我们开展了一项课题, 旨在搭建一个网络攻防的应用平台, 帮助学习者更深刻的理解各种网络攻防的原理和了解其实施的步骤, 以采取更高效的防范措施, 来杜绝网络攻击的产生。跨站脚本攻击就是其中的一项任务。
本文中, 我们会对跨站脚本攻击进行详细的分析, 并结合搭建的网络平台重建攻击过程, 并提出防范方法。
跨站脚本攻击是由于网站的后台系统对用户的输入过滤不严而产生的。攻击者利用这一点把恶意代码加入到网站的后台系统中 (通常是网页之中) , 当用户浏览这些网页时, 那些隐含在正常网页中的恶意代码就会在用户的机器中得以执行, 从而达到各种攻击用户电脑的目的。
为了理解跨站脚本攻击, 有必要先了解用户访问一个没有恶意代码的简单网页的过程。访问如图1所示的一个网页, 用wireshark工具进行网络数据的捕获。
总共捕获到两个数据包, 一个是浏览器发送给网站的请求数据包, 其内容如图2:
在请求数据包中, 比较重要的一个字段是cookie字段, 其具体内容记录了用户平时登录各种网站的账号和密码信息。跨站脚本攻击往往会通过这个字段获取到用户的账号等重要信息。
网站回送给浏览器的响应数据包如图3:
在响应数据包中, 除了一些头信息外, 还附带上了网页的内容。可见, 一个基本的网页访问过程就是由一个请求数据包和响应数据包组成的。
接下来, 在我们搭建的实验平台上, 对一个网站进行跨站脚本攻击, 以实现一个不断弹出的窗口, 迫使正常的网页浏览无法继续下去。在一个存在有漏洞的商品评价网页中, 通过对商品添加评价进行攻击。如图4:
在评论内容里面, 写下如下的代码:
发表评论后, 当其他用户登录网站, 通过点击“查看该商品评论”查看评论时, 就会出现如图5所示的情况:
并且无论点击多少次“确定”按钮, 都无法关闭此弹出窗口, 表明此用户已经受到了跨站脚本攻击。打开由网站传送回来的网页源代码, 可以发现这样一句代码:“<script>while (true) alert (/You have been XSS attacked!/) </script>”, 这段代码已经被插入到网页中, 当浏览器解析到这一段代码时, 因为“<script>”标签的原因, 标签对里面的内容会被解释执行, 而不是作为对商品的评论原封不动的显示在页面上。通过查看网站后台数据库, 发现如图6所示的语句已经被写入了数据库:
当其他用户查看此商品的评论时, 此条记录被读出, 并插入到网页中, 从而形成了跨站脚本攻击。
另外一个跨站脚本攻击的案例是盗取用户的登录账号和密码。
用户“qy1”在如图7所示的网页中进行登录后:
在用户的机器上会保留一个cookie, 里面记录了用户登录时输入的账号和密码。可以通过在用户的浏览器的地址栏输入语句“javascript:alert (document.cookie) ”来显示出账号和密码, 如图8所示:
可见用户的账号和密码都保存在了用户的计算机中。通过跨站脚本攻击可以在攻击者的机器上获得用户的账号和密码。
攻击者a在某一个商品的评论中发表如图9所示的内容:
当用户“qy1”登录网站查看这一个评论时, 其账号和密码就会发送到攻击者a所指定的机器上, 并存储在“cookie.txt”文件中, 其中的内容如图10:
由此攻击者就利用跨站脚本攻击获取到了被攻击者的账号和密码等重要信息。
分析此次跨站脚本攻击, 攻击者在商品评论里面并没有写入评论性的语句, 而是写入了一段javascript代码, 这段代码并没有经过过滤就被写到了网站的后台数据库中, 如图11:
当受攻击者浏览这个商品的评论时, 这段代码没有经过任何过滤就被传送给了浏览器, 而浏览器当解析到<script></script>所包括的语句时, 会认为这是一段javascript语句, 会执行语句中的内容。而这段代码的作用就是读取被攻击者机器上所存储的cookie信息, 并且把此信息发送给攻击者所指定的网站的指定接收页面。我们再来看, 这个接收页面的内容如下:
其作用就是接收被攻击者发送过来的账号信息, 并把它存储在文件“cookie.txt”里面。
被攻击者的机器在不知不觉中向攻击者指定的机器发送了数据包, 其内容如图12:
数据包中的GET语句包括了用户的账号等重要信息。
到此为止, 一个详细的跨站脚本攻击过程就已经详细的展现出来。如何防止此种跨站脚本攻击呢。通过分析以上攻击过程, 发现实现此类攻击, 要具备以下条件:
(1) 网站存在供用户输入数据的页面, 类似留言板, 商品评论, 搜索框等。
(2) 用户浏览了被攻击者恶意修改过的网页。
(3) 用户的机器允许执行这些恶意代码。
(4) 网站没有对用户的输入内容进行有效的过滤, 即过滤掉那些攻击性的代码, 并且在输出用户的评论或者搜索内容时也没有进行过滤。
对于以上的第一点, 由于现在绝大多数网页都会有和用户交互的需要, 所以给用户输入信息的功能, 不能取消。
对于第二点, 用户可以提高警惕, 对于一些非法网站, 尽量不要去访问。
对于第三点, 用户可以禁止浏览器的活动脚本的执行, 可以如图13设置:
对于第四点, 要求网站开发人员对用户的输入信息进行过滤, 过滤掉恶意的代码。或者在输出时进行过滤, 过滤掉恶意代码。
例如, 可以建立一个如下的函数:
利用此函数把”<”, ”>”, “&”等字符转化为<, >, &等字符。这样浏览器在输出时, 遇到<, >, &等字符时, 就会在网页上显示”<”, ”>”, “&”等字符, 而不会把这些字符对中所包含的内容当作可运行的代码进行执行了。
在实验平台的网站后台页面代码中加入unhtml函数, 例如在显示商品评论的网页showpl.php中加入如下代码
成功对商品评论中的输出内容进行了过滤, 避免了跨站脚本攻击, 用户看到的输出结果如图14:
结论:
为了让学习者理解如何防范跨站脚本攻击, 搭建了一个基于php+mysql的实验平台, 在对跨站脚本攻击进行了原理上的详诉后, 对攻击中的每个步骤进行了模拟, 每一步的模拟都是一个真实攻击的再现。最后, 讲解如何防范跨站脚本攻击, 对于后台防范代码做了详解, 演示了防范后的效果。我们搭建的实验环境让学习者不再局限于对跨站脚本攻击原理上的了解, 而是有了一个实操的环境, 极大的提高了学习者的学习兴趣, 增加了学习效率。基于我们搭建的实验平台, 将来还可以开展更多的实验。
参考文献
[1]赵彬.黑客攻防Web安全实战详解[M].北京:中国铁道出版社, 2014.
[2]肖遥.大中型为了入侵要案直击与防御[M].北京:电子工业出版社, 2011.
[3]武新华, 陈艳艳, 王英英.矛与盾:黑客攻防与脚本编程[M].北京:机械工业出版社, 2010.
脚本环境 篇2
脚本:1.写脚本的人,也叫故事构成。2.与剧本不同,脚本并没有明确地指出演出者(包括动画、游戏人物等)究竟该说什么话,只是将人物需要做的任务安排下去。如:
小明:
1.走在街上
2.碰到同事,打招呼。
3.从同事那里得知今天把本月工资发下来了
4.去银行
5.发现没有自己的工资,暴跳如雷
6.去找老板理论
7.老板说他的工资都作为罚款了
8.小明辞职
从上面这个脚本上我们就可以看到整个故事的大体发展,但没有看到故事的细节。
脚本可以说是故事的发展大纲,用以确定故事的发展方向。之后,确定故事到底是在什么地点,什么时间,有哪些角色,角色的对白,动作,情绪的变化,等等,这此细化的工作都是剧本上所要清楚确定下来的。
一部小说,短则数千字或几万字,长则十万或百万,其中有些事件是在同一时间发生,但小说中,却并没有写在一起,甚至相隔很远。所以,在将要创作一个故事,或是改编一部小说时,得先写出脚本,将故事的发展,以时间为标准,将其发展的方向确定下来。而之后,可如何讲述这一故事,则再来确定。
例如上面一个不完整的脚本,之前应该说明小明和老板有矛盾。这样的脚本就完整了,但故事或小说并不一定要按照脚本的顺序写。可以在脚本中某一个地方选做故事的开始点。
可以选择小明在街上遇到同事为开始,也可以选择在银行发现自己没有工资为开始,还可以以小明辞职为开始,用不同的表形手法来讲述。无论用那种手法,故事的发展方向是没有变的,小明最终辞职离开。
脚本可以根据故事所要表现的主题,思想,而进行的修改。只有在脚本确定之后,则才进行剧本的编写工作。剧本编写完成之后,则才是分镜的确定。场景,角色确定。
日本动画制作过程中的脚本,其实就是剧本,翻译不同而已,例如日本动画导演,却不称为导演,而是动画监督,动画脚本,其实就是剧本。
剧本的内容
剧本主要由人物对话(或唱词)和舞台提示组成。舞台提示一般指出人物说话的语气、说话时的动作,或人物上下场、指出场景或其它效果变换等。
一个典型的剧本例子如下:
内景-日-小姐房间内
王妈:(小心翼翼地)小姐,您还是得注意身子,就吃点东西吧。
小姐:(把碗砸在地上)不吃,我就是不吃。
(王妈下)
剧本的结构
一部较长的剧本,往往会由许多不同的段落所组成,而在不同种类的戏剧中,会使用不同的单位区分段落。在西方的戏剧中,普遍使用“幕”(Act)作为大的单位,在“幕”之下再区分成许多小的“景”(scene)。中国的元杂剧以“折”为单位,南戏则是以“出”为单位,代表的是演员的出入场顺序,而在明代文人的创造后,将“出”改为较为复杂的“出”。剧本的结构一般可分为“开端、发展、转折、高潮、再高潮结局”。当然根据编剧技巧的不同,结构还会变化。
一、条式结构
众所周知,传统的戏剧结构是根据主题、人物性格来组织戏剧冲突和安排情节的一种艺术手段。它是戏剧创作的重要一环,是按照戏剧规律来结构剧本的。由于生活本身是有节奏有规律向前发展的,反映在戏剧冲突上的结构必然形式一条由冲突动作所引起的开端、发展、高潮、结局亦即启承转合的情节链,而且是按时间顺序安排的。这种结构的特点,表现在分场上。整个戏就是一场一场的戏组成的,若干场戏组成全剧,而且每一场有一个小高潮,若干个小高潮形成大高潮。传统的戏剧结构,既然是以戏剧冲突的发展为依据,又少不了冲突对立两个方面贯穿经络的对立人物和一个中心事件。因此,它是纵向发展的,不妨称之为条式结构。
二、团块结构
团块结构,顾名思义,它的情节是横向发展的,是同纵向发展的条式结构大相径庭的。它几乎全剧没有明显的大高潮,因为它不是以外部冲突为依据,而是依据人物意识活动进行结构的。还有一些剧作,全剧没有一个有头有尾的故事,也没有比较完整的情节。更看不到冲突对立到底的人物。有的只是几个生活片断或几组不规则的情节。这些剧作,在场景之间毫无因果依存关系,在结构上显得很不规则,然而它又“形散而神不散”,段落之间却具有十分讲究的必然内在联系。通常都不分场和幕,所以称其为无场次戏剧。这是由不同题材内容和不同作家的构思所形成的。
团块结构,当前流行的有如下两种形式:
1、散方式结构。这种戏剧结构类似文学的一种体裁——散文的结构形式。这类剧作没有完整的故事情节,没有高度集中的矛盾冲突,一切都是自然而然地展开,又自然而然地结束。它不仅强调生活的纪实性,而且强调情感的真实性,偏重于抒发人物的真实情感。它写事写人只选取几个看似零散的侧面,但却能做到“形散而神不散”。这类剧作的结构特点之一是场与场之间没有必然的依存关系;特点之二是没有强烈的高潮和结束;特点之三是没有完整的的故事情节和一个中心事件;特点之四是按照生活本身的时序横向发展,很少用“闪回”,属于时序结构。
2、心理结构。这类剧作的戏剧结构就是依据人物的意识活动来进行结构的一种形式。它在叙述方式上不同于条式结构,也不同于散文式结构,后二者一般均按时间顺序进行。心理结构则是根据人物的心理活动变化,把过去、现在和未来相互穿插起来进行。所以也叫时间交错式结构。它的特点:其一,着力表现人物的内心世界和对人物内在感情的剖析,以达到刻画人物的目的。它也没有一个完整的故事,甚至没有激动人心的矛盾冲突,更谈不上一浪高过一浪的戏剧高潮。甚至连时间顺序也不规则,更多的是人物意识活动。其二,追求叙述上的主观性。把现实和过去交织起来,以此进行布局和剪裁。这种结构之所以不遵循时间顺序,把现在和过去互相穿插起来,并能让观众理解,是依据了这样一条原理:人物心理活动(回忆、联想、梦幻等)是不受时间、空间约束的。
剧本格式
第 N 集
每个场景都以这样的格式
场景1,地点: 时间: 天气(环境):
该场景内的情节简要说明(200字以内):
角色名字:(可以用粗体也可以用斜体,但要统一): 如下文:-奔翔-
[动作说明](动作说明需加大括号),如果可以需要突出主观镜头或客观镜头,在动作说明前如果是角色的动作,则需要在动作说明前将该动作内的主要角色动作置于动作说明之上。
如:-奔翔-
[镜头里出现一双大大的脚。镜头向上仰视,显出主人公大大的形体,身着西服装束,手提着小小的公文包。保持镜头平行后移,以主人公的动作表示他在行走。]
对话:对话格式为:奔翔:对话内容
如需特殊说明,可在对话后用“[ ]”加动作。
其他说明:每一页代表动画片的1分钟,不管这页长与短,到下一分钟全部换页。
注意事项:对话不能书面语言,需要富有幽默,对于剧本,若没有对白也要让观众看明白说什么。
分镜头脚本又称摄制工作台本,也是将文字转换成立体视听形象的中间媒介。主要任务是根据解说词和电视文学脚本来设计相应画面,配置音乐音响,把握片子的节奏和风格等。
分镜头脚本的作用主要表现在:
一是前期拍摄的脚本;
二是后期制作的依据;
三是长度和经费预算的参考。
分镜头脚本的作用及主要内容
电视摄录使用的电视节目脚本,分为拍摄提纲(多用于纪录性节目),文学脚本(多用于电视剧)和分镜头脚本三种。分镜头脚本是最实用的电视节目脚本,它是在文学脚本的基础上运用蒙太奇思维和蒙太奇技巧进行脚本的再创作,即根据拍摄提纲或文学脚本,参照拍摄现场实际情况,分隔场次或段落,并运用形象的对比,呼应,积累,暗示,并列,冲突等手段,来建构屏幕上的总体形象。依据文字脚本加工成分镜头脚本,不是对文字脚本的图解和翻译,而是在文字脚本基础上进行影视语言的再创造。虽然分镜头脚本也是用文字书写的,但它已经接近电视,或者说它是可以在脑海里“放映”出来的电视,已经获得某种程度上可见的效果。
电视节目编导在编写分镜头脚本时,工作的主要内容有:
将文字脚本的画面内容加工成一个个具体形象的,可供拍摄的画面镜头,并按顺序列出镜头的镜号。
确定每个镜头的景别,如远、全、中、近、特等。
排列组成镜头组,并说明镜头组接的技巧。
用精炼具体的语言描述出要表现的画面内容,必要时借助图形,符号表达。
相应镜头组的解说词。
相应镜头组或段落的音乐与音响效果。
分镜头脚本的作用,就好比建筑大厦的蓝图,是摄影师进行拍摄,剪辑师进行后期制作的依据和蓝图,也是演员和所有创作人员领会导演意图,理解剧本内容,进行再创作的依据。
分镜头脚本的格式: 电视节目的分镜头脚本,通常采用表格的形式。
分镜头脚本的写作方法是从电影分镜头剧本的创作中借鉴来的。一般按镜头号,镜头运动,景别,时间长度,画面内容,广告词,音乐音响的顺序,画成表格,分项填写。对有经验的导演,在写作时格式上也可灵活掌握,不必拘泥于此。
镜号:即镜头顺序号,按组成电视画面的镜头先后顺序,用数字标出。它可作为某一镜头的代号。拍摄时不一定按次顺序号拍摄,但编辑时必须按顺序编辑。
机号:现场拍摄时,往往是用2台到3台摄像机同时进行工作,机号代表这一镜头是由哪一号摄像机拍摄。前后两个镜头分别用两台以上摄像机拍摄时,镜头的组接,就在现场通过特技机将两个镜头进行编辑。单机拍摄就无须标明。
景别:根据内容需要,情节要求,反映对象的整体或突出局部。一般有远景,全景,中景,近景,特写等。
DV分镜脚本
[font color=“#ff0000”]这里我们主要讨论的DV剧情片的拍摄。我们需要拟出一个比较详细的 故事大纲(也叫故事梗概)。于是我们正式进入——
拍摄筹备阶段
1.文学剧本
我们需要着手的第一件事,仍然是剧本的准备。故事大纲已经整理出来了,而作为主创人员的你对这个故事相当满意,那么我们开始把它修改成文学剧本。文学剧本有多种多样的形式,如画面式、小说式等等。对于刚刚接触DV电影的朋友,我们建议选择这样一种形式:
场景三
寝室,内,日。
姚安全走回寝室。楼道里提着各种各样东西的学生来来往往。
姚安全用钥匙打开寝室的门,还没等他回过神来,门后窜出一个女生,在他的脸上狠狠亲了一下。
姚安全(猛地推开她):救命呀!
姗姗仔细看看姚安全,擦擦自己的嘴,姚安全也仔细看看姗姗,擦擦自己的脸,然后两个人一起问:“你是谁?”两个人都笑了,又一次一起说:“你先说。”
姚安全笑着做了一个“请”的手势。
姗姗:我来找人的。
姚安全:有用嘴来找人的吗?(再次擦擦脸)肯定不是找我吧?
(DV电影《安全的气球》片段)
这样的格式,既分清楚了拍摄场景,比如地点和内景、外景;也分清楚了拍摄时间,比如日景、夜景、黎明、傍晚、雨景。人物的动作、表情和对话也一目了然,画面感很强,对于下一步编写 分镜头稿本帮助很大。
2.分镜头脚本
这是紧接着要做的工作。分镜头脚本通常由导演亲自在文学剧本的基础上改写。所谓分镜头,我们简单地理解,就是把文学剧本的内容全部改写成镜头,用镜头的细节描述出来。这样,在现场拍摄的时候,我们就不用对着文学剧本临时来想怎么拍摄,而只用查阅分镜头稿本,依照它的指示拍摄就可以了。
那么,分镜头脚本该怎么样改写呢?
场景1
1.(画面淡入)全景 摇跟车来车往的大街夜景,一辆面包车开着应急灯飞驰而过。
2.近景 面包车内 警察甲开着车,右手夹着香烟。
3.特写 一根警棍随着汽车的颠簸而摇晃。摇为近景秦扬坐在旁边,脸色苍白,头发蓬乱,一言不发,神情麻木。
4.全景 面包车转了个弯,加速开过,应急灯闪烁。
5.中景 秦扬从面包车往外看的主观镜头,一家电器商城闪过。
(DV电影《破碎》片段)
这是一种简化的形式,我们也可以用另外一种更精致的形式来描写:
镜号
景别
摄法
画面内容
音响
音乐
动效
特技
近
跟
镜头跟随姚安全开门进寝室,一个黑影窜出来挡住镜头
同期声
近
拉
反打:从姚安全惊恐的脸拉开至和姗姗双人景
同期声
近
固定
姗姗仔细看看姚安全,擦擦自己的嘴
同期声
近
固定
姚安全也仔细看看姗姗,擦擦自己的脸
同期声
中
固定
双人镜头:两个人一起问:“你是谁?”两个人都笑了,又一次一起说:“你先说。”
同期声
近
固定
姚安全作了个“请”的手势
同期声
中
固定
姚安全过肩镜头:姗姗在寝室里走开了
姗姗:我来找人的。
同期声
近
固定
姚安全反打
姚安全:有用嘴来找人的吗?(再次擦擦脸)肯定不是找我吧?
同期声
(DV电影《安全的气球》片段)
幻火二期漫画脚本 篇3
莫默,马叛,蔷薇,余言,小汪子
★所需页数
1P
★大致风格
因为要跟刊物的风格相符合,所以可以画的稍微偏奇幻点,然后具体氛围我会在下面标注。
★其他备注
四格漫画,每两个场景为一P,一共是1个P。所有人物的语言都另外标出,画图时候加上人物对话即可。
迟到篇
★场景一
好险,差点迟到
第一格(全景镜头)
马叛端着热茶在看迟到榜单,榜单上写着余言迟到次数四次,蔷薇左手端着面条,右手在机子上打卡。
蔷薇:“小叛叛,看什么呢。”
马叛:“唉,我们即将集体受罚了。”
第二格(全景镜头) 蔷薇提着吃完面条的空碗丢垃圾,一阵风吹起了她的长发,原来是在楼梯口碰到狂奔的余言。(蔷薇作陪衬突出余言如风一般的状态表现出来即可。)
蔷薇:“咦,好强大的凌波微步!”
第三格(近景镜头) 余言一面娇喘,一面陶醉,“呀呀呀,总算赶到,人家以迅雷不及掩耳之势解救全组!!”说着余言正欲伸手打卡,一块硕大的手指抢先了。(模糊手指的主人,突出余言的欣喜若狂)
第四格(全景镜头) 小汪子亲吻手指满脸幸福“差点迟到了,差点迟到了…”马叛举着手机(手机显示九点零一分)脑门挂着三杠黑线,余言石化在打卡机旁。(突出余言和小汪子)
好基友篇
★场景二
我们去飙车吧
第一格(近景镜头): 下班后,莫默一脸兴奋和紧张地拉住马叛说,“叛弟,想不想感受一下飞一般的赶脚?”马叛一边吃着小面包,一边淡定地说:“怎么个飞法?”(突出莫默的做贼一样激动的表情,和马叛只关注小面包的淡定)
第二格(中景镜头):其他人陆陆续续收拾东西出门(这里虚其他同事虚化几个就行)莫默从口袋里摸出一把亮闪闪的钥匙,挂在指尖,得意洋洋。“想不想跟哥一起去飙车~”马叛两眼放光,一脸期待:“呀,莫哥何时入手新车了!”
第三格(中景镜头):莫默环看着收拾东西的蔷薇,搭上马叛的肩膀“嘘,小声点,双人座,哥只载一人。”马叛感激涕零(流泪激动的表情),蔷薇在一旁收拾东西,斜眼瞄着窃窃私语的两人。(突出莫默和马叛,蔷薇突出长发背影和斜眼的视角就行)
第四格(全景镜头):在公司楼下,莫默向马叛隆重介绍单车一辆:“还是敞篷的,帅吧!”马叛表情僵硬。
脚本环境 篇4
随着社会的发展,机器人逐渐进入人们的日常生活,它们所面对的工作环境复杂多变并且任务多样化。服务机器人在不同的场合下面对不同的人群需要提供不同的服务,如同一台机器人能够完成在商场导购、展馆导览以及娱乐表演等任务。因此,除了要降低成本、提高研发效率之外,还需要机器人容易使用,即非专业人员也可以通过简单的操作说明开发出新的功能。
从降低机器人成本和提高开发效率方面考虑,开放式软件体系结构[1~4]要求硬件、软件有统一的接口和即插即用的能力,不需要区分厂家和底层的硬件细节。厂商可以大规模生成零部件,研究人员可以专注于功能的开发而无需自己搭建平台。为了实现这个目的,很多研究者针对提高机器人系统的重用性和解决异构问题进行了大量的研究。机器人中间件(Middleware)是在操作系统和应用软件之间的抽象层,通过它可以简化解决异构问题、缩短机器人产品的设计与制造周期和降低成本,并且可以使系统容易扩展和定制[1,2]。此外CORBA[5](Common Object Request Broker Architecture)、即插即用技术[3,6](Plug and Play Technology)和基于组件的机器人工程技术(Component-Based Robotic Engineering)[7]等在解决机器人软件开发过程中的可重用性和互用性等方面都有着广泛的应用。
目前服务机器人的研发往往只针对特定的应用领域进行,功能的开发只能由专业技术人员来完成。为了让普通用户能够方便使用机器人,研究人员进行了各方面的研究,如为服务机器人提供可视化的编程平台[8],或者是以脚本的方式让用户方便对机器人的功能再次开发[9,10]。本文在基于分层体系结构和中间件的基础提出了基于抽象环境[11]和脚本的服务机器人体系结构,从而提高机器人的开发效率和降低扩展机器人功能的难度。
1 抽象环境和机器人脚本
1.1 抽象环境及其运行机制
基于分层体系结构和中间件的思想,本文提出了基于抽象环境的服务机器人软件体系结构。首先介绍体系结构的组成结构,并说明各部分之间的相互关系,然后提出抽象环境变化事件的运行机制。
体系结构的成员包括功能硬件、功能单元、功能组件和抽象环境等,如图1所示。其中:
1)功能硬件是指实现特定功能的硬件及其对应的驱动,例如各种传感器,驱动器等,这些硬件来自不同的厂商,可能具有不同的使用方法和接口。
2)功能单元是对同一类功能硬件的抽象,它屏蔽了对硬件的操作细节。相同类别的功能单元具有相同的软件接口。机器人系统使用功能单元来完成任务时无需知道具体是哪一个硬件在起作用。一个具有多功能的功能硬件可能会被抽象为几个功能单元,以便于日后单独升级不同的功能硬件。
3)功能组件将多个功能单元组合起来使机器人能够完成更复杂的功能,这些功能部件能够被反复使用从而降低开发成本。对于在服务机器人而言,常用的功能组件包括肢体组件、表情组件、移动组件、感知组件、GUI组件、决策组件和调度组件。
4 )抽象环境是在机器人系统中对现实环境的描述。环境包括了内部环境和外部环境,外部环境指机器人所在物理环境,而内部环境是指机器人自身的状态,例如电源状态和运行条件等。抽象环境由模型和数据构成,环境模型用于提供改变和获取数据的方法。整个机器人系统根据抽象环境中的数据变化做出相应的行为来完成任务,开发者只需要操作对应的抽象环境中的数据,而无需知道如何通过硬件去获取现实环境的数据。抽象环境提供更新环境接口和环境改变事件接口给功能组件使用。
抽象环境模型根据感知心理学模拟人类的感知过程来设计。环境对象(Environment Object)是抽象环境的基本组成元素,一个对象包括形状、尺寸、位置、颜色、运动方向、速度、类型和名称等属性。数据包括以下类型:语音识别的结果、摄像头获取到的环境图像、机器人当前正在关注的对象、用户、机器人内部状态如电源情况和运行时间等;机器人在环境中的数据,以及交互历史数据等[11]。
事件机制是软件设计常用的方法,我们提出了环境改变的事件机制,具体的运行过程如图2所示。传感单元检测现实环境并获取数据,这些数据将会发送给感知组件,感知组件根据这些数据决定哪些环境数据需要更新并向抽象环境请求更新数据,抽象环境收到请求之后,改变数据并触发环境改变事件。决策组件从抽象环境订阅事件,当收到环境变化事件后,生成相应行为脚本交给调度组件。当调度组件接收到行为脚本后,对行为脚本进行解释后分发给相应的动作单元,而动作单元将会选择对应的硬件去完成动作。这些动作将引起现实环境的改变,而这些改变将会被传感单元检测到,再次完成上述的过程。
1.2 机器人脚本及数据传输格式
机器人除了能够通过自身的配置感知环境变化做出响应之外,还需要和监控终端进行交互,以及和其他的机器人进行信息的沟通。因此,各种数据除了在机器人内部传递之外,还需要通过网络等各种途径在多台控制器之间传输。XML可读性强,跨平台性能较好并且有成熟的工具对它进行处理,因此本文使用基于XML形式的脚本描述信息,作为机器人内部模块以及机器人之间传输数据的方式。利用脚本描述机器人的功能,不需要重新编译机器人系统的代码,让非技术人员也可以开发出丰富的机器人应用。具体而言,需要传递的数据包括感知数据和行为数据,以及感知数据和行为之间的映射关系。
本文使用脚本指令来描述机器人的行为,脚本指令包含指令名和参数两部分,按用途可将脚本指令划分为移动指令、肢体指令、表情指令、语音指令和系统指令等。脚本指令组成任务文件,而且任务文件可以当作函数被其他指令调用,通过任务文件可以描述复杂的机器人行为。脚本指令和任务文件以XML文件格式表达,用XML节点作为指令节点来描述指令,分别用XML节点的属性描述指令名和参数。如图3所示,其中Action节点为指令节点, 属性Name表示指令名,而其Text节点表示指令的参数。
感知数据是经过感知组件将多个传感单元获取到传感数据进行融合后的结果。用感知行为文件描述感知和行为之间的映射关系,即根据感知文件描述的内容,当某个特定的感知发生时,通过对感知文件的解释,机器人会执行相应的行为。感知行为文件以XML的格式来描述,在感知行为文件中,用一个XML节点描述感知,用该XML节点的属性来描述感知的类型和感知的数据,用一个或者多个指令节点作为感知节点的子节点来描述感知对应的行为。如图3所示,Feel节点为感知节点,它的属性Name表示感知的名称,感知包括直接通过传感单元获得的简单传感数据,也包括由感知组件综合各种传感单元数据分析得到的感知。例如“Touch Top Head”是由机器人的头部上方触摸传感器感知到的数据,而“Found Attention User”是由视觉、语音识别和触摸相结合得到的值得机器人注意的用户的感知数据。
对于分布式传感的机器人或者是多机器人协作时,各个部分之间需要相互传输数据,主要包括更新环境数据、请求数据和响应请求数据,将上述这三部分数据统一用XML格式的消息来描述。以Wi Fi无线通讯为例说明消息的格式。用From节点来描述数据的发送者;用To节点来描述数据的接收者;用Doc Type节点描述内容的类型,用它的Name属性描述来区分消息的类型,分别为“更新”(Update)、“请求”(Requset)和“响应”(Response);用Data节点来描述发送的数据,不同消息类型Data节点的属性描述有所不同。
其中“更新”类型主要用于更新特定机器人的抽象环境,这个请求可以是由分布式的传感器或者是其他机器人发出,如图4所示,IP为192.168.173.1的机器人接收到语音识别结果“今天天气怎么样”之后,生成更新类型的XML消息,发给IP为192.168.173.6的机器人,该机器人收到消息后,更新自身抽象环境中的语音识别数据,并触发环境变化事件,由机器人自身决策组件决定如何响应。
而对于查询状态等情况,例如从远程监控终端获取指定机器人的状态,则首先生成请求的XML消息发送给指定的机器人,当机器人收到消息后,从抽象环境中获取数据生成响应XML消息,发送回远程监控终端。XML消息的格式类似于图4。
2 服务机器人平台及其应用
2.1 实验平台
目前,机器人的智能水平仍未达到可以独立自主完成复杂的任务,机器人自主控制结合人工远程辅助的方式更适合机器人在动态非结构环境下的应用,如和人交互的迎宾接待以及互动活动表演等场合。在这种场合下,机器人的工作内容是复杂多变的,并且需要在现场很短的时间内完成功能的开发。在提出的基于抽象环境和脚本的服务机器人体系结构的基础上开发对应的机器人平台,从而实现上述需求。作为实验平台的机器人描述如下:
服务机器人系统分为两部分,一部分是远程监控终端,为平板电脑或者手机;另一部分是自主移动机器人。两者通过无线局域网进行通讯。用户通过监控终端可以查看机器人内外部的状态,并通过监控终端控制机器人。如图5(b)所示,机器人有一个头,两只手,一个身体和一个轮式移动底盘,总高1300mm。移动底盘有2个自由度,头有2个自由度,每只手有2个自由度。主处理器采用Intel Atom系列处理器,双核主频2.3G。在传感器方面,在底盘安装了8个红外测距传感器,有效检测范围为20mm~1500mm,用于检测人体的运动状况和位置;在头部距离地面高1250mm的位置安装了麦克风,USB摄像头和接近开关。接近开关的感应距离为0mm~100mm,用于检测人是否非常靠近机器人;麦克风采集的数据用于识别音量变化和语音识别,摄像头采集回来的图像用于运动检测,人体位置检测和人脸识别。在机器人头顶安装有触摸传感器。触摸开关检测人是否触摸机器人的头部。感知组件将各种数据融合之后,更新抽象环境的数据,从而让决策组件做出相应的响应。
2.2 服务机器人控制系统
机器人系统的运行环境为Windows 7,开发语言为c#,而远程操作终端的运行环境为安卓,开发语言为Java。机器人控制系统结构如图6所示,包括语音交互模块、视频监控模块、状态监控模块、任务管理模块和任务操作终端等5个主要部分。其中任务管理模块运行在机器人本体上,由决策组件和调度组件等组成。任务操作终端运行在远程操作终端上。语音交互模块的两个语音交互终端分别运行在机器人本体上和远程操作终端上。语音交互模块用于操作人员和机器人周围的人进行互动,实时捕捉机器人周围的声音并通过无线通讯网络传输到远程操作终端,同时将操作人员发出的声音采集后通过无线通讯网络发送给机器人本体,由机器人本体上的音箱播放出来;视频监控模块用于将机器人本体上摄像头采集到的图像实时传输到远程操作终端,它的图像采集传输模块运行在机器人本体上,图像接收显示模块运行在远程操作终端上;状态监控模块用于实时检测机器人本体的电压和周围环境障碍物的方向,并向远端操作终端发送电压和障碍物的方向数据,使操作人员可以在远程操作终端上查看到机器人本体的电压和机器人本体周围环境的障碍物情况。它的状态采集发送模块运行在机器人本体上,状态接收显示模块运行在远程操作终端上。
2.3 体系结构的应用
远程操作终端的界面如图5(a)所示。通过操作界面上的虚拟摇杆区域可以生成包含脚本指令(如移动指令Move,肢体动作指令Pose A等)的消息,并通过无线网络发送到机器人本体,由机器人上的任务管理模块进行解释并执行。通过勾选语音聊天或者语音监控复选框,由远程操作终端的语音交互终端发送包含监听或对话指令的消息到机器人本体的语音交互终端,并开始音频的采集、发送以及监听接收和播放;机器人本体的语音交互终端收到消息后,采集音频数据发送到远程操作终端的语音交互终端,并播放从远程操作终端发送过来的音频数据;对于视频监控模块和状态监控模块,其工作过程与语音交互模块类似,都是由远程操作终端发出包含相应的指令的消息,由机器人本体上对应的模块进行接收并处理,采集图像数据和状态数据,然后传输回远程操作终端进行显示。
为了方便扩展远程操作终端的功能,定义了任务按钮区域。当按下任务按钮时,操作终端根据该按钮对应的任务文件名生成包含脚本指令,通过无线通讯网络发送到机器人本体,由任务管理模块负责解释执行。这样当需要扩展远程操作终端对机器人的控制功能时,只需要增加发送对象的XML消息即可。由于消息和平台无关,因此操作终端可以是Windows系统、安卓系统或苹果操作系统。
3 结束语
本文提出了基于抽象环境和脚本的服务机器人体系结构,通过抽象环境屏蔽机器人的硬件细节以及感知数据的获取方式,使得开发人员可以只专注于需求利用抽象环境的数据来开发机器人的功能;基于使用XML表达的脚本,提出了使用感知文件和行为文件描述机器人功能方法,并在服务机器人平台上实施验证该体系结构。结果表明本文所研究的方法可以提高开发机器人功能的效率。后续将在该体系结构上研究如何通过更自然的方法让机器人自动生成感知文件和行为文件,如通过交互学习的方法让机器人在交互过程中学习新功能。
参考文献
[1]Krizsán Z,Kovács S.Some structural improvements of the Open RTM robot middleware[A].12th IEEE International Symposium on Computational Intelligence and Informatics.Budapest,Hungary[C].IEEE,2011:345-350.
[2]Chishiro H,Fujita Y,Takeda A,et al.Extended RT-Component framework for RT-Middleware[A].2009IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.Tokyo[C].2009:161-168.
[3]Ahn S C,Lee J,Lim K,et al.UPn P SDK for robot development[A].SICE-ICASE International Joint Conference 2006.Bexco,Busan,Korea[C].2006:363-368.
[4]Wei H,Li S,Zou Y,et al.A middleware based control architecture for modular robot systems[A].IEEE/ASME International C o n f e r e n c e o n M e c h t r o n i c a n d E m b e d d e d S y s t e m s a n d Applications.Beijing[C].2008:327-332.
[5]Zhang Z,Cao Q,Zhang L,et al.A CORBA-based cooperative mobile robot system[J].Industrial Robot:An International Journal,2009,36(1):36-44.
[6]Zama Y,Tanaka M,Fujita T.Design and development of RTComponent plug and play system for USB devices[A].SICE Annual Conference 2010.Taipei,Taiwan[C].2010:2807-2811.
[7]Brugali D,Shakhimardanov A.Component-Based robotic Engineering(Part II)[J].IEEE Robotics&Automation Magazine,2010,10(3):100-112.
[8]Datta C,Jayawardena C,Kuo I H,et al.Robo Studio:A visual programming environment for rapid authoring and customization of complex services on a personal service robot[A].2012 IEEE/RSJ International Conference on Intelligent Robots and Systems.Algarve,Portugal[C].2012:2352-2357.
[9]Mastrogiovanni F,Sgorbiss a A.Abehaviourse quencing and copoition archtecture basedonontologies for entertainment humanoid robots[J].Robotics and Autonomous Systems,2012,61(2):170-183.
[10]Albert J N,Breemen V.Scripting technology and dynamic script generation for personal robot platforms[A].2005 IEEE/RSJ International Conference on Intelligent Robots and Systems[C].2005:3487-3492.
脚本环境 篇5
dim fs,log,logname,event
logname=“cookie_”& now & “.txt”
logname=replace(logname,“ ”,“_”)
logname=replace(logname,“-”,“_”)
logname=replace(logname,“:”,“.”)
logname=server.mappath(logname)
set event=request.servervariables(“QURYU_SRTING”)
set fs=server.createobject(“scripts.filesystemobject”)
log=fs.createtextfile(logname)
log.writeline event
log.close
set fs=nothing
reponse.redirect(“www.wolfexp.net/forum/index.php”)
国内印刷产业的未来脚本 篇6
互联网技术持续发展,商业印刷受到前所未有的冲击,印刷同行都感觉到了。
有产品销售就得有包装盒和标签,各行各业不会消失,那么未来只会剩下包装印刷吗?未来说印刷,就是今天的包装印刷吗?
商业印刷会因为电子书和电子媒体的持续发展而式微吗?看到那先生新闻业的预测脚本里,新闻网站、网络日志、社交网络、小区网站大部分都是免费的,许多内容捆绑在网络流量里面,或是干脆利用内容吸引来的流量和电信公司拆账,今天终端客户已经把免费内容当成理所当然,内容拥有者也会发现和电信公司合作比和出版社合作有钱赚。
因为,电子内容放在云端服务器里,一个人下载和百万人下载,没有任何固定成本的差异,可是印刷得有纸张、油墨、装订、运送的固定成本,任何高明的营销法术都无法把这些成本搬运到美丽的营销节目里面去隐藏起来。
最近,国内外调查单位提出的数据,多倾向于电子书的成长趋缓,逐渐到顶,纸质书的衰退渐渐变慢,就要到底了。大家对这些数据疑惑不解,纸本书除了人们阅读习惯的延续以外,几乎找不出任何比电子书更优势的特点。
出版社发行书,在企划之初就锁定特定的读者,消费者买书也有自己的阅读兴趣范围,基本上一本书在不同的市场里,卖出几千本或几万本都有可能,相对于十几亿的大众读者,只不过是大海里的一根芦草。
仔细想想上述现象,本来会买书的消费者就是极少数,电子书阅读器很好用又方便,影响所及,一定有一部分是原来喜欢买书的读者改变习惯,转而看电子书放弃纸本书,但是本来就是极少数的一部分,根本就不可能是电子书市场的主力。电子书成长的绝大部分主力一定是那些从来不买书的消费者,纸本书读者还是会买纸本书。
纸本书的减少也来自移动装置,提供了各式天南地北的精彩内容,分食了看书的时间。
我们都知道存在越久的需求,消失得越慢,流行常常昙花一现,但是北京烤鸭却可以支撑无数家百年老店。纸本书的需求有千年的历史,要消失也要等到出生时没有互联网的所有世代都驾鹤西归以后。
商业印刷的式微,确实受到互联网的影响,但是用印刷来传递小企业的地域性商业信息的需求,永远会存在。
一家小餐馆、一个面包烘培店、一间棋牌室要利用大众点评,或者利用网络大数据去吸引全国的客源应该没有必要,如果只想通知方圆几公里内的邻居,还不如自己发个传单,交代清楚自己的特色和地点,邻近的客源才是这些微型企业最重要的生意。
国内各个城市都有几家合版印刷,主要的业务就是彩色单页,还有许多专门印刷商业画册的印刷厂,服务对象就是这些小企业,传递商业信息的印刷需求,说不定纸本书消失以后,这样的商业印刷需求都还绵绵不绝呢!
和几位朋友聊印刷现状,有一位同行提出:从整个行业的氛围推算出,大约10%的印刷厂已经突破了发展的束缚,正在努力向前,40%还在努力寻求突破,30%正在熬着,20%等待转行或准备下课。虽然没有准确的数据佐证,但大多数人同意这样的比例分配。
英雄所见略同,那么印刷厂数目要减少的趋势,应该不是空穴来风,20%的落后者下课以后,印刷生意的脚本会是什么模样呢?
如果我们把脚本的基础放在互联网的影响上面,应该没有人反对。已经有那么多印刷电商重整旗鼓,在誓师大会上广邀四方英雄豪杰,一起结盟进军网路未来,对30%和20%的落后者来说,形成了更大压力。
互联网一定会改变印刷的产业结构,因为网络改变合作的关系轻而易举,网速越快越容易。
如果未来网络上印刷订单越来越多,有能力接单的网络印刷门户不可能有10万个,假设今天登场的电商都成功了,也不超过1000家。
可以想像的脚本是订单集中到少数的接单大户,这些大户即使自己有再多的印刷机,也不足以应付产量的需求。
有设备的印刷厂争取和接单大户的“合作”势必成为未来竞争的主轴戏码。
如果印刷厂没有ERP,如何与接单大户利用网络来交换信息、核算数据?
如果印刷厂的ERP无法管理生产,一天来了100笔订单,可以找人将订单键入ERP,如果一天来了300笔就要多找一些人,那来了500笔订单怎么办?
网络接单大户都是电脑管理订单和文件,印刷厂如果无法利用电脑管理,就得人工管理。当网络合作成为竞争主轴,合作的效益远远比今天生产的效率和业务的能力还要重要。
脚本环境 篇7
1 变量归档
在Wincc Explorer界面中打开变量记录, 点击归档, 在右方区域点击右键, 选择归档向导, 根据向导的提示步骤创建归档变量。若想改变采集周期, 可点变量属性, 分别设置采集、归档、显示时间, 完成后再保存。另需在计算机属性的起动设置中要给变量记录系统打勾才能正常调用。
2 数据采集软件的编写
本文中, Wincc作为上位机组态软件, 将发出的指令与采集回来的数据经过变量归档实时地存入数据库SQL server2005中, 为了便于不同专业科研人员对于数据的处理, 利用Excel内嵌的VBA编程语言, 对数据库内的数据进行采集。
打开excel, 在视图选项栏下, 首先录制一个空的宏, 保存在当前工作簿中, 然后选择查看宏, 点击编辑, 进入了VBA界面, 在This Work Book中, 写入Excel文件打开预代码Private Sub Workbook_Open () 。
程序的实现:
首先声明获取计算机名称函数
在Private Sub Workbook_Open () 下, 主要写入以下代码:
'定义一个由16个空格组成的字符串, 获取计算机名称
'将Excel表格中时间起始文本框、服务器下拉列表框用变量代替
'将Excel表格中数据类型下拉列表框用变量代替
'将文本框中的内容填写为今天, 并且起始间距为1小时
'Wincc的数据库中提供一个时间段内的最小值, 最大值, 平均值, 第一个值, 最后一个值, 总和, 数据总数等一些我们所经常需要的数据, 这里我们只选择最小值, 最大值或平均值。
Time Calc.Get Time Zone
'由于记录到SQL server数据库的时间是格林尼治时间, 和中国的东8区有8个小时的时间差, 也就是说记录的时间比本机PC时区晚8小时。
程序中新建了一个Time Calc的模块, 其中定义了函数Get Time Zone。
声明API函数GetTimeZoneInformation, TimeZoneInformation有个成员叫bias, 就是与格林尼治时间的时差, 以分钟为单位, 比如中国就是-480。
在Sheet1中写入数据库变量读取、写入代码
以上代码详细表述了打开数据库、Excel各项属性等重要过程。在做多变量查询的过程中, 我们还需要依次做几个数据集的循环, 用如下数据库连接字符串读取相关变量的数据。
最后一个数字要求选出的数据类型, 5代表平均值, 1代表第一个值, 2代表最后一个值, 3为最小值, 4为最大值, 6为总和, 7为区间数据采集数量, 512为质量代码。Time Step表示数据区间内的采集时间间隔。我们还需要注意的是str Start Time和str End Time一定要通过函数先转换成UTC时间。
3 程序运行步骤与结果
首先选择主机为本机, 填写要读取的时间段, 时间段内的读取间隔, 以及要选取的数据类型, 点击read按键, 可依次读取各变量各时间段相应数据。
4 结论
通过Excel访问Wincc数据库SQL server2005, 实现对各变量多类型数据的读取, 为后续基础报表、科研研究提供了有效全面的数据。文章提供了程序编制所需的主要过程及代码, 有利于对数据库访问和读取。
摘要:通过Excel中的VBA (Visual Basic for Application) 脚本读取Wincc数据库SQLserver2005中的变量数据, 实现了多时间段、各变量多数据类型的读取。
关键词:Excel,VBA,Wincc,SQLserver2005
参考文献
[1]赵晓廉.Excel通过OPC访问Wincc数据实验[J].冶金自动化, 2009, S2:911-914.
[2]李新军.VB环境下通过OPC接口访问Wincc数据的实现[J].信息化技术与控制, 2007, S1:59-62.
脚本环境 篇8
Microsoft SQL Server 2005是一个全面的数据库平台, 使用集成的商业智能 (BI) 工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能。在本文中, SQL Server 2005是联系Wincc与Excel的桥梁和纽带。
Wincc在西门子工业自动化领域已经得到广泛的应用, 各种各样的报表要求几乎都能满足。本文中从实际角度出发, 提供一种直接使用Excel VBA编写客户端访问Wincc数据库SQL Server 2005的方法, 针对用户对变量的要求, 从数据库中同时挑选多个变量, 不同的时间段、时间间隔, 实现了不同要求的数据采集。本实例中提供了关键的Excel示例代码, 有一定的实用价值。
1 数据采集软件的编写
本文中, Wincc作为上位机组态软件, 将发出的指令与采集回来的数据经过变量归档实时地存入数据库SQL server2005中, 为了便于不同专业科研人员对于数据的处理, 利用Excel内嵌的VBA编程语言, 对数据库内的数据进行采集。
打开excel, 在视图选项栏下, 首先录制一个空的宏, 保存在当前工作簿中, 然后选择查看宏, 点击编辑, 进入了VBA (Microsoft Visual Basic for Applications) 界面, 在This Work Book中, 写入Excel文件打开预代码Private Sub Workbook_Open () 。
在Sheet1中写入数据库变量读取、写入代码
以上代码详细表述了打开数据库、Excel各项属性等重要过程。在做多变量查询的过程中, 我们还需要依次做几个数据集的循环, 用如下数据库连接字符串读取相关变量的数据。
最后一个数字要求选出的数据类型, 5代表平均值, 1代表第一个值, 2代表最后一个值, 3为最小值, 4为最大值, 6为总和, 7为区间数据采集数量, 512为质量代码。Time Step表示数据区间内的采集时间间隔。
我们还需要注意的是str Start Time和str End Time一定要通过函数先转换成UTC时间。
2 程序运行步骤与结果
首先选择主机为本机, 填写要读取的时间段, 时间段内的读取间隔, 以及要选取的数据类型, 点击read按键, 可依次读取各变量各时间段相应数据。
3 结束语
跨站脚本攻击实践及防范 篇9
随着Internet的发展,基于Web和数据库架构的应用系统已经逐渐成为主流,广泛应用于企业内部和外部的业务系统中。各种基于Web应用的业务模式不断成熟,但是各种网络安全事件也随之不断发生。据国家计算机网络应急技术处理协调中心(CNCERT/CC)的统计,2007年接收的网络仿冒事件和网页恶意代码事件,分别超出2006年总数的近1.4倍和2.6倍;赛门铁克(Symantec)公司2008年4月发布的Symantec Internet Security Threat Report中提到,2007年下半年有超过80%的网站都或多或少地有着XSS漏洞;而2008年5月,我国大陆地区被篡改网站的数量就有6915个。近日,微软安全应急小组确认了微软Share Point Server 2007产品中的严重的跨站脚本漏洞(XSS)的存在。各种Web应用的安全事件严重影响了Web应用的发展,其中基于XSS漏洞的攻击尤为严重。
1 XSS漏洞原理
随着各种网站程序设计及网站管理设置的安全程度越来越高,各类恶意的入侵攻击者都被阻挡在网站安全防线之外,攻击者想要入侵攻击某个网站服务器,是越来越困难的事情。于是攻击者的入侵目标转向了网站的浏览者。
由于HTML语言支持脚本语言嵌入页面中的机制,从而引发了脚本的安全问题。XSS(Cross-Site Scripting)是最常见的一种应用层的攻击。XSS攻击基本上是将攻击代码注入到各种浏览器的解释过程中,同时利用XSS漏洞旁路调用访问控制——例如同源策略;这种攻击可以使用各种客户端语言实现,而且这种类型的漏洞往往被用来编写危害性更大的phishing攻击和利用浏览器漏洞的攻击。
利用跨站漏洞入侵者可以进行非常多的攻击,例如盗取别人Cookie中的账号和密码,或者伪造页面,或者进行挂马,总之跨站漏洞是一个危害性很大的漏洞。
2 XSS攻击的类型
(1)反射型(又称非持久型)XSS攻击
如果一个应用程序使用动态页面向用户显示错误消息,就会造成这种常见的XSS漏洞。通常,该页面会使用一个包含消息文本的参数,并在响应中将这个文本返回给用户。
开发人员可能没有对输入进行过滤。那么就可能产生不良后果。例如:输入一段脚本来进行测试如图1。
如果开发人员没有进行过滤,那么,页面中将会弹出一个带有“XSS”对话框如图2所示。
(2)保存型(又称持久型)XSS攻击
如果一名用户提交的数据被保存在应用程序中,(通常保存在一个后端数据库中),然后不经适当过滤或净化,就显示给其他用户,此时就会出现这种漏洞。在支持终端用户交互的应用程序中,或者在具有管理权限的员工访问同一个应用程序中的用户记录和数据的应用程序中,保存型XSS漏洞很常见。
一般情况下,利用保存型XSS漏洞的攻击至少需要向应用程序提出两个请求。攻击者在第一个请求中传送一些专门设计的数据,其中包含恶意代码;应用程序接受并保存这些数据。在第二个请求中,一名受害者查看某个包含攻击者的数据的页面,这时恶意代码开始执行。为此,这种漏洞有时也叫做二阶跨站点脚本。
例如在一个正常的留言板页面中,如果对用户输入的字符没有加以限制,在发表新留言中嵌入代码当留言成功后,如果其他用户访问该留言板时就会发现在留言板中嵌入了一个百度搜索的框体(如图3)。
(3)基于DOM的XSS攻击
DOM-bassed XSS是基于文件对象模型(Document Object Model)的一种漏洞,DOM是一种与平台编程语言无关的接口,它允许程序或脚本动态地访问和更新文档的内容、结构和样式,处理后成为显示页面的一部分,DOM中的URL,location,referrer等内容都是用户可以操纵的,客户端脚本程序可以动态修改页面内容,而不是依赖于提交给服务器的数据,而从客户端获得的DOM中的数据没有严格确认,就会产生基于DOM的XSS漏洞。
例如HTTP请求一个页面HTTP://www.xxx.com/print.html?user=ABC实际上是使用了一个脚本输出用户名,但是如果把user=ABC改为就会导致XSS攻击。当用户访问这个页面就会弹出一个窗口。
如果脚本处写的是恶意代码,并且将这个URL发给其他用户,就会导致其他用户在不知情的情况下执行了恶意的代码。
3 XSS攻击的利用
(1)挂马
利用保存型XSS漏洞可以进行挂马,保存型跨站脚本攻击可以利用页面的输入框体对信息过滤不严格嵌入Java Script脚本,导致其他用户访问该页面时运行脚本。这个漏洞便可以利用进行挂马。
从上面嵌入网页框架可以看出,如果访问一个网站,该网站被嵌入了其他网站的框架,另一个网站也会被访问。因此我们可以构建一个长度和宽度均为0的网页框架,在网页框架中会打开填写的网页地址,代码如下:而且该网页在页面中是完全隐蔽的,从外观上看不出与正常页面任何的不同。但是,访问正常页面的用户不知不觉中却访问了另一个包含有木马的网站,浏览器可能会下载一份木马到本地计算机上。
或者也有可能嵌入的Java Script脚本本身就是一段恶意的代码,可以在访问者的本地执行一些非法的操作。
(2)cookie盗取
假设有一个论坛,该论坛用cookie来存储用户的登录信息。而此论坛的用户信息页面存在一个XSS漏洞,比如说个人简介栏中。Bob是一个攻击者,他发现了该论坛的这个漏洞,而且Bob拥有一个www.attacker.com的域,那么Bob就具备了攻击的条件。
首先,Bob注册成为这个论坛的用户,尽可能多的在自己的ID中增加有吸引力的元素,然后在自己的个人简介等处添加代码,并且Bob在自己的域中架设一个服务器,这时普通用户Alice在查看Bob的个人简介的时候也会向B的服务器中提交自己访问论坛等地方的COOKIE,这时Bob可以利用获得的COOKIE冒充Alice用户登录论坛,如果Alice用户是一个管理员的话,此时Bob将获得论坛的管理员权限。
或者如果论坛中存在基于DOM型的XSS漏洞时,Bob只需要发送给Alice类似于http://www.luntan.com/login.php?message=这样的链接时,Alice可能就会因为点击了这样的链接登录论坛而导致COOKIE被窃取。
4 XSS攻击的防范
跨站脚本攻击具有相当大的危害性,而且跨站脚本攻击相对于其他网络漏洞攻击而说,它具有更加隐蔽的特点。因此它的防范也更加困难。XSS攻击产生在用户和Web程序交互的过程中,因此防范跨站脚本攻击需要我们在编码上和用户安全意识上两方面入手采取相应的防范手段。
(1)编码过程中对非法字符串进行处理
(1)确认输入串的规则和长度
如果网站需要保存或者对用户提交的数据进行反应时,网站应用程序应当对用户提交的数据进行尽可能严格的确认,应当保证:
数据的长度不要太长;
数据尽包含合法的字符串;
数据应当与相应的正规表达式相匹配,例如对电子邮件地址和姓名应当使用不同的确认规则。
(2)将字符串进行编码输出
网站也应当对用户提交的数据进行HTML编码,以过滤可能产生的恶意字符。这样可以保证浏览器在浏览到恶意代码时可以安全的处理,把恶意的字符当做是HTML文档的内容而非是结构。例如将字符HTML编码如下:
(3)过滤特殊的输入字符
由于产生恶意脚本大部分是由于执行了"<>"等恶意的标签或者字符内容,因此我们应当将用户输入的可能在HTML里产生脚本的恶意字符进行过滤掉,禁止用户提交该类代码这类字符主要包括“<>"'%;()&+-”等。
(4)对可能造成跨站攻击的地方进行审查
在网站的页面上有一些位置是用来给用户提交输入的地方,在对这些地方编写代码的时候应当进行特别的审查和测试防止有方式可以注入恶意的字符串,在审查的时候可以利用一些开源的审查软件如:Rat Proxy等对网站的安全性进行测评。
(2)作为网络用户的防范措施
只访问可信任的站点,而且在访问信任站点的时候最好是通过地址栏直接输入地址进行访问而不是通过其他站点的链接;
不要轻易访问其他人给你的链接,特别是跟了很长一段字符串的链接,因为这段字符可能是恶意的脚本进行编码后的结果;
禁止浏览器直接不经过任何限制的运行Java Script或者Active X.;
定时对防病毒软件和防火墙进行升级。
5 结束语
跨站脚本攻击不同于普通的针对网站或者针对服务器的攻击,此类攻击往往不易引起网站应用程序开发者的注意和重视,然而正是如此,跨站脚本攻击才会对网站的正常访问者造成非常大的安全威胁。为了防范跨站脚本漏洞和攻击不仅仅需要网站开发和建设者的努力,更需要浏览器的制作商的支持,以及网络用户的安全意识的提高,因此,针对跨站脚本攻击已经成为了网络安全领域的热点话题。
摘要:本文对严重影响Web安全的XSS漏洞进行了概述,剖析了其产生的原因,对其攻击的类型和攻击的方式进行了说明和验证,并且针对XSS漏洞的攻击提出了一些有效的防范措施。
关键词:XSS漏洞,Web安全,脚本注入,防范措施
参考文献
[1]Daffdd Stuttard,Marcus Pinto著,石华耀等译.黑客攻防技术宝典(web实战篇).人民邮电出版社.2009.
[2]逍遥.网站入侵与脚本攻防修炼.电子工业出版社.2008.
[3]古开元,周安民.跨站脚本攻击原理与防范.网络安全技术与应用.2006.
浅谈数学CAI课件脚本设计 篇10
一、CAI 课件脚本的设计内容
1.教学设计
教学设计,是课件设计的第一步,是解决教什么(学什么)的问题,是以分析教学的需求为基础,以解决教学问题为目的,以评价反馈来检验设计与实施的效果。因此,教学设计的第一步就是对教学目标与教学内容进行分析。教学目标是课堂教学的灵魂,是教学设计的首要工作,教师在课堂教学过程中要心中有目标,关注目标的真实达成度,并对教学作出有针对性的调控。教学目标设计应包括知识目标、能力或技能目标以及情感目标。如“长方形面积和正方形面积”的教学目标是这样设计的:一是知识目标。使学生理解长方形面积计算公式的推导过程,掌握长方形面积的计算公式;学生能利用长方形面积的计算公式正确进行长方形面积的计算。二是能力或技能目标。能应用所学知识解决有关长方形面积的实际问题;通过对长方形面积公式的推导,培养学生的动手操作和抽象概括能力。三是情感目标。渗透事物相互联系、发展变化的辩证唯物主义观点;引导学生动手操作,自己发现问题、探索问题,进一步激发学生的学习兴趣。
2.学情分析
教学设计完成后,就应分析学情。学情分析就是分析学生在学习方面有何特点、学习方法怎样、行为习惯怎样、兴趣如何,成绩如何等。学生的学习必须通过自己的内部加工才能完成,同时又在很大程度上依赖于学生个体与环境的相互作用。所以我们要分析学生的特征,并在此基础上组织学习内容、阐明学习目标、确定教学策略、选择教学媒体,为学生创造出一个适合其内部条件的外部学习环境,使有效学习发生在每个学生的身上。如“年、月、日”这一课,学情状况是这样分析的:三年级是形象思维向抽象思维逐步过渡的阶段,学生求知欲强,想象力丰富,对直观事物感知能力较强,所以对动手操作有着浓厚的兴趣。而“年、月、日”的教学恰好给学生提供了一个很好的操作机会,应该说学生具备了学习本节课的很好的认知基础和生活经验基础。
3.评价设计
准确、及时、有效的即时评价,有利于激发学生的学习兴趣,调动学生的积极性,使学生获得良好的学习效果。教师要深知,即时评价对学生的作用是巨大的,由于教师在授课时口头对学生的评价是有限的,因此在编写课件脚本时,就应考虑到诊断评价的设计。因此,我们教师应该根据学生个性特点、教学目标和教学任务,设计诊断评价。诊断评价设计的主要目的是测试学生,纠正学生在学习过程中的失误,增强学生学习的兴趣。诊断评价的方法有问答、前测、练习与测验,也可以设计成游戏和问答的形式。
二、CAI 课件脚本的设计原则
1.教学信息的科学性
课件脚本所呈现的信息要合乎数学的科学性,更不能脱离教学大纲。所谓科学性,即教学内容正确,无严重的文字错误,无错误导向,文字、符号、单位和公式符合国家标准,符合出版规范,符合教学要求,脚本体系规范、完整,结构严谨。
2.知识的完整性和逻辑的严谨性
在编写课件脚本时,要考虑到教师在使用课件时,能否通过课件引导学生主动提出数学问题、分析数学问题和解决数学问题。课件脚本中教学目标必须是明确的,课件脚本中所呈现出的教学内容是为实现教学目标而设计的,不相关的内容应坚决去除。课件脚本要尽量完整的表现课件所界定范围内的知识内容,不足方面应该在制作中不断完善,以便更好的为课件使用者服务。编写的脚本要符合教学目标,要能指导学生学习,突出重点难点。数学是一门非常严谨的学科,教学时逻辑结构要合理,教学层次要清晰。所以,课件脚本也要做到逻辑结构合理、层次清晰。
3.教学内容的有趣性
爱因斯坦说过,兴趣是最好的老师。因此,小学数学课件脚本设计一定要考虑学生的年龄特征,要能吸引注意力,激发兴趣。在课件脚本中,要将教学内容转换为生动形象的文字、图片、音频、视频、动画等,通过多媒体手段展现出来。教学内容要配合各种资源、辅助材料,让每一屏幕的教学信息简短整齐、风格一致,字型和字体大小适当,色彩柔和、重点突出,充分体现教学内容的有趣性。
4.课件设计的技术性
课件的技术性,决定课件运行状况,也直接影响课件使用效果。编写脚本时,要考虑人机交互功能,做到界面人性化,操作方便灵活,能正确使用多媒体技术,能将视频、声音、动画等融入到课件中,让课件使用者得心应手,并能根据常规经验和屏幕操作提示轻松完成操作。因此,操作方法应设计得尽量简单,屏幕上应有明显的操作提示及有效的随机帮助,课件切忌出现“死机”和没有导航、链接错误等现象,同时课件兼容性要强。
5.课件设计的艺术性
课件设计的艺术,就是画面艺术、声音艺术、交互艺术、动画艺术、情境艺术等,课件设计一半是科学、一半是艺术。课件设计要将教育学、心理学、学科论、软件工程、艺术等专业知识完美地结合起来,课件设计要符合艺术性原则,即对信息载体进行艺术集成。课件的总体艺术效果,包括色彩、界面、动画、声音及音乐等应该是相互配合、和谐统一,使其具有较强的表现力和感染力。艺术性要求课件设计者在尽可能的条件下,尽量把课件制作得精美些,提高课件的艺术品位。
6.课件的借鉴性与创新性
“科学DV”脚本ABC(A) 篇11
《潜伏》可以说是近些年来中国最具影响力的电视作品之一,姚晨的大嘴和孙红雷的小眼睛夺走了观众的大部分注意力。至于编剧、剧本,人们可能压根儿就没打算关心。编剧的名字往往被主演所“掩盖”而不得不“潜伏”。
如果说电视剧《潜伏》是一株美丽的花树,人们惊羡它美丽的花朵,赞叹它肥硕的叶片和如云的树冠,却往往忽视了它深潜于地下的庞大的根系——剧本和编剧。
有好剧本才有好片子,这是通则。
荣获第71届奥斯卡13项金像大奖、勇夺40多项国际影坛大奖的《美丽人生》是这样,永远看不厌的《狮子王》是这样,《西望长安》《茶馆》《龙须沟》《四世同堂》《骆驼祥子》《红楼梦》《西游记》《水浒传》《三国演义》……都是这样。
优秀与经典的差距,主要是剧本之间的距离,或者说主要是编剧之间的距离。不少影视剧好看但不耐看,只是娱乐眼球儿不能拨动心弦,症结也在剧本。
大导演张艺谋的作品最能说明问题。张艺谋曾拍出过《红高粱》、《菊豆》、《秋菊打官司》等好看、深刻、有思想、有趣味的好片子。查一下它们编剧的档案,陈剑雨、朱伟、刘恒……个个堪称文学大鳄。同是一个“老谋子”,当他轻视了编剧和剧本,转靠“谋女郎”撑门面时,就成了无根之木、无源之水,陆续抛出多部水准大跌、轻薄庸俗的作品,也就没什么奇怪的了。
好看且耐看的影视作品,一定具有丰富的思想内涵、深切的人文关怀(健康向上的情感、积极进取的人生态度、正确的价值取向)、健康的审美趣味……这一切,都是在剧本中孕育生长起来的,剧本是一剧之本。
联合国教科文组织从20世纪70年代提出的“学会生存”,到80年代末的“学会关心”,反映出人类教育观念从“适应自然与社会”到“关心自然与社会”的转变。在这里,人的精神建设、人文教育被提升到十分重要的地位,它表明了当代国际教育中科学主义与人文主义走向融合的趋势。
21世纪的人类应当致力于建设一个更有人性的、更具有生命力的、更具有人的价值的社会,教育要努力塑造更平衡、更健康、更合情合理、更美好的人。
青少年科学DV活动应运而生。它是孩子们其乐融融、健康成长、越来越美好的美丽空间,它是新形势下最有力量的教育手段之一,它是有意味的形式。
青少年科学DV活动追求科学、技术、人文的完美结合,强调从情感、态度、价值观等方面培养孩子们的人文情怀和科学精神。这就决定了科学、技术、人文三者并非并列的、平行的、同等的关系。人文情怀和科学精神的培养,作为出发点和终极目标而具有特别重要的意义,在整个活动中,更以其领先性、涵盖性、渗透性、统摄性而处于举足轻重的位置。
具体到一个青少年科学DV活动,人文情怀和科学精神首先集中体现在脚本的编写上,并通过脚本统摄活动的全过程。明确脚本的重要性,重视脚本编写,是我们必须首先明确的观念。
确立脚本重要的观念,是完成一个优秀的青少年科学DV活动的前提条件。把青少年科学DV活动简单化为单纯的科技活动,甚至是DV活动,必然会把活动引入歧途,这也是许多不成功活动的症结所在。
撰写脚本的过程,是训练思想、训练理智、训练才智的过程;撰写脚本的过程,是提高语言表现力和文学素养的过程;撰写脚本的过程,是培养统筹安排能力的过程;撰写脚本的过程,是使人更健全、更美好的过程。有了好本子,活动就成功了一半!
作品要好看,要耐看,要优秀,要“经典”——必须有好本子!电影、电视、动漫、青少年科学DV活动??概莫能外!
?层层选择定主题
在人生中,最重要最艰苦的工作是选择与安排。在青少年科学DV活动中,最重要最艰苦的工作也是选择与安排。选择与安排是一切成功和失败的枢纽。
青少年科学DV活动就是一个不断选择的过程。从选择合作伙伴、选择探究主题,到选择探究方法、选择采访对象、选择拍摄角度和方法??
成功的选择靠敏感,靠对人生世相的敏感。朱光潜先生对这种敏感的阐释最中肯——事事物物的哀乐可以变成自己的哀乐,事事物物的奥妙可以变成自己的奥妙。“一花一世界,一草一精神”。有了这种境界,自然也就有同情,就有想象,就有彻悟。
这恰恰是孩子们与生俱来的资秉。孩子是最富于同情心的泛神论者,他们能听见花开的声音,能欣赏蚂蚁的舞蹈……他们具有最尖锐的敏感。教育应当尽一切可能,保护、滋养、培养和训练这种敏感,使之浑然物外、颠扑不破,让人世的波涛再也不能把他们的敏感卷去。青少年科学DV活动就是保护、滋养、培养和训练这种敏感的最好的土壤和气候之一。
探究主题的选择对整个活动的价值、成败至关重要。
青少年科学DV活动要坚持选择和确定主题的普遍原则。
第一,主观性原则——我喜欢。这条原则有两个层面的含义:一是对所选主题必须具有强烈、浓厚的兴趣。二是选题必须考虑到自身条件,必须有一定的基础。这是整个活动的巨大动力,是完成活动的重要前提条件。它能使人产生投入活动的冲动感以及强烈的探究欲望,使人具有坚韧的忍耐力和科学精神。
第二,客观性原则——有条件。选题必须有现实性,有科学价值。选题还要考虑设备条件、资料查阅的条件以及专家、导师的指导力量。
第三,具体性原则——小题目做大文章,同样适用于青少年科学DV活动的选题。选题要小而精,切忌大而泛。小的选题易于向纵深挖掘,往往能有所发现,有所创新。大选题容易做得肤浅,与人雷同。
青少年科学DV活动还要讲究选题的方法。要由面到点、由大到小地层层进行选择。即先明确自己感兴趣的领域,再从该领域中确定一个具体的探究对象,然后认真选择该探究对象的某一个或某几个点,以之作为自己的探究主题。
我与科学DV
这次科学DV活动,既有成功的喜悦,也有辛勤的汗水。
在讨论和探究的过程中,我们培养了严谨的态度,而无论是调查永安城区的公交车站台,还是科学DV的制作,都让我们意识到团队合作的重要性。
这次探究源于我们对日常生活的观察和感受,其调查和计算过程,又是对数学和物理知识的实际运用。所以,我们也深切感受到学以致用的乐趣。而且,这次探究活动,让我们意识到留心生活的重要性。
在整个科学DV活动的过程中,我们学会了如何写脚本,如何选取镜头,如何采访,如何录音,如何制作动画等。我们在制作过程中遇到新的问题,积极寻找解决方案,这又是一个学习的过程。
此外,我们更加认识到了交通安全的重要性。了解到交通站台的设置,不仅仅是安全问题,也要考虑人口流量、走向等客观条件。但更重要的是,我们的每一位司机都遵守交通规则,在公交车靠站时能自觉地减速,及时地刹车,这样才能从根本上减少事故的发生。
——第1届科学影像节一等奖《岔路口,我该离你多远?》作者福建省永安一中张健、梅婷、董建榕
QTP描述性编程脚本分析 篇12
QuickTest Professional (QTP是新一代自动化测试解决方案, 采用专家视图及关键词视图两种模式供用户选择, 使用户可以通过简单的键盘、鼠标操作就可以自动进行脚本的录制, 回放, 当软件版本进行升级或测试用例增加时, 也可以通过脚本的简单修改即可完成新的任务测试, 极大的提高了效率。而所有这些功能的实现, 都是因为QTP本身在脚本回放时保存了被测程序、网页的对象属性文件, 一旦对象库文件中描述的对象不存在, 则可能导致测试脚本运行异常, 要保证脚本的有效性使用, 使脚本具有广泛性及代表性, 这就需要我们对脚本进行描述性编程, 使脚本脱离或减少对对象库文件的依赖。
二、QTP脚本执行分析
QTP通过选项设置可以直接使用已有的对象库文件, 也可以在进行脚本录制时自动生成对象库描述文件并随脚本一起保存, 下面以QTP对windows自带的计算器进行简单的功能测试对QTP的脚本执行过程进行分析:
我们通过windows应用程序录制方式录制1+2=?加法运算功能, 当我们停止录制时, 在关键词视图中会显示整个执行过程中的关键点步骤, 在专家视图中会自动生成以下脚本:
在对上述脚本进行保存后, 可以查看到QTP在进行脚本录制时自动生成的对象库文件及相关控件属性的描述:
首先我们通过QTP重新运行以上脚本, 可以发现脚本运行正常, 计算器程序自动执行上述操作过程, 这说明QTP能够通过对象库属性文件对windows应用程序窗口及控件进行识别并执行相应动作。然后我们将脚本中WinButton ("1") 中的1改为3, 再次运行修改后的脚本, 当脚本运行时会提示错误信息。
这说明QTP在进行脚本运行时, 对窗口及控件对象的识别依赖于对象库文件, 一旦对象不存在于对象库, 则不能识别并进行相应动作。而在大型软件项目测试过程中, 我们可能不能将所有页面或窗口中的对象都识别到对象库中, 那么脚本在回放执行中就可能发生错误, 这就需要测试人员编写效率更高的脚本。
三、QTP描述性编程分析
QTP描述性编程为我们提供了这种方便, QTP描述性编程思想注重控件的类型及控件的特征在脚本中的描述, 通过通俗易懂的脚本表述, 构建被测软件所需的对象元素, 以编程的方式实现自动化测试脚本并进行测试。下面以WEB页面中google地图的链接有效性测试对QTP描述性编程进行分析:
通过google页面中“地图”文字链接的打开及整个页面的关闭得到以下脚本:
显然QTP在录制以上操作过程中, 自动生成了对应页面的对象库文件, 如果我们将“地图”改为“网页”或“新闻”, 该脚本在回放过程中因为对象识别错误会导致脚本不能正常运行, 为了使Link ("地图") 链接具有代表性, 我们引用描述性编程中的Description方法进行编写, 将地图使用变量代替得到以下脚本:
通过以上的描述性编程方法, 我们可以测试WEB页面中类似的任何链接而脱离或减少脚本对对象库文件的依赖, 使脚本具有通用性。
四、小结
QTP的描述性编程方法通过编程的思想将程序设计及函数方法的引用融合到脚本中来, 这要求测试人员在构建脚本时具有更强的编程技巧及对函数库有良好地掌握, 但软件版本的升级和更新往往只是部分的修改, 因此测试人员可以先通过QTP的自动录制功能进行脚本的录制, 再通过对软件功能、页面元素的分析, 使用描述性编程思想对部分脚本进行优化, 从而提高脚本质量的测试效率。
摘要:QuickTest Professional (QTP) 使用VBScript的脚本, 脚本兼容性高, 便于优化, 要保证脚本的有效性使用, 使脚本具有广泛性及代表性, 这就需要我们对脚本进行描述性编程, 使脚本脱离或减少对对象库文件的依赖。
关键词:QTP,脚本,对象,编程
参考文献
[1]刘德宝.软件测试工程师培训教程.北京:北京科海电子出版社, 2008
[2]Ron Patton.软件测试.北京:机械工业出版社, 2006