我国互联网发展史很年轻,总共也就二三十年,而移动互联网的发展历史更加“幼小”,它在中国的存在也就仅仅十几年左右时间,而移动互联网是基于传统互联网而诞生的。如果要说移动互联网与传统互联网的区别,那就在于是否“移动”。现在的“移动”特性体现在“随时”和“随地”的利用网络获取所需要的信息,比如我们现在使用的智能手机浏览网页。
十年移动,十年历程。移动互联网这十年风云变幻,移动互联网测试更是随之发生了巨大的变革。
在移动互联网发展的初期,大部分产品的界面、交互都是根据传统互联网时期获得的经验来设计的。但是在慢慢的体验过程中,发现这些经验在移动平台上的体验越来越不受用户所喜爱,因此需要根据移动互联网的特点来针对性的进行满足移动互联网特性的设计。
关于移动互联网测试的发展史大概分为七个部分,包括人员、技术、定位等。
一、测试人员数量的急剧增长
首先,测试这十年最大的变化也最直观感受到的就是从业人员的数量了。早在2008年的时候行业内测试人员的占比是非常少的,就更不要谈移动互联网了。那个时候微软的很多员工说看好Android,旁人只会当为一个笑话。那时的Android G1手机,没有几人认知,更不要说明白什么是移动互联网了。但到现在,移动互联网测试越来越多,无论是传统行业,互联网等企业,技术基本上都已经离不开移动互联网。随着时间的推移,每一年也有越来越多的应届生会选择移动互联网测试岗位。明显可以看到现在测试人员的数量越来越多,为了顺应潮流称自己是移动互联网测试的就更多了,但相对水平和素质也愈加层次不齐。总体来讲,移动互联网人员的从业数量在过去10年内几乎呈几何倍增长。
二、培训教育组织层出不穷
在移动互联网之前可能51CTO等几家独大,但在移动互联网时代,尤其是在2014年开始,在线视频教育,网络直播的兴起,越来越多的草根培训机构层出不穷。相应的,前互联网时代的那些机构却并没有快速的跟上移动互联网的脚步。2013年左右开始,个人培训机构开始越来越多,2015年开始针对测试培训创业的也逐渐增多。就移动互联网的10年来说,国内的测试培训机构到能到今天这样的状态可谓“叹为观止”。当然其实不仅只针对测试,前端、后端、编程语言等都是如此。可以说这就是移动互联网本身所带来的一种变革。
三、移动测试人员要求不断更新变化
2009年 前对于测试的要求就是能做好功能测试。功能点是否覆盖完全,用例写不写,大多数公司并不是很关心,或者不是很懂。
2010年 很多大公司逐渐正规化,需要设计正式的用例。但从业人员要求基本上就能够会运行Android Monkey的Level。
2011年 开始摸索自动化,但总体还是比较关注用例积累和设计的。
2012年 这是一个分水岭,直接从手工跳跃到了自动化。UI自动化在当时迅速火的大红大紫。
2013年 对于自动化的要求更加变本加厉,不但要会使用,而且需要在基础上二次开发。
2014年 从点扩展到了面,从自动化的使用扩展到了持续集成的了解和运用。
2015年 功能,自动化都告了一个段落,整体开始测试平台化,工具化,技术上开始转移到了无线客户端的专项测试上。
2016年 安全提上进程。全栈也好,敏捷也罢也都到了一个白热化阶段,要求测试元不但需要懂开发,还要懂业务,架构等等。应聘测试岗位比CTO都要难。
2017年 可能需要加上了解大数据分析,人工智能等概念了。也就是说软件测试员不是那么简单了。
总体来讲,短短这10年时间,移动互联网测试的技能、素质要求简直是升华了好几档,大家现在对于测试的理解已经远远不是当初那种“门槛低,只是点点点”那种看法了。虽然很多人平时的工作依然还在点点点,但人人都有往CTO发展的潜质。
四、测试技术发展
2009年除了Android的官方文档以外,几乎没有任何的社区和博客有记载关于移动互联的测试技术(开发技术倒是蛮多的)。
2011年前基本上都是使用原生工具较多,应用本身复杂程度有限,开源工具较少。
2011年之后Robotium等一大批UI测试自动化框架开始多了起来,网络上关于测试的技术文章也开始逐步增多。同时一大批测试网站,社区也崭露头角。
2012年之后应用本身复杂程度大幅度提升,移动互联测试很清楚的分成了APP和OS两部分。同时开源测试框架,开源测试工具层出不穷。当时很火的并且做的不错的有Emmagee、athrun等框架。同时测试活动对于代码的依赖和使用开始了一个新的篇章。
2013年过后移动互联所涉及到的技术已经开始有了本质的变化,客户端的内容更多的开始依赖服务端的架构和设计,大家的关注也从一个客户端到了一整套系统的关注上。曾经的Web测试技术,API测试技术,Server测试技术也都慢慢的融入了移动互联。这也是之后为什么测试的关注点会从一个点发展到一个面的根本原因,这种情况一致延续到现在。
移动互联网本身的测试工具已经非常多,开源的框架和工具也在github上面遍地开花,另外技术本身已经出现了很多的组合使用。这一切与10年前可以说是天壤之别。现在测试技术可谓遍布各个网站,测试栈也几乎可以打通了整个常用的编程语言以及前后端系统。夸张点说现在的移动互联网的测试技术可以说已经到了让很多人望而却步的程度了。
五、测试意识
这确是个非常有趣的现象,但可能本质上和移动互联网关系并不是非常大,可能移动互联网只不过是加速了这一现象的发生。还是需要分成两个方面来讲,学术界和工业界。早在2009-2012年间,整个测试行业在这两方都有非常明显的活动。
学术界:办协会,做会刊,登报纸。扩散各种测试用例设计的方法、理念。从国外引入各种新的概念和设计思维等。当然测试毕竟也是研发过程中的一个环节,所以敏捷、DevOps的一些理论也都不会放过。
工业界:工业界的伙伴们忙跟狗一样,没有什么研究。之前几年基本上都是在学习移动互联的新知识,大力研究UI自动化。
他们的关注点都在一些通用的方法论上,但这些在2013年之后基本上就消失殆尽了。一来这些在行业中慢慢变得很难赚钱了,二来移动互联网加速了整个国内互联网的各种属性,理论本身也很难有趣落地实践的可能性了。但大家不得不承认一点,学术界在高校中被称之为“未来科学”是有道理的,因为他们在意识层面上的确比工业界的人们要先进的多。
测试真正意义上的自动化可能是自动化的终极目标,测试本身可以简单的分成“测试前”、“测试中”和“测试后”,但现在看来工业界基本上都还在“测试中”这个环节折腾,测试的自动化有通过软件框架实现的,也有通过opencv摄像头+硬件实现的。但无论是哪一种基本上都还在“测试执行自动化”。
在早些年工业界很少有人去关心“测试数据,用例设计自动化”以及“测试结果分析,定位,质量自动化”这两个概念,但学术界却有很多人在研究,甚至国外已经研究了几十年了。近几年才慢慢开始有相关的实践在大公司中落地,比如咸鱼在前年demo的基于脑图的用例生成、遍历技术、线上数据双引擎、大数据质量大盘等等。相信这些在未来都是工业界测试技术可以突破的点。
总之,移动互联网在这几年里的测试意识基本上是:功能->UI自动化->接口自动化->Native、WebView、底层分层测试->持续集成->专项测试->平台化、智能化(数据准备、遍历、问题定位)-->质量(贯穿整个系统和整个研发流程)
六、测试活动
这有着本质的变化,早些年除了ChinaTest和51testing的一些活动以外基本上就没有什么针对测试的活动和大会了。经过了这几年洗礼之后,我们能够看到不仅仅有很多的测试专属会议以外,BAT也会时不时的有一些技术交流大会,同时开发的各种大会也合入了很多测试主题在其中。
总体来讲,早几年可能还苦于没有人交流。而现在的测试猿们就非常幸福了,因为交流的平台和渠道实在太多。
七、测试定位
可能这点上并没有太大的进展,但至少也是从0到1迈出了这样一步——公司里应该要有测试这个岗位和角色。不过国内大部分公司和人都分不清楚QA和QC的区别,不能说是一种悲哀。
移动互联网中,早期其实大部分公司都是不需要测试的,毕竟测试并不能帮助产品从无到有。中期的时候,为了保证产品质量,引入了一部分传统互联网的测试来做移动互联网,但后来发现不行。一来移动互联网并没有想象中那么赚钱,所以在过程中很多公司其实有过一次测试的裁员。二来发现传统互联网的测试根本就hold不住移动互联网的产品,所以基本上后来就针对性招聘有经验的移动互联网测试员了。
后期,也就是差不多是现在这个时间段。测试和开发、运维等都开始融合了,测试本身的定位也从原本的测试保证到了质量保证。简单来讲,这也算是一个很突出的进步了。测试这个角色其实在这几年间就是一个催化剂的作用,让人和企业都慢慢的意识到了测试的重要性,意识到了质量的重要性,意识到了测试并不是想象中的那么简单。
网友评论