android测试能(做Android手机软件测试需要掌握哪些工具)

fhuyi0XCV 数码 3 0

一、Android手机测试工程师发展前景怎么样啊

前景的话,其实与个人能力有关系,若掌握了真正的测试技巧(日常工作的测试,以及日常矛盾的处理,比如测试工程师和开发工程师之间的某些矛盾和争论),那么前景还是挺好的,观点如下:

1、一般来说,做测试不久后(可能是半年,也可能是一年),很多测试人员就会去思考自己的职业发展方向。想成为一个有竞争力的测试工程师,需要比开发还懂得代码的技巧,更要比普通的测试懂得如何快捷有效的测试。测试做得好的话,可以胜任为测试管理,测试管理一般来说过程为:项目经理->测试经理->测试总监->研发总监。越往上走对具体的技术要求越低,但是对于技术(战略)规划和管理能力要求越来越高。

2、对于初级测试管理岗位,其实更多的是一个服务角色,而不是管理角色。如果对技术不是非常敏感,更加喜欢跟人打交道,并且喜欢去协调和组织工作;能够受的了委屈,那么可能更加适合去走管理岗位(但是千万不要放弃自己的技术,否则第一道坎都迈不过去)。

3、选择这个方向后,就要开始在沟通、执行力、反馈、解决问题等能力方面去培养和表现自己,让上级看到自己这方面的能力,并且跟上级提出想去管理项目的意愿,这样经过一段时间后就会有带项目的机会,剩余的就靠自己去发挥了。

二、做Android手机软件测试需要掌握哪些工具

请注意测试本身不是靠工具的而是靠设计,这是我的理念,所以我一向觉得,很多人认为做测试做的好就是靠掌握一门好的工具,这个观点是不正确的,所以我可以负责任的告诉你,做Android手机需要掌握的不是工具、而是理念、思维、以及框架,总的来说是本质,而工具只是辅助,那么现在我来介绍一些我了解的工具(仅仅是了解,很多没用过)

开源 Android软件测试工具包括:Android Test Kit, AndroidJUnit4, Appium, calabash-android, Monkey, MonkeyTalk, NativeDriver, Robolectric, RoboSpock, Robotium, UIAutomator, Selendroid。

Android Test Kit

Android Test Kit是一组 Google开源测试工具,用于 Android平台,包含 Espresso API可用于编写简洁可靠的 Android UI测试。

AndroidJUnit4

AndroidJUnit4是一个让 JUnit 4可以直接运行在 Android设备上的开源命令行工具。

Appium

Appium是一个开源、跨平台的自动化测试工具,用于测试原生和轻量移动应用,支持 iOS, Android和 FirefoxOS平台。Appium驱动苹果的 UIAutomation库和 Android的 UiAutomator框架,使用 Selenium的 WebDriver JSON协议。Appinm的 iOS支持是基于 Dan Cuellar's的 iOS Auto. Appium同时绑定了 Selendroid用于老的 Android平台测试。

Calabash-android

calabash-android是一个基于 Cucumber的 Android的功能自动化测试框架。Calabash允许你写和执行,是开源的自动化移动应用测试工具,支持 Android和 iOS原生应用。Calabash的库允许原生和混合应用的交互测试,交互包括大量的终端用户活动。Calabash可以媲美 Selenium WebDriver。但是,需要注意的是 web应用和桌面环境的交互跟触摸屏应用的交互是不同的。Calabash专为触摸屏设备的原生应用提供 APIs。

Monkey

Monkey是 Google开发的 UI/应用测试工具,也是命令行工具,主要针对压力测试。你可以在任意的模拟器示例或者设备上运行。Monkey发送一个用户事件的 pseudo-random流给系统,作为你开发应用的压力测试。

MonkeyTalk

MonkeyTalk是世界上最强大的移动应用测试工具。MonkeyTalk自动为 iOS和 Android应用进行真实的,功能性交互测试。MonkeyTalk提供简单的"smoke tests",复杂数据驱动的测试套件。MonkeyTalk支持原生,移动和混合应用,真实设备或者模拟器。MonkeyTalk使得场景捕获非常容易,可以记录高级别,可读的测试脚本。同样的命令可以用在 iOS和 Android应用上。你可以记录一个平台的一个测试,并且可以在另外一个平台回放。MonkeyTalk支持移动触摸和基于手势交互为主的移动体验。点击,拖拽,移动,甚至是手指绘制也可以被记录和回放。

NativeDriver

NativeDriver是 WebDriver API的实现,是原生应用 UI驱动,而不是 web应用。

Robolectric

Robolectric是一款Android单元测试框架,使用 Android SDK jar,所以你可以使用测试驱动开发 Android应用。测试只需几秒就可以在工作站的 JVM运行。Robolectric处理视图缩放,资源加载和大量 Android设备原生的 C代码实现。Robolectric允许你做大部分真实设备上可以做的事情,可以在工作站中运行,也可以在常规的 JVM持续集成环境运行,不需要通过模拟器。

RoboSpock

RoboSpock是一个开源的 Android测试框架。提供简单的编写 BDD行为驱动开发规范的方法,使用Groovy语音,支持 Google Guice库。RoboSpock合并了 Robolectric和 Spock的功能。

Robotium

Robotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长按、滑动等)、查找和断言机制的API,能够对各种控件进行操作。Robotium结合Android官方提供的测试框架达到对应用程序进行自动化的测试。另外,Robotium 4.0版本已经支持对WebView的操作。Robotium对Activity,Dialog,Toast,Menu都是支持的。

UIAutomator

uiautomator测试框架提高用户界面(UI)的测试效率,通过自动创建功能 UI测试示例,可以在一个或者多个设备上运行你的应用。

Selendroid

Selendroid是一个 Android原生应用的 UI自动化测试框架。测试使用 Selenium 2客户端 API编写。Selendroid可以在模拟器和实际设备上使用,也可以集成网格节点作为缩放和并行测试。

三、android app自动化测试工具有哪些

1、Monkey是AndroidSDK自带的测试工具,在测试过程中会向系统发送伪随机的用户事件流,如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试,也有日志输出。实际上该工具只能做程序做一些压力测试,由于测试事件和数据都是随机的,不能自定义,所以有很大的局限性。2、MonkeyRunner也是AndroidSDK提供的测试工具。严格意义上来说MonkeyRunner其实是一个Api工具包,比Monkey强大,可以编写测试脚本来自定义数据、事件。缺点是脚本用Python来写,对测试人员来说要求较高,有比较大的学习成本。3、Instrumentation是早期Google提供的Android自动化测试工具类,虽然在那时候JUnit也可以对Android进行测试,但是Instrumentation允许你对应用程序做更为复杂的测试,甚至是框架层面的。通过Instrumentation你可以模拟按键按下、抬起、屏幕点击、滚动等事件。Instrumentation是通过将主程序和测试程序运行在同一个进程来实现这些功能,你可以把Instrumentation看成一个类似Activity或者Service并且不带界面的组件,在程序运行期间监控你的主程序。缺点是对测试人员来说编写代码能力要求较高,需要对Android相关知识有一定了解,还需要配置AndroidManifest.xml文件,不能跨多个App。4、UiAutomator也是Android提供的自动化测试框架,基本上支持所有的Android事件操作,对比Instrumentation它不需要测试人员了解代码实现细节(可以用UiAutomatorviewer抓去App页面上的控件属性而不看源码)。基于Java,测试代码结构简单、编写容易、学习成本,一次编译,所有设备或模拟器都能运行测试,能跨App(比如:很多App有选择相册、打开相机拍照,这就是跨App测试)。缺点是只支持SDK16(Android4.1)及以上,不支持HybirdApp、WebApp。5、Espresso是Google的开源自动化测试框架。相对于Robotium和UIAutomator,它的特点是规模更小、更简洁,API更加精确,编写测试代码简单,容易快速上手。因为是基于Instrumentation的,所以不能跨App。配合AndroidStudio来编写测试的简单例子6、Selendroid:也是基于Instrumentation的测试框架,可以测试NativeApp、HybirdApp、WebApp,但是网上资料较少,社区活跃度也不大。7、Robotium也是基于Instrumentation的测试框架,目前国内外用的比较多,资料比较多,社区也比较活跃。缺点是对测试人员来说要有一定的Java基础,了解Android基本组件,不能跨App。8、Athrun是淘宝出的一个移动测试框架/平台,同时支持iOS和Android。Android部分也是基于Instrumentation,在Android原有的ActivityInstrumentationTestCase2类基础上进行了扩展,提供一整套面向对象的API。这里有详细介绍。9、Appium是最近比较热门的框架,社区也很活跃。这个框架应该是是功能最强大的,它的优点:它的哲理是:它的设计理念:相关限制:总结:在iOS部分是封装了UIAutomation;Android4.2以上是用UiAutomator,Android2.3~4.1用的是Instrumentation,也就说Appium同时封装了UiAutomator和Instrumentation。所以Appium拥有了以上几大框架的所有优点:跨App,支持NativeApp、HybirdApp、WebApp,还支持N种语言来编写你的测试脚本。如果你在Windows使用Appium,你没法使用预编译专用于OSX的.app文件,因为Appium依赖OSX专用的库来支持iOS测试,所以在Windows平台你不能测试iOSApps。这意味着你只能通过在Mac上来运行iOS测试。Client/Server架构,运行的时候Server端会监听Client端发过来的命令,翻译这些命令发送给移动设备或模拟器,然后移动设备或模拟器做出响应的反应。正是因为这种架构,所以Client可以使用Appiumclientlibraries多种语言的测试脚本,而且Server端完全可以部署在服务器上,甚至云服务器。Session,每个Client连接到Server以后都会有一个SessionID,而且Client发送命令到Server端都需要这个SessionID,因为这个seesionid代表了你所打开的浏览器或者是移动设备的模拟器。所以你甚至可以打开N个Session,同时测试不同的设备或模拟器。DesiredCapabilities,其实就是一个键值对,设置一些测试的相关信息来告诉Server端,我们需要测试iOS、还是Android,或者换是WebApp等信息。AppiumServer是Node.js写的,所以可以直接用NPM来进行安装。AppiumClients,MacOS和Win下提供GUI,不需要装Node.js,方便测试人员操作。用Appium自动化测试不需要重新编译App;支持很多语言来编写测试脚本,Java、Javascript、PHP、Python、C#、Ruby等主流语言;不需要为了自动化测试来重造轮子,因为扩展了WebDriver。(WebDriver是测试WebApps的一种简单、快速的自动化测试框架,所以有Web自动化测试经验的测试人员可以直接上手);移动端自动化测试应该是开源的;开源;支持NativeApp、HybirdApp、WebApp;支持Android、iOS、FirefoxOS;Server也是跨平台的,你可以使用MacOSX、Windows或者Linux;

抱歉,评论功能暂时关闭!