软件测试自动化中脚本开发经验分享.doc

软件测试自动化中脚本开发经验分享.doc

ID:48386438

大小:38.00 KB

页数:9页

时间:2019-08-10

软件测试自动化中脚本开发经验分享.doc_第1页
软件测试自动化中脚本开发经验分享.doc_第2页
软件测试自动化中脚本开发经验分享.doc_第3页
软件测试自动化中脚本开发经验分享.doc_第4页
软件测试自动化中脚本开发经验分享.doc_第5页
资源描述:

《软件测试自动化中脚本开发经验分享.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1、脚本测试特点  脚本语言语法简单灵活,与效率不是很相关的部分,使用脚本比较方便。对于多个文件的读写和控制,有比较成熟的库,几行代码可以解决C、C++需要较多代码才能实现的功能。特别是对多文件的处理,数据流动和处理比较复杂的情况。  脚本语言的劣势在于,缺乏严格的编译环节,变量定义,函数定义等问题发生概率比较大,会多制造一些障碍给测试人员。上帝关上一扇门,同时也开启了另一扇门,解释性的运行方式,使我们很容易在程序中插入测试代码,从而灵活的进行测试,对程序代码行、函数、代码段、脚本,都能在不同的粒度上进行控制,测试更加彻底,不易出现

2、漏测问题。  2、打好语言基础  对脚本的快速测试,需要基于一定的语言基础,增强对脚本执行的调试能力:  1)sh–vx执行看变量,sh–n基本语法检查  2)快速多行注释,%s,快速注释多行方法“<<标记标记”  3)熟悉awk,shell的基本语法,基本用法  4)掌握awk快速对数据的分析能力  5)Perl、python的调试能力  3、如何做到无漏测  从问题角度出发,看存在哪些类问题,发现阶段最早在?  1)历史漏测点  A)Awk漏测,数据测试不充分,基于构造的方法比较困难,(看懂代码+理解逻辑+异常构造)  比如aw

3、k中的数据处理的第一条和最后一条是否符合预期,awk内存占用是否正常,可优化,数据的处理结果是否和预期一致。  B)上线单漏测  复杂上线单中的验证,上线的时间点是否合理(非线上运行时间)  C)多级环境部署漏测  多机环境下需要模拟,远程登录执行或者scp数据,用户之间要有信任关系,如spider@A到work@B的信任关系,需要在前面加上用户名,否则sshB会有问题。  2)历史bug(可能漏测点)  知史而至今,前提是知史,需要对前面的问题有个学习,避免今后工作中出现。  3)无遗漏发现问题  从发现途径上,单步执行、分块执行

4、、整体执行、考虑重复多次执行环境问题。从多个层次上对脚本进行测试和考虑,从细节->功能->整体运行维护:  A)Sh–x,sh-n单步执行  解决语法问题、变量问题、文件存在性问题。  B)分块儿执行  避免语法、逻辑问题、异常处理验证、下载验证、md5验证、数据验证  C)整体多次执行考虑  线上是多次运行,历史数据维护,会不会有硬盘问题,会不会自动清理历史文件,历史文件的清理是否正确。  D)可维护角度  报警是否合理,是否报警过多。  E)上线阶段  上线时间是否合理,是否正在运行中,上下游数据准备好的时间是否有足够的时间缓冲

5、。  F)上线检查  对log进行检查,及时发现问题。  从以上几个角度出发,测试的过程是完整的,有效地避免了bug中的大部分。测试难点在于:大awk的测试,异常测试、数据流程理解和数据异常测试、历史环境、复杂上线单测试、多机环境部署配合测试。  本次只是针对awk测试重点进行讲述,awk如果出问题都是数据问题,影响效果,下面针对awk的陷阱做了一些总结:  Case1:代码阅读发现缺陷,基于逻辑的数据检查,注意第一条和最后一条的输出逻辑: 16awk'BEGIN{17pre_user="";check=0;dead=020}{21

6、#patternneedcheck22if(ARGIND==1)23dict[$1]=$2;24else{25t=split($1,a,"/");26p1=a[1]"/"a[2]"/";27p2=a[1]"/";29if(p1indict)30p=p1;31elseif(p2indict)32p=p2;33elsenext;34if(check!=0&&p!=pre_user){35printp,check>>"'$3'";3637if(check==dead)38{39if(check>=dict[p])40printp,chec

7、k>>"'$4'";41elseprintp,check>>"'$5'";42}43check=044dead=045}46check++;47if($3==0)dead++;48pre_user=p49}50}'$1$2  Case2:脚本中dump.sh调用filter.awk时,取不到dump.sh中使用的shell变量,DEL_REASON的变量值,导致从LINKBASE上取到的数据经filter.awk处理后没有任何数据输出,dead.url_age.[$i]永远为空。  Case3:对2个有序文件进行merge,构造ca

8、se的时候,构造文件$1,$2进行merge,如果$1先结束,会造成$1的最后一条还会不断打印出来,使文件无序,如果$2文件先结束,则不会出现该情况,构造数据验证时要注意等价类划分情况,保证所有情况都被测试到。  错误代码: 77aw

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。