admin管理员组

文章数量:1609530

手机端常规测试 1.1 :介绍手机测试的
对于手机端测试,按照平台来分,分为 Android IOS 两大主流系统

对于iosAndroid,二者有区别

1 、两者运行机制不同: IOS 采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。 2 、两者后台制度不同: IOS 中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有 内存才会关闭。 3 IOS 中用于 UI 指令权限最高,安卓中数据处理指令权限最高。 Android 开源导致碎片化比较严重,(手机品牌众多,系统版本各异,分辨率不统一,主流手机型号上千。无 法保证应用、游戏对于所有手机的适配兼容。) bug 比较多,而 IOS 通常 bug 会少一些。 https://blog.csdn/abc6368765/article/details/84336126

 软件测试考虑因素

功能测试
我就先来说一下功能测试吧,对于手机 app 来说,和我们测试 web 项目差不太多,也是各种测试方式需要考 虑进来 , 比如说逻辑功能测试,现在移动端越来越火爆,大家用的软件也越来越多,对软件也越来越挑剔,现在 公司在开发移动端的时候,肯定是有相应的需求文档,我们做逻辑功能测试,就是根据这些资料,当然也根据 我们正常人的逻辑思维进行逻辑功能测试,就拿我上个项目来说,它就是一个移动端项目,在做逻辑功能测试 的时候,我们要测试主页面,我的页面,商城页面这些功能是否合理。
安装与卸载测试
软件安装后是否可以正常运行,安装过程中是否可以取消 , 安装空间不足时,是否有相应提示 , 是否可以卸 载应用(可通过桌面卸载,也可以通过软件卸载。曾发现在 IOS 手机上有个应用安装时未完全安装,终止安装 后,未完成安装的应用图标一直显示在手机上,并且无法成功删除) , 卸载是否支持取消功能,单击取消后软件 卸载功能是否正常 , 卸载后文件是否全部删除所有的安装文件夹 , 从不同的应用市场下载进行安装测试,比如测 试小米市场,华为市场,应用宝,安卓市场,安智市场的安装测试。

软件升级测试

当客户端有新版本时,是否有更新提示,当版本为非强制升级版时,用户可以取消更新,老版本能正常使 用,用户在下次启动 app 时,仍能出现更新提示;当版本为强制升级版时,当给出强制更新后用户没有做更新 时,退出客户端,下次启动 app 时,仍出现强制升级提示,当然现在强更已经很少出现了。检查更新后各个功 能是否能正常使用;在线跨版本升级后能否正常使用,当然现在主流的安装更新方式开始向热更新热部署方式 转变,就是在用户不需要手动更新的情况下,完成版本的静默更新,这个技术是有难度的,需要看公司中程序 员的技术能力还有就是是否有这样的产品需求。

登录测试

对于登录测试,基本上每一款 app 都有登录注册功能,所以在测试 App 的时候,登录测试是必不可少的一 项。 我们做登录测试的时候,往往包含这么些项,登录用户名和密码错误时,界面有提示信息 , 用户主动退出 登陆后,下次进入 app 时,应该进入登陆界面 , 密码更改后,登录时是否做到了有效数据的校验,对于未登录状 态时,一些页面的操作,是否做了控制 , 切换账号登录,检验登录的信息是否做到及时更新,对于多个端 web iso android 等)进行操作时,确保数据库操作无误,且每个端可以及时看到数据的更新 , 一个账号 只允许一台机器登陆的软件,需要账号登录多个手机时,是否将原用户踢下线,且能够给出提示信息 , 用户登录 状态太久, session 会过期,会出现 虽然是登录状态,系统会提示用户没有登陆

安全性测试——权限测试

对于手机权限,如果我们是刚开发不知名的 app ,权限这块尽量少一些,这些权限在安装的时候都必须用 户同意。在 Android 6.0 之后,权限需要动态的申请,我们测试的时候 , 需要测试在使用到这些权限的时候, 程序员是否做逻辑判断,用户同意权限应该怎么操作,不同意权限又应该怎么操作。

消息推送测试

消息推送,是移动端的一大特色。我就说一下消息推送我们所做的这些方面吧, 未锁屏时,应用后台运行,消息推送是否可正常接收,未锁屏时, APP 客户端使用过程中,可以收到消息提 醒,且点击可查看。 锁屏时,手机消息栏是否可以接收到消息提醒。且点击可查看。点击后消息栏中消失。 精准推送 当推送消息是针对登录用户的时候,需要检查收到的 push 与用户身份是否相符,没有错误的将其他人的消息推 送过来 push 推送消息是是否能有针对性的推送,如相应内容推送给相应用户(精准推送) 退出登录后,是否接受 push 推送(根据需求来)

前后台切换测试

APP 切换到后台,再回到 APP ,检查是否停留在上一次操作界面;检查功能及应用状态是否正常;程序是 否崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候 手机锁屏解屏后进入 app 注意是否会崩溃,功能状态是否正常 APP 使用过程中有电话进来中断后再切换到 APP ,功能状态是否正常 当关闭 APP 进程后,在开启 APP APP 能否正常启动 对于有数据交换的页面,尤其是有视频图片之类的页面,每个页面都必须要进行前后台切换、锁屏的测试,这 种页面最容易出现崩溃

UI测试(界面测试)

确保产品 UI 符合产品经理制定的原型图与效果图 一般涉及界面(如菜单、对话框、窗口和其他可视控件)布局、风格、文字是否正确,页面是否美观,操 作是否友好。 如:安装 app 后的加载页显示,分享页面的产品 logo 显示

网络环境测试

测试 2G 3G 4G wifi 、有网、无 / 网、弱网情况下应用的运行 网络不好时,提交数据是否一直处理提交中,是否会有延迟,数据交换失败是否会有提醒 有网到无网再到有网环境时,数据是否可以自动恢复,正常加载 无网络时,各种提示信息是否友好,数据本地化是否正确(比如提示当前已断开网络,请检查网络设置;还有 wifi 环境切换到 4G 环境提示是否启用 4G 网络,会产生扣费。

性能测试

 对于性能测试,(eclipseAndroid studio中本身有检测cpu和内存的工具,也有检测手机内存泄

漏的工具)靠工具来测试手机 cpu 占用,内存占用,电池温度等,以及测试我们的 app 在后台持续运行的流量消 耗和电量消耗问题。

mokey测试

对于手机测试,除了我们一些常规的功能测试,我们还会做稳定性测试,比如对于 Android 手机,我会使 adb 指令进行一些相应的操作,比如通过 adb 查看设置,进入设备,抓取 log ,我们测试的时候,会使用 adb logcat 所抓出来的 log 日志存到电脑,发给开发,方便他们快速解决 bug 另外,我还会使用 monkey app 进行测试,可以使用 monkey app 做稳定性测试,主要就是测试操作 app 的时 候,程序是否会崩溃。 我们使用 adb shell monkey 指定对应的 app ,执行要测试的次数,指定要触摸的比率,超时时间和忽 略崩溃信息,就可以执行测试,将测试 log 存到某个位置,然后把测试出的 bug 日志发送给开发。 300000 我就简单的说一下测试的指令吧,比如我上边所说的逻辑,我们用 adb shell mokey -p 指定要测试 的包名 --ignore-crashs 忽略崩溃 --ignore-timeout 忽略超时 --throttle 38 指定延迟时间毫秒 -s 指定测试种子 指定测试次数,然后将文件 > 输出到磁盘中。

Android介绍

Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电 脑,由 Google 公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用 安卓

android版本

Android 在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分 别是:阿童木( AndroidBeta ),发条机器人( Android 1.0 )。后来由于涉及到版权问题,谷歌将其命名 规则变更为用甜点作为它们系统版本的代号的命名方法。甜点命名法开始于 Android 1.5 发布的时候。作为每 个版本代表的甜点的尺寸越变越大,然后按照 26 个字母数序:市场上最常见的版本 andorid6.0 andorid10.0

android架构

Android 的系统架构和其操作系统一样,采用了分层的架构。 从架构图看, Android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和 Linux 内核层

 Android之四大组件

Android 四大组件分别为 activity service content provider broadcast receiver 参考 : https://blog.csdn/shenggaofei/article/details/52450668

ADB命令

ADB介绍

ADB 全称 Android Debug Bridge, android sdk 里的一个工具 , 用这个工具可以直接操作管理 android 模拟器或者真实的 andriod 设备 ( G1 手机 ) 它的主要功能有 : * 运行设备的 shell( 命令行 ) * 管理模拟器或设备的端口映射 * 计算机和设备之间上传 / 下载文件 * 将本地 apk 软件安装至模拟器或 android 设备

配置ADB环境变量

1:在系统变量中新建ANDROID_HOME变量,复制路径

 2:在系统变量path中添加%ANDROID_HOME%\platform-tools

3:验证adb配置是否成功  

adb常用指令
查看移动端设备:adb devices

(描述:这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显 示)

Offline(不能调试仅是连接,原因很可能是adb与安卓系统不匹配)

unauthorized(连接后不能调试,原因是没有在手机上同意调试)

device(正常状态可调试)

开启服务:adb start-server

关闭服务:adb kill-server

安装软件:adb install apk路径 

 

覆盖安装:adb install -r apk路径(-r 代表如果apk已安装,重新安装apk并保留数据和缓存文件)

查看包名:

查看全部包名:adb shell pm list packages

 查看第三方包名:第三方应用:adb shell pm list packages -3

查看系统应用包名:adb shell pm list packages –s

 卸载软件:adb uninstall 软件包名

将电脑文件传输到移动端:adb push 电脑路径 移动端路径

将移动端文件传输到电脑:adb pull 移动端路径 电脑路径

查看手机CPU情况:adb shell dumpsys cpuinfo

 查看应用内存使用情况:adb shell dumpsys meminfo +包名:应用的内存使用情况

 

显示磁盘使用信息:adb shell dumpsys diskstats

 查看电池状态:adb shell dumpsys battery

查看手机日志:adb logcat

本文标签: 测试