IOS系统及客户端软件测试基础
- 格式:wps
- 大小:18.00 KB
- 文档页数:3
iOS系统一、Ios系统概述(网际操作系统)iOS是由苹果公司为iPhone等设备开发的操作系统,它主要给iPhone、iPod touch以及 iPad设备使用,它管理设备硬件并为手机本地应用程序的实现提供基础技术。
根据设备不同,操作系统具有不同的系统应用程序,例如Phone、Mail以及Safari,这些应用程序可以为用户提供标准系统服务。
二、ios系统优点1.ios系统与硬件的整合度高,使其分化大大的降低,远远的胜于android。
2.华丽的界面。
无论你是否喜欢apple的硬件还是软件,有一点你不得不曾任,ios的界面做的非常的漂亮。
苹果向界面中投入了很多精力,从外观到易用性,ios拥有最直观的用户体验。
3.数据的安全性。
想必每个人都不想自己的隐私被侵犯,而ios有着强大的防护能力,用户的信息不回被泄露。
4.众多的应用,图形处理强大。
App store有着35万的海量应用供用户选择。
Ios应用开发者可以通过开发应用赚到钱,这也是为什么开发者要选择ios的最重要的原因。
App store甚至吸引了一些大牌开发商。
Ios虽然有些封闭,但却拥有最佳的应用。
5.强大的兼容性。
三、ios开发应遵循的原则1、操控便捷iOS应用的控制设计应该具有圆润的轮廓和程式化的梯度,操作便捷。
2、结构清晰、导航方便充分利用iOS导航栏。
尽量将所有的导航都安排在一个分层格式中,方便显示应用内的当前位置。
3、微妙清晰的用户反馈使用动画显示用户的操作结果。
一个经典的例子是:当用户长按进入“重新排列模式”时,应用会抖动。
4、确保外观和功能协调如果是生产力类型的应用,可在背景中加入与之协调的装饰,注重最大限度地发挥功能效益;如果是游戏类应用,则应充分利用全屏,创造身临其境的体验。
确保应用的外观能很好地为其功能服务,苹果称之为“审美的完整性(aesthetic integrity)”。
5、突出首要任务不要在屏幕上添加任何冗余的东西,尽量做到简洁,突出首要功能。
测试理论与技术基础知识题库及答案前言测试是软件开发过程中不可或缺的一环,通过测试可以验证软件的质量、稳定性和安全性。
为了帮助测试人员更好地掌握测试理论与技术基础知识,本文档整理了一套全面的题库与答案,涵盖了测试的各个方面。
本文档旨在帮助读者巩固自己的测试知识,提高测试能力。
1. 测试基础知识1.1 什么是软件测试?答:软件测试是指通过运行程序,以发现程序错误、缺陷和问题的过程。
软件测试旨在评估测试对象的质量,为软件提供改进建议,并确保软件在正常和异常情况下都能正常运行。
1.2 测试的目的是什么?答:测试的主要目的是验证软件是否满足需求,并检测潜在的错误和缺陷。
测试还可以提供软件的可靠性、稳定性和安全性评估,帮助发现和修复问题,最终提高软件质量。
1.3 软件测试的分类有哪些?答:软件测试可以按照不同的方式进行分类,常见的分类包括: - 功能测试:验证软件是否按照需求规格说明书中定义的功能进行正确实现。
- 性能测试:验证软件在不同工作负载和压力下的性能表现,如响应时间、吞吐量等。
- 安全性测试:验证软件在面对各种安全威胁时的能力,如身份验证、数据保护等。
- 兼容性测试:验证软件在不同的操作系统、浏览器、硬件环境等下是否正常工作。
- 易用性测试:验证软件的用户界面是否易于使用和理解,以及与用户的交互方式是否符合用户的期望。
1.4 什么是单元测试?答:单元测试是指对软件中的最小可测试单元进行测试,通常是一个函数或方法。
单元测试的目的是验证代码的正确性和健壮性,并检测代码中的错误和缺陷。
1.5 什么是黑盒测试和白盒测试?答:黑盒测试是指在不了解软件内部实现细节的情况下进行测试。
测试人员只关注软件的输入输出关系,不关心内部的代码逻辑。
白盒测试是指测试人员了解软件内部实现细节的情况下进行测试。
测试人员会直接查看和分析代码,以确定哪些代码需要测试。
2. 测试技术与工具2.1 什么是自动化测试?答:自动化测试是指利用工具和脚本来执行测试任务的过程。
第十六章手机App测试一、手机App测试的范围功能模块测试交叉事件测试性能测试安全测试兼容性测试安装/卸载测试接口测试网络测试二、手机App测试的方法1功能模块测试1.1运行App安装完成后的试运行,可正常打开软件。
App打开测试,是否有加载状态进度提示。
App打开速度测试,速度是否可观。
App页面间的切换是否流畅,逻辑是否正确注册✓用户名密码长度✓注册后的提示页面✓前台注册页面和后台的管理页面数据是否一致✓注册后,在后台管理中页面提示登录✓使用合法的用户登录系统。
✓系统是否允许多次非法的登录,是否有次数限制。
✓使用已经登录的账号登录系统是否正确处理。
✓使用禁用的账号登录系统是否正确处理。
✓用户名、口令(密码)错误或漏填时能否登录。
✓删除或修改后的用户,原用户登录。
✓不输入用户口令和用户名、重复点(确定或取消按钮)是否允许登录。
✓登录后,页面中登录信息。
✓页面中有注销按钮。
✓登录超时的处理。
注销✓注销原模块,新的模块系统能否正确处理。
✓终止注销能否返回原模块,原用户。
✓注销原用户,新用户系统能否正确处理。
✓使用错误的账号、口令、无权限的被禁用的账号进行注销。
1.2应用的前后台切换APP切换到后台,再回到App,检查是否停留在上一次操作界面。
APP切换到后台,再回到App,检查功能及应用状态是否正常。
App切换到后台,再回到前台时,注意程序是否崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候。
手机锁屏解屏后进入App注意是否会崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候。
当App使用过程中有电话进来中断后再切换到App,功能状态是否正常当杀掉App进程后,再开启App,App能否正常启动。
出现必须处理的提示框后,切换到后台,再切换回来,检查提示框是否还存在,有时候会出现应用自动跳过提示框的缺陷。
对于有数据交换的页面,每个页面都必需要进行前后台切换、锁屏的测试,这种页面最容易出现崩溃。
软件测试过程流程⼀、软件测试的系统流程 软件⼯程模型基本就是业务建模-〉系统分析-〉概要设计-〉详细设计-〉编码-〉测试-〉部署。
其中测试过程按4个步骤进⾏,即单元测试、集成测试、系统及发版测试和回归测试。
(1)单元测试,集中对每⼀个程序单元进⾏测试,检查各个程序模块是否正确地实现了预定的功能,属于⽩盒测试,测试范围为单元内部的源代码和程序结构(如数据结构,逻辑控制,异常处理等)。
(2)集成测试把已测试过的模块组装起来,检查模块间接⼝是否正确,检查各个模块之间的通信和相互调⽤是否符合需求。
属于灰盒测试,测试范围为模块接⼝之间的数据传递,以及模块组合后的功能。
(3)系统测试把被测软件系统和计算机硬件、数据库、外设、前端和后端以及其它软件结合在⼀起,在实际运⾏环境下对软件系统进⾏⼀系列的组装测试和运⾏测试。
⽬的在于检测软件对《需求规格说明书》的符合程度。
属于⿊盒测试,只关⼼输⼊和输出结果,测试范围为整个系统。
(4)回归测试:是软件上线后的维护阶段或者是研发修复Bug之后进⾏确认测试。
⽬的在于验证缺陷已经得到修复,并检测是否引⼊新的缺陷。
⼆、测试⽤例及编写⽅法 测试⽤例是⼀份描述具体测试步骤的⽂档,包括测试的输⼊参数、条件及配置、预期的输出结果等,⽤以判断被测软件的⼯作是否正常。
2.1、测试⽤例设计的三⼤原则 (1)设计测试⽤例要⼒求最⼤的覆盖率,参考《需求规格说明书》对每个功能点进⾏操作上的细化,尽可能趋向最⼤需求覆盖率。
(2)⽤例要对测试功能点、测试条件、测试步骤、输⼊值和预期结果准确描述。
(3)在设计测试⽤例的时候,除了满⾜系统基本功能需求外,还应该考虑各种异常情况、边界情况和承受压⼒的能⼒等。
2.2、设计测试⽤例设计⽅法 设计测试⽤例时要根据具体的产品和需求所明书,⽐如NetSignC接⼝普遍得就是根据输⼊和输出参数的不同情况设计⽤例,但也有通⽤的情况。
(1)等价类划分。
把程序的输⼊域划分成若⼲部分⼦集,然后从每个部分中选取少数代表性数据作为测试⽤例。
APP测试指导手册编写目的本手册编写旨在帮助刚刚入手的移动端测试人员了解移动端项目,并且了解刚刚接触一个移动端的项目如何入手,有哪些问题需要明确,有哪些问题需要注意,欢迎补充移动端产品(项目)介绍移动端产品(项目)展现在眼前的就是一个实际的app应用,支撑这个app应用的是它的后台。
后台一般有两种,一种是实际部署的后台管理系统,管理系统的基本信息和业务信息,前台仅仅做展示,查看用,如通讯录APP,掌上直播点播;另一种是后台部署的系统和前台有数据交互的,一般这种系统分为pc展现端和APP展现端,pc端和APP端的展现端存在数据交互,有共同的后台管理系统支撑这两个前台应用,如人大APP,一乡一法庭。
1功能测试1.1安装目前公司的app基本是机遇两大移动操作系统android和ios开发的,android开发的app安装文件后缀为apk,ios开发的app安装后缀名是ipaApp客户端程序的安装方式主要有如下几种:1、手机端浏览器输入下载地址2、通过二维码扫描(需要单独维护二维码信息,一般二维码是封装了下载地址,所以如果系统提供了此功能,在实施文档中必须说明二维码如何生成如何维护)3、Android平台,通过Usb连接电脑方式安装4、App store下载安装(正式发布,目前接触的项目没有正式发布的。
如果接触的项目需要在APP store上发布,需要在发布时间前预留出时间,因为提交申请到APP store后审核比较严格,需要的时间较长,具体时间需要提前确认)目前公司开发了一个APP推送平台,测试过程中可以让开发把apk放在推送平台上,测试人员通过这个平台取包,同时在test上进行备份,这样方便开发和测试的交互需求分析时需要确认系统支持哪几种安装方式,是否符合项目的要求测试重点(范围)1、安卓主要是测试移动端不同版本的操作系统是否能正常安装。
Android及IOS不同操作版本系统进行安装测试,不同版本可能会安装不成功2、安装成功:安装完成后App程序应该可以正常打开3、测试过程中,先在模拟器上安装,然后再适配机型。
兼容测试报告一、测试对象本次兼容测试的对象为XXX软件版本V1.0。
针对该版本的兼容性测试,包括与不同操作系统、不同设备的兼容性测试。
二、测试环境1.硬件环境:①PC机:CPU:Intel Core i5-9400F;内存:8GB DDR4;硬盘:500GB;显卡:Nvidia GTX 1650.②手机:iPhone11 Pro,安卓机型三星S20。
2.软件环境:①操作系统:Windows 10,iOS 13,Android 10.②软件:XXX软件版本V1.0.三、测试内容1.操作系统兼容性测试;2.设备兼容性测试;3.兼容性异常测试。
四、测试方法1.操作系统兼容性测试方法:以Windows 10、iOS 13、Android 10为测试基础,对应用程序进行测试,主要测试基础功能是否正常且稳定,奔溃率是否高等问题。
2.设备兼容性测试方法:以PC机、iPhone11 Pro、三星S20为测试基础,对应用程序进行测试,主要测试基础功能是否正常且稳定,奔溃率是否高等问题。
3.兼容性异常测试方法:重点测试应用程序在兼容性测试过程中遇到的异常情况。
五、测试结果1.操作系统兼容性测试结果:Windows 10:运行正常,无明显异常。
iOS 13:运行正常,无明显异常。
Android 10:运行正常,无明显异常。
2.设备兼容性测试结果:PC机:运行正常,无明显异常。
iPhone11 Pro:运行正常,无明显异常。
三星S20:运行正常,无明显异常。
3.兼容性异常测试结果:在测试过程中,只出现了一个小异常,但是经过重新测试,该异常已没有出现。
六、测试结论通过本次兼容性测试,可以明确得出结论,XXX软件版本V1.0在操作系统和设备的兼容性测试中都表现出优异的稳定性和兼容性,基本没有出现明显的兼容性问题和异常。
同时,开发人员对测试发现的异常情况也积极修改,对软件进行细节和性能的优化,保障软件能够更好地运行和发挥功能。
软件测试之功能测试篇⼀、软件测试的⽬的:发现缺陷错误,并且尽最⼤可能找出最多的错误,也是对软件质量进⾏评估,以提⾼软件质量。
⼆、什么是软件:软件=程序+⽂档软件是计算机系统中与硬件相互依存的⼀部分,它是包括程序、⽂档的完整集合。
程序(program)是按事先设计的功能和性能要求执⾏的指令序列。
⽂档(document)是与开发、维护和使⽤有关的图⽂材料。
三、软件缺陷的定义:1、软件没有实现产品说明书要求的功能;2、出现了产品说明书指明的不应该出现的错误;3、实现了说明书中未提及的功能;4、未实现产品说明书虽未明确,但应实现的功能;5、软件难以理解,不易操作,运⾏缓慢等问题;6、缺陷是系统在开发或者维护过程中就存在的错误;7、缺陷是系统某种功能失效;四、什么是软件测试:1、找bug;2、找到【预期结果】和【实际结果】的差异,保证项⽬质量;3、根据需求⽂档(客户要求)进⾏测试;P.s:⼀般把软件缺陷(defect)称为bug(臭⾍)五、操作系统:1、Windows2、Linux3、Android4、IOS5、Unix六、BS架构和CS架构:1、BS架构——基于浏览器;优点:分布性强,维护⽅便,成本低;缺点:个性化特点明显降低,跨浏览器实现差,响应速度低,容易给服务器造成较⼤的压⼒;2、CS架构——基于客户端;优点:⽤户体验佳,速度快,处理能⼒强;缺点:需要专门的客户端安装程序,开发、维护成本⾼,升级⼀次所有的客户端程序都需要改变。
七、职业素质要求:1、专业知识2、沟通能⼒3、团结合作能⼒4、耐⼼、细⼼、⾃信⼼5、责任⼼6、不管做什么测试,基础⼀定要牢,才能继续提升⼋、V模型:【⽤户需求】由需求⼈员(BA)根据客户需求整理⼀个⽂档叫需求⽂档【需求分析】项⽬经理—测试经理—开发—测试—BA开会讨论:1、需求怎么做?——开发2、需求是否合理?——两个⽅⾯:需求、时间3、测试⼈员的作⽤?(1)搞清楚这个需求的来源是做什么的;(2)通过测试思维去考虑它,如何去测试它;4、需求讨论阶段也是需求确认的⼀个阶段【概要设计】开发⼈员对需求进⾏梳理;——开会评审,检查开发⼈员对需求的理解程度;【详细设计】开发⼈员需要通过什么样的技术去实现这个功能,⽤⽂档的形式写出来——后期也需要评审【编码】编程。
软件测试工程师的工作内容软件测试工程师需要参与各类产品的需求评审工作,制定和编写测试方案与计划。
下面是小编为您精心整理的软件测试工程师的工作内容。
软件测试工程师的工作内容1职责:1、负责Andriod/iOS移动端应用的测试工作,包含测试设计、测试执行、发布验证、问题分析等工作;2、具备良好的质量意识,扎实的测试功底,能从系统深层次挖掘缺陷;对所负责项目质量负责,能独立承担项目质量分析及推动工作;3、具有独立的测试项目管理协调能力,以及风险把控能力;4、建立并优化测试过程,提升测试效率和产品质量。
任职资格1、大专及以上学历,具备3年及以上的Andriod/iOS 系统APP应用测试经验;2、思维逻辑清晰,能快速理解业务需求,主管能动性强;有良好的沟通、表达能力3、熟悉Andriod/iOSOS以及对应开发架构及编程技术;4、熟练掌握移动端专项测试技术及方法,能独立完成各项专项测试工作;5、精通测试理论和方法,熟练应用各种测试工具和管理系统;6、熟悉HTTP协议,熟练使用基本抓包工具;熟练使用接口工具如postman7、能承担较大的工作压力,具备良好的沟通能力和团队合作精神。
8、有app自动化编写经验者优先、有物流业务经验者优先。
软件测试工程师的工作内容2职责:1) 使用自动化测试工具对产品进行自动化回归测试2) 搭建测试环境和服务器,包括linux、虚拟机、数据库、web服务器等3) 改善自动化测试工具以便更适合自动化回归测试需要4) 设计测试用例、管理测试素材,编写回归测试用例代码5) 学习开发产品所需相关技术,我们认为测试工程师也需要一定的研发技能6) 有兴趣的话也可以参与产品开发,完成指定的功能7) 参与实际客户项目体会客户如何使用产品职位要求:1) 两年以上工作经验者2) 学习过至少一门开发语言3) 对软件测试和开发有兴趣,愿意在此方向长期发展4) 本科及以上学历,计算机类或信息工程类相关专业软件测试工程师的工作内容31、热爱测试工作,具有3年以上相关测试工作经验;2、熟悉软件测试理论、测试方法及测试流程;熟悉编写相关测试文档。
软件测试技术手册及规范第一章软件测试基础 (3)1.1 软件测试概述 (3)1.2 软件测试目的与原则 (3)1.2.1 软件测试目的 (3)1.2.2 软件测试原则 (3)1.3 软件测试分类 (3)第二章测试用例设计 (4)2.1 测试用例概述 (4)2.2 测试用例设计方法 (4)2.2.1 等价类划分法 (4)2.2.2 边界值分析 (4)2.2.3 错误推测法 (5)2.2.4 因果图法 (5)2.2.5 正交分析法 (5)2.3 测试用例管理 (5)3.1 测试用例的创建 (5)3.2 测试用例的维护 (5)3.3 测试用例的执行 (5)3.4 测试用例的跟踪 (5)3.5 测试用例的评估 (6)第三章功能测试 (6)3.1 功能测试概述 (6)3.2 功能测试方法 (6)3.3 功能测试工具 (7)第四章功能测试 (7)4.1 功能测试概述 (7)4.2 功能测试指标 (7)4.3 功能测试工具 (8)第五章自动化测试 (9)5.1 自动化测试概述 (9)5.2 自动化测试工具 (9)5.3 自动化测试框架 (9)第六章安全测试 (10)6.1 安全测试概述 (10)6.2 安全测试方法 (10)6.2.1 动态应用安全测试(DAST) (11)6.2.2 静态应用安全测试(SAST) (11)6.2.3 交互式应用安全测试(IAST) (11)6.3 安全测试工具 (11)6.3.1 动态应用安全测试工具 (11)6.3.2 静态应用安全测试工具 (11)6.3.3 交互式应用安全测试工具 (12)第七章兼容性测试 (12)7.1 兼容性测试概述 (12)7.2 兼容性测试方法 (12)7.3 兼容性测试工具 (13)第八章稳定性与回归测试 (13)8.1 稳定性与回归测试概述 (13)8.2 稳定性与回归测试方法 (13)8.2.1 稳定性测试 (13)8.2.2 回归测试 (14)8.3 稳定性与回归测试工具 (14)第九章测试管理 (15)9.1 测试管理概述 (15)9.2 测试计划与管理 (15)9.3 测试团队管理 (15)第十章缺陷管理 (16)10.1 缺陷管理概述 (16)10.1.1 缺陷的定义 (16)10.1.2 缺陷管理的目的 (16)10.1.3 缺陷管理的内容 (16)10.2 缺陷跟踪与管理 (16)10.2.1 缺陷记录 (17)10.2.2 缺陷跟踪 (17)10.2.3 缺陷统计与分析 (17)10.3 缺陷分析 (17)第十一章测试文档与报告 (18)11.1 测试文档概述 (18)11.1.1 测试文档的定义 (18)11.1.2 测试文档的分类 (18)11.1.3 测试文档的作用 (18)11.2 测试报告撰写 (18)11.2.1 测试报告的定义 (18)11.2.2 测试报告的结构 (18)11.2.3 测试报告撰写要点 (19)11.3 测试报告评审 (19)11.3.1 测试报告评审的目的 (19)11.3.2 测试报告评审的内容 (19)11.3.3 测试报告评审流程 (19)第十二章测试流程与规范 (20)12.1 测试流程概述 (20)12.2 测试流程优化 (20)12.3 测试规范制定与执行 (21)第一章软件测试基础1.1 软件测试概述软件测试是软件开发过程中不可或缺的一个重要环节,它旨在保证软件产品在实际运行过程中能够满足用户的需求,提高软件质量,降低软件缺陷带来的风险。
IOS系统及客户端软件测试基础
1.整个系统介绍
先是硬件部分,采用iOS系统的是iPad,iPhone,iTouch这三种设备,其中iPhone和iTouch的系统基本一致,iPad区别的地方主要是分辨率尺寸上
接着软件部分,就是常说的os部分,现在常见的系统是4.2.1/4.3.3/4.3.5/5.0.0/5.0.1/5.1,其中4.3.3以上的版本iPad版本支持手势,5.0.0以上版本支持通知栏和icloud(云备份),其中5.0.0和4.x相差较多,apple号称的修改点有200多,测试员尤其需要注意不同os版本的特性(主要是大版本,如:3.x、4.x、5.x、6.x等),
第三对于各个app来说,每个app都有一些固定信息,app的id(区分app的唯一标识),显示的名称(包括app安装后显示名和在appstore上的显示名),支持的iOS版本(最低支持的os版本,一般是支持iOS4.0以上,但是对于不同的app因为应用到了不同的系统功能,故要求的iOS版本也会不同,以后要求iOS5.0版本的app也会多起来的)
2.安装
1)官方的安装方式
可以PC/MAC机上下载好,然后用itunes同步到机器上,或者直接在机器上到appstore 上下载到本机然后下载,这是最普通和官方的安装方式,但是只能使用已经在appstore上线的app,对于测试的版本基本无意义
2)越狱
越狱/破解,现在5.0.1版本有完美破解,以上的版本只有不完美破解,以后可能会有完美方式(注,不完美破解是不能重启机器),越狱之后的机器就可以不受限制的装各种app到机器上,对于测试版本来说比较方便
3)开发机模式---即ad-hoc技术,详细见“AD-HOC相关”文档
开发机模式是一个俗称,正式名字其实我也不是很清楚,大家明白即可,一个apple的发布者账户,可以支持100台设备,即可以生成100个不同SN串号的证书安装到机器上,这样发布者账户编译出来的版本就可以安装到对应的开发机上,证书可以在设置通用描述文件中找到,当然apple的发布者账户还有其他两种类型:企业账户和学生用账户,这2个账户是不能将app发布到appstore的,这里就不具体说明了
4)OTA模式
即:ota升级就是通过无线网络下载、升级,不用通过有线连接来下载、升级的一种方式
以上是一些不同的安装方式,其他还有91助手/同步助手等第三方工具安装,但是这些只是一些辅助方式区别,app能否安装取决于apple账户有没有购买过此app和此机器上有没有对应apple账户登录,购买可以认为是一种添加证书许可动作,开发者证书也是一种,而越狱则是绕过了证书验证
3.兼容性
1)硬件兼容性
三种设备中iPhone和iTouch设备基本一致,iPad因为分辨率和尺寸上不同,一般的客户端都会分开开发,如果是全兼容的app,那么需要兼顾测试,而全兼容性的app需要多考虑的是怎样在pad和phone的屏幕上设计一个兼顾型的展现,不过这是交互和视觉设计师需要考虑的地方。
回到分开开发的模式中,iPhone和iTouch可以认为是同一种设备,差异很小,主要的差异也就是在来电和短信中断方面,另一个要注意的就是iPad可以安装只适用iPhone/iTouch
的app,以兼容模式显示,即:在pad的屏幕上仅显示phone/touch的屏幕那么大,不能全屏显示。
此时基本上可以认为是在一个iTouch上运行此app
同一类设备不同机型的兼容性,一共是iPhone有5代,iPad有3代,iTouch有4代,机器之间的差异对于app来说主要就是内存和CPU的性能和打完包后的大小以及分辨率的适配,iPhone4和iTouch4及以上是用640*960分辨率,以下是低分辨率机器,4代之前之后的CPU用的不同,所以编译版本时要兼容2种CPU,而iPad只有一种分辨率和一种CPU,所以不用考虑太多,同一个app的iPhone版本往往比iPad版本的安装包文件要大,基本上就是CPU和分辨率这2种原因
就硬件兼容性来说,基本上iPhone的客户端要测2个机器(3代和4代4S联通版(WCDMA)电信版4s(cdma)各一,iPhone和iTouch随意),iPad客户端没有要求
2)系统兼容性
前面也说了,常见的系统是4.2.1/4.3.3/4.3.5/5.0.0/5.0.1……,有条件是尽量测试,但是因为iOS版本只能往上升级,要降级需要越狱和保存SHSH,所以一般尽量保证4.3.3/4.3.5或者5.0.0/5.0.1的版本,4.x和5.x的版本据apple列了200多点,其中还有各种不确切的问题,所以一定需要测试,4.2.1版本是因为iPhone和iTouch2代只能升级到此os版本,用户量很少,而iPad的用户也只有早期且不升级的才有此os,国内用户量很少按照apple的以往做法,支持低版本的iOS的app,都可以在高版本上正常运行,系统级别上向下兼容,但是也有不少例外,特别是一些自定义的控件,直接使用系统提供的控件一般不会有问题
系统方面的兼容性除了要保证功能正确以外,还要考虑一些新os上才支持的功能,在老os上的表现,而apple现在还在不停的更新os,故要提前保证新的beta版本os的兼容状况
3)其他软件兼容性
其实也没有什么其他软件,iOS系统中允许app调用的也只有通讯录照片浏览器等系统自带的软件,也有内嵌和重新打开界面这2种状态,而重开界面时系统会将当前软件保留,所以一般不会有界面方面的问题
4.用户体验
简单的介绍下一些用户体验需要注意的地方:
滑动拖动翻页等动画效果
各个页面的旋转屏幕,特别是iPad的客户端
多点触摸手势,各种手势定义下的效果展示,以及iOS中尽量不要出现长按菜单的功能,这是android上的默认效果,iOS上长按大多是进入一个特别的状态
按钮意义要明显,如果使用了过多的文字说明,不是个好主意
5.性能
iOS的内存管理是优先保证当前,有多少用多少,超过上限不够用直接关闭app,也就是常说的crash,自动退出,所以内存回收方面需要注意,也可以在开发机上直接监控内存使用量,不过内存监控只能看到整个app的使用量,看不到具体模块的使用,而os4.0以上每个关掉的app系统会自动保存一个最小镜像,当内存不够用的时候会连此镜像都关闭,这就是有时候开启app能看到关闭前的界面有些只能看到loading页面的原因,特别是游戏类
的app会有这样的现象,另外,越狱的机器的可用内存会少很多
CPU部分就简单了,iOS的机制保证了CPU占用量很高的情况很少出现,一般多数据多线程时会有卡和停顿的状况就是CPU不够用了,这也只能靠设计上来避免了
网络部分,主要是2g/3g/wifi的速度,但是这个性能指标要根据不同的情况来考虑,一般来说对比同类app的效果即可。