全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

app测试面试题汇总

发布时间:2022-06-02 18:26:00
发布人:qyf

  1:请介绍一下,APP测试流程?

  APP测试流程与web测试流程类似,分为如下七个阶段:

  1.根据需求说明书编写测试计划;

  2.制定测试方案,主要是测试任务、测试人员和测试时间的分配;

  3.测试准备,包括搭建测试环境,准备测试数据,确定测试方法;

  4.测试用例的设计与编写,进行用例评审及补充完善;

  5.执行测试时首先进行冒烟测试,然后对主功能流程进行测试,包括客户端的单个功能模块,及功能业务逻辑功能交互,回归测试;

  6.提交测试结果,包括测试用例,测试计划;

  7.日常维护性测试;

图片67

  2:app闪退的原因?

图片68

  偶然闪退的排查?

  一般成熟的团队都会有 crash 的监控平台,可以从 crash 平台上去查看 crash 发生位点。

  手工尝试复现 crash,一般偶然的闪退,都不会特别容易复现,可能需要适当施加一些比较苛刻的条件(弱网、断网、快速点击、快速划动等等)。

  查看 crash 日志,比如 Android APP 可以用 adb 命令去查看:

  mac 下面

  adb logcat *:E | grep CRASH

  windows 下面

  adb logcat *:E | findstr CRASH

  3:APP提示无法连接网络,你会如何排查?

  第一步:检查网络环境

  检查 4G 和 Wifi 是否可用,可以先看手机网络连接图标状态,有无信号,是否弱网,并且可以切换其他 APP,测试网络是否可用。

  检查是否有网络限制,比如仅公司内网可用的 APP,你在别的网络环境是无法连接的。

  检查是否连接了代理或代理连接是否出现异常,手机连接电脑代理之后,如果不安装证书,发起 https 的请求将出现异常。

  第二步:检查 APP 的网络请求

  抓包,检查 APP 请求的域名是否正确

  抓包,检查后端接口是否响应超时

  抓包,检查后端接口是否返回异常,而 APP 没有做相关的异常提示。

  4:设计微信发红包测试用例

图片69

  5:什么是activity

  官方的说法是Activity一个应用程序的组件,它提供一个屏幕来与用户交互,以便做一些诸如打电话、发邮件和看地图之类的事情。

  Activity是一个Android的应用组件,它提供屏幕进行交互。每个Activity都会获得一个用于绘制其用户界面的窗口,窗口可以充满哦屏幕也可以小于屏幕并浮动在其他窗口之上。

  一个应用通常是由多个彼此松散联系的Activity组成,一般会指定应用中的某个Activity为主活动,也就是说首次启动应用时给用户呈现的Activity。将Activity设为主活动的方法

  当然Activity之间可以进行互相跳转,以便执行不同的操作。每当新Activity启动时,旧的Activity便会停止,但是系统会在堆栈也就是返回栈中保留该Activity。

  当新Activity启动时,系统也会将其推送到返回栈上,并取得用户的操作焦点。当用户完成当前Activity并按返回按钮是,系统就会从堆栈将其弹出销毁,然后回复前一Activity

  当一个Activity因某个新Activity启动而停止时,系统会通过该Activity的生命周期回调方法通知其这一状态的变化。

  Activity因状态变化每个变化可能有若干种,每一种回调都会提供执行与该状态相应的特定操作的机会

  6:Android四大组件

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

  Activity:

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

  BroadcastReceiver广播接收器:

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

  ContentProvider内容提供者:

  内容提供者主要用于在不同应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访问数据的安全性。只有需要在多个应用程序间共享数据时才需要内容提供者。例如:通讯录数据被多个应用程序使用,且必须存储在一个内容提供者中。它的好处:统一数据访问方式。

  Service服务:

  是Android中实现程序后台运行的解决方案,它非常适合去执行那些不需要和用户交互而且还要长期运行的任务(一边打电话,后台挂着QQ)。服务的运行不依赖于任何用户界面,即使程序被切换到后台,或者用户打开了另一个应用程序,服务扔然能够保持正常运行,不过服务并不是运行在一个独立的进程当中,而是依赖于创建服务时所在的应用程序进程。当某个应用程序进程被杀掉后,所有依赖于该进程的服务也会停止运行(正在听音乐,然后把音乐程序退出)

  7:adb常用命令

  ·  查看当前连接的设备:adb devices

  ·  查看手机安装的apk包名:adb shell pm list packages -3

  ·  查看当前运行的app的包名和类名(baseIntent):adb shell dumpsys activity

  ·  电脑发送文件到手机:adb push <本地路径><手机路径>

  ·  手机发送文件到电脑:adb pull <手机路径><本地路径>

  ·  安装软件:adb install 包

  ·  查看前台应用activity应用名称:adb shell dumpsys activity | find “mResumedActivity”

  8:Android手机和IOS手机,系统有什么区别?

  1.两者运行机制不同:IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。

  IOS 沙盒运行机制:

  每个程序都有自己的虚拟地址空间。所以,程序之间不能进行访问。

  默认只会将应用的最后运行数据,记录在RAM里面。

  Android 虚拟机运行机制:

  所有的应用程序都是运行在虚拟机中,用户界面其实是由虚拟机传递的,并且通过虚拟机,Android的任何程序都就可以轻松访问其他程序文件。

  所有的Android的应用程序都是运行在RAM里面的,所以会发现有时候Android用着用着就开始有点卡顿。

  2.两者后台制度不同:IOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭。

  3.IOS中用于UI指令权限最高,安卓中数据处理指令权限最高。

  9:IOS和Android的APP测试有什么区别?

  1.物理按键:Android长按home键呼出应用列表和切换应用,然后右滑则终止应用;iOS所有的返回上一层,只能靠页面功能实现。

  2.多分辨率测试:Android端20多种;IOS较少。

  3.手机操作系统:Android较多,IOS较少且不能降级,只能单向升级;新的IOS系统中的资源库不能完全兼容低版本中的IOS系统中的应用,低版本IOS系统中的应用调用了新的资源库,会直接导致闪退。

  4.操作习惯:Android,Back键是否被重写,测试点击Back键后的反馈是否正确;应用数据从内存移动到SD卡后能否正常运行等。

  5.push测试:Android点击home键,程序后台运行时,此时接收到push,点击后唤醒应用,此时是否可以正确跳转;IOS点击home键关闭程序和屏幕锁屏的情况(红点的显示)。

  6.安装卸载测试:Android可以通过手机自带的应用市场或者是第三方的手机助手进行下载,下载和安装的平台和工具和渠道比较多;IOS主要有app store,iTunes和testflight下载。

  7.升级测试:可以被升级的必要条件:新旧版本具有相同的签名;新旧版本具有相同的包名;有一个标示符区分新旧版本(如版本号)。

  8.支付方式:对于一些有内购功能的APP,Android直接调用第三方支付渠道完成支付;IOS需要先在APP store里绑定支付方式,然后通过APP store去完成支付操作。

  9.消息推送机制:Android使用第三方或者自建平台进行消息推送;IOS的消息推送渠道由苹果官方提供

  10:APP测试和Web测试的区别?

  单纯从功能测试的层面上来讲的话,APP 测试、web 测试在流程和功能测试上是没有区别的。

  相同点:

  1.同样的测试用例设计方法;

  2.同样的测试方法:都会依据原型图或效果图检查UI;

  3.测试页面载入和翻页的速度、登录时长、内存是否溢出等;

  4.测试应用系统的稳定性;

  不同点:

  系统结构方面

  app项目,c/s结构的,必须要有客户端;app 修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍。

  web项目,b/s架构,基于浏览器的;web测试只要更新了服务器端,客户端就会同步更新。

  性能方面

  app项目 除了监测 响应时间、CPU、Memory外,还需监测 流量、电量等;

  web项目 需监测 响应时间、CPU、Memory;

  兼容性方面

  app项目:设备系统:iOS(ipad、iphone)、Android(三星、华为、联想等) 、Windows(Win7、Win8)、OSX(Mac);手机设备可根据 手机型号、分辨率、屏幕尺寸不同。

  web项目:浏览器(火狐、谷歌、IE等);操作系统(Windows7、Windows10、Linux等)。

  4.相对于 Wed 项目,APP有专项测试

  1)干扰测试:中断,来电,短信,关机,重启等。

  2)弱网络测试(模拟2g、3g、4g、5g,wifi网络状态以及丢包情况);网络切换测试(网络断开后重连、3g切换到4g、5g/wifi 等)。

  3)安装、更新、卸载,中断、前后台切换。

  安装:需考虑安装时的中断、弱网、安装后删除安装文件,全新安装、升级安装、第三方工具安装等情况;

  卸载:需考虑第三方工具卸载、直接卸载卸,载后是否删除app相关的文件;

  更新:分强制更新、非强制更新、增量包更新、断点续传、弱网状态下更新;

  中断:来电中断、短信中断、闹钟中断、手机锁定、手机断电、手机死机;

  4)界面操作:关于手机端测试,需注意手势,横竖屏切换,多点触控,前后台切换。

  5)安全测试:安装包是否可反编译代码、安装包是否签名、权限设置,例如访问通讯录等。

  6)边界测试:可用存储空间少、没有SD卡/双SD卡、飞行模式、系统时间有误、第三方依赖(QQ、微信登录)等。

  7)权限测试:设置某个App是否可以获取该权限,例如是否可访问通讯录、相册、照相机等。

  5.测试工具方面

  性能测试工具:APP 一般使用Monkey、 JMeter; Web 一般使用 LR、JMeter;

  自动化工具:APP 一般使用 Appium; Web 一般使用 Selenium;

  更多关于软件测试培训的问题,欢迎咨询千锋教育在线名师,如果想要了解我们的师资、课程、项目实操的话可以点击咨询课程顾问,获取试听资格来试听我们的课程,在线零距离接触千锋教育大咖名师,让你轻松从入门到精通。

相关文章

抖音小店资料审核未通过什么原因呢

抖音小店资料审核未通过什么原因呢

2023-10-08
企业抖音小店保证金是多少

企业抖音小店保证金是多少

2023-10-08
抖音怎么弄抖音小店店铺

抖音怎么弄抖音小店店铺

2023-10-08
抖音小店怎么设置新人券领不到

抖音小店怎么设置新人券领不到

2023-10-08

最新文章

上海物联网培训一般费用多少

上海物联网培训一般费用多少

2023-09-12
北京物联网培训费用大概多少

北京物联网培训费用大概多少

2023-09-12
北京物联网培训需要费用高不高

北京物联网培训需要费用高不高

2023-09-12
上海效果好的物联网培训费用高吗

上海效果好的物联网培训费用高吗

2023-09-12
在线咨询 免费试学 教程领取