作为一个iOS开发人员,小编认为自己并没有特别特别严谨的逻辑和严谨的代码习惯,尤其是多人开发或者接手别人的工作时体会更深。因为在开发完测试的时候真的很痛苦。我一度认为我竟然会犯下如此幼稚的错误。有的东西,不是不会,而是没想到。
我现在就最近开发的一个项目来总结一下测试中遇到的一些问题,大家可以以此为鉴,检查一下捏的代码有没有这些问题奥。
1、如果你在项目中添加了类似于生日或者性别的弹窗(一般是个人中心编辑信息弹窗),并且添加在UIWindow上的。如果你没有禁用苹果的右滑返回手势,你测试过右滑效果吗,说不定会有惊喜奥;
2、你在项目中肯定用过Lodding加载圈,为了确保这个加载圈不会影响正常使用,最好还是在每个控制器中添加一下消失方法,否则测试的时候会烦死你;
3、你是过瞎点吗,不要笑。我写的代码瞎点就会出问题,尤其是在登录的时候,不知道你们的。在这里for example下,我在项目初始化window的时候,由于逻辑问题,对rootViewController进行了两次设置,其实只有第二次设置的才是对的。这个时候进行登录,瞎点并且快点。哈哈,我已经不确定window的根控制器是哪一个了;
4、我猜你的项目中多多少少会有一些数字的显示,你看过后台开发人员给你的接口返回的数字是什么类型吗,String的话我就不担心了,如果是Number呢,除却为空判断,你用这个值得时候都会把它float一下吧,这个时候测试过这个值对吗,甚至在客户端自己做计算的时候怎么计算的呢,直接用float进行计算?大错特错了;
5、真机测试的时候你们都测试哪个机型呢,我在6s上启动很快,但是我们测试人员的6就很慢,真是摸不着头脑。我在没有真机的情况下,在didFinishLaunchingWithOptions方法中对每一个操作进行了时间计算,发现是第三方的集成这块问题。我的项目中第三方有:百度地图、ShareSDK(第三方登录和分享)、友盟(埋点)、个推、开屏广告、以及系统配置和初始化窗口操作。结果发现问题所在:友盟和ShareSDK的注册方式在6上非常耗时,将近2s,但是在6s上也就0.5s左右。为了适配,只能修改了注册方式。注意:如果你单纯只用了框架中的某个功能,没有必要将整个库文件都引入进来和注册,比较耗时。比如友盟我只用到了埋点,我就只注册埋点好了。