技术为辅,思维主导

----中国移动互联网测试开发大会有感

昨日应领导之要求参加了由TesterHome主办的中国移动互联网测试开发大会,说实话我本来不喜欢参加这类大会的,因为一般这类大会很多时候都类型于做广告。我们公司有一个产品A,这个产品有什么功能,能解决什么问题,吹嘘一番,然后要使用我们的产品不是办会员,就是要去购买。然后换一个人,再去介绍产品B,同样的思路,到头来没有什么收获。不过昨天的大会还是出乎我的意料呢,不能说收获满满吧,还是开阔了思路,增加了不少见识。

现在就我个人的感触总结一下,仅供大家参考。

一,    保持传统,广告宣传

传统的这类大会都会有不少公司来介绍自己的产品,本次也不例外,介绍了不少类似的东西,如:Google Mobile Testing,工信终端操作系统测试评,华为云测试,去哪儿去测试体系,以及所打的广告腾讯WeTest,TestI云测试平台,还有百度MTC云测试中心等等。

此类关注提供测试平台,测试服务的公司在很早的时候就出现了,可是市场前景并不好。具体原因我没有太过关注,就我个人分析:这类公司的客户一般是小的创业公司,他们没有太多的财力去组建自己的测试团队,而又需要保证自己产品的质量一般会供助于此类平台或是公司。而稍微有能力的公司都会组建自己的测试团队,一是出于商业机密和安全考虑,尚未投入市场的产品就交给第三方来测试,这是不妥的。二是,产品,开发和测试都是自己的团队,优化和修改起来也比较快捷,而不用等第三方的测试结果。

这类广告一般不会有相应的设计思路分析,只会了解到有什么相应的功能 ,酷玄的界面和详细的报表,这倒是可以借鉴的。不也不用太介意此类的分享,听听即可。

二,    深入分析,全面测试

当我看了下午各个会场的分享目录后,第一感觉是:其实大家做的东西都差不多嘛,接口测试,UI测试,持续集成,好像也没有太多新鲜的东西。但是我也要去学习一下,看一下同样的东西大家是怎么做的。听过之后发现自己还是有点儿浅薄的,具体表现如下:

(1)接口测试

通常我们做接口测试是通过python requests模块来编写相关的代码,加上unittest模块,HTMLTestRunner来进行检测和生成报告。如果做的大一些儿,就是编写接口自动化测试平台,进行接口文档管理,测试用例生成,用例集管理,日志记录和环境切换等功能。个人感觉还是不错的,至少比仅仅写代码高级多了。听了搜狗和饿了吗他们做的接口自动化测试,感觉还是有很多需要考虑的地方:

?  环境切换方法的不同:我是通过在执行服务器上添加相应的host来进行切换;而他们是通过对测试环境进行相应IP,域名配置,解析请求的DNS来进行环境的切换。

?  测试数据来源的不同:通常的接口测试数据是通过数据文件,如TestNG的dataprovider或是数据文件XML来提供;当然也有通过mock平台来提供的。而他们主要是通过mock平台来提供数据,正向的数据通过mock线上接口,逆向数据可以修改mock数据提供。也有分析请求日志来解析相应的测试参数数据,进行进行测试。

?  测试用例生成不同:通常的接口测试用例都是自己通过相应的编码语言来编写的,不过感觉目前的测试平台的开发趋势和市场上其他产品越来越类似了。操作越简化越好,通过简单的点击几个,填写几个数据就能完成相应的测试操作。所以测试用例也趋向于自动生成,通过填写参数与预期结果,自动生成测试用例;还有就是他们分享的通过解析线上请求日志来自动生成测试用例,总之就是操作越少越好。

?  后续统计操作:在我日常做的接口自动化过程中,如果用例出错会记录相应的出错日志,以便查看报告的时候排查错误;没有做相应的统计工作。现在其他公司在接口自动化的时候,对报错日志执行结果做了相应的统计与展示。

(2)UI自动化测试

移动端自动化测试,主流还是通过Appium, Robotium, UIAutomator等开源框架,接口用例也是通过java或是python编写相应的自动化测试用例。也有通过相应的录制工具进行测试用例录制,而后改写而成,自动化的检测也是设置相应的检测点,检测预期结果。而如去哪儿网的移动端自动化测试,做的就比较有特色:

?  用例自动生成,通过相应的测试工具进行测试用例录制,然后通过相应的框架转化成具体可执行用例。

?  图片对比验证:通过设置的检测点是普通文字,至于图片只检测存在与否。而去哪儿则是通过保存屏幕截图,对比两个不同版本的相同页面的截图进行检测;也可以对要对比的图片进行裁剪,而后指定对比的对象。这一点倒是思路奇特,图片对比还是比较复杂的。

?  后端数据对比:在录制测试用例的时候,不担保存相应的屏幕截图,也保存相应接口的后端返回数据;检测执行结果的时候,同时对比相关的数据。后端数据通过mock进行保存或是修改相应接口数据,修改接口数据为异常数据,检测页面异常展示。

?  测试数据与执行机型对应存储:在我们编写或是生成测试用例的时候,如果有座标定位的时候,往往因为执行机型不同而至测试用例兼容性较差。而去哪儿在自动生成测试用例的时候,对测试数据与执行机型做对应保存,执行时候比对机型而去取数据。这点儿做的非常巧妙,值得借鉴。

(3)专项测试要深入

在移动端测试的过程中,对app需要进行专项测试,如果首屏加载时间 ,app下载,安装时间,用电量等方面进行测试。我们通常的做法是借助于第三方工具,或是android studio等进行相关的测试;我没有做过太多相关的测试,不过好像也没有了解过太多的其他方法。

而腾讯在这方面的专项测试还是比较厉害的,听也还是挺有感触的:

?  安装包瘦身:他们会从冗余代码或是jar包,方法数和代码混淆,资源优化,极限压缩和插件化等方面进行优化。这些方面已经超过我们测试考虑的范围,可是这些儿确实是优化的最好办法。

?  启动优化:从UI层优化,避免过度绘制,view延迟加载,布局不合理,逻辑层优化,本地任务执行,网络协议优化等方面进行相应的测试以提出优化建议。

?  电量测试方法,通常电量测试方法也是非常多的,我们测试的时候也会用到。不过腾讯还是提出了一个非常好的方法,直接调用android获取电量信息的方法,用来展示我们要检测的应用的用电量以及获取大量耗电的方法,此点倒是让人眼前一亮。

在我们以后做专项测试的时候,不能只局限于表面或是现成的工具;要深入了解产生问题的原因或是要测试对象的底层现象。而后再去做相应的信息汇总或是排查,以达到我们测试的目的,迅速定位问题所在。

三,    结合自身,深刻反思

我做测试开发已经五年了,在工作过程中也做了不少相关的东西,接口自动化测试,服务自动化测试,页面自动化测试,测试平台的开发,解决实际问题的脚本也写过不少。结合我们公司现在做的很多东西,也让我提升了不少,对此我深怀感激。听了这次大会分享,深刻地感觉到技术还是那多么技术,可是在通过不同的思维方式,可以设计出非常多独具匠心的好东西的。同时也深深地感到自己有不少不足之处:

?  考虑问题不够全面深入。在解决具体的问题的时候,针对问题设计好了详情的解决方案,也能很好地解决问题。不过对周边相关的考虑不够全面,如果没有对执行数据,出错信息进行相关的统计或是汇总。

?  缺乏对困难的挑战和深入的探讨。在做页面自动化时候,一直认为图片对比比较困难,也就没有再做深入的探讨,就只是判断相应的图片位是否存在。这只是一个例子,还有其他的方面需要进行反思。

?  数据统计和展示方面欠缺。在做自动化测试或是其他方面测试的时候,没有做深入的统计工作,还有就是展示统计结果,在这方面前端知识就比较欠缺,还是需要设定相应的目标补充相关知识。

?  开阔眼界,时常补充新知识。在平时的工作中,由于需求迭代比较快,积极响应需求,保质保量地完成工作。最近有点儿疏忽关注新知识的发展,这样不好,导致思维不够开阔,对于解决具体的问题还是有阻碍的,以后得改进。

时间: 2024-10-29 19:07:00

技术为辅,思维主导的相关文章

Lyft高管的技术团队管理实战

Lyft 的技术总监沈思维分享了他对于管理技术团队和打造工程文化的经验,也欢迎添加他的微信公众号"人家的屋顶"了解更多(微信公众号ID: othersroof).沈思维毕业于密歇根大学和卡内基梅隆大学.他早年在 Google 任软件开发工程师 (2005 - 2011),2011年加入 Twitter,后任产品安全部高级研发经理,负责反垃圾及帐号安全方面的工作.2015年底至今在 Lyft 担任研发总监,负责包括支付平台,风控平台.开放平台在内的多个团队.工作之外,沈思维关注并致力于提

正确处理好工作任务和自身技术发展的关系

工作有3年有余,周围接触了不少的同事.总的来说,我周围的同事分为两类:工作踏实型和技术热爱型. 我周围有的同事十分踏实,分配下来的工作总是匆匆完成,平时也不见空闲,总是在不停的敲写代码,这种勤奋工作的热情常常令我自叹不如,所以我常常以此类同事为榜样,希望自己也像他们一样做到专注.后来,通过深入的了解,我发现这类同事对自己的评价总是"技术不太行",虽然有自谦的成分,但是从我自己的观察来看,这类同事往往对JAVA技术谈不上热爱,没有追逐新技术的热情.除了按时按质的完成任务,他们并没有更高的

当我们在谈论技术时,技术的本质和价值究竟是什么?

过去几年,硅谷最喜欢的口号悄悄地从"不创新,毋宁死!"换成了"不改良,毋宁死!". 湾区文化中,改良意味着全套的技术解决方案,它兜售着一种人类理想主义,从而让这里的极客们更有抱负.更愿意相信一己之力可以推动经验创新.社会发展.这就好比鉴赏者和艺术家,二者对"结构性颠覆和改革"有着截然不同的认知感及行动力. 如今这种对"改革"的认知变化,也发生在最近一年的中国互联网公司身上.这篇文章,要讲的就是"改革背后的力量&quo

国内外对于简快思维导图的发展分析

现在很多人做技术框架,产品设计都会用到思维导图.但其实思维导图其实早在很久之前就在美国出现并传如中国了.但是小编我依然是上了大学才知道有这么一回事.那么今天来给大家科普一下思维导图课程的国内外发展形式(本文来自于e良师益友网). 相对于国外的发展来说,国内的思维导图的应用还刚刚起步,关于这一点我们从目前国内的有关这方面的培训和研究情况可以明显的感觉到这一点,而且目前我们使用的软件,基本上都是国外的软件.其中就拿托尼巴赞参与开发的制作思维导图的软件mindmanager来说,它已经有英文.德文.日

网易视频云分享:流媒体技术介绍(下篇)

网易视频云干货系列--流媒体技术介绍之下篇和大家见面了!上篇的分享从传统流媒体的技术特点等方面进行分析.中篇的分享举例对比了企业方案.本次的分享将主要举例国际技术标准的解决方案,对比分析各自的优缺点. 目前,HAS技术的实现方式从标准的类型来看主要有两大类:一类是企业方案,即提供了整体的技术解决方案,如Apple Live Streaming技术.Adobe Dynamic Streaming技术.Microsoft Smooth Streaming技术:另一类是一些国际标准组制定的技术标准,如

这是一项颠覆性技术 - 容器

我从14年开始关注容器技术,15年开始使用容器技术,这些年看到了容器技术爆发式发展.版本的快速迭代,记得当时Docker版本还是0.7,Kubernetes版本是1.0,到现在Docker CE 18,Kubernetes 11.一门新技术的产生必定是为解决某些问题而存在的,同样也会带来一定的问题,容器技术是一项颠覆性技术,改变了企业的CI/CD(持续集成/持续交付,部署)环节的方式,开启了一场革命,我们一起看看这场革命怎么实行的! Docker是什么? 2013年初,Docker横空出世,一个

千人千面、个性化推荐,解读数据赋能商家背后的AI技术

12月6-7日,由阿里巴巴集团.阿里巴巴技术发展部.阿里云云栖社区联合主办,以"2016 双 11 技术创新"为主题的阿里巴巴技术论坛,来自商家事业部的技术总监魏虎给大家分享了数据赋能商家背后的AI技术.首先对大数据和人工智能进行了简要介绍,接着着重分析了客户运营平台,包括实时分群算法.match和rank框架以及千人千面技术,最后讲解了千牛头条.服务市场和智能客服中AI技术的应用. 背景介绍 大数据 大数据主要有四个特征:Volume(大量).Value(价值).Velocity(速

闭环思维,让你更加优秀的诀窍

前言 相信很多同学都有过这种经历,使用电脑时,辛辛苦苦写了很长的文档,也没有及时保存文件,突然一下死机或者断电,全部心血都付诸东流,一脸懵逼地看着没有任何动静的电脑屏幕,止不住的唉声叹气. 于是这些同学痛定思痛,决定将保存的动作牢记于心.日后的码字过程中,总是按照 码字-保存-码字-保存 的流程进行,慢慢地在脑海里形成了一种条件反射,再也不用担心字白码了,事情白干了. 而这种码字保存再码字再保存的循环机制,其实是闭环思维的一种体现.正是脑海中形成的这个闭环,我们的工作效果才能在这一次次的实践中得

关于技术的一些思考

额,在程序生涯中混迹了这么久.到今天才来写自己的第一篇博客.真的很惭愧.想到哪就写到哪吧.也是自己的一些思考吧.其实我一直在思考技术的本质到底是什么,学习技术是为了什么.没有了技术就不能解决问题吗?这些问题一直萦绕在我的心头. 关于技术的本质是什么?我觉得技术就只是技术,没有什么高端的.技术只是一种手段,是一种解决现实问题的方法罢了.不要把技术太过于神话了.我们只要能很好的解决问题不就行了吗,管他是什么技术呢?有些人太过于迷信技术,甚至到了疯狂的地步,活在了自己的技术世界了.而忘了真实世界.有时