导言

App的整个测试环节中,性能测试是一个很重要的环节,它直接影响了用户的体验,那么,对于App的性能测试,我们到底需要关注哪些点呢?又该如何来测试呢?今天小编有幸采访到了资深测试者唐勇老师,请他和大家分享一下如何更好对App进行性能测试。

专访内容

1、唐老师,您好,很荣幸今天能与您进行一次深入的交流,在开始之前,请您向大家介绍一下自己!

我从事软件测试有10年了,我之前并不做软件测试这一行,后面公司内部调职过来做测试。领导觉得我做事细心,比较适合做测试,这调去测试岗位后还算做得不错,自己比较喜欢钻研一些技术方面的东西,转到测试岗位后快速上手,并在性能测试方面有突出表现,2年后升为测试组长,再到副经理、经理,负责整个测试团队的管理。

2、那您当初刚转测试的时候,您是怎么学习测试的呢?有没有什么经验给大家分享一下?

最开始,主要还是跟着有经验的人学习了,比较少上网找资料之类的,把别人掌握的东西学得差不多了,发现有些问题有经验的也搞不定的时候就自己多上网找了,在07年4月,当时转测试岗位半年左右,注册了51testing账号,在上面学习,主要是遇到问题就到上面问,寻求别人的帮助,在这也感谢51testing提供这么好的一个测试交流平台,感谢曾经给予帮助的前辈们!

3、今天借这个机会想和您聊一下App测试,目前App测试越来越多了,能说一下拿到一个新的App,测试人员该如何进行测试呢?

对一个App进行测试,主要包括功能测试、客户端服务器性能测试、适配兼容测试以及安全测试。个人对App功能测试方面实际参与并不多,最开始关注性能这块的东西比较多。 从团队多年积累下来的经验看:
功能方面:App测试与传统的PC端测试并没有太大的差异,差异主要集中在手机端特有的一些特性及网络相关的处理方面。
性能方面:从实际项目经验看,从用户的角度来看性能会更有意义。

4、App性能测试主要测哪些呢?

App性能测试分客户端和服务端,为什么要这样分呢,其实我们要先了解App的架构,一般原生态的App,当需要请求App的某个页面时,App会像服务器发送请求,服务端返回请求数据(一般是json数据),App再将数据与模板合并渲染出页面,展示给用户。(这个过程其实和浏览器本身差不多,只是我们在测试通过浏览器访问的应用性能时,并不关心浏览器本身的性能,因为这个由浏览器厂家完成了)……[详情]

5、那通常是如何对App进行性能测试呢?

前面我们已经提到性能分服务端和客户端性能,客户端这里就不详细讲了,说下服务端性能部分。
       1、首先我们要清楚对服务端的请求有哪些
       2、请求的压力分布是怎么样的,不同的请求并发量是怎么样的
分析对服务端的请求有哪些,这个可以通过一些辅助工具来实现,例如charles、fiddler,这2个工具比较常用,都是通过设置代理的模式来抓取请求,另外也可以直接使用压力测试工具的录制功能,例如,Loadrunner也可以通过设置代理来抓取请求包,生成脚本。
压力分布这块,如果要做得比较细……[详情]

6、那么,通常什么样的结果才能体现接口性能不好,能简单举个例子吗?

接口性能不好,一般是指达不到预期结果。一般来讲,我们会通过这样的方式去判断:
1个页面一般3-5秒内用户体验较好,假如这个页面如果调用了10个接口,那么单个接口的响应时间要控制在0.5秒以内。
响应时间是一个指标,但另一个并发数是很重要的,响应快了,支持不了那么多并发数也是不行的,要兼顾响应和并发。其实做性能的时候不仅仅是看是否满足需求,很多时候是调优。

7、刚才您提到压力测试工具,为什么进行压力测试,通常使用什么压力测试工具呢?

App的压力测试其实就是对应用承受能力的测试,当App上线后,会和Web一样有很多用户访问,像京东618,天猫618,就会有大量的用户访问,这就需要对App后端的服务器进行压力测试,否则的话访问量过多,会导致系统崩溃的.而App的压力测试和Web产品一样,主要是通过HTTP请求对后端服务加压,观察后端服务的系统指标和日志,看看是否能撑住大流量……[详情]
压力测试工具,主要还是Loadrunner了,Loadrunner比较易用,并且现在也是50用户并发免费……[详情]

8、App测试内容也是相当复杂,您认为在做App测试中,大家认为难点在哪里?又该如何解决这些问题呢?

我个人觉得,难点有两个:
       1、兼容性
      2、App版本很多
兼容性,特别是Android平台,机型太多了,OS版本也很多,这也是iOS和Android的主要区别。兼容性没有太好的办法,最笨的方法就是机型都拿来测试下,然后根据测试情况分析哪些地方容易出问题,后面通过经验来减少不必要的测试,现在有些云平台提供各种机型来跑兼容性测试,可以做最基本的安装、卸载之类的测试,手机的机型很多,并不是测试越多越好,测试覆盖越高成本越高,要看这样做是否有这个价值。
App的版本很多,后端的变动,如何保证不影响App各个版本功能。就需要做接口的自动化测试,以自动化测试来覆盖,每次变更都对接口跑一次自动化测试。

9、您现在有自己的测试团队,职业发展中也是相当不错的。对于测试人员,该如何更好的规划自己的职业发展?

当你负责的东西越多,责任也就越大,负责一个团队,要为团队负责,尽量为每一位成员发展提供空间和方向,当然对于个人来讲,更重要的还是得靠自己主动。对于职业发展规划建议这块,我个人并没有什么好的建议,因为我自己就不太有规划。只有一个原则,那就是让自己每天进步一点点……[详情]

如果觉得我们的访谈对您有用,请随意赞赏。您的支持将鼓励我们继续创作! 打赏支持

本期专家

曾负责互动类、电商类、OA类、移动App类数十个项目的测试,跟随互联网业务的变化,带领团队建立各种新业务的测试流程和标准,负责整个测试团队的管理及建设工作,改进项目流程,推动质量体系建设。

专家在线视频

评论


关于我们 | 广告服务 | 招聘信息 | 会员注册 | 联系我们 | 站点地图 | | 沪ICP号05003035号
意见反馈/投稿邮箱:editor@51testing.com
Copyright©51testing.com 2003-2017 All Rights Reserved