技术为辅,思惟主导

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

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

如今就我我的的感触总结一下,仅供你们参考。python

一,    保持传统,广告宣传android

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

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

       这类广告通常不会有相应的设计思路分析,只会了解到有什么相应的功能 ,酷玄的界面和详细的报表,这却是能够借鉴的。不也不用太介意此类的分享,听听便可。服务器

二,    深刻分析,全面测试网络

       当我看了下午各个会场的分享目录后,第一感受是:其实你们作的东西都差很少嘛,接口测试,UI测试,持续集成,好像也没有太多新鲜的东西。可是我也要去学习一下,看一下一样的东西你们是怎么作的。听过以后发现本身仍是有点儿浅薄的,具体表现以下:app

(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获取电量信息的方法,用来展现咱们要检测的应用的用电量以及获取大量耗电的方法,此点却是让人眼前一亮。

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

三,    结合自身,深入反思

        我作测试开发已经五年了,在工做过程当中也作了很多相关的东西,接口自动化测试,服务自动化测试,页面自动化测试,测试平台的开发,解决实际问题的脚本也写过很多。结合咱们公司如今作的不少东西,也让我提高了很多,对此我深怀感激。听了此次大会分享,深入地感受到技术仍是那多么技术,但是在经过不一样的思惟方式,能够设计出很是多独具匠心的好东西的。同时也深深地感到本身有很多不足之处:

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

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

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

Ø  开阔眼界,时常补充新知识。在平时的工做中,因为需求迭代比较快,积极响应需求,保质保量地完成工做。最近有点儿疏忽关注新知识的发展,这样很差,致使思惟不够开阔,对于解决具体的问题仍是有阻碍的,之后得改进。

相关文章
相关标签/搜索