自动化测试失败案例复盘
自动化测试步骤
- 《测试案例》中配置好相关的数据字典以及data_dt和测试人等基本信息,方便拼接测试QL
- 将对应的部分字段以及测试SQL粘贴进《规则配置表》中,同时添加更新信息
这里要注意的是,将《规则配置表》另存为相应测试项的CSV文件,注意CSV文件中需要右键删除多余空行
命名参考sit_pk_repeat_input.csv
这里的csv文件需要通过txt记事本另存编码改为utf-8,这样Python2.6就能识别到正确的中文,接下来调用Python脚本sit_para_config_insert.py,循环执行。完成数据库中的配置表的插数。执行脚本前也可以清空一下表 TRUNCATE RDP.SIT_PARA_CONFIG
-
到这里批量测试前的准备工作已完成,接下来就是调用对应测试项的Python脚本,其实就是循环调用配置表中的SQL语句
sit_pk_repeat.py -
运行之后,正常或不正常的结果均会保存在
RDP.DATA_RES结果表中,SELECT * FROM RDP.DATA_RES可查看。同时不正常的结果以csv文件形式保存到本地。(其实就是通过select语句,筛选出不正常的结果,将结果写入本地的csv文件中。)
至于每次测试后是否需要将正常或不正常的所有结果保存到本地,可以导出。csv结果文件命名参考
sit_pk_repeat_output.csv -
这里直接excel打开csv文件会有中文编码问题,需要通过txt记事本另存
编码改为ANSI的csv文件
涉及到的 Python脚本:(2种类型)
sit_para_config_insert.py规则配置插入语句sit_pk_empty.py结果表插入语句,测试结果导出
Python脚本运行过程中,可能会有出现运行不完整的情况,可以分批运行,超过400行,大概率上会有遗漏的,还不如一开始就分多批完成。
后期返工几大原因
规范类问题(测试案例及测试脚本问题)
- 脚本名命名方式
- 写死的日期,库名,data_dt等,需要修改为参数形式
$SHDATADB$等 - Excel拼接SQL时,个别表无data_dt字段,拼接时需要单独修改
- 多主键情况,拼接SQL需要替换修改
规范类问题(模型文档影响测试案例及测试脚本)
- 模型文档中的字段类型拼写错误
- 模型文档中的表名删减更新,以及字段的删减
总结
- 其实最花时间的是模型文档一直在持续更新,配置文档同步起来比较麻烦
- impala不支持删除某一条数据,只能
insert overwrite,每次重跑整张表的数据有点麻烦 - 机房上线不支持用Python调用csv文件
21/08/23-21/09/10 15个工作日 测试案例与脚本 3周
21/09/13-21/09/30 14个工作日 开发环境测试 两次跑批、枚举值等 3周
21/10/18-21/10/22 5个工作日 准备测试脚本 1周,但发现机房不能调用csv文件
21/10/25-21/10/28 4个工作日 尝试在sqldbx导出insert语句,21/10/28放弃该方法,换用新思路 直接将SQL封装到Python中并测试 1周
21/10/29-21/10/30 2个工作日 模型测试
21/11/01-21/11/07 6个工作日 模型测试,21/11/07应用测试开始 1周
考虑到后期维护的成本太高,最终放弃了通过csv文件,将查询语句保存到配置表的方法,以及后期在次基础上的延伸方法,通过sqldbx导出insert语句,将查询语句保存到配置表。放弃之前的想法的,也意味着前7周走了弯路。
最后2周的正式测试,采用的是直接跑每张表的测试SQL语句。再根据测试的结果去分析原因,解决问题。
浙公网安备 33010602011771号