一、主流:当前移动端两大主流平台为Android和IOS
二、主流之间的区别:
- 运行机制不同:IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制
-
两者后台制度不同:
IOS
中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭
-
IOS
中用于
UI
指令权限最高,安卓中数据处理指令权限最高
Android
- 优点:开源,软件丰富,软件众多
- 缺点:碎片化、手机品牌众多,系统版本各异,分辨率不统一,主流手机型号上千。无
法保证应用、游戏对于所有手机的适配兼容
IOS的优点:
- 安全,稳定,私密性高
- 付费,兼容较难,测试复杂
测试的因素:功能、安装与卸载、软件升级、登录、安全性——权限、消息推送、前后台切换、UI(界面)、兼容性、网络环境测试性能、mokey。
- 功能:逻辑功能;根据常人的逻辑思维进行逻辑功能测试。例:测试主页面,我的页面,商城页面这些功能是否合理
- 安装与卸载:软件安装后是否可以正常运行,安装过程中是否可以取消,安装空间不足时,是否有相应提示,是否可以卸载应用。例:可通过桌面卸载,也可以通过软件卸载。测试小米市场,华为市场,应用宝,安卓市场,安智市场的安装测试。
- 软件升级测试:当客户端有新版本时,是否有更新提示;当版本为非强制升级版时,用户可以取消更新,老版本能正常使用,用户在下次启动app时,仍能出现更新提示;当版本为强制升级版时,当给出强制更新后用户没有做更新时,退出客户端,不进行更新无法继续使用。检查更新后前版本功能是否能正常使用;在线跨版本升级后能否正常使用;是否能完成版本的静默更新。
-
登录测试:基本上每一款
app
都有登录注册功能,所以在测试
App的时候,登录测试十分必要
例:登录用户名和密码错误时,界面有提示信息;
用户主动退出
登陆后,下次进入app时,应该进入登陆界面;密码更改后,登录时是否做到了有效数据的校验;对于未登录状
态时,一些页面的操作,是否做了控制;切换账号登录,检验登录的信息是否做到及时更新;对于多个端(web、
iso
、
android等)进行操作时,确保数据库操作无误,且每个端可以及时看到数据的更新;单点模式:
一个账号
只允许一台机器登陆的软件,需要账号登录多个手机时,是否将原用户踢下线,且能够给出提示信息;银行业务:
用户登录状态太久,session会过期,会出现“虽然是登录状态,系统会提示用户没有登陆”
-
安全性
——权限:
Android 6.0
之后,权限需要动态的申请,我们测试的时候
,
需要测试在使用到这些权限的时候,
程序员是否做逻辑判断,用户同意权限应该怎么操作,不同意权限又应该怎么操作。
-
消息推送测试 :信息推送,就是"web广播",是通过一定的技术标准或协议,在互联网上通过定期传送用户需要的信息来减少信息过载的一项新技术。例:未锁屏时,应用后台运行,消息推送是否可正常接收;未锁屏时,APP客户端使用过程中,可以收到消息提醒,且点击可查看;锁屏时,手机消息栏是否可以接收到消息提醒。且点击可查看。点击后消息栏中消失。精准推送:当推送消息是针对登录用户的时候,需要检查收到的push与用户身份是否相符,没有错误的将其他人的消息推送过来。push推送消息是是否能有针对性的推送,如相应内容推送给相应用户(精准推送)。
-
前后台切换测试 :APP切换到后台,再回到APP,检查是否停留在上一次操作界面;检查功能及应用状态是否正常;程序是否崩溃,功能状态是否正常,尤其是对于从后台切换回前台时是否有自动更新的数据;手机锁屏解屏后进入app是否功能状态功能状态,是否会崩溃、卡顿;APP使用过程中中断后再切换到APP,功能状态是否正常;关闭APP进程后,在开启APP,APP能否正常启动;注意有数据交换的页面,尤其是有视频图片之类的页面,每个页面都必须要进行前后台切换、锁屏的测试,这种页面最容易出现崩溃。
-
UI界面:确保产品UI符合产品经理制定的原型图与效果图;易用性展示。
-
兼容性测试:兼容性测试主要考虑手机的版本,型号,分辨率;测试准备:测试机,一般是不同厂商的手机,当然还有第三方云测平台,比如testin还有腾讯wetest。
-
网络环境测试:测试2G、3G、4G、wifi、有网、无/网、弱网情况下应用的运行;网络环境查时据是否一直处理提交数据,是否会有延迟和提示数据交换失败;有网到无网再到有网环境时,数据是否可以自动恢复,正常加载;无网络时,各种提示信息是否友好,数据本地化是否正确(比如提示当前已断开网络,请检查网络设置;还有 从wifi环境切换到4G环境提示是否及时启用4G网络并提示网络环境切换。
- 性能测试:(eclipse和Android studio中本身有检测cpu和内存的工具,也有检测手机内存泄
漏的工具)靠工具来测试手机
cpu
占用,内存占用,电池温度。
二:Android
- 介绍:Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”。
-
版本:Android在正式发行之前,最开始拥有两个内部测试版本
是:阿童(
AndroidBeta
),发条机器人(
Android 1.0)。版本按照26个字母数序;andorid12和andorid13。
3.android架构 Android的系统架构和其操作系统一样,采用了分层的架构。 从架构图看, Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和 Linux内核层。
4.
Android之四大组件:Android
四大组件分别为
activity
、
service
、content provider、
broadcast receiver
。
三:ADB命令
-
ADB介绍:
ADB
全称
Android Debug Bridge,
是
android sdk
里的一个工具
,
用这个工具可以直接操作管理
android
模拟器或者真实的
andriod
设备
(
如
G1
手机
)。
*
运行设备的
shell(
命令行
)
*
管理模拟器或设备的端口映射
*
计算机和设备之间上传
/
下载文件
*
将本地
apk
软件安装至模拟器或
android
设备
- 配置ADB环境变量
- 在系统变量中新建ANDROID_HOME变量,赋值路径(绝对路径androidSDK)
- 在系统变量path中添加%ANDROID_HOME%\platform-tools
-
验证
adb
配置是否成功
-
如图显示配置成功
- 如图显示配置失败
- ADB常用指令
- 查看移动端设备:adb devices(这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示)
Offline(
不能调试仅是连接,原因很可能是
adb
与安卓系统不匹配
)
unauthorized(
连接后不能调试,原因是没有在手机上同意调试
)
device(正常状态可调试)
- 开启服务:adb start-server
- 关闭服务:adb kill-server
- 安装软件:adb install apk路径
- 覆盖安装:adb install -r apk路径
- 查看(系统)包名:adb shell pm list packages –s
- 查看(第三方)包名:adb shell pm list packages -3
- 查看(全部)包名:adb shell pm list packages
- 卸载软件:adb uninstall 软件包名
- 将电脑文件传输到移动端:adb push 电脑路径 移动端路径
- 将电脑文件传输到移动端:adb pull 移动端路径 电脑路径
- 截屏:adb shell screencap -p 截图文件路径
- 查看手机CPU情况:adb shell dumpsys cpuinfo
- 查看应用内存使用情况:adb shell dumpsys meminfo
- 显示磁盘使用信息:adb shell dumpsys diskstats
- 查看电池状态:adb shell dumpsys battery
- 查看手机日志:adb logcat
adb logcat
命令格式
: adb logcat [
选项
] [
过滤项
],
其中 选项 和 过滤项 在 中括号
[]
中
,
说明这是可选的
;
">"
输出
: ">"
后面跟着要输出的日志文件
,
可以将
logcat
日志输出到文件中
,
使用
adb logcat >
log
命令(adb logcat >C:\log\1.txt)