时间就是金钱,做自己擅长的事。

    我们需要的就是很强的学习能力,然后以不变应万变。

    要站在尽量高的高度去看问题,然后给自己做规划,不要回头一看,自己花了十年,一直在重复工作。

    APP的自动化就一句话,一定要分层,而且要分的细。不要把所有的风险都压在UI(界面)自动化或者手工测试上看,或者说压在打好包的APP上面。分层要讲的就非常多了。从界面到代码,可能还涉及到一些软硬件结合。从前端的功能到后端的接口。界面上细分我们还可以看到natvie的测试和webview的测试方式很不同,从接口层面来讲,我们用pythonrequests或者javahttpclient直接测试接口,和我们去调用开发的接口去做测试又是两个层面。所以总而言之,一定要分层,将风险平均化,才能够在快速迭代的移动互联网的项目各个阶段保证好质量。

 

   我觉得就测试而言,无论方向什么,我们还是要抓住技术的基础,也许AndroidiOS哪天都会倒,也许将来又是新的语言和技术,但作为一个移动互联网的测试,我们必须用最快的速度去接收和学习,为什么我一直强调学习能力很重要,就是这个道理。如果作为移动互联网测试的你,每天还是浑浑噩噩,只会用工具,觉得不看代码就能够写测试用例,那么我劝你要么快点努力学习,要么就快点转行业吧,不用多久肯定淘汰。


     APP的测试目前相对传统互联网的测试需要特别关注的点我觉得有如下一些:

1.   平台特性

AndroidiOSWP等平台各自有各自的特性,不仅仅是表面大家知道的分辨率,还有就是应用每个操作在系统内部有什么变化,这些我们都需要去了解


2.   网络变化

  移动的网络变化很大,弱网络情况下我们的应用的逻辑是否会有问题这个很重要。昨天的工作中我还发现我们自己的应用在弱网络下js重复加载的问题。


3.   碎片化

  这个就是我第一点中提到的特性,不过还是需要单独拿出来列一下。


4.   移动无线的安全

  移动无线的安全随着发展,越来越变的重要。对于APP而言,除了网络层面的安全以外,还有很多和自身特性有关的安全,比如Activity启动参数注入,contentprovider的数据共享,iOS远程ssh登陆等。这些对测试而言挑战也很大。


5.   移动无线的性能

  很多人在最初很容易就觉得移动无线的性能和服务器的并发是一个东西,很多人都在问一个应用很多人在用的时候怎么测试性能,这个其实还是服务器上的性能问题。而这里我要说的是APP本身的性能问题。其关注点很多,比如电量,流量等,深入的话还有内存泄漏,界面渲染,h5和自定义控件性能等。


6.   自动化和持续集成

  虽然以前测试也都是有自动化和持续集成。但是为什么我要列在这里呢。原因在于移动互联网的测试中自动化和持续集成要求很高,没有持续集成的项目根本在移动互联网是没有办法很好的运作起来的。而移动互联网目前涉及到的语言和技术又比较杂,故而对测试又是一个很大的挑战。


       比较实用的自动化测试小工具的话,我倒是可以推荐几个:

  抓包:fiddlercharlesburpsuite

        Android自动化框架:APPiumRobotiumCalabash

        iOSAPPiumCalabashKIFGHUnitinstruments