资源描述:
《软件测试自动化中的脚本技术new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第11卷第1期云南民族学院学报(自然科学版)Vol.11,NO.12002年1月JournalofYunnanUniversityforNationalities(NaturalSciencesEdition)January.2002X软件测试自动化中的脚本技术122凌永发张云生郭秀萍(1云南民族学院信息与电气工程系,昆明,650031)(2昆明理工大学信息自动化学院,昆明,650093)摘要脚本是软件测试自动化技术中的一个重要组成部分.本文对不同类型的脚本技术进行了比较和总结,同时阐述了脚本在软件测试自动化技术中的应用情况.
2、关键词脚本;自动化;测试;软件【中图分类号】TP311.51【文献标识码】A【文章编号】1005—7188(2002)01-0544-05提高生产率,减少维护成本.因此所做的软件自动化0导言测试越多,越值得在设计精巧脚本上下功夫.脚本开测试脚本是交互式应用或非交互式应用的测试发成本与脚本维护成本的关系如图1所示.自动化中必要的组成部分,大多数测试执行工具提对于建立脚本,人们最关心的是建立及维护脚供的脚本语言是非常有效的编程语言.脚本中的信本的代价以及从中获得的益处.如果脚本被大量生息十分广泛,信息越多,越容易出错,因而更需要修
3、命周期较长的不同测试复用,则应该保证该脚本的改、管理和维护.合理性和维护性.如果脚本只用于一个测试事例,测脚本的具体内容依赖于使用的测试工具及脚本试完成后就废弃,建立脚本时就不必花费太大功夫.技术,与软件一样脚本是非常灵活的.可以有许多方3GL(第三代语言)和4GL(第四代语言)的目的法编写脚本完成一个特定任务.编写脚本的方式依就是提高软件生产率以及简化编程.不同的脚本技赖于个人的编程技术,也依赖于实现对象.快速粗略术都共同追求这一目标(即提高生产率使测试自动的方法是尽可能地录制,或拷贝其他脚本拼凑在一化更为简单).虽然不能完
4、全废除测试脚本,但通过起.更好一些的方法则需要对拙劣的脚本进行设计使用不同的脚本技术可以减少脚本的大小、数量及和编程.复杂度.1软件测试自动化中的脚本技术下面来讨论不同的脚本技术及用途.这些技术并不是相互排斥的,事实恰好相反,它们是相辅相成的.每种脚本技术在支持脚本完成测试事例的时间和开销上都有各自的长处和短处.应该注意到,对于软件测试来说,使用哪种脚本技术并不是最主要的,脚本所支持的实现测试事例体系的整体考虑才是最主要的.111线性脚本技术11111概念线性脚本是录制手工执行的测试事例得到的脚一些脚本技术需要精心构造,而一些
5、脚本技术本.这种脚本包括所有的击键、功能键、箭头控制测相对简单些.使用的脚本技术越精巧,难度越大,调试软件的控制键及输入数据的数字键.如果用户只试脚本也较困难.但由于高度复用脚本可以极大地使用线性脚本技术,即录制每个测试事例的全部内X收稿日期:2001-09-19基金项目:云南省应用基础研究基金项目,基金号:2000F0301作者简介:凌永发(1973~),男,江西人,博士生,主要从事计算机自动控制技术的教学和研究.544第1期凌永发张云生郭秀萍:软件测试自动化中的脚本技术容,则每个测试事例可以通过脚本完整地被回放.令序列.有
6、时也将这种结构称为“循环”.在这种结构线性脚本也可能包括比较,如“checkthatthe中指令序列被重复指定的次数或直到条件满足.例errormessagePositionnotvalidisdisplayed.”.录制如,如果脚本从一个文件中读取数据记录,可以设计测试事例时,可以添加比较指令(如果工具支持)或指令序列以某种方式读取和处理信息,然后重复这在回放脚本录制的输入时增加比较指令.要注意的个指令序列直到文件中的所有记录被读取和处理是,手工运行10分钟的测试事例,可能需要20分钟完.到120分钟进行带比较的自动化测试.
7、因为当增加除控制结构外,一个脚本可以调用另一个脚本,新的比较指令时,需要重新回放,新增加的脚本也应即将一个脚本的控制点转到另一个子脚本的开始,进行测试.应用和测试事例越复杂,这个过程花费的执行完子脚本后再将控制点返回到第一个脚本.这时间越多.种机制可以将较大的脚本分为几个较小的易于管理11112使用的脚本.几乎任何可重复的操作都可以使用线性脚本技引进其他指令改变控制结构,不仅可以提高脚术自动化.一些情况非常适合使用线性脚本技术.如本的重用性,而且可增加脚本的功能和灵活性.充分果测试事例只用一次,例如,研究测试执行工具是否利用不
8、同的控制结构,可以开发出易于维护的合理在给定环境中能执行,则无需对将要丢弃的脚本再脚本,更好地支持自动测试体系的有效性.花费功夫.结构化脚本技术的主要优点是健壮性更好;可线性脚本可以用于演示或培训.当希望向客户以执行许多其他类似的功能,如需要重复的指令可介绍软件功能而又不希望