手机测试关注点

  • 介绍手机测试的概念架构

    对于手机端测试,按照平台来分,分为Android和IOS两大主流系统;

    Android开源系统导致碎片化严重,bug比较多,而IOS通常bug会少一些。(手机品牌众多,系统版本各异,分辨率不统一,主流手机型号上千。无法保证应用、游戏对于所有手机的适配兼容。)bug比较多,而IOS通常bug会少一些。

    还有分辨率测试,Android手机分辨率有20多种,IOS较少一些。

  • 该从那几个方面入手?

    • 功能测试

      对于手机app来说,和我们测试web项目差不多,也是各种测试方式需要考虑进来,比如说逻辑功能测试。现在移动端越来越火爆,大家用的软件也越来越多,对软件越来越挑剔,现在公司在开发移动端的时候,肯定是有相应的需求文档和UI所设计的产品效果图,我们做逻辑功能测试,就是根据这些资料,当然也根据我们正常人的逻辑思维 进行逻辑功能测试。

    • 安装与卸载测试

      软件安装后是否可以正常运行,安装过程中是否可以取消,安装空间不足时,是否有相应展示,是否可以卸载应用(可通过桌面卸载,也可以通过软件卸载),卸载是否支持取消功能,单击取消软件卸载功能是否正常,卸载后文件是否全部删除所有的安装文件夹,从不同的应用市场下载进行安装测试

    • 软件升级测试

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

    • 登录测试

      对于登录测试,基本上每一款app都有登录注册功能,所以在测试app的时候,往往包含这些,登录用户名和密码错误时,,界面是否有提示信息,用户主动退出登录后,下次进入app时,应该进入登录界面。密码更改后,登录时是否做到了有效数据的校验,对于未登录的状态时,一些页面的操作,是否做了控制。

      切换账号登录,检查登录的信息是否做到及时更新,对于多个端进行操作时,确保数据库操作无误,且每个端可以及时看到数据的更新每一个账号只允许一台机器登录的软件,需要账号登录多个手机时,是否将原用户踢下线,且能够给出提示信息,用户登录状态太久,session会过期。

    • 安全性测试-----权限测试

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

    • 消息推送测试

      消息推送,是移动端的一大特色。

      未锁屏时,应用后台允许,消息推送是否正常接收,未锁屏时,app客户端使用过程中,可以收到消息提醒,且可以查看

      锁屏时,手机消息栏是否可以接收到消息提醒。且点击可查看。点击后消息栏中消失

      当推送消息是针对登录用户的时候,需要检查收到的push与用户身份是否相符,没有错误的将其他人的消息推送过来

      push推送消息是否能有针对性的推送,如相应内容推送给相应用户(精准推送)

      退出登录后,是否接收push推送(根据需求来)

    • 前后台切换测试

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

    • UI测试

      确保产品UI符合产品经理制定的原型图与效果图一般设计界面(如菜单,对话框,窗口和其他可视控件)布局,风格,文字是否正确,页面是否美观,操作是否友好。

    • 兼容性测试

      兼容性测试主要考虑手机的版本,型号,分辨率,现在手机碎片化严重,各个版本,比容Android,从Android4.0到Android8.0的版本它是不一样的。还有手机分辨率,现在主流的可能是1920 1080,但是还有其他分辨率,比如 720 1080,还有一些更大的分辨率的手机,都要考虑这些分辨率的兼容,不然用户视觉体验就不好

      兼容测试,公司中会买好多测试机来让我们进行测试,一般是不同厂商的手机,当然还有第三方云测平台,比如testin还有腾讯wetest,就可以做兼容测试。可以一次性测试100台测试机,同时会有相应的测试报告,bug报告

      对于IOS,IOS版本有7.1.2,8.3,9.1等;能否适配各种屏模尺寸

    • 网络环境测试

      测试2G,3G,4G,WIFI,有网,无网,弱网情况下应用的运行;

      网络不好时,提交数据是否一直处理提交中,是否会有延迟,数据交换失败是否会有提醒

      有网到无网再到有网环境时,数据是否可以自动恢复,正常加载

      无网络时,各种提示信息是否友好,数据本地化是否正确(比如提示当前已断开网络,请检查网络设置)

      还有从WIFI环境切换到4G环境提示是否启用4G网络,会产生扣费

    • 性能测试

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

    • monkey测试

      对于手机测试,除了我们一些常规的功能测试,我们还会做压力测试,比如对于Android手机,我会使用ADB指令进行一些相应的操作,比如通过ADB查看设置,进入设备,抓取log,我们测试的时候,会使用adb logcat 所抓出来的log日志存到电脑,发给开发,方便它们快速解决bug

      另外,我还会使用monkey对app进行测试,可以使用monkey对app做压力测试,主要就是测试操作app的时候,程序是否会崩溃

弱网测试

  1. 使用真实的SIM卡,运营商网络来进行测试(移动无线测试中存在一些特别的bug必须在特定的真实的运营商网络下才会发现)
  2. 通过代理的方式模拟弱网环境进行测试(charles 硬延迟) 在 fIDDLER 和 charles中可以设置网络,fidder可以在rule中调,charles可以在proxy中延迟设置中设置网络速度
  3. 连接模拟弱网的热点进行测试,比如360WIFI助手可以设置

测试过程中遇到app出现的crash(奔溃)或者ANR(卡死),你会?

可以先把日志过滤出来:adb logcat | findstr ******(过滤日志信息),然后再搜索其中的关键字,比如:exception,crash,看看是哪些方法或者异常导致了问题的发送,初步定位问题原因后,可以交给开发人员去具体查找深层原因并修复

  • APP中bug的直接影响

    app的bug会直接影响用户的体验,APP商店的初级,用户忠诚度,声誉等

  • APP崩溃是非常常见的一类bug

    例如很多时候我们正在使用某个Android的APP,正在使用着突然就停止响应,界面上弹出'强制关闭错误'的窗口需要强制关闭应用,而IOS的APP呢则很多使用就会出现闪退的现象,这些问题,我想都是很多人所遇到的问题,这些都是APP常见的崩溃现象。因为现在市场是ANDROID手机的碎片化,造成了/android手机更加容易出现APP的崩溃,通常在网络异常时APP还在进行数据交互,即会出现崩溃,可能的原因多种,有可能是代码中存在多余空格,程序员对该段代码的处理欠佳,未作异常处理等;而IOS中常见的APP崩溃大多以闪退的形式出现,这些异常在最坏的情况下,不经影响本APP的使用也可能会导致系统故障,操作系统崩溃,整个APP无法继续使用,用户不得不卸载APP

  • APP常见崩溃的原因

    1. 设备碎片化:由于设备极具多样性,APP在不同的设备上可能有表现不同
    2. 带管限制:带宽不佳的网络对APP所需的快速响应时间可能不够
    3. 网络的变化:不同网络间的切换可能会影响APP的稳定性
    4. 内存管理:可用内存过低,或者授权的内存位置的使用可能会导致APP失败
    5. 用户过多:连接数量过多可能会导致APP崩溃
    6. 代码错误:没有经过测试的新功能,可能会导致APP在生成环境中失败
    7. 第三方服务:广告或弹出屏幕可能会导致APP崩溃
  • APP崩溃的测试用例设计

    1. 验证在有不同的屏幕分辨率,操作系统和运营商的多个设备上的APP行为
    2. 用新发坐的操作系统版本验证APP的行为。
    3. 验证在如隧道,电梯等网络指令突然改变的环境中的APP行为
    4. 通过手动网络从蜂窝更改到WI-FI,或反过来,验证APP行为
    5. 验证在没有网络的环境中的APP行为
    6. 验证来电/短信和设备特定的警报时的APP行为
    7. 通过改变设备的方向,以不同的视图模式,验证APP行为。
    8. 验证设备内存不足时的APP行为。
    9. 用不同的支持语言验证APP行为。
    10. 用不同的支持语言验证APP行为

APP的测试与Web端软件测试相比,所增加复杂性

  • 相同点:

    同样的测试用例设计方法

    同样的测试方法;都会依据原型图或效果图来检查UI

    测试页面载入和翻页的速度,登录时长,内容是否溢出等

    测试应用系统的稳定性

  • 不同点

    1. 兼容性测试:web项目考虑不同浏览器的兼容,APP需要考虑手机不同操作系统,不同机型,不同屏幕等
    2. 操作系统:大量的设备,各种操作系统,目前使用最多的操作系统有: Android,IOS,Winods等等,它们之间的应用软件互补兼容
    3. 设备:触摸式和非触摸式设备,有限的内存容量,电池耗电量,屏幕尺寸,分辨率等
    4. 网络:不同的网络和运营商,目前我国的三大运营商就有电信,联通,移动,不同的网络制式,如GSM.CDMA,3G等,在不好或无网络的情况下的APP行为
    5. APP的中断测试:来电中断,短信中断,蓝牙,闹钟,拔插数据线,手机锁定,手机断电,手机问题
    6. APP的安装卸载:全新安装,升级安装,第三方工具安装,第三方工具卸载,直接卸载
    7. WEB自动化测试工具:selenium 而手机自动化:monkey ,monkeyrunner
    8. app测试平台:百度云测,testin云测
posted @ 2021-04-12 19:07  乐乐乐乐乐乐樂  阅读(136)  评论(0)    收藏  举报
jQuery火箭图标返回顶部代码