移动设备操作系统简介
主流:
Andriod:是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。第一部Android智能手机发布于2008年10月;
定制Anrdiod系统:MIUI、flyme、EMUI、Smartisan OS
发行版本:
Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分别是:阿童木(AndroidBeta),发条机器人(Android 1.0)。后来由于涉及到版权问题,谷歌将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。甜点命名法开始于Android 1.5发布的时候,然后按照26个字母数序;具体发布版本可自行查找;
ios:是由苹果公司开发的移动操作系统 。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等产品上。iOS与苹果的Mac OS X操作系统一样,属于类Unix的商业操作系统。
非主流:Winphone、黑莓、塞班、ubuntu、Asha、Tizen、Jolla、Firefox OS;
Winphone:Windows Phone(简称为WP)是微软于2010年10月21日正式发布的一款手机操作系统,初始版本命名为Windows Phone 7.0 [1] 。基于Windows CE内核,采用了一种称为Metro的用户界面(UI),并将微软旗下的Xbox Live游戏、Xbox Music音乐与独特的视频体验集成至手机中。2011年2月,诺基亚与微软达成全球战略同盟并深度合作共同研发该系统。
微软宣称将在2017年7月11日正式结束Windows Phone 8.1的服务支持,今后也不会再有对于系统的更新修复和新特性加入。
黑莓:BlackBerry OS是Research In Motion(加拿大的一家通信公司,主要产品为黑莓手机。为其智能手机产品BlackBerry开发的专用操作系统。该系统具有多任务处理能力,并支持特定输入装置,如滚轮、轨迹球、触摸板及触摸屏等。
塞班:Symbian系统是塞班公司为手机而设计的操作系统。2008年12月2日,塞班公司被诺基亚收购。
2011年12月21日,诺基亚官方宣布放弃塞班(Symbian)品牌。由于缺乏新技术支持,塞班的市场份额日益萎缩。截止至2012年2月,塞班系统的全球市场占有量仅为3%。
2012年5月27日,诺基亚彻底放弃开发塞班系统,但是服务将一直持续到2016年。
2013年1月24日晚间,诺基亚宣布,今后将不再发布塞班系统的手机,意味着塞班这个智能手机操作系统,在长达14年的历史之后,终于迎来了谢幕。2014年1月1日,诺基亚正式停止了Nokia
Store应用商店内对塞班应用的更新,也禁止开发人员发布新应用。 Symbian是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,在有限的内存和运存情况下,非常适合手机等移动设备使用,经过不断完善,可以支持GPRS、蓝牙、SyncML、NFC以及3G技术。
ubuntu:2013 年 1 月 3 日,Canonical 公司创始人 Mark Shuttleworth 在 Ubuntu 官网宣布,在旗下 Linux 开源操作系统 Ubuntu 桌面版的基础之上,该公司将推出独立的移动操作系统 Ubuntu Touch。
2015 年 2 月,第一款搭载 Ubuntu 系统的智能手机问世。Canonical 公司联合西班牙 BQ 公司推出了一款名为 Aquarius E4.5 的 Ubuntu 手机
2017 年 4 月 5 日,Mark Shuttleworth 又在官网宣布,Canonical 将停止对手机业务的投资;这就意味着,Ubuntu Touch 寿终正寝;
Firefox OS:是Mozilla公司推出的移动操作系统,它是一款完全开源并免费的移动平台,基于HTML5技术。该系统最大的创新在于HTML5。由于完全遵循HTML5标准,应用开发者将可以使HTML5应用充分发挥设备的硬件性能。
2016年2月5日 Mozilla在发送给开发者的电子邮件当中表示,在2.6版本发布之后,Mozilla将停止开发火狐手机版操作系统。
非智能机:MTK平台、S40平台;
app三种类型与区别:
原生应用程序:(Native App)
原生APP就是利用Android、iOS平台官方的开发语言、开发类库、工具进行开发。比如安卓的java语言,iOS的object-c 语言。在应用性能上和交互体验上应该是最好的。
优点:
1、可访问手机所有功能、可实现功能最齐全;
2、运行速度快、性能高,绝佳的用户体验;
3、支持大量图形和动画。不卡,反应快。
4、比较快捷地使用设备端提供的接口,处理速度上有优势。
缺点:
- 在过去主要是成本高、周期长,Android和iOS都需要单独开发。
 - 更新版本需要重新下载安装包。
 
混合应用程序(Hybrid App)
即利用了原生APP的开发技术还应用了HTML5开发技术,是原生和HTML5技术的混合应用。混合比例不限。
优点:
1、开发周期短;
2、功能更新发布快;
缺点:
1、用户体验不如本地应用;
2、性能稍慢(需要连接网络);
Web版APP (Web App)
本质就是浏览器功能的叠加,用普通Web开发语言开发的,通过浏览器运行。
优势:
1、支持范围广;
2、开发成本低、周期短。
缺点:
1、对联网要求高,离线不能做任何操作;
2、功能有限;
3、运行速度慢,页面不能承载太多东西;
4、图片和动画支持性不高;
5、如果用户使用更多的新型浏览器,那么就会出现运行问题。
Web App、Hybrid App、Native App 技术特性:

手游app与手机App
手游一般使用引擎开发,现在著名的有cocos2d和unity3d。两者都是使用引擎自带的语言进行开发,主流的分别是c++和c#,虽然在开发过程中也有按钮等控件的概念,但当运行时由引擎渲染后就变成了一副简单的图片;
手机App一般使用Android SDK开发,使用Java编写。通过Android提供的服务,我们可以获取App当前窗口的视图信息,进而查找和操作按钮等控件,以完成自动化测试,如Uiautomator。
app测试框架发展历史:

总结(Android)
各个测试框架的继承关系如下, 继承关系决定了有些框架的先天优势或先天不足。在实际应用中可以集成多个框架。
基于Instrumentation的测试框架,比如Espresso,Robotium,Selendroid等,都不能支持跨APP使用。 如自动化测试中有跨APP操作,可以二次开发或者结合UiAutomator实现。 支持BDD的自动化框架比较少,可以在calabash 和 RoboSpock及Jbehave之间选择。 若想同时支持Android和IOS,可选框架有Appium和Calabash,或AthRun。 若为单元测试选择框架,可选Instrumentation或Robolectric。Robolectric实现了shadow object 类,耗时短。
总结(IOS)
IOS自动化测试框架继承关系如下。 XCTest与 Xcode 的 IDE 直接集成,使用简单, 但其不支持stub和mock, 所以单使用XCTest框架的较少。 Kiwi是一个iOS平台十分好用的行为驱动开发BDD的测试框架,有着非常漂亮的语法,可以写出结构性强,非常容易读懂的测试。 UI Automation是Apple官方提供的UI自动化测试的解决方法,但接口不够丰富。
                    
                
                
            
        
浙公网安备 33010602011771号