1 / 36
文档名称:

ios开发简介及ios的app测试知识-2新编.ppt

格式:ppt   页数:36页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

ios开发简介及ios的app测试知识-2新编.ppt

上传人:用户头像没有 2016/7/3 文件大小:0 KB

下载得到文件列表

ios开发简介及ios的app测试知识-2新编.ppt

相关文档

文档介绍

文档介绍:1第二章 iOS 客户端测试类型及流程 功能测试 静态分析 网络测试 低内存警告测试 操作类型测试 系统相关测试 内存泄露测试 适配性测试 发布测试 建议测试流程 功能测试?功能测试主要是程序逻辑及相关业务点测试。?一、应充分考虑各种边缘情况,边界状态。?二、应多站在用户的角度考虑程序的设计是否合理,是否充分满足用户的需求。?参考:手机产品设计 15 大禁忌: http://wenku./view/ ml 2 静态分析?静态分析是指对开发的代码执行静态代码扫描,从而发现代码中存在逻辑、内存等缺陷。静态分析可以通过 Xcode 或外部插件扫描来实现。?通过 xcode 的 Product>>Analyze 来扫描,如下图所示。 3 静态分析?通常,可以扫描出以下四种类型缺陷: ?<1> 逻辑缺陷,如访问未初始化的变量或对空指针的引用等; ?<2> 多余的变量,该类变量定义后,永远不会被访问; ?<3> 内存管理缺陷,一般为内存泄露; ?<4> API 使用缺陷,由于未遵循使用的框架或类库相关规范造成的; 4 静态分析?示例: ? a. 多余变量,代码中的 statusCode 仅作简单赋值操作,属于多余变量; ? b. 内存泄露, newString 对象未被释放,发生内存泄露; 5 静态分析?一般情况下,静态分析中以下三种类型的提示较为严重,可能引起严重问题: ?<1> 内存泄漏隐患提示: ? Potential Leak of an object allocated on line ……?<2> 数据赋值隐患提示: ? The left operand of …… is a garbage value; ?<3> 对象引用隐患提示: ? Reference-Counted object is used after it is released; 6 2. 3 网络测试?网络根据网速可分为网络良好、弱网络、无网络三种情况。此项测试主要考虑弱网络和无网络,测试前需要充分了解页面在什么情况向服务端作请求,从而作相应的测试。?无网络测试,需要在页面作请求前关闭移动设备网络,观察程序是否作友好提示。?弱网络测试要复杂得多,存在以下三种类型: ?(1)页面等待请求数据,数据返回后,页面呈现是否正常; ?(2)页面在发出请求后,离开该页面,数据返回后,程序是否正常处理,是否会发生 crash ; ?(3)页面等待请求数据,造成超时,页面是否作友好提示; 7 2. 3 网络测试?弱网络可通过真机或模拟器来实现。真机可以绑定至指定的服务器,作适当延时,来模拟弱网络环境。绑定有以下两种方式: ?<1> 越狱手机可通过修改 etc 目录下的 hosts 来实现,具体操作可参见测试工具 iFile 的使用说明; ?<2> 任何手机都可通过 wifi 绑定至指定端口的代理服务器。?work link condition 工具来模拟各种网络情况, 设置上传和下载的带宽、丢包率、延时等,以下给出弱网络建议参数,测试时可根据实际情况来决定。 8 2. 3 网络测试?网络超时可通过以下方式来实现,根据实际需要来选择: ?<1> 绑定未知服务器,构成网络超时,适用所有类型; ?<2> 对某类域名作 host 绑定,适用越狱机器; ?<3> 绑定代理服务器,延时某个请求的时间; ?<4> 修改程序代码,改变某个请求的链接。?实际应用场景中,还需要考虑网络之间的切换,具体切换类型见下表。 9 低内存警告测试?系统的内存警告分为四种,定义如下: ? typedef enum { ? OSMemoryNotificationLevelAny = -1, ? OSMemoryNotificationLevelNormal = 0, ? OSMemoryNotificationLevelWarning = 1, ? OSMemoryNotificationLevelUrgent = 2, ? OSMemoryNotificationLevelCritical = 3 ?} OSMemoryNotificationLevel; ? iOS 的低内存警告是系统在低内存下向程序发出的友好提示,程序通常会先调用 AppDelegate 中的 applicationDidReceiveMemoryWarning ,接着通知各 ViewController ,调用相应的 didRecieveMemoryWarning