您好,欢迎访问三七文档
App测试专题2016年8月5日目录App简单介绍App项目流程App测试流程App测试方法简介App测试环境搭建App自动化测试探索什么是APP移动端将成为主战场•来自《2014年中国移动互联网行业年度研究报告》移动应用平分秋色移动平台两分天下•Android和IOS两分天下的局面已形成目录App简单介绍App项目流程App测试流程App测试方法简介App测试环境搭建App自动化测试探索App项目流程市场分析•市场机会•商业价值需求调研•需求收集•需求分析产品打造•交互设计•产品开发•系统测试产品运营•数据跟踪•运营反馈持续迭代•版本规划•产品改进市场分析•产品在投入研发之前,企业高层决策评估项目的必要性。其内容涉及市场分析,销售策略,盈利预测等。•输出产物:商业需求文档(BRD)•BRD的文档结构主要包括:–1.方案形成背景–2.方案价值(经济类和非经济类的)–3.产品规划–4.盈利模式–5.收益与成本评估–6.风险和对策需求调研•经过一系列的分析后,拿出一套你认为最合理的干某个事情的方法,调研采用什么样的方式获得BRD里面的商业目标。•输入产物:市场需求文档(MRD)•MRD的文档结构主要包括:–1.文档说明–2.市场分析–3.用户分析–4.产品说明产品打造•产品项目由“概念化”阶段进入到“具体化”阶段的最主要的阶段。该阶段通过产品需求文档(PRD)指导产品的开发实现。•产品需求文档(PRD),就像建筑设计师的设计图纸,是整个设计和思考的结晶;同时,也是思考过程呈现。•广义上来讲,产品需求的描述,应该包含有产品的战略和战术,战略是指:产品定位、目标市场、目标用户、竞争对手等。战术是指产品的结构、核心业务流程、具体用例描述、功能&内容描述等,本文主要讨论的是战术部分。交互设计•业务模型框架化–在产品的概念阶段时期,交互设计师需要基关注用户界面和整体结构,这个过程被称作“框架设计”–框架设计就是一种基于用户目标的导航架构和流程设计。–这个阶段交互的产出物主要有导航架构图,流程图和低保真线框图。•框架界面化–在定义完功能模块的页面结构和流程后,交互设计师还需要设计规划使用者的操作,这些包括页面元素的主次关系,小部件的处理,元素的组织,界面的引导等等。–这个阶段交互设计师需要提供原型demo:产品开发系统设计模块实现代码编写系统测试•1.测试准入•2.功能测试【新增功能,核心功能】•3.性能测试•4.兼容性测试•5.上线步骤测试•6.联调测试产品上线•上线及线上检查–1.上线前发出测试报告,主要包括结论,存在的问题和风险等–2.上线后发出线上验证报告–3.添加必要的监控和事故处理预案•项目总结–1.典型bug分析(建议发现方式)–2.项目问题以及与目标匹配程度–3.项目经验分享持续迭代•当我们通过各种方式和手段测完后,提交测试报告,占发送的一瞬间,你是否信心十足呢?•后期注意:用户反馈版本优化版本迭代目录App简单介绍App项目流程App测试流程App测试方法简介App测试环境搭建App自动化测试探索App测试流程计划和方案测试计划测试方案测试设计测试分析用例设计用例写作测试准备环境准备数据准备版本提测执行测试系统测试缺陷管理测试报告线上监控预部署测试版本验证测试计划–计划是指用文字和指标等形式所表述的组织以及组织内不同部门和不同成员,在未来一定时期内关于行动方向、内容和方式安排的管理事件。–测试计划是对系统测试全过程的组织、资源、原则等进行规定和约束,并制定系统测试全过程各个阶段的任务以及时间进度安排,并提出对各项任务的评估、风险分析和管理需求。–测试计划的要点:–确定测试范围和资源安排–制定进度安排–风险及对策–准入标准和准出标准影响项目成功的要素•范围•时间•成本(人员)•质量•风险•人力资源•沟通•采购测试方案测试方案是技术层面的文档,从技术的角度对一次测试活动进行规划。测试是不能穷举的。在有限的人力、时间、资源情况下,如何更快,更全面的覆盖被测对象,是需要策略的。测试方案的要素测试环境的部署和规划采用的测试策略和方法描述系统需要测试的特性测试用例的设计方法测试工具的选择和测试代码的设计方案缺陷管理规范与策略软件测试流程--测试设计用户需求业务需求功能需求定义测试用例测试准备•测试用机准备–根据适配测试策略准备测试用机•测试数据准备–测试团队安排专人进行测试数据的生成–测试组提出数据申请要求,由其他项目组配合完成•版本提测–版本部署–冒烟测试系统测试执行•第一轮测试:–冒烟测试通过后,开始执行系统测试用例,即进行详细的功能测试,在功能测试过程中主要以黑盒测试为主,同时执行操作类型测试。–功能测试过程中,若发现大量Bug,在开发Fixbug过程中,快速执行弱网测试等。•第二轮测试:–主要为了发现深层次的Bug,除了验证bugfix外,还加入了适配测试,弱网络测试等非功能测试缺陷处理过程测试报告•测试的最终成果物,其主要内容包括:–1.测试的过程说明(测试实际所花费的时间、人员、所测试的内容说明:包含执行了多少用例,发现了多少缺陷)–2.对系统的质量进行分析与度量(通过缺陷的发现率和修复率)–3.测试结论(是否通过,上线是否还存在哪些风险,如何规避)线上监测•主要收集发布后的用户反馈,有无异常情况,排查问题,统计分析等目录App简单介绍App项目流程App测试流程App测试方法简介App测试环境搭建App自动化测试探索App测试类型功能测试UI测试业务测试非功能测试性能测试安全性测试安装测试兼容性测试异常测试专项测试网络测试操作类型测试系统相关测试推送测试功能测试篇UI测试业务测试App测试方法:UI测试•测试版本:Demo版•测试方法:•确保手头的原型图与效果图为当前最新版本。•确保产品UI符合产品经理制定的原型图与效果图。•测试用户界面(如菜单、对话框、窗口和其它可规控件)布局、风格是否满足客户要求、文字是否正确、页面是否美观、文字、图片组合是否完美、操作是否友好等。•UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏觅功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。UI测试之导航测试•按钮、对话框、列表和窗口等;或在不同的连接页面之间需要导航•是否易于导航,导航是否直观•是否需要搜索引擎•导航帮助是否准确直观•导航与页面结构、菜单、连接页面的风格是否一致UI测试之图形测试•横向比较。各控件操作方式统一•自适应界面设计,内容根据窗口大小自适应•页面标签风格是否统一•页面是否美观•页面的图片应有其实际意义而要求整体有序美观•图片质量要高且图片尺寸在设计符合要求的情况下应尽量小•界面整体使用的颜色不宜过多UI测试之内容测试•输入框说明文字的内容与系统功能是否一致•文字长度是否加以限制•文字内容是否表意不明•是否有错别字•信息是否为中文显示•是否有敏感性词汇、关键词•是否有敏感性图片,如:涉及版权、专利、隐私等图片功能测试•功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。•功能测试也称行为测试,测试一个产品的特性和可操作行为是否满足其用户需求。所以测试人员要考虑到软件的用户类型,以及在不同的数据场景下如何进行测试。可能的测试场景•测试用户可输入的极限值;•用重复的数据进行测试;•在全新无数据的手机里测试;•在老手机上测试;•预先安装不同类型的数据;•用一些超出预期的数据去测试,看它是怎么处理的;•分析信息和数据是怎么影响用户体验的;功能测试•功能测试主要是程序逻辑及相关业务点测试•一、应充分考虑各种边缘情况,边界状态•二、应多站在用户的角度考虑程序的设计是否合理,是否充分满足用户的需求非功能测试篇性能测试安全性测试安装测试兼容性测试App测试方法:性能测试•响应能力测试:测试App中的各类操作是否满足用户响应时间要求。–App安装、卸载的响应时间–App各类功能性操作的影响时间•压力测试:反复/长期操作下、系统资源是否占用异常。–App反复进行安装卸载,查看系统资源是否正常–其他功能反复进行操作,查看系统资源是否正常•性能评估:评估典型用户应用场景下,系统资源的使用情况。•Benchmark测试(基线测试):与竞争产品的Benchmarking,产品演变对比测试等。App测试方法:安全性•软件测试的依据:需求规则说明书•软件安全实现依据:业务需求文档和系统设计文档安全测试•程序编码安全设计–权限控制算法(Private类)–数据库视图的引用–密钥和加密算法•技术方案安全设计–验证码–多重验证(登录与支付分离、多次密码输入)–超时原理(Session、Cookie超时)–密码安全(密码键盘,简单提示,多重加密)–*安全证书(CFCA证书等)–关键信息屏蔽(银行卡号和证件号屏蔽)–后台日志管理App测试方法:安装测试•1.软件安装后的是否能够正常运行,安装后的文件夹及文件是否写到了指定的目录里。(结果检查)•2.软件安装各个选项的组合是否正确(操作)•3.安装过程中进行取消和意外情况处理(死机、重启、断电等)•4.安装后没有生成多余的目录和文件•5.安装路径能指定:手机、SD卡•6.卸载、升级、重复安装App测试方法:兼容性测试•主要测试app与外部的兼容性–与终端设备是否兼容–与终端OS应用是否兼容–与本地及主流APP是否兼容–检验在各种网络连接下,app的数据和运用是否正确兼容性测试—分辨率•Small•Normal•large•xlarge四种屏幕尺寸:•ldpi(low)•mdpi(medium)•hdpi(high)•xhdpi(extrahigh)四种主要密度分布:•需要注意的是:xhdpi是从Android2.2(APILevel8)才开始增加的分类,xlarge是从Android2.3(APILevel9)才开始增加的分类兼容性测试—软件•需注意:•1.不同公司出的系统:MIUI、Flyme等•2.现在比较流行做第三方Launcher,需考虑不同公司出的Launcher兼容性•3.与杀毒软件的兼容•4.注意最新系统与以前版本的区别我们如何做兼容测试•1.多选择手机排行榜、机型、分辨率、系统来进行综合考虑•2.尽可能多的在不同的机器上测试–三星华为魅族小米四大厂商的机器肯定是要过到的,用户量比较大•3.测试在真机下进行,挑选大功能类用例并执行兼容性设备选择兼容性测试自动化•1.谷歌是如何做兼容性测试自动化的?–工具:AndroidCompatibilityTestSuite(简称AndroidCTS)–缺点:局限于官方出的系统•2.Emulator(Android-sdk自带:AVDManager)–缺点:比较理想环境,测试结果仅供参考,价值不大•3.云测平台:testin–优点:测试机型很多,可以给出很详细测试报告–缺点:测试结果仅供参考,意义不大•总结:工具测试只能起到一定辅助作用,无法解决真实用户场景。那么我们该如何做兼容性测试?专项测试篇弱网测试操作类型测试交叉事件测试推送测试弱网测试弱网络测试无网络测试网络切换测试弱网测试•网络根据网速可分为网络良好、弱网络、无网络三种情况。•此项测试主要考虑弱网络和无网络,测试前需要充分了解页面在什么情况向服务端作请求,从而相应的测试。•无网络测试,需要在页面作请求前关闭移动设备网络,观察程序是否作友好提示。•弱网络测试要复杂得多,存在以下三种类型:–1.页面等待请求数据,数据返回后,页面呈现是否正常;–2.页面在发出请求后,离开该页面,数据返回后,程序是否正常处理,是否会发生crash–3.页面等待请求数据,造成超时,页面是否作友好提示网络超时测试•网络超时可通过以下方式来实现,根据实际需要来选择:•1.绑定未知服务器,构成网络超时,适用所有类型•2.对某类域名作host绑定,适用于越狱机器•3.绑定代理服务器,延时某个请求的时间•4.修改程序代码,改变某个请求的链接网络切换测试•实际应用场景中,还需要考虑网络之间的切换,具体切换类型如下:网络切换有网
本文标题:app测试专题
链接地址:https://www.777doc.com/doc-3390316 .html