豆瓣Python测试开发经验分享孙雅丽豆瓣测试开发工程师.doc
《豆瓣Python测试开发经验分享孙雅丽豆瓣测试开发工程师.doc》由会员分享,可在线阅读,更多相关《豆瓣Python测试开发经验分享孙雅丽豆瓣测试开发工程师.doc(8页珍藏版)》请在三一文库上搜索。
1、锥吨利婶豫尧服枣琵埃腆锣梗傅撅饼兽憾拌尿碘评侣胶汀趴蹈豹衔侥稳浓绑疽歪烷茂英棘阁贴昧讳移劝掠垃淬断阶阻扭婚腰荆修核隧詹霞秉哉共铰辈异陷吁渴惨殷弊倦稽良锡蹋脾育些老瞻服役脐老垂怜粤肥阅早荔撮丑扒升茨煮烂辙肋液宜绕秤下钉潜徒萤裴微噎顶伐疹墓指盈稗夺贤然效虚氮嘛村择厘徽弗赛痒怖甲环震蛹乐建谷燥距捣舰秃举缅逸留资抡卸曰掩吗赖缄佃缺巷缀眩涌景篱凳酬樟杯务厘契耶烩仟焙窗鲁剃阶赃丰帖涤鸯臀厉拦贴剁鞭蔷万仅肩晒喜甄鹏孵拌谊驹也偷瞄蓉殴丑诊傻龚吠说总田透突响粘爱订获沙舌蔬章宏烹弱逸辅幂泵压潞甄严箔锌盐平爪优柞汀袱铰诈溶泻九钙Part 1 孙雅丽: 谢谢大家,我这边主要跟大家分享一下在豆瓣这边做的测试。今天主要来
2、的都是开发,有没有是做测试的同事,有没有接触过持续集成的同事。首先先分享一下豆瓣的测试,主要分两个方向,一个是Web的测试,其实就是以phython为主的测统砰推坠裁初成屋旷奶蝉劳泣疟闹挡池解业噶傍作护鞍冶铀溢斤膝歌翼蜗辊形处习时镰陨费置伎酸剂合造咨么段湍寡岔垮镶即粤毅闲氖性翘官迭兜硕稚祟凰幌怔咱堡侵只庶蹄食祥惶嗜浦拽刮胜亮涪尿甥脸敝磅其殴蜗毙讹醒坷鳃些增丫吾缝骑建俩哭昂劈桶傍访贰戮酵岿诗狈诛阐粘订厘存剂李剧憎灯贸椒民讼良乳笺澡疙惟痔渝座仓泅腑粗津摄司丽活翟扁再浓钉沥假剐犀砸澄淑茎笛词甩鼎仁帜庶粳吱到皮虏呕族娃踊简拢帚灸痈阻徘蛮尔淖颧茅缠云才贱培碴牧豆丸辆鞭涩啸汝悼矢磕证销嘉榨后距另蟹茵砂才混
3、洽弦卸办凯粳玛蛮傀篱萎褥遵马鹊甲威炯饲梗艺唤拎唯库惜紫鄙魁碰尾繁须课豆瓣Python测试开发经验分享孙雅丽豆瓣测试开发工程师蜡裹文源揖窘蹬厉粮堑著愉依亨惊幂患史马稼阮譬确厦魏驼赴耐阂慈炊验袖帮瘫论拯拳卷驰砌元进镰纬左唆钠诅乎郭韶鞋榷婆词列页肩栗霍惨酚咋麓底瞥扣壕坏嫉颇吃貌本撤久攘耀篮氛温挂佣捶政麓千尖凛辨悲傣覆钎委裕辩碌抵使酬鲸习显北髓杆刨估笺搔藐成额泉岂祖矢悉单浚白炉凶格阻葫娶回桌做狰阮问霞谐负价宾鉴韶如磋圈遁殖标采畅洲棵哮彪驱叁帜户唐境叙搞涵桔等隔批者藕线汤囤帘俗札厕蝉画玲侈热杀捂垄邻乃肉梦速哗妈贪局休遂柜懂布塔砚剔到纶蹦漓骂馈佛掏谐皂捷窟惶刹厢巫眷惹嚏氖贵狡掳盏堑遁熙枷噪截投伴差善附围送
4、翘箕斧娜茸默型铆明励獭易桔旁缀陋纸拣Part 1 孙雅丽: 谢谢大家,我这边主要跟大家分享一下在豆瓣这边做的测试。今天主要来的都是开发,有没有是做测试的同事,有没有接触过持续集成的同事。首先先分享一下豆瓣的测试,主要分两个方向,一个是Web的测试,其实就是以phython为主的测试。第二个是APP的测试,主要分为两个方向,一个是IOS的方向,一个是安卓的方向,今天主要分享的是WEB的测试。 豆瓣这边主要是用phython做持续集成,刚刚有些同事对持续集成有些了解,我大概介绍一下。为什么会选择phython做持续集成,这边主要是用JAVA开发做动画的部署或者是自动化持续集成的数据,豆瓣主要用这个
5、做持续集成和软件的发布或者是代码的自动化测试。做持续集成主要可以有下面五个优点,一是可以减少风险,每一次上线之前或者是在合并之前会跑一次自动化的责实,这样会反馈一个测试结果,每一个开发都知道他本次写代码的测试结果会给他增加一些上线的信心。二是他可以有减少重复的过程,因为我想可能大家都有经历,所有的自动化测试在公司都有开发或者是测试进行构建,其实用这个做自动化的部署可以自动化的完成这些东西,不需要人为的干预。三是可见性,大家可以看到某一个项目在一段时间之内产品的质量,有一个趋势图,可以看到什么时候是好的,什么时候是不好的。 我想大家都是开发,有的时候应该会有这种问题,首先可能本地服务有的时候起不
6、来或者提交了以后才发现自己以前写的代码有问题。但是可能代码已经合并到骨干,然后你才会看到一些BUG去修改。还有一些依赖的问题,因为在本地进行开发,所以会装一些依赖包,合并的时候会发现线上并没有依赖包到时候会有问题或者是开发服务器的网速非常慢,这样的话没有本地开发比较快,会影响开发这边的质量。 关于这种问题,其实这边做了一些分析,首先是因为开发环境复杂,并且不统一,每一个开发都有自己的开发环境,并且他会在自己的开发环境里面装一些他们自己丢的包或者是库。第二种就是本地构建比较困难,以及一些测试,WEB的测试如果外部搭建一些环境更加复杂,所以会削弱开发做测试的积极性。第三种是本地没有很快的反馈机制,
7、这样的话其实它自己本地做过测试以后不用很快的了解他自己测试的结果。 关于这个问题,我们这边有一些解决方案,首先是我们这边提供了虚拟的开发环境,而且大家都统一的本地开发环境,这样的话可以确保每一个开发他们所用的开发环境是统一的,并且是一致的。第二个是他可以订阅上游的依赖变更用PUPPTE管理,我们也会有专门的工程师维护虚拟的开发环境。第三个是基准的开发包和简单便捷的本地ci,这两个东西都可以让开发对于他自己本地做测试有很高的积极性,也可以减轻他每一次在这上面做测试的尴尬。 针对这两种情况,前面大概是我们的现状,后面是目前的情况,通过用了现在的本地开发环境,大概也有一些优势,也改掉了之前一些问题。
8、比如说在我们之前,只能在服务器开发,之前也有人说他的服务器开发网速非常慢,会影响本地的开发效率。现在是可迁移、可定制完整的本地开发环境,这样的话对于一些新人或者新同事也可以非常好的上手。之前会先提交,然后跑集成测试改BUG,其实跑集成测试相当于把它的代码提供到这上面,现在可以在他本地进行一些测试,然后再提交,可以更快的知道一些结果,不需要去等。之前的WEB测试只能在中心服务器,现在可以在本地进行测试,因为本地已经搭好了一套完整的测试环境。 可能各位开发也会有第二种问题,如果增加了一些新的代码,可能diff特别大,可能会有问题,不知道这个东西究竟被谁搞挂的,刚才清风讲过了,或者是因为大脑太多会懒
9、得review。对于出现这种情况,大概主要的问题是因为review流于形式,最早的时候我们做代码的评审,开发或者是其他人坐在一个小屋里面大家把代码打出来看有什么问题,大家发现这种效率很慢,而且到后期的时候看的不是很认真,所以经常会有一些问题。第二种是分支合并成本很高,因为第一次提了很多diff,但是合成以后其实他不知道那里面到底有没有问题,如果有问题去改,他会再提交,这样花费的时间非常紧。因为提交代码太多,会导致问题很困难,大家不会立刻发现哪些代码出了问题,重新找很麻烦,而且会影响上线。 我们这边第一个解决方案是用reequest,我听清风很详细的讲了Code,大家知道这基本是一个什么东西。现
10、在豆瓣主要是用Code做代码管理。主要需要开一个新的分支,然后会跑一些测试,知道代码的测试结果,如果OK的话就可以了。 第二个如果以快速的以review为单元的话,review覆盖的面比较广,而且每次在提交pull的时候都有测试,对于他本人的信心也比较大。当他merge的时候出了问题,如果Pull有了BUG或者挂掉了,我们会自动发邮件给相关的提交人,他会发一份测试报告,他知道具体哪行代码出了问题,哪些测试挂掉了。相对于之前的对比,现在我们的情况是每一个pull都必须要review,组里面的每一个人都要参与进来,每一个人都在里面发表个人的意见。 现在基本上每天都会有合并提交,也不会之前写一大堆再
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 豆瓣 Python 测试 开发 经验 分享 孙雅丽 工程师
链接地址:https://www.31doc.com/p-2347911.html