以下记录的是在移动应用的测试过程中,使用到的网络测试的方法和类型。
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长连接的方式来控制网络,所以没有经验,但是期待未来可以尝试这方面的测试工作。