App测试中ios和Android的区别

App测试中ios和Android的区别
App测试中ios和Android的区别

App测试中ios和Android的区别

1、 Android长按home键呼出应用列表和切换应用,然后右滑则终止应用;

2、多分辨率测试,Android端20多种,ios较少;

3、手机操作系统,Android较多,ios较少且不能降级,只能单向升级;新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash);

4、操作习惯:Android,Back键是否被重写,测试点击Back键后的反馈是否正确;应用数据从内存移动到SD卡后能否正常运行等;

5、push测试:Android:点击home键,程序后台运行时,此时接收到push,点击后唤醒应用,此时是否可以正确跳转;ios,点击home键关闭程序和屏幕锁屏的情况(红点的显示);

6、安装卸载测试:Android下载和安装的平台、工具和渠道比较多,ios主要有app store,iTunes和testflight下载;

7、升级测试:可以被升级的必要条件:新旧版本具有相同的签名;新旧版本具有相同的包名;有一个标示符区分新旧版本(如版本号),对于Android若有内置的应用需检查升级之后内置文件是否匹配(如内置的输入法)。

另外,对于测试还需要注意以下几点:

1、并发(中断)测试:闹铃弹出框提示,另一个应用的启动、视频音频的播放,来电、用户正在输入等,语音、录音等的播放时强制其他正在播放的要暂停;

2、数据来源的测试:输入,选择、复制、语音输入,安装不同输入法输入等;

3、push(推送)测试:在开关机、待机状态下执行推送,消息显示及其推送跳转的正确性;应用在开发、未打开状态、应用启动且在后台运行的情况下是push显示和跳转否正确;推送消息阅读前后数字的变化是否正确;多条推送的合集的显示和跳转是否正确;

4、分享跳转:分享后的文案是否正确;分享后跳转是否正确,显示的消息来源是否正确;

5、触屏测试:同时触摸不同的位置或者同时进行不同操作,查看客户端的处理情况,是否会crash等。

移动App Bug的影响是用户体验差、App的商店评级下降、用户换用竞争对手的App,声誉和信誉损失、最后销售量减少,如果它是一个付费App的话。

移动App测试与传统台式机测试相比有一定的复杂性。这些复杂性可以被分类为:环境(大量的设备,各种移动OSs,适应频繁OSs变化)。

设备(触摸式和非触摸式设备,有限的内存容量,电池耗电量)。

网络(不同的网络和运营商,在不好或无网络的情况下的App行为,离线支持)。

可用性(方向,触摸,多触摸,缩放,分页和导航的局限性,各种干扰,如来电,来电短信,闹钟,和低电量警报)。

所有这些手机专有的复杂性需要新的针对移动App测试的测试用例设计方案。

最常见的移动App Bug

根据调查的结果,移动App崩溃是最常见的移动App Bug ,这是预料中的结果,因为很容易发现一个移动App崩溃。Android OS上一个写着“强制关闭错误”的弹出窗口跳上屏幕;当发生崩溃时,iOS中App屏幕突然消失。最坏的情况下,App崩溃可能会导致系统故障,操作系统崩溃。

移动App崩溃原因:从平台或环境到开发问题。

设备碎片化:由于设备极具多样性,App在不同的设备上可能表现不同。

带宽限制:带宽不佳的网络对App所需的快速响应时间可能不够。

网络的变化:不同网络间的切换可能会影响App的稳定性。

内存管理:可用内存过低,或非授权的内存位置的使用可能会导致App失败。

用户过多:连接数量过多可能会导致App崩溃。

代码错误:没有经过测试的新功能,可能会导致App在生产环境中失败。

第三方服务:广告或弹出屏幕可能会导致App崩溃。

移动App崩溃的测试用例设计

测试用例是移动测试最重要部分之一。

准备和执行预先定义的针对移动App崩溃的测试用例将简化和加速移动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崩溃的App特定场景。

在这项研究中,展示了针对移动App崩溃的通用测试案例。

如果移动测试团队在他们的测试场景中准备并执行这些测试用例,那么早在开发周期就可以找到崩溃相关的Bug。然后,开发团队将阐明崩溃原因,并找出一个解决所有Bug的通用方法。最后,App质量和用户满意度就会增加。

OS系统的这些小功能会影响到你的APP哦,你测了没?

1、iPhone6以上机型的放大模式

功能入口:设置→显示与亮度→显示模式→标准/放大

说到这不得不提国民老公思聪在我们尚未拿到iPhone6真机时,给iOS手机输入法提的bug。搜狗输入法在标准模式下显示异常,无法正常使用,另外一个输入法在放大模式下存在相同问题。所以经验之谈,同行兄弟姐妹在测试APP时,要注意iPhone6以上机型有两个显示模式哦~在日常测试时可选择在一个模式下主测,在另一个模式下进行基本测试便可。

2、后台运行机制

1)IOS系统有独特的任务管理机制。当应用程序不在前台运行时,除了GPS服务、音频播放服务和VOIP服务以外,其他的应用在10分钟后都是被系统挂起的,从技术上来说,被挂起的意思等同于不执行,只是数据驻留在内存而已。

2)内存管理机制。简单而言,在执行任意应用时,应用向系统申请内存空间,如果应用在使用的过程中不断申请内存,超过了系统限定的内存区间,系统会发出内存警报,严重时会直接将应用杀死。同样,如果应用向系统申请内存,系统内存空间不足,系统会结束后台应用的进行,以释放空间资源。

3)伪多任务。例如微信,看起来貌似是在后台运行,其实不是。你能收到消息提示只是系统推送服务,无论你的应用程序是否在运行,IOS都会在后台维护这个服务以实现假的多任务,并且所有的应用程序都会共用这一服务通道。

所以在测试时不妨在用例里面增加几条后台交互的用例,检验应用的数据是否能正常保存,验证应用被系统强制挂起后,再唤起是否能够正常启用,监测内存占用情况等等。

3、iOS系统时间不正确可能导致的问题

由于在测试时会有调节系统时间的操作,在网络正常的情况下,反复频繁的调节系统时间后,发现经常会遇到以下情况,将时间日期改为“自动设置”就会恢复正常了。

1)iMessage登录失败,提示网络错误,重新登录

2)软件更新失败,在更新过程中报错

3)App Store登录失败或App Store加载出错

4、后台自动更新应用功能

功能入口:设置→App Store与iTunes Store→更新

当系统检测到当前设备登录的账号下载的应用存在更新,会自动更新。很多用户误认为应用有强盗行为,会主动在后台静默更新,其实这是iOS系统本身的功能,且默认开启。

在测试验证升级时,可事先将该功能关闭,以免测试环境未部署好,应用便自动更新了~

相关主题
相关文档
最新文档