平台报告2019-06-03

网络友好测试报告最新上线

    [前言]

    三星应用上架自动化测试平台于2月20日正式上线,每一个在三星应用商店提交的应用都会进行自动化测试。目前自动化测试包括应用兼容性测试、安全测试和网络友好测试。

    本文主要介绍网络友好测试:网络友好测试是依据TAF(电信终端产业协会)关于应用软件网络资源使用效率的标准,测试软件在不同网络场景下的网络通信状况,APP网络使用效率、流量及电量消耗。

    测试完成后,对应用的网络使用情况进行综合评分,并将分数展示在三星应用商店页面,如下图以三星阅读为例,点击“查看全部”可查看应用的测试报告。


    三星应用商店3月网络友好测试表现情况:

    11.png

    1、应用总分分布

    大部分应用总分在220分到260分区间内,具体分布请参考下图。


    22.png

    2、分项介绍

    2.1  文件优化

    围绕传输内容进行检测,针对文本压缩、重复内容、缓存使用、合并请求、图片处理等9项进行全面测试。应用应尽量压缩文件、减少不必要的传输内容,通过正当的处理方式减少网络资源浪费和网络请求次数。


    下图展示在文件优化方面应用的主要问题:

    33.png

    主要问题解析:

    信息精简:

    -   要求: App在网络传输过程中,检查非⽤户阅读类的文本信息,可精简的信息应不超过总量的5%。

    -   建议: 开发者经常在代码中添加空格、换行符等格式化信息为了方便阅读代码,但这类信息对于代码执行没有意义,APP应精简非用户阅读类的文本信息。 


    重复内容:

    -   要求: App在⽹络传输过程中,不应出现未过期的重复下载内容。在时长不低于 5min的遍历过程中,检测到的重复下载的内容应不超过3项。

    -   建议: 当客户端请求下载曾经使用过的重复内容时,会浪费网络资源、增加应用响应时间。因此建议开发者在应用中建立缓存机制,为可缓存的文件建立可临时存储的缓存区域。


    2.2  网络连接

    网络连接是对传输过程进行的检测,包括6项测试项目,促进应用合理使用网络资源,对连接的建立、并发、关闭和周期性等进行测试。


    下图展示在网络连接方面应用的主要问题:


    44.png

    主要问题解析:

    并发TCP连接:

    -   要求:在业务场景允许的情况下,APP在网络传输过程中,不应出现同时并发的TCP连接。对于特殊场景和业务要求,开发者自行权衡。

    -   建议: APP避免同时建立多个并发连接,尽量将多个需求合成后发送。开发者可根据APP自身特点,选择在客户端和服务器间建立长连接,同时结合HTTP pipelining来解决问题。 

               

    关闭连接:

    -   要求: APP在⽹络传输过程中,用于超时后的关闭连接请求的能量占比应小于5%的传输耗能。

    -   建议: 很多开发者不注意网络连接关闭的问题,交互结束却仍然占用着网络资源不释放,需要等到超时后才能自动关闭。建议开发者及时关闭网络连接 ,不要造成网络资源浪费和设备耗能。 资源不释放,需要等到超时后才能自动关闭。建议开发者及时关闭网络连接 ,不要造成网络资源浪费和设备耗能。


    2.3  加载效率

    对APP的网页的加载效率进行测试,应用应具备识别状态码并进行相应处理的能力、减少使用第三方脚本、JS异步加载、JS加载顺序置于CSS文件之后、使用HTTP1.1、同时避免出现空属性标签和Flash文件的使用。


    下图展示在加载效率方面应用的主要问题:

               55.png

    主要问题解析:

    301、302 HTTP响应状态码:

    -   要求:测试过程中,未检测到任何301、302HTTP响应状态码;负载均衡原因引起的3xx重定向代码除外。

    -   建议: APP客户端应具备识别状态码并进行相应处理的能力, 3XX代表资源(URI)重定向。客户端根据状态码提示,溯源其网络连接过程,定位错误并对其进行改正。 


    400、500 HTTP响应状态码:

    -   要求:测试过程中,未检测400、500HTTP响应状态码。

    -   建议: APP客户端应具备识别状态码并进行相应处理的能力, 4XX代表客户端请求异常;5XX代表服务器端异常。客户端根据状态码提示,溯源其网络连接过程,定位错误并对其进行改正。