代码review会议记录

下面手机助手UI自动化代码review的会议记录

1、会议内容:
(1)分享review代码过程中发现的问题
(2)review中的疑问以及讨论结果
2、 会议记录:
(1) 定义变量做循环,但是循环体中没有使用到该变量
实例:
image
预期修改为:
1. 初始循环变量
2. 循环体内累加变量
3. 增加累加结束循环的阈值
image
(2) assert语句中的get_text()直接使用
实例:
image
预期修改为:
1. 将get_text()方法的内容放到变量中,便于维护、查看代码
image
(3) 代码缩进问题,缩进了8个空格
实例:
image
预期修改为:
1. tab 4个空格(从notpad++上copy的py文件就会出现此情况)
image
(4) 代码冗余,if….else….在case中无影响
实例:
image
预期修改为:
1. tab 4个空格(从notpad++上copy的py文件就会出现此情况)
image
(5)
实例:使用try..except去判断设备管理弹窗
image
预期修改为:
1. 判断元素是否存在,存在时触发click()方法
image
(6)
实例:变量命名无实质上的意义
image
预期修改为:
1. 根据实际情况,命名有意义,尽量不使用数字
(7)
实例:断言无效:根据text属性获取元素text,后面判断text的内容
image
预期修改为:
1. 必须通过元素控件获取text,再将获取的text内容进行校验
image
(8)
实例:代码多余现象:循环滑动下方无检查点
image
预期修改为:
1. case中尽量避免出现与case无关的代码,在自己review的时候需要删除
image
(9)
实例:assert不是用例的检查点
image
预期修改为:
1. 断言需要和检查点一一对应,不能出现assert的不是case的检查点情况
image
(10)
实例:需要转换类型时,未将需要转换的内容存放到变量,导致后续代码每次都加上需要转换的类型
image
预期修改为:
1. 将需要转化类型的内容存放到变量中,便于后续的使用
image
(11)
实例:初始化代码需要放到初始化api内
image
预期修改为:
1. 初始化代码需要放到公共api中
(12)
实例:无效case,任何情况下都会通过,需要拆分成两个case编写
image
预期修改为:
1. 需要拆分成两条case,单独进行验证
(13)
实例:case合并问题
image
预期修改为:
1. 合并case,既能覆盖到检查点,也能提高case执行效率
(14)
实例:case中与检查点无关断言过多
image
预期修改为:
1. case中的断言需要用在检查点上,其他与检查点无关的点不需要使用断言
(15)
实例:if –else语句使用中,无对else的检查
image
预期修改为:
1. 添加else的逻辑,增强代码对检查点的覆盖性
(16)
实例:case中无对检查点的断言
image
预期修改为:
1. 测试代码要对case检查点进行检查
(17)
实例:case检查点不充分
image
预期修改为:
1. 添加对case检查点的验证,足以验证该case的检查点
(18)
实例:缺少步骤操作的注释
image
预期修改为:
1. 加上对该代码的注释,增强代码可读性,便于维护代码
(19)
实例:case描述太简单,无预期结果
image
预期修改为:
1. 将case描述写的详细,将检查点表达出来,易于阅读、维护代码
image
(20)
实例:case中安装了非测试的助手包来验证检查点
image
预期修改为:
1. 只能使用被测试助手的包
(21)
实例:在桌面循环查找创建的快捷方式文件夹逻辑优化
image
预期修改为:
1. 通过使用range()函数的用法来优化重复操作
image
(22)
实例:点击服务端返回的tab或者模块,如服务端更改则case失败,如分类页下的仙侠更改
image
预期修改为:
1. 通过requests接口请求返回的数据来实现该类case的验证
image
(23)
实例:循环次数多次与只执行一次的情况相同
image
预期修改为:
1. 滑动一次即可,提高代码执行效率
(24)
实例:检查下载功能中对助手清除缓存
image
预期修改为:
1. 单独写检查下载功能的api,减少代码量
(25)
实例:判断条件可以直接用自有函数解决
image
预期修改为:
1. 使用自有函数abs()解决
3、 问题讨论:
(1) print()信息有没有必要封装?
讨论结果:不进行封装,需要将case中的print()删除或者注释掉
(2)要不要把home()加入到teardown()下面 ?
讨论结果:看具体case,如果需要的话将home()写在自己case中
(3)mock数据?
讨论结果:后期使用mock数据来解决通过服务端返回的信息的相关case。
(4)在跑自动化case之前要不要清除全部app?
讨论结果:后续会单独写两个api来验证下载功能,包括:清除机器内所有app以及单独卸载一款应用
(5)断言的msg需不要加上?
讨论结果:需要加上,而且必须写的尽可能的详细
(6)sleep()和wait_for_appearance()能不能一起使用?
讨论结果:能一起使用,具体case具体分析,尽量不用sleep。
(7)case描述中要不要加逻辑描述?
image
讨论结果:如果是逻辑复杂的case需要加上逻辑描述,同时在代码中也要加上必要的注释,便于代码阅读。
(8)case描述前需要不需要加上case: ?
讨论结果:可以加可以不加。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342