【转】软件测试的脚本经验分享_派派后花园

用户中心 游戏论坛 社区服务
发帖 回复
阅读:207 回复:0

[应用] 【转】软件测试的脚本经验分享

刷新数据 楼层直达
summer-an

ZxID:18616717


等级: 热心会员
wild word
举报 只看楼主 使用道具 楼主   发表于: 2019-03-27 0
— 本帖被 独爱穿越 从 学习&职场 移动到本区(2019-03-27) —
1、脚本测试特点

脚本语言语法简单灵活,与效率不是很相关的部分,使用脚本比较方便。对于多个文件的读写和控制,有比较成熟的库,几行代码可以解决C、C++需要较多代码才能实现的功能。特别是对多文件的处理,数据流动和处理比较复杂的情况。

脚本语言的劣势在于,缺乏严格的编译环节,变量定义,函数定义等问题发生概率比较大,会多制造一些障碍给测试人员。上帝关上一扇门,同时也开启了另一扇 门,解释性的运行方式,使我们很容易在程序中插入测试代码,从而灵活的进行测试,对程序代码行、函数、代码段、脚本,都能在不同的粒度上进行控制,测试更 加彻底,不易出现漏测问题。

2、打好语言基础

对脚本的快速测试,需要基于一定的语言基础,增强对脚本执行的调试能力:

1)sh –vx 执行看变量,sh –n 基本语法检查

2)快速多行注释,%s,快速注释多行方法“<<标记 标记”

3)熟悉awk,shell的基本语法, 基本用法

4)掌握awk快速对数据的分析能力

5)Perl、python的调试能力

3、如何做到无漏测

从问题角度出发,看存在哪些类问题,发现阶段最早在?

1)历史漏测点

A) Awk漏测,数据测试不充分,基于构造的方法比较困难,(看懂代码+理解逻辑+异常构造)

比如awk中的数据处理的第一条和最后一条是否符合预期,awk内存占用是否正常,可优化,数据的处理结果是否和预期一致。

B)上线单漏测

复杂上线单中的验证,上线的时间点是否合理(非线上运行时间)

C)多级环境部署漏测

多机环境下需要模拟,远程登录执行或者scp数据,用户之间要有信任关系,如spider@A到work@B的信任关系,需要在前面加上用户名,否则ssh B会有问题。

2)历史bug(可能漏测点)

知史而至今,前提是知史,需要对前面的问题有个学习,避免今后工作中出现。

3)无遗漏发现问题

从发现途径上,单步执行、分块执行、整体执行、考虑重复多次执行环境问题。从多个层次上对脚本进行测试和考虑,从细节->功能->整体运行维护:

A)Sh –x,sh -n 单步执行

解决语法问题、变量问题、文件存在性问题。

B)分块儿执行

避免语法、逻辑问题、异常处理验证、下载验证、md5验证、数据验证

C)整体多次执行考虑

线上是多次运行,历史数据维护,会不会有硬盘问题,会不会自动清理历史文件,历史文件的清理是否正确。

D)可维护角度

报警是否合理,是否报警过多。

E)上线阶段

上线时间是否合理,是否正在运行中,上下游数据准备好的时间是否有足够的时间缓冲。

F)上线检查

对log进行检查,及时发现问题。

从以上几个角度出发,测试的过程是完整的,有效地避免了bug中的大部分。测试难点在于: 大awk的测试,异常测试、数据流程理解和数据异常测试、历史环境、复杂上线单测试、多机环境部署配合测试。
发帖 回复