• 1
  • 4
分享

1.Android APP 内存不足时,如何获得内存?

系统优先结束被挂起(暂停)的进程,释放内存。

 

2.APP 测试常见问题有哪些?原因有哪些?

常见的有 crash、ANR(应用无响应、卡死等),一般由设备碎片化、网络波动大、内存泄漏、代码编写错误。

 

3.APP 自动化测试工具有哪些,并简要介绍

1)APP UI测试工具:

①uiautomator2

openatx开源的ui自动化工具,支持Android和iOS。主要面向的编程语言是Python,API设计简洁易用

②Appium

基于Node.js的一款非常成熟的APP UI自动化工具,支持多种语言开发,在测试圈非常流行,可以说是APP UI自动化领域的标杆产品

③Airtest

网易开源的一个ui自动化测试工具,通过图像识别和UI控件检索技术,使得游戏测试简单快捷。支持Android、iOS、Windows、Unity、Cocos2dx、白鹭引擎、微信小程序,上手简单

④ATXServer2

支持Android和iOS的移动设备管理平台。可以通过web界面,察看测试手机的状态,可以做到远程操控手机,对于测试兼容性具有较大帮助。部署方便,支持docker-compose部署

⑤Appetizer

可以进行APP UI自动化测试,也可以支持APP稳定性测试,提供GUI界面操作,易用性极强,满足日常UI自动化需要。但是只有部分组件开源。

⑥robotium:是一款国外的 Android 自动化测试框架,主要针对 Android 平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长按、滑动等)、查找和断言机制的 API,能够对各种控件进行操作。

 2)APP稳定性测试工具:

①UICrawler

基于Appium的App UI遍历 & Monkey 工具,支持iOS和Android

②Maxim

号称是智能monkey,用过的人都觉得真香。支持原生monkey、遍历控件、黑白名单等功能,而且也封装了更加易解析的日志文件。有了它之后,已经可以不需要再用原生monkey了

③AppCrawler

一个基于自动遍历的app爬虫工具. 支持android和iOS, 支持真机和模拟器. 最大的特点是灵活性. 可通过配置来设定遍历的规则。

 3)APP性能测试工具

① SoloPi

SoloPi是一个无线化、非侵入式的Android自动化工具,公测版拥有录制回放、性能测试、一机多控三项主要功能,能为测试开发人员节省宝贵时间(官方介绍)。一般用于APP的性能测试比较多。

② GT

腾讯开源的APP的随身调试平台,可对APP进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash日志查看、网络数据包的抓取、APP内部参数的调试、真机代码耗时统计等。 

 

4.Android 与 web 测试异同点?

1)相同点: 

a.测试用例设计按照:等价类、边界值等方法,测试原理也相同;

b.大多数都采用黑盒测试方法来验证业务功能;

c.需要检查界面布局、风格和按钮是否美观、统一等(UI 测试); 

d.测试页面载入和翻页的速度、登录时长是否溢出等问题(性能测试);

e.测试应用系统的稳定性。

2)不同点:

a.手机需要进行中断测试,验证方法包含:

-->来电中断:呼叫挂断、被呼叫挂断、通话挂断、通话被挂断 
-->短信中断:接收短信、查看短信 
-->其他中断:蓝牙、闹钟、插拔数据线、手机锁定、手机断电、手机问题(系统死机、重启) 

b. 安装卸载测试:

-->全新安装新版本 
-->新版本覆盖旧版本安装 
-->卸载旧版本,安装新版本 
-->卸载新版本,安装新版本 

c. web 自动化测试使用的工具较常用的是 selenium,而 android 手机自动化测试比较常用的自动化工具是 monkey、Appium等。

d. 兼容性测试:在WEB端是兼容浏览器,在App端兼容的是手机设备;

e. 性能测试:在WEB测试只需要测试响应时间这个要素,在App测试中还需要考虑流量测试和耗电量测试

f. 移动app需要专项测试:流量使用过多、耗电量过大、在某些设备终端上出现崩溃或者闪退的现象等。

 

5.app 测试有哪几种环境?

a. 本地环境:app 安装的手机环境和电脑搭建的自动化测试环境(比如安卓 SDK 等);

b. 服务器环境:war 包部署的服务器,服务器可以通过浏览器访问。

 

6. Android SDK 的安装步骤是什么?

a. 下载 jdk 和安卓 sdk;

b. 安装 jdk,配置环境变量(java_home、classpath、 path)。

 

7.介绍移动应用及其服务端的测试点?

a. 移动应用主要有:权限、安装运行卸载、UI、功能、性能、中断、兼容性、安全性、 回归、升级更新、用户体验;

b. 服务端:接口测试、性能测试、安全测试、稳定性测试。

 

8.如何判断一个 BUG 是客户端还是后台问题?

通常通过以下这些方法来来判断:

a. 界面元素显示,按钮,布局 ---前端

b. 如果没有发送请求,或者请求参数错误 ----前端

c. 请求返回的数据有误,展示也错误 ----后端

d. 请求返回的数据正确,展示错误----前端

e. 逻辑错误----后端

f. 兼容问题 ----前端

 

9.安卓系统如何取出日志信息

a. 把安卓系统日志信息实时导入到本地:adb logcat -v time > d:\mylog.log;

b. 运行使用某个 app,实时获取该 app 的日志信息(cmd 里面的返回信息) :adb shell monkey -p com.android.calendar -v 1000 > d:\mylog2.log。

 

10.常见的 adb 命令

a.查看当前连接的设备:adb devices;

b.安装软件:adb install 路径\xx.apk;

c.卸载软件:adb uninstall <包名>;

d.从电脑上发送文件到设备:adb push <本地路径> <远程路径> adb push C:\test1.txt /sdcard/;

e.从设备上下载文件到电脑:adb pull <远程路径> <本地路径> adb pull /sdcard/test1.txt D:

f.实时获取日志:adb logcat -v time > D:\mylog.log;

g.登录终端设备 shell:adb shell;

h.查找包名/活动名:adb logcat | findstr START (脚本中, cmp= 后面的值就是 包名/activity 名称);

i. 启动 APP 启动;

j. adb shell am start -n packageName/activity;

k.关闭 app 语法:adb shell am force-stop 包名;

m.监控 APP 启动时间 adb shell am start -W packageName/activity;

n.Monkey 命令:adb shell monkey -v -p mypackage 50。

 

11.一款APP 如何兼容众多主流机型进行测试

 a. 公司购买主流机型;

b. 借用同事的手机进行测试

c. 申请云真机测试

         

12.App 崩溃(闪退)原因

a.缓存垃圾过多:由于安卓系统的特性如果长时间不清理垃圾文件,会导致越来越卡也会出现闪退情况,运行的程序过多导致内存不足。

b.应用版本兼容问题:如果应用版本太低,会导致不兼容,造成闪退。此外,有些新版本 在调试中,也会造成应用闪退。

解决方法:

a.如果是版本太旧,更新为新版本即可;

b.如果是新版本闪退, 可能是应用在改版调试,可卸载后安装旧版。

c.检查 APP 中访问网络的地方,组件中的 ImageView 是否可以正常的下载并显示到 app 页面上。

d.检查 APP 的 sdk 和手机的系统是否兼容。

e.在一些特定情况下的闪退,比如播放视频,在 Android5.0 升级到 Android6.0 的时候, 有些系统 API 老版本有,新版本没有,到时回去对象的时候失败,报空,系统就会出现闪退。


13.Appium 都有哪些启动方式

a. 客户端启动;

b. 命令行启动。

 

15.Android 手机和 IOS 系统区别

通过两点回答,即:系统架构 和渲染机制

1) 系统和架构:

a. Android系统的底层建立在Linux系统之上;而ios基于UNIX系统

b.编程语言:Android的编程语言是Java和KotLin;而ios的则为ObjectC和Swift。

c.  运行机制:ios采用的是沙盒运行机制;安卓采用的是虚拟机运行机制

2)渲染机制

a.  iOS最先响应屏幕

--> IOS的UI渲染采用实时优先级,Android的UI渲染遵循传统电脑模式的主线程普通优先级。

-->IOS的响应顺序依次为Touch–Media–Service–Core架构

-->Android系统的优先级响应层级是Application–Framework–Library–Kernal架构

b.iOS系统优先处理Touch层级

-->优先级的不同导致了iOS产品以及Android手机在操控过程中的表现差异,当你滑动屏幕进行操控的时候,iOS系统会优先处理Touch层级,而Android系统则是第三个才响应Library层级,这是造成它们流畅度不同的因素之一。

c.  iOS图形特效基于GPU加速渲染

-->iOS系统对图形的各种特效处理基本上正好都是基于GPU硬件进行加速的,它可以不用完全借助CPU或者程序本身,而是通过GPU进行渲染以达到更流畅的操控表现。

-->但是Android系统产品则并非如此,因为Android需要适应不同的手机硬件,需要满足各种差异配置,所以很多图形特效大多都要靠程序本身进行加速和渲染,并严重依赖CPU运算的操作自然会加大处理器的负荷,从而出现卡顿的问题。

 


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   最近在做接口测试,因为公司有使用jmeter做接口测试的相关培训资料,所以还是先选择使用jmeter来批量管理接口,进行自动化测试。话不多说,进入正题:  1.使用csv文件保存接口测试用例,方便后期对接口进行维护(先新建txt文件,然后文件扩展名改为.csv,不要新建xls再改为csv,不然会出现读取不到文件的情况)。  注意:这里并没有在接口层面进行业务逻辑验证,只是单纯地验证每个接口的各种可能情况(根据参数值不同设计用例),确保单个接口的有效性。  2.写好测试用例后,设计jmeter脚本  ①新建一个线程组,并在线程组下添加HTTP请求默认值和监听器。  HTTP请求默认值中填写服...
            11 12 2154
            分享
          • 近期,有很多粉丝在催更关于Jmeter的面试题,索性抽空整理了一波,以下是一些高频JMeter面试题,拿走不谢~一、JMeter的工作原理JMeter就像一群将请求发送到目标服务器的用户一样,它收集来自目标服务器的响应以及其他统计数据,这些统计数据通过图形或表格显示应用程序或服务器的性能。二、用JMeter怎么做接口测试的1、根据开发提供接口文档,编写接口测试用例2、利用JMeter做接口测试,添加线程组和HTTP请求,在HTTP请求中,添加对应的ip,port,url,请求参数等3、添加响应断言4、添加查看结果树5、执行用例6、查看结果,验证接口返回与预期是否一致三、JMeter是怎么实现接...
            0 0 1957
            分享
          •   网上一搜性能测试,就会出现很多诸如性能测试、负载测试、压力测试、强度测试等一堆专有名词的解释。  但实际上我们不需要区分这么多。  那什么是性能测试?  性能测试针对系统的性能指标,建立性能测试模型,制定性能测试方案,制定监控策略,在场景条件之下执行性能场景,分析判断性能瓶颈并调优,最终得出性能结果来评估系统的性能指标是否满足既定值。  这个定义,其实也就是一个完整的性能测试流程了。  为什么要弄清楚?因为这些概念要抹平沟通的误解,让不同层级,不同角色的人,可以在同样的知识背景下沟通,也可以让做事情的人有清晰的逻辑思路。  一、性能测试需要有指标  指标这个东东通常在很多公司并没有明确的定...
            0 0 1229
            分享
          • 一般测试人员考量因素有:测试策略制定 测试用例设计能力探索性测试自动化测试执行能力沟通表达能力学习能力下面我一一解释下各个因素。1、测试策略制定测试策略是解决如何做好测试工作的。如何测试好一个特性,如何为某一类型测试做好工具选型都算测试策略制定范畴。在测试好某一个特性里面,在那么多测试类型里,识别出客户经常使用的场景,然后 挑选出适合需求以及产品的测试类型的人就说明测试策略做得好。不漏掉测试类型,不刻意选择不必要的测试类型。在工具选型上,不会为了选择工具而选择工具。会切实从项目交付角度出发,挑选项目合适的工具。能做好测试策略人就是好测试的表现之一。2、设计测试用例比如登录模块的,有的...
            0 0 991
            分享
          • 1、JMeter简介JMeter是Apache组织开发的基于Java的压力测试工具。具有开源免费、框架灵活、多平台支持等优势。除了压力测试外,JMeter在接口测试方面也有广泛的应用。2、JMeter安装访问JMeter官网:https://jmeter.apache.org/download_jmeter.cgi,点击下载后解压缩,依次打开\apache-jmeter-4.0\JMeter\bin,运行jmeterw.cmd即可。(建议在桌面创建jmeterw.cmd的快捷方式,方便快速打开)3、使用JMeter完成单个接口测试3.1 添加线程组在“测试计划”上点击鼠标右键-->添加-...
            12 12 3613
            分享
      • 51testing软件测试圈微信