仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1706|回复: 19
打印 上一主题 下一主题

[学习教程] IOS教程之做挪动互联网App,你的测试用例充足吗?仓酷云

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:47:06 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果你现在开始学到编出像样的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
  • }
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的..)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-16 11:36

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表