diff代码

一.diff的前提

 对该需求的设计实现了解
 对业务需求的了解
 对系统结构、数据流完整的了解

二.diff代码时候至少要做到以下几件事

 查看需求的功能是否实现
 查看变更对整个系统的影响点,补充checklist
 根据变更,追述到入口点(Dubbo, http, 页面),进行回归测试覆盖变更代码逻辑
 发现业务漏洞

三.diff中关注的内容

 业务是否如实在代码中实现(不管对错),改多了、改少了?是否符合设计;逻辑是否都是完整闭合的(即,能按照完整流程图实施,考虑所有异常分支)
 diff时要进入业务,不要深入代码,要多想else是否缺了,如果没有else的时候要考虑是否漏了业务
 某个时间点的task是否有冲突?需要考虑数据量等问题
 线上是什么样子的架构?
 发布被diff的代码时候是否会异常?

 日志、业务监控的添加是否完整
    监控:失败、成功是否都有监控,在这个业务上次数和时间我们更关注那个?
    日志是否需要单独打印?是否需要打印,打印的级别。

四.代码层面

 代码的基本规范是否满足(视个人能力及代码水平而定)比如:日志规范、db链接、前端调用的域名
 代码对异常、超时相关的处理,是否输出相关日志
 代码中长出现不好验证的测试点,如:线程是否回收了?链接是否因为数据量过大会释放?
 新写代码是否重复造轮,是否有必要重写,比如:已有的qunar相关类库实现相同功能
 对事务的处理
 通过方法的调用关系找到最终的用户,其他的方法调用,要找到谁在使用?sql改了,有哪些查询受影响?

五.DB设计是否合理

  字段、索引的设计(观察属性)
  新旧数据的处理、兼容
  大表的查询,是否走了索引,这样加索引是否正确
  数据库的表结构能承受多大的数据库?

六.配置相关测试

对dubbo、qmq、qschedule、qconfig的配置,超时相关
qzz版本是否变更
线上环境是否修改?
beta的配置是否使用的线上地址?

七.对系统结构的测试

 缓存有效性:将缓存服务器清楚掉的处理
 容灾
 外部系统调用常见处理:超时、异常、retry次数
 被调用的外部接口是否可用?该接口wiki地址?

八.对于无法测试执行的中间数据,如何添加测试方法

九.关注beta和线上的区别

  账户是否在线上可以使用
  接口是否可以使用(包括图片和接口)
  db地址是否为ip,禁止用机器名
  前端接口外网应用禁止使用ip

十.diff要产出的东西

 测试范围/checklist(更改的每一个方法都要追溯到最终的业务调用,去验证业务;每个数据都要追溯到源头和最终使用)
 违反规范的bug(sonar静态代码检查的)
 系统改进建议
 明确测试方法/测试手段

diff过程中可以进行测试执行,也许diff完成时,项目测试也执行完成了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,596评论 18 139
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    Mr希灵阅读 21,926评论 7 278
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    宇文臭臭阅读 6,709评论 5 100
  • 文/R老师 1 《人民的名义》刚开播,网友们就吐槽:太假了,祁同伟堂堂公安厅长,为了讨好新来的省委书记,竟然去当花...
    R老师阅读 955评论 0 0
  • 有时候,吃了凉的东西,或者长时间用凉水,或者吃的不注意导致营养不良,来姨妈的时候就会特别难受,简直是锥心之痛,生无...
    梁朝月阅读 145评论 0 0