自动化测试失败案例复盘

自动化测试步骤

  1. 《测试案例》中配置好相关的数据字典以及data_dt和测试人等基本信息,方便拼接测试QL
  2. 将对应的部分字段以及测试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

  1. 到这里批量测试前的准备工作已完成,接下来就是调用对应测试项的Python脚本,其实就是循环调用配置表中的SQL语句
    sit_pk_repeat.py

  2. 运行之后,正常或不正常的结果均会保存在 RDP.DATA_RES结果表中, SELECT * FROM RDP.DATA_RES可查看。同时不正常的结果以csv文件形式保存到本地。(其实就是通过select语句,筛选出不正常的结果,将结果写入本地的csv文件中。)
    至于每次测试后是否需要将正常或不正常的所有结果保存到本地,可以导出。csv结果文件命名参考
    sit_pk_repeat_output.csv

  3. 这里直接excel打开csv文件会有中文编码问题,需要通过txt记事本另存编码改为ANSI的csv文件

涉及到的 Python脚本:(2种类型)

  1. sit_para_config_insert.py规则配置插入语句
  2. sit_pk_empty.py结果表插入语句,测试结果导出

Python脚本运行过程中,可能会有出现运行不完整的情况,可以分批运行,超过400行,大概率上会有遗漏的,还不如一开始就分多批完成。

后期返工几大原因

规范类问题(测试案例及测试脚本问题)

  1. 脚本名命名方式
  2. 写死的日期,库名,data_dt等,需要修改为参数形式$SHDATADB$
  3. Excel拼接SQL时,个别表无data_dt字段,拼接时需要单独修改
  4. 多主键情况,拼接SQL需要替换修改

规范类问题(模型文档影响测试案例及测试脚本)

  1. 模型文档中的字段类型拼写错误
  2. 模型文档中的表名删减更新,以及字段的删减

总结

  • 其实最花时间的是模型文档一直在持续更新,配置文档同步起来比较麻烦
  • 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语句。再根据测试的结果去分析原因,解决问题。

posted @ 2021-11-10 11:06  中了毒蛇粉的猫  阅读(205)  评论(0)    收藏  举报