• 网络测试的类型和方法


    以下记录的是在移动应用的测试过程中,使用到的网络测试的方法和类型。

    1. 普通手机流量网络测试

    主要是在2G/3G/4G网络下进行的测试。

    主要关注的点是在该往网络模式下,是否每个需要联网的功能点都覆盖。

    覆盖才是王道,哪怕最小的有个按钮,如果提交的时候在2G/3G/4G下出现问题,都是需要修复的问题。

    另外如果是下载测试,我个人觉得不太主张用2G流量去下超过1M的文件,之前的项目中也用到了下载,而我再测试过程中的准则是:

    1M以下的成功率能保持在80%甚至更少70%,即通过。

    如果下载失败提示合适的文字信息告诉客户失败了。

    并且失败之后不产生程序的崩溃问题即可。

    1M以上的文件,由于下载超时,等种种问题的存在,我也没有过多的考虑。不能越过的底线是,下载失败,提示合适的信息,程序不产生崩溃,不对客户产生更多不好的印象,即可。

    注:个人觉得4G的到来必然会淘汰2G的存在只是路还很长。

    2. WiFi网络测试

    主要是在WiFi信号强度好的情况下进行的联网功能点的遍历。没有什么好说的,做移动应用测试,必然会考虑的东西。

    3. DNS设置之后的测试

    在Ios的系统中,WiFi连接之后,可以使用WiFi的设置总修改DNS,感谢Joey的帮助,之前我也没有接触过此类的情况,他的说法是,在某些特定的DNS会对App store的下载速度产生影响。有些人是这么用的。

    所以有需求就得测试。一般我会修改为114.114.114.114然后进行测试,确保遍历所有的联网功能点。

    4. Proxy环境的测试

    这个是稍微复杂的东西,一般人不会使用proxy的网络模式。但是某些特定的公司可能为了逃避收费软件的查封,所以会用代理服务器的方式上网。

    测试的时候使用笔记本连接网络,打开WiFi,启动CCProxy,配置好相应的信息的方式,手机连接和笔记本相同网络环境下的WiFi,设置proxy的方式进行测试。

    这同样也是根据不同的移动应用使用的人群进行的测试。

    5. VPN的环境测试

    某些时候,客户会使用VPN的网络环境,跳到国外的服务器去访问Facebook 或者推特等之类的应用,如果客户的网络环境不发生改变,则需要我们测试VPN环境下运行我们自己的移动应用的具体情况。

    之前的公司是提供相应的VPN收费账号的方式进行测试的。想做国际化应用的公司,应该肯定要考虑这条的。

    6.WiFi拔线的网络测试

    这种是被开发成为超级变态的测试方式,我一直在用,开发一直在抱怨,但是没办法,它的使用有一定的目的。

    • 我们并没有一种完美的方式来模拟在网络极度差的情况(我的期望是有一种设备放在测试机上,对其产生一定影响,根据调整的影响度数不同,来实现网络干扰从而达到模拟网络差的情况,而且必须很便宜。。。)
    • 某些时候WiFi拔线的测试方式和网络差的情况下比较相似

    测试方法是,在连接WiFi的情况下,进入到需要点击联网按钮之前,拔去WiFi的数据线,造成有WiFi信号但是没有网络的模式。看网络请求的超时情况,和超时之后的提示信息等个方面的信息。

    7. WiFi限制上传和下载速度的方式进行测试

    在路由器中设置某个连接的上行和下行的速度,但是这种方式测试下来效果并不好,在某些下载的应用中可能会明显的体现,但是如果想用这样的方式来模拟2G网络的具体运行情况,其实是走错了路。

    2G卡本来就不贵,何不买张2G卡呢。

    8. 路由器中的白名单或者黑名单的网络模式下的测试

    某些路由器可以在其中设置白名单或者黑名单,之前也做过这方面的测试。譬如,客户的路由器只能访问接口所在的域名,www.baidu.com

    除此之外没有其他的网站可以访问。

    从测试结果来看其实也是不尽如人意的。

    主要问题:

    • 怎么样模拟客户的设置,路由器千差万别,设置方式不尽如人意,没有找到一个完美的方式进行测试。
    • 使用TPLink的路由器模拟的时候,被逼无奈在接口访问的时候,数据放在header中才能正常提交。一般情况下是在body中存放数据,header只放一些很少的东西,具体不懂。但是为了配合这样的网络模式测试,使得开发去妥协使用这种小众的处理方式,我觉得不是一种伟大,而且风险太大,可能会造成更多的问题。

    9. Socket长连接的测试。

    吊丝一个,进入的公司没有一家在做socket长连接的方式来控制网络,所以没有经验,但是期待未来可以尝试这方面的测试工作。

  • 相关阅读:
    Python_异常处理
    Python_文件相关操作
    Python_集合
    Python_字典
    Python_元组
    Python_列表操作2
    Python_列表操作1
    Spring-Data-Jpa使用总结
    SpringBoot源码分析之---SpringBoot项目启动类SpringApplication浅析
    RESTful API批量操作的实现
  • 原文地址:https://www.cnblogs.com/kevinqinan/p/3718712.html
Copyright © 2020-2023  润新知