~ android与ios的区别
项目类别 | android | ios |
应用上 | 可以使用常用的android模拟器,来模拟各种android设备 | 只能直接使用iphone或ipad进行测试 |
开发语言 | 基于Linux内核开发,以java为主要的开发语言 | 基于unix系统,开发语言:objective-C语言 |
安装测试(不同点) | ||
安装渠道 | 主要以主流的第三方提供商:腾讯宝,豌豆荚等 | 可通过苹果官网的app商店 |
安装前测试 | apk文件病毒检测,利用杀毒软件对apk进行扫描 |
移动网络下一款应用的安装包大小超过150M无法 下载安装,只能wifi下安装,要确认安装包的大小 是否超过范围,如果超过是否能压缩 |
安装中测试 |
考虑不同的安装方式进行安装,如:应用商店自动安装。 安装过程中检查安装时提示的权限是否正确和合理。 |
只需要检查应用商店、iTunes、testfight的下载安装即可 |
安装后测试 |
进行启动测试和功能介绍、提示检查, 启动测试需要考虑从不同的地方启动,比如应用界面、桌面界面等 |
进行启动测试和功能介绍、提示检查, 启动测试需要考虑从不同地方启动, 比如应用商店中应用界面、桌面界面 |
升级测试 |
考虑通过adb、应用商店、网页下载升级等, 需要考虑低版本、同版本、高版本覆盖安装, 需要考虑有无缓存数据或存储数据的升级 |
ios应用只能升级不能降低版本, 因此考虑应用商店下载高版本覆盖安装即可 |
卸载测试 |
需要考虑通过adb、第三方应用、系统进行卸载, 考虑未运行应用时卸载和运行应用时卸载 |
ios应用通过长按图标删除,直接测试即可, 需考虑未运行应用时卸载和运行应用时卸载 |
安装包测试 |
不同的渠道下载,存在不同渠道的安装包,打包会涉及到很多配置参数, 针对不同渠道的安装包需要分别作安装测试 |
|
功能测试(相同点) | ||
业务测试 | 需站在用户角度考虑软件的使用 | |
功能交互测试 |
考虑被测功能和系统应用的交互,比如来电、来短信、来通知、闹钟等,需要考虑被测功能和其他用户的交互, 比如声音、其他应用会自动关闭网络、其他应用会让手机休眠、其他应用清空缓存等 |
|
功能键测试 | 考虑锁屏、Home键、back键对功能的影响 | |
屏幕旋转测试 | 考虑横竖屏不同情况下的功能和显示是否正常 | |
不同操作测试 | 考虑滑屏、长控、双击、多点触控等操作的测试 | |
通知栏测试 | 有些功能会在通知栏实现,比如音乐播放器等 | |
性能测试(不再细分负载、压力、容量测试,从具体的性能指标着手) | ||
启动时间 | 首次启动和非首次启动 可从log日志中查找displayed关键字查看相应的activity |
使用xcode自带的instrument工具,查看不同的模块 下各个应用程序的启动、存储、CPU占用、流量消耗 等情况 |
存储空间 | 常用的存储测试包含apk文件大小、内存占用、运行空间占用 | |
CPU | 可通过adb shell procrank查看每个应用内存的使用,可借助于网易的emmagee测试工具 | |
GPU |
GPU过度绘制、屏幕滑动帧速率和屏幕滑动平滑度,可在开发者选项中 看到调制GPU过度项,勾选对应的GPU绘制情况进行测试 |
|
流量 | 可使用emmagee以及类似的工具进行测试 | |
功耗 |
可从安装、待机和使用功耗查看: 安装功耗是在安装前测试一下电量; 待机功耗是让应用在后台运行时的功耗; 使用功耗则是当前正在使用应用时的功耗 |
|
兼容性测试 | ||
稳定性测试 | 通过monkey工具进行随机操作 | 需利用instrument中的UI test自己写代码实现 |
异常测试 | 断电重启、网络中断、程序异常退出、apk文件包含中文、清除缓存 | 断电重启、网络中断、程序异常退出 |
易用性测试 | ||
界面测试 | 受界面限制,图标代表文字,图标的功能是否一目了然,清晰易懂 | |
手指操作 |
移动app用手指操作,需考虑操作是否方便,比如点击区域大小是否合理等,当前app的手势操作是否与系统自带的手势操作冲突, 例如iphone的下拉菜单,ipad的多手势操作 |
|
自动锁屏 | 播放视频时,长时间不操作会不会自动锁屏;下载的时候是否会自动锁屏,ios下自动锁屏一般会中断下载 | |
自动暂停 | 有来电或消息推送时app是否能自动暂停;来电前已经手动暂停的播放,挂断来电后是否导致自动继续播放 | |
放大字体 | 开启辅助功能中的字体放大后,当前app的UI是否被破坏 | iphone版的app能否在ipad上经过放大正常使用 |
网络测试 | ||
不同网络 | 2g/3g/4g/wifi | |
网络切换 | 不同网络间切换下的测试,比如4g网切换为3g网又切换为wifi网 | |
不同地点 | 同一网络的不同小区等场合下进行切换 | |
弱网测试 |
网络信号弱的情况下应用是否还能正常工作,实际工作中为了做弱网测试,需要到停车场、地铁、 电梯等信号弱的地方开展测试,可利用fidder、NEWT、ATC工具模拟 |
~ android与ios的区别的更多相关文章
- 经典软件测试面试题目:Android 和 ios 测试区别?这样回答:稳!
Android 和 ios 测试区别? App 测试中 ios 和 Android 有哪些区别呢?1.Android 长按 home 键呼出应用列表和切换应用,然后右滑则终止应用:2.多分辨率测试, ...
- App测试中 ----------------Android和IOS测试区别
1 . Android长按home键呼出应用列表和切换应用,然后右滑则终止应用:2. 多分辨率测试,Android端20多种,ios较少:3. 手机操作系统,Android较多,ios较少且不能降级, ...
- Xamarin.Form与Xamarin.Android或Xamarin.IOS的区别简述
Xamarin.Form与Xamarin.Android或Xamarin.IOS的区别简述: 可能刚刚接触Xamarin的人来说,对于这个概念比较的模糊,认为这说的不都是同一个东西吗?事实并不是这样的 ...
- 现在创业做App,先做 Android 还是 iOS?
随着互联网+的高速发展,现在创业大部分都是在布局移动端,初期往往摆在面前最大的难题是,如何分配有限的成本,在最快的速度内占领市场?这个大难题会影响创始人在团队和产品建设方方面面的决定.缩小至移动App ...
- 《大话移动APP测试:Android与iOS应用测试指南》
<大话移动app测试:android与ios应用测试指南> 基本信息 作者: 陈晔 出版社:清华大学出版社 ISBN:9787302368793 上架时间:2014-7-7 出版日期:20 ...
- [Hadoop 周边] 浅谈大数据(hadoop)和移动开发(Android、IOS)开发前景【转】
原文链接:http://www.d1net.com/bigdata/news/345893.html 先简单的做个自我介绍,我是云6期的,黑马相比其它培训机构的好偶就不在这里说,想比大家都比我清楚: ...
- EasyPlayer-RTSP播放器:从底层到上层专注于RTSP播放Windows、Android、iOS RTSP Player
EasyPlayer-RTSP播放器是一套RTSP专用的播放器,包括有:Windows(支持IE插件,npapi插件).Android.iOS三个平台,是由EasyDSS团队开发和维护的区别于市面上大 ...
- JS调用Android、Ios原生控件
在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...
- 判断手机端用户打开页面时是android还是ios,并将判断结果通过ajax返回给url接口,传递回去
首先判断页面是android还是ios,然后利用ajax将结果通过接口url返回回去,记录到log日志中,以统计android和ios用户访问该页面的数量(数据统计) <script type= ...
随机推荐
- 主机,路由器,应用程序,sockets api的关系
- Java并发指南8:AQS中的公平锁与非公平锁,Condtion
一行一行源码分析清楚 AbstractQueuedSynchronizer (二) 转自https://www.javadoop.com/post/AbstractQueuedSynchronizer ...
- JS函数传递字符串参数(符号转义)
原文链接:https://blog.csdn.net/Myname_China/article/details/82907965 JS函数传递字符串参数,如果没有转义处理,在接收的时候无法正确的接收字 ...
- P2047 [NOI2007]社交网络(洛谷)
题目描述 在社交网络 ( Social Network ) 的研究中,我们常常使用图论概念去解释一些社会现象.不妨看这样的一个问题:在一个社交圈子里有 nn 个人,人与人之间有不同程度的关系.我们将这 ...
- js中的splice方法和slice方法简单总结
slice:是截取用的 splice:是做删除 插入 替换用的 slice(start,end): 参数: start:开始位置的索引 end:结束位置的索引(但不包含该索引位置的元素) 例如: va ...
- linux的最简socket编程
一.背景 好久没有进行linux下的socket编程了,复习一下 二.服务端完整代码 #include <stdio.h> #include <stdlib.h> #inclu ...
- InsetDrawable
表示把一个Drawable嵌入到另外一个Drawable的内部,并且在内部留一些间距, 类似与Drawable的padding属性,但padding表示的是Drawable的内容与Drawable本身 ...
- Maven 引入外部依赖
pom.xml 的 dependencies 列表列出了我们的项目需要构建的所有外部依赖项. 要添加依赖项,我们一般是先在 src 文件夹下添加 lib 文件夹,然后将你工程需要的 jar 文件复制到 ...
- app怎么获取package与active name
1.aapt dump badging apk名称 2.adb logcat | grep START 或者 adb shell "logcat | grep START" 然后在 ...
- HBase管理与监控——WebUI
一.Region Server栏信息 Requests Per Second,每秒读或写请求次数,可以用来监控HBase请求是否均匀.如果不均匀需排查是否为建表的region划分不合理造成. Num. ...