APP测试面试题快问快答(四)

16.App测试的实时日志如何获取?

考察点:是否有移动app测试的日志获取相关经验

一般可以通过以下方式获取:

1.可以使用adb命令:adb logcat | findstr "com.sankuai.meituan" >d:\test.txt

2.用ddms抓取,手机连上电脑,打开ddms工具;

3.在Android Studio开发工具中获取,打开ddms工具;

4.用monitor工具获取,手机连上电脑,打开monitor工具

17. Adb是什么?有哪些功能及其组成部分

考察点:是否有移动app测试的adb命令使用的相关操作经验

1、ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具。

ADB是一个客户端-服务器端程序,其中客户端是你用来操作的电脑,服务器端是android设备。

2、ADB的主要功能有:

(1)运行设备的shell(命令行)

(2)管理模拟器或设备的端口映射

(3)计算机和设备之间的上传/下载文件

(4)将本地apk软件安装至模拟器或android设备,或卸载

3、ADB作为一个客户端/服务器架构的命令行工具,主要由3个部分组成。

(1)adb client(客户端):可以通过它对Android应用进行安装、卸载及调试。

(2) adb service(服务器):管理客户端到Android设备上abd后台进程的连接,负责管理client和damon进行通信。

(3) adb daemon(守护进程):运行在Android设备上的adb后台进程。

18.介绍一下Android四大组件?

考察点:是否对Android操作系统的组件了解

Android四大基本组件:Activity、BroadcastReceiver广播接收器、ContentProvider内容提供者、Service服务。

Activity:应用程序中,一个Activity就相当于手机屏幕,它是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序可以包含许多活动,比如事件的点击,一般都会触发一个新的Activity。

BroadcastReceiver广播接收器:应用可以使用它对外部事件进行过滤只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面。然而,它们可以启动一个activity或serice 来响应它们收到的信息,或者用NotificationManager来通知用户。通知可以用很多种方式来吸引用户的注意力──闪动背灯、震动、播放声音等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。

19.描述一下Activity的生命周期?

考察点:是否对Android操作系统的Activity了解

生命周期即活动从开始到结束所经历的各种状态,从一个状态到另一个状态的转变,从无到有再到无,Activity本质上有四种状态:

•运行(Active/Running):Activity处于活动状态,此时Activity处于栈顶,是可见状态,可以与用户进行交互。

•暂停(Paused):当Activity失去焦点时,或被一个新的非全面屏的Activity,或被一个透明的Activity放置在栈顶时,Activity就转化为Paused状态。此刻并不会被销毁,只是失去了与用户交互的能力,其所有的状态信息及其成员变量都还在,只有在系统内存紧张的情况下,才有可能被系统回收掉。

•停止(Stopped):当Activity被系统完全覆盖时,被覆盖的Activity就会进入Stopped状态,此时已不在可见,但是资源还是没有被收回。

•系统回收(Killed):当Activity被系统回收掉,Activity就处于Killed状态。

如果一个活动在处于停止或者暂停的状态下,系统内存缺乏时会将其结束(finish)或者杀死(kill)。这种非正常情况下,系统在杀死或者结束之前会调用onSaveInstance()方法来保存信息,同时,当Activity被移动到前台时,重新启动该Activity并调用onRestoreInstance()方法加载保留的信息,以保持原有的状态。

在上面的四中常有的状态之间,还有着其他的生命周期来作为不同状态之间的过渡,用于在不同的状态之间进行转换。

20.请介绍一下Android SDK中自带的几个工具

考察点:是否熟悉Android SDK工具及使用实际相关经验

ddms:Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik[虚拟机]调试监控服务。

monkey:Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。

uiautomator:是Eclipse自带的用于UI自动化测试工具,可仿真APP上的单击、滑动、输入文本等操作。

monitor:同uiautomator,包含ddms工具的相关功能

adb:ADB的全称为Android Debug Bridge,是一种debug工具。

monkeyrunner: monkeyrunner是一个Android自动化测试工具。它提供一个API,运用该API编写的程序可以不用通过Android代码来直接控制Android设备和模拟器,我们可以写一个Python程序对android应用程序或测试包进行安装,运行,发送模拟击键,对用户界面进行截图并将截图存储在workstation上等操作。

猜你喜欢

转载自blog.csdn.net/ZHrj202088/article/details/131222423