头疼3-4次的问题,数据从DB导出到EXCEL,再从EXCEL导入到DB,数据格式发生错误 ,导致 程序出错。

反思:

1 解决 问题的思路 绕远了:

在这个问题出现前,程序是运行正确 的

问题出现前,我误删了DB 的 testcase表的所有 case ,然后 再把邮件 中的excel数据导入到 DB

然后 所有 选 房卡(查改删)的case就跑不通了(有关联的case)

查原因:增加选房卡是可以 执行的,但是没有 correlation的数据源有问题,导致程序没有正确的找到cardid字段,所以后面依赖cardid的 查改删 接口就都 不能跑通了

所以正确解决 问题的思路 应该 是:1.程序没有 变,更新数据后,突然就跑不通了,应该 先检查数据源是否出现 了异常(简化程序,只保留与源数据相关的代码 ),而不是怀疑程序出bug了,进入随机调试模式 很恐怖

要改进的:

这次事情的起因 是 tester要更新case,先删除她以前的case,再重新导入新的case(因为有重复的),但是不小心把所有 的case都删除 了,反思自己不能直接操作数据

应该给tester开放权限 ,首先先在测试库测试 通过自己的case,然后再把case导入到数据库

另外应该 有一个页面对case进行批量增删改查,而不应该 是直接 用sql语句 操作数据库,误操作风险太大

这个问题 我用了将近5个小时解决 。3个小时去排查定位问题,2个小时修复数据 。如果有对case批量增删改查的页面,我就可以 解放我自己,让tester们自己操作case,我只负责逻辑 ,而不用再去维护 case

遇到一个坑,还没想明白 是怎么回事

坑:为什么从DB(正确 ${cardid}=[data][cardid]')导出到EXCEL,再把EXCLE的数据导入到DB(错误 ["['${cardid}=[data][cardid]']"]

),数据的格式 就错了呢

 

 怎么这个问题反反复复的出现呢(原来是数据源的问题,是数据源反反复复出问题了啊)

重新上传excel后,数据源发生错误 了

["['${cardid}=[data][cardid]']"] #错误
['${cardid}=[data][cardid]']#正确 

调试技巧:代码也没有改,只是更新了数据 ,程序就出错了,很明显不应该 检查 程序,而应该先从数据源检查起啊

调试代码 

简化程序,只保留能复现bug的最小代码 

打印每1个变量的值

大的表达式拆分为小的表达式

 1 import re
 2 
 3 resp = {
 4     "status": "200",
 5     "msg": "OK",
 6     "isPC": 1,
 7     "data": { 8 "falg": 1, 9 "cardid": 150288, 10 "count": 0, 11 "msg": "保存选房卡条件数据成功!" 12  } 13 } 14 15 correlationDict={} 16 ["['${cardid}=[data][cardid]']"] #数据源错了 17 ['${cardid}=[data][cardid]']#正确的数据应该 是没有 外面一层[]的 18 correlation=['${cardid}=[data][cardid]'] 19 n = len(correlation)# n = 1 20 for j in range(len(correlation)): 21 param = correlation[j].split("=") 22 if len(param) == 2: 23 if param[1] == "" or not re.search(r'^\[', param[1]) or not re.search(r'\]', param[1]): 24 continue 25 value = resp 26 27 for key in param[1][1:-1].split("]["): 28 try: 29 temp = value[int(key)] 30 except: 31 try: 32 temp = value[key] 33 except: 34 break 35 value = temp 36 correlationDict[param[0]] = value 37 print("value%s"%value) 38 print(correlationDict)

坑:为什么从DB(正确 ${cardid}=[data][cardid]')导出到EXCEL,再把EXCLE的数据导入到DB(错误 ["['${cardid}=[data][cardid]']"]

),数据的格式 就错了呢

这中间发生了什么呢?



猜你喜欢

转载自www.cnblogs.com/kaerxifa/p/11119440.html