仓酷云

标题: IOS教程之做挪动互联网App,你的测试用例充足吗?仓酷云 [打印本页]

作者: 再见西城    时间: 2015-1-18 11:47
标题: IOS教程之做挪动互联网App,你的测试用例充足吗?仓酷云
如果你现在开始学到编出像样的APPiOS5可能已经普及了可以直接用ARC(另之前对ARC的了解很粗浅现在开发程序完全可以直接ARCiOS4不支持的weak是有办法替代的用unsafe_unretained我在口试测试工程师时,常常问到的一个成绩是“给出Word另存为这个功效的测试用例”。除开基础的测试用破例,思索到各类非常情形,比方内存已满、硬盘空间不敷长短常主要的。可是针对挪动互联网App来讲,情形还要庞大的多。
一个主要准绳是:测试你终极要公布给用户的App版本。
大概逐日构建、逐日测试的理念已不得人心,我们良多时分测试的只是App的开辟和Debug版本,而不是终极的Release版本。在打包终极的Release版本时,我们一样平常还要加上数字署名,大概再加上代码搅浑。那末终极的公布版本和Debug版本一定有纷歧致的中央。我们iPhone的App已经利用过一个第三方开源库,在Debug版本时完整事情一般,可是正式上线后才发明一定会招致溃散。这个价值和履历十分可贵(实在这个开源库的论坛上已会商并告诫过这个成绩)。我们厥后花了很多力量来修改和填补这个成绩。假如在一入手下手就针对Release版本举行了测试,如许的成绩是不会呈现的。


<br>

Debug&Release


测试收集相干的App,有三个十分主要的最好理论
1、2G、3G、wifi都要掩盖
这三者之间不单单只是收集速率的不同,它们代表了三种分歧的收集情况。别的你大概没有想到一种特别的情形能够用它们来测出成绩:开辟情况和临盆情况。
一个有履历的开辟团队会在内网搭建测试情况来举行开辟时的测试,在上线时将设置切换到线上的临盆情况。这个切换应当是在公布流程中必要Check的一个环节。可是,我们有大概漏掉。
以是这个测试用例能够用来避免这类情形的呈现,在wifi下内网情况能够workfine,可是2G和3G就不可,只要实在的情况下2G和3G才干一般事情(想一想2G和3G是不是能够一般会见http://192.168.1.xxx如许的地点就能够了)。
2、HTTP、HTTPS都要掩盖
很多App和背景服务都是经由过程HTTP来交互的,一般情形下都统统一般。为何必要测试HTTPS情况?在一些收费上彀的情况中,比方在麦当劳、星巴克里,它们的收集情况都要输出用户名和暗码,经由过程SSL认证来会见收集。假如你利用HTTPClient的library对这类非常没有做捕捉处置,那末你的App一定会溃散失落。


<br>

3、举行收集非常、服务器宕机或呈现404、502等情形下的测试
背景服务的不乱性是你偶然很难往把持的,特别是扳连到DNS、空间服务商的情形下。国际某出名DNS服务商常常呈现年夜范围域名剖析妨碍,碰着这类情形,你对背景API的哀求极可能就会呈现404毛病。而你和API交互的数据应当是某种流动格局比方JSON和XML,如许你的数据剖析一定会呈现毛病,抛出非常。假如你对非常没有举行准确的处置大概会招致程序不克不及一般事情。以下用伪代码注释一下逻辑:
[html]try{if(request()==success){callSuccess();}else{callFail();}hidePopup();}catch(e){//donothing,justwait….nowpopupwindowwillshowforeveronthescreen!!!//ifitisaiOSapp,thepopupwindowwilllockthescreen}
而针对分歧的手机体系也有必要注重的中央。Android体系固件1.5、1.6和2.0以上版本都是要分离具体测试的。由于Android1.5、1.6及以上的SDK有良多完成纷歧致的中央,兼容性有很年夜成绩。在没有做特别处置时,能够在Android1.6上一般运转的程序基础在1.5上翻开就会溃散(资本文件和API的成绩,这个能够独自写一篇文章来注释这个成绩)。


<br>

Andorid1.5今朝仍有1.0%的保有量



<br>

我测试Android1.5的机型:摩托罗拉Backflip

针对iOS体系,除iOS3、iOS4和iOS5的测试外。我只想说尽量多,尽量审慎,尽量刻薄的举行测试。受限于AppStore冗杂的考核周期,一旦你的使用呈现严峻体系毛病,你的修复版本基础不成能在很短工夫内涵AppStore上架。那末用户将必要容忍一周摆布的工夫你的App所带来的煎熬大概永久拜别。


<br>

AppStore的考核以严峻和工夫长著称


NSStringNSArrayNSDictionary等这些工具在所有的框架里都会出现iOS大部分类都是继承自NSObject(我还没见过不是继承自NSObject的..)
作者: 爱飞    时间: 2015-1-21 14:12
这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。
作者: 只想知道    时间: 2015-1-22 22:41
我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。
作者: 再现理想    时间: 2015-1-30 23:52
iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
作者: 活着的死人    时间: 2015-2-3 06:25
要学会通过各种方法将面前的事情变成自己感兴趣的,那专研起来就不会是无聊和折磨了。
作者: admin    时间: 2015-2-8 19:56
同很多iOS开发者一样,我也是通过培训进入到iOS开发这个行业,开始没有打算培训,只准备自己学习一些计算机编程相关的知识,毕业时找一份编程相关工作(本人是信息与计算科学这个专业,是数学系)。
作者: 分手快乐    时间: 2015-2-19 08:11
在此,某不才愿将安装成功的Mac OS X系统的vmware虚拟机向有志学习iOS开发的各位学友们免费开放出来,经测试,可以在WindowsXP/Win7系统上完美运行,即便你的机器只有2GB内存。
作者: 柔情似水    时间: 2015-3-6 14:14
同很多iOS开发者一样,我也是通过培训进入到iOS开发这个行业,开始没有打算培训,只准备自己学习一些计算机编程相关的知识,毕业时找一份编程相关工作(本人是信息与计算科学这个专业,是数学系)。
作者: 谁可相欹    时间: 2015-3-13 00:58
近期由于IOS7的发布,所以应用的适配潮可谓是都搞的锣鼓喧天,甚是热闹,因此呢,因适配IOS7而产生的问题也是铺天盖地的卷来,
作者: 深爱那片海    时间: 2015-3-20 07:29
看《iPhone 4与iPad开发基础教程》,跟着一步步来
作者: 乐观    时间: 2015-3-25 12:12
在此,某不才愿将安装成功的Mac OS X系统的vmware虚拟机向有志学习iOS开发的各位学友们免费开放出来,经测试,可以在WindowsXP/Win7系统上完美运行,即便你的机器只有2GB内存。
作者: 愤怒的大鸟    时间: 2015-4-3 20:06
最后在做项目的时候一定要认真对待,毕竟这个直接和你的就业挂钩,这也是锻炼你实际操作的能力。
作者: 简单生活    时间: 2015-4-14 23:40
最后在做项目的时候一定要认真对待,毕竟这个直接和你的就业挂钩,这也是锻炼你实际操作的能力。
作者: 蒙在股里    时间: 2015-4-16 18:10
到大三时,学院与我去培训的机构成立了实习基地,并让我们寒假去实习了一段时间,感觉还不错,于是在大四的时候去培训了
作者: 若相依    时间: 2015-4-24 19:17
重要的是,放眼全球也的确找不到第二个如苹果iOS平台这样健壮、完整、先进而且为开发者带来真实收益的开发平台来。
作者: 变相怪杰    时间: 2015-4-25 17:08
然而,在vmware软件环境下,安装Mac OS X操作系统也是一件非常复杂的事情,而且还有可能花费了大量时间,最后却跑不起来。笔者也是经过了大量的实践,
作者: 不帅    时间: 2015-4-26 23:18
AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
作者: 老尸    时间: 2015-4-26 23:27
特别是在校的学生,都存在一个小小的尴尬——虽然学习iOS开发的热情高涨,但由于没有多余的银子购买昂贵的Mac电脑而踟蹰不前。其实,针对初学者,如果想进入iOS开发的天地
作者: 金色的骷髅    时间: 2015-5-6 10:09
有办法利用自己手头的电脑立刻开始这个美妙旅程的。
作者: 若天明    时间: 2015-6-9 21:46
这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2