APP测试(1)
移动端概述及APP测试介绍
以Android手机为例
1、如何学习手机APP测试
• 了解手机行业
• 了解APP行业
• 熟悉手机
• 熟悉流行的APP
• 先从业务入手,熟悉基本测试点、测试技巧和方法
• 再深入到架构
• 先从功能和思维入手,再说性能和自动化
多实践、多思考、多总结
2、APP(application)
• 专业上:应用程序 包括手机端和电脑端(.exe)
• 口头上:APP表示手机端应用 电脑端:客户端
3、手机组成(从上往下)
• 软件 ---- APP测试
• 操作系统 ---- 整机测试
• 硬件
4、关注的手机信息
• 品牌/厂商:华为、荣耀、OPPO、vivo、小米、Apple
• 系统及版本:系统:Android/iOS (重点) UI版本:小米:MIUI 华为:EMUI
• 分辨率/尺寸:设置里面
• 市场占有率:
不同系统间的软件不能相互兼容
5、Android手机四层架构( 上----> 下 )
• Applications:日历、联系人、邮件等,java编写
• 应用程序架构:开发人员可以访问框架API
• 系统运行库:为开发者提供服务
• Linux内核
6、IOS:object-C 应用程序后缀名: .ipa
Android: java 应用程序后缀名:.apk
7、功能测试的依据
• 需求文档:来自产品团队
• 如果没有需求文档:
○ 经验:测试人员的经验、作为使用者的经验
○ 产品文档:说明书、使用手册、设计文档、原型图、流程图
○ 咨询:咨询相关人员,最后才去找开发
对开发的话保持怀疑态度,只作为参考
8、APP测试内容
功能测试、兼容性测试、UI测试、稳定性测试、接口测试、安全测试、弱网测试、H5测试
9、功能测试内容
• 需求中明确定义的功能
• 用户常用的功能
• 软件系统特色功能
• 软件主要基本功能
越是简单的功能越容易漏测
10、功能缺陷
• 功能不起作用(菜单、按钮、链接、控件失效)
• 功能错误(与预期的功能不一致、计算结果错误、显示结果错误)
• 功能缺失(缺少应该具备的菜单、按钮、选项等)
• 执行功能之后全系统瘫痪(崩溃、CPU不足)
• 执行功能后,当前功能无法继续操作(当前页面死机,但是不影响其他任何程序的使用)
11、UI测试(不需要用例)
• 单独作为专项
○ 用设计图和实际界面进行对比 ----找茬
• 放在功能中进行测试
○ 用例中需要进行一些必要说明
• UI是为了让用户更加方便习惯开心
12、用户界面缺陷
• 文字被截断、显示不全
• 控件或者文字没有对齐
• 控件、文字重叠
• 不一样的布局方式(和整体风格不搭)
• 多余的文字
• 丢失的文字
• 文字的字体、字号错误
• 多余的空格
• 打印的内容格式错误
• 窗口无法正常显示
13、兼容性测试
• 人工测试:租赁/购买市场上的各品牌手机进行测试
• 云测:提供apk进行云平台测试,节省人力物力财力
14、针对APP测试,需要考虑
• 操作系统版本
• 屏幕分辨率:分辨率的兼容性是非常容易产生bug的部分
• 不同的手机品牌(不同的ROM)Android系统碎片化引起
• 网路类型:移动应用在不同网络下的稳定性
15、H5测试:APP的网页测试
16、小程序测试:不属于APP中的专项测试
需求评审
需求文档来自于产品
17、需求分析怎么做?
• 产品和客户沟通阶段:需求分析,整理的过程 -- 形成需求文档的过程
• 测试分析提取功能点、测试点的过程 -- 形成功能点/测试点的思维导图的过程
18、项目中所有的产出文档都需要经过评审
19、评审步骤
• 预审:提高评审质量和效率
• 评审人员:必须要参加的:项目经理、开发、测试、产品 ;可能会参加的:运营、客户代表..
面试:
Q:如何提高评审的质量和效率? A:预审机制
Q:如果有一个比较大的项目,有很多功能,如何评审? A:分模块,分层次
20、需求文档的要求
正确:正确满足产品需求
完备:文档内容完备
无歧义:文字描述清楚,没有歧义
优先级:每个功能特性都有优先级
可验证:功能是可以准确验证的