App测试中ios和Android的区别:
一、多分辨率测试
1、手机常见分辨率:
4:3
VGA 640*480 (Video Graphics Array)
QVGA 320*240 (Quarter VGA)
HVGA 480*320 (Half-size VGA)
SVGA 800*600 (Super VGA)
5:3
WVGA 800*480 (Wide VGA)
16:9
FWVGA 854*480 (Full Wide VGA)
HD 1920*1080 High Definition
QHD 960*540
720p 1280*720 标清
1080p 1920*1080 高清
手机:
iphone 4/4s 960*640 (3:2)
iphone5 1136*640
小米1 854*480(FWVGA)
小米2 1280*720
1.2 分辨率对应DPI
"HVGA mdpi"
"WVGA hdpi "
"FWVGA hdpi "
"QHD hdpi "
"720P xhdpi"
"1080P xxhdpi "
2、 屏幕适配的注意事项
2.1 基本设置
2.1.1 AndroidManifest.xml设置
在中Menifest中添加子元素
android:anyDensity="true"时,应用程序安装在不同密度的终端上时,程序会分别加载xxhdpi、xhdpi、hdpi、mdpi、ldpi文件夹中的资源。
相反,如果设为false,即使在文件夹下拥有相同资源,应用不会自动地去相应文件夹下寻找资源:
1) 如果drawable-hdpi、drawable-mdpi、drawable-ldpi三个文件夹中有同一张图片资源的不同密度表示,那么系统会去加载drawable_mdpi文件夹中的资源;
2) 如果drawable-hpdi中有高密度图片,其它两个文件夹中没有对应图片资源,那么系统会去加载drawable-hdpi中的资源,其他同理;
3) 如果drawable-hdpi,drawable-mdpi中有图片资源,drawable-ldpi中没有,系统会加载drawable-mdpi中的资源,其他同理,使用最接近的密度级别。
2.1.2 横屏竖屏目录区分
1) drawable
a) drawable-hdpi该图片即适用于横屏,也适用于竖屏;
b) drawable-land-hdpi,当屏幕为横屏,且为高密度时,加载此文件夹的资源;
c) drawable-port-hdpi,当屏幕为竖屏,且为高密度时,加载此文件夹中的资源。其他同理。
2) layout
在res目录下建立layout-port和layout-land两个目录,里面分别放置竖屏和横屏两种布局文件,以适应对横屏竖屏自动切换。
2.2 多屏幕适配的4条黄金原则
1) 在layout文件中设置控件尺寸时应采用fill_parent、wrap_content、match_parent和dp;
具体来说,设置view的属性android:layout_width和android:layout_height的值时,wrap_content,match_parent或dp比px更好,文字大小应该使用sp来定义。
2) 在程序的代码中不要出现具体的像素值,在dimens.xml中定义;
为了使代码简单,android内部使用pix为单位表示控件的尺寸,但这是基于当前屏幕基础上的。为了适应多种屏幕,android建议开发者不要使用具体的像素来表示控件尺寸。
3) 不使用AbsoluteLayout(android1.5已废弃) ,可以使用RelativeLayout替代;
4) 对不同的屏幕提供合适大小的图片。
不同大小屏幕用不同大小的图片,low:medium:high:extra-high图片大小的比例为3:4:6:8;举例来说,对于中等密度 (medium)的屏幕你的图片像素大小为48×48,那么低密度(low)屏幕的图片大小应为36×36,高(high)的为72×72,extra- high为96×96。
2.3 使用9-patch PNG图片
使用图片资源时,如果出现拉伸,因为图片处理的原因,会变形,导致界面走形。9-patch PNG图片也是一种标准的PGN图片,在原生PNG图片四周空出一个像素间隔,用来标识PNG图片中哪些部分可以拉伸、哪些不可以拉伸、背景上的边框位置等。
“上、左”定义可拉伸区域
“右、下”定义显示区域,如果用到完整填充的背景图,建议不要通过android:padding来设置边距,而是通过9-patch方式来定义。
Android SDK中提供了编辑9-Patch图片的工具,在tools目录下draw9patch.bat,能够立刻看到编辑后的拉伸效果,也可以直接用其他图片编辑工具编辑,但是看不到效果。
2.4 不同的layout
Android手机屏幕大小不一,有480x320, 640x360, 800x480……
怎样才能让Application自动适应不同的屏幕呢?
其实很简单,只需要在res目录下创建不同的layout文件夹,比如:layout-640x360、layout-800x480……所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用。
2.5 测试验证
一般使用AVD Manager创建多个不同大小的模拟器,如果条件具备,也可以直接用真机测试,这个比较靠谱。
二、升级测试:
可以被升级的必要条件:新旧版本具有相同的签名;新旧版本具有相同的包名;有一个标示符区分新旧版本(如版本号),
对于Android若有内置的应用需检查升级之后内置文件是否匹配(如内置的输入法)
三、安装卸载测试:
Android的下载和安装的平台和工具和渠道比较多,ios主要有app store,iTunes和testflight下载;
卸载:
- 用自带的卸载程序进行正确卸载,能否卸载干净
- 用第三方工具进行卸载,能否卸载干净
- 在卸载过程中,关闭进程软件能否继续正常使用
- 在卸载过程中,点击取消按钮,能否正常退出卸载程序,软件能否继续正常使用
- 在卸载过程中,突然关闭移动设备,再次访问程序,程序能否正常运行
- 在卸载过程中,突然重启设备,再次访问程序,程序能否正常运行
- 未在使用程序时,直接删除安装目录下的文件,程序能否正常运行
- 正在使用程序时,直接删除安装目录下的文件,程序能否正常运行
- 在不同的系统下,进行卸载,能否正常卸载。
- 在不同的硬件环境下,进行卸载,能否正常卸载。
- 在不同的网络环境下,进行卸载,能否正常卸载。
- 卸载成功后,是否对其他程序造成影响
- 卸载后再次安装,一切功能是否正常
- 卸载画面上的名称及版本信息是否正确
安装:
- 查看在安装过程中存在的提示信息是否明确,意思是否明确
- 在安装过程中,点击取消按钮,能否正常退出安装程序,软件是否可用。
- 安装时是否识别有SD卡,并默认安装到sd卡中
- 安装过程中,接听电话或者短信,安装是否成功
- 安装程序是否自动检查系统的磁盘空间
- 系统磁盘空间不足时,能否中止安装
- 安装完毕后信息的显示和文件的安装是否正确,完整
- 在软件安装过程中,出现突然断电的异常状态时,程序处理是否正常
- 在软件安装过程中,出现突然断网的异常状态时,程序处理是否正常
- 在不同的硬件环境下,能否正确,正常,完整的进行安装
- 在不同的网络环境下(2G/3G/wifi),能否正确,正常,完整的进行安装
- 在低于所要求的硬件配置的情况下进行安装,能否正确,正常,完整的进行安装。
- 在已经安装的情况下,所有信息与上次保存一致,覆盖安装能否再次安装
- 在已经安装的情况下,安装路径不一致,覆盖安装能否再次安装
- 在已经安装的情况下,卸载原软件,安装高版本,能否正确安装
- 在已经安装的情况下,卸载原软件,安装低版本,能否正确安装
- 在已经安装的情况下,不卸载原软件,直接安装高版本,能否正确安装
- 在已经安装的情况下,不卸载原软件,直接安装低版本,能否正确安装
- 安装完成后,能否正常启动应用程序
- 安装完成后,重启手机能否正常启动应用程序
- 安装完成后,是否对其他应用程序造成影响
- 安装完成后,能否添加快捷方式
- 安装完成后,杀毒软件是否会对其当做病毒处理。
- 安装完成后,快捷方式是否指向安装目录
- 多进程进行安装,是否安装成功
- 安装过程中,手机内存不足的情况下,能否正常安装