web测试和app测试的区别web测试面试常见问题App作为时下最广泛的应用,登陆各大移动平台,如雨后春笋般输送到用户手中。因此,APP测试的需求也越来越大。今天分享一些APP测试相关的面试题。 01APP测试和Web测试领域
App作为当今最广泛的应用,遍布各大移动平台,并如雨后春笋般输送到用户手中。因此,APP测试的需求也越来越大。今天分享一些APP测试相关的面试题。
01
APP测试和Web测试有什么区别?
从纯粹的功能测试角度来看,APP测试和Web测试在流程和功能测试上没有区别。
相同点:
1、测试用例设计方法;
2、测试方法;
3、测试页面加载和翻页速度、登录时间、内存是否溢出等;
4、测试应用系统的稳定性;
不同之处:
1、系统结构
Web项b/s架构,基于浏览器; Web测试中只要服务器端更新,客户端也会同步更新。
App项C/S结构,必须有客户端;如果应用程序修改了服务器,客户端用户的所有核心版本都需要进行回归测试。
2.性能
Web项需要监控响应时间、CPU、Memory;
App项除了监控响应时间、CPU、Memory外,还需要监控流量、电量等;
3、兼容性
Web项浏览器(Firefox、Google、IE等);操作系统(Windows7、Windows10、Linux等)。
App项设备系统:iOS(ipad、iPhone)、Android(三星、华为、联想等)、Windows(Win7、Win8)、OSX(Mac);移动电话设备可能因手机型号、分辨率和屏幕尺寸而异。
4.APP专项测试
1)干扰测试:中断、来电、短信、关机、重启等。
2)弱网测试(模拟2G、3G、4G、5G、wifi网络状态及丢包情况);网络切换测试(断网后重连、3G切换到4G、5G/wifi等)。
3)安装、更新、卸载、中断、前后切换。
安装:需要考虑安装过程中的中断、网络弱、安装后删除安装文件、全新安装、升级安装、第三方工具安装等;
卸载:考虑使用第三方工具卸载、直接卸载、卸载后是否删除app相关文件;
更新:强制更新、非强制更新、增量包更新、断点续传、弱网状态更新;
中断:来电中断、短信中断、闹钟中断、手机锁定、手机断电、手机死机;
4)界面操作:关于手机测试,需要关注手势、横竖屏切换、多点触控、前后切换。
5)安全测试:安装包是否可以反编译、安装包是否有签名、权限设置,如访问通讯录等。
6)边界测试:可用存储空间少、无SD卡/双SD卡、飞行模式、系统时间不正确、第三方依赖(QQ、登录)等。
7) 权限测试:设置App是否可以获得权限,例如是否可以访问通讯录、相册、相机等。
5、测试工具
自动化工具:APP一般使用Appium; Web一般使用Selenium;
性能测试工具:APP一般使用Monkey、JMeter; Web一般使用LR和JMeter;
02
APP崩溃的原因有哪些?
原因有很多,例如:
1.缓存垃圾过多。由于Android系统的特性,如果长时间不清除垃圾文件,会导致越来越卡顿甚至死机。
2、运行程序过多,导致内存不足。
3.应用版本兼容性问题及解决方案兼容性问题。
4、APP的SDK与手机系统不兼容。
5、系统升级后,新版本与旧版本的API不兼容,返回对象失败,报空指针。
6.软件权限未开放。
03
如何抓取APP日志?
1. 可以使用adb命令:adb logcat |找到'com.sankuai.meituan' d:\test.txt
2、使用ddms抓包,将手机连接电脑,打开ddms工具;
3.在Android Studio开发工具中,打开DDMS;
04
常用的adb命令有哪些?
获取设备列表和设备状态:adb devices
安装应用程序:adb install path\xx.apk,安装应用程序; adb install -r 重新安装adb installadb install -r
卸载应用:adb uninstall 包名,后面的参数是应用程序包名,与apk文件名adb uninstall 不同
将Android设备上的文件或文件夹复制到本地电脑:adb pull 远程路径本地路径adb pull 将Sdcard下的pull.txt文件复制到D盘:adb pull sdcard/pull.txt d:\重命名:adb pull sdcard /pull.txt d:\rename.txt
推送本地文件到Android设备: adb push 本地路径远程路径adb push D盘下的ITester.txt到Sdcard: adb push d:\ITester.txt sdcard/(注意sdcard后面的斜杠不能漏)
结束和启动adb服务:adb Kill-server /adb start-server,结束adb服务/启动adb服务,通常两个命令一起使用。当设备状态异常时使用kill-server,并运行start-server重新启动服务。 adb 终止服务器adb 启动服务器
打印和清除系统日志:adb logcat 打印Android系统日志adb logcat -c
05
能否介绍一下Android SDK中内置工具的功能?
ddms:Dalvik Debug Monitor Service是Android开发环境中的Dalvik[虚拟机]调试监控服务。 Monkey:Android 中的一个命令行工具,可以在模拟器或实际设备上运行。它向系统发送伪随机用户事件流(如按键输入、触摸屏输入、手势输入等),对正在开发的应用程序实施压力测试。 uiautomator:是Eclipse自带的UI自动化测试工具,可以模拟APP上的点击、滑动、文本输入等操作。 Monitor:与uiautomatoradb相同:ADB的全称是Android Debug Bridge,是一个调试工具。
06
冷启动、热启动、热启动、首屏启动
APP启动时会发生多个事件。测试人员需要知道整个链路是否存在问题以及哪个链路出现问题:
冷启动:当进程不存在时,从进程创建到界面显示的过程;热启动:部分资源已经存在,进程也存在,比热启动消耗更多的资源。当用户退出应用程序时,该进程仍然存在。与冷启动相比,热启动只需要较少的进程创建;热启动:大部分资源都在,只是在应用程序之间切换;首屏启动:首屏全部加载;
标准:
冷启动:需要5秒以上;热启动:需要2秒或更长时间;热启动:需要1.5秒以上;
整个启动过程可以使用adb工具进行分析,使用adb logcat获取启动数据,或者录制屏幕,使用ffmpeg分帧进行分析。
亚行日志猫
首先定义一个变量,该变量填写使用的包名。
包=com.xueqiu.android
清除缓存数据:
adb shell pm 清除$package
停止进程:
adb shell am 强制停止$package
通过以上命令已经准备好了冷启动环境。接下来,启动应用程序并获取数据。启动应用程序
adb shell am start -S -W $package/.view.WelcomeActivityAlias -S 表示启动前停止应用程序进程-W 表示等待相应的activity启动。
检索数据:
bash adb logcat |grep -i 显示
07
Android和IOS移动系统有什么区别?
两种运行机制不同:IOS采用沙箱运行机制,Android采用虚拟机运行机制。
两种后台系统不同:IOS中不能后台运行第三方程序; Android中的任何程序都可以在后台运行,直到没有内存时才会关闭。
IOS对UI命令的权限最高,Android对数据处理命令的权限最高。
08
iOS和Android APP测试有什么区别?
1、多分辨率测试:安卓有20多种,IOS较少。
2、手机操作系统:Android较为常见,IOS较少见,且无法降级。只能向一个方向升级;新IOS系统中的资源库与低版本IOS系统中的应用程序不完全兼容。如果应用程序调用新的资源库,将直接导致崩溃。
3、安装卸载测试:Android可以通过手机自带的应用市场或者第三方手机助手下载。下载安装的平台、工具和渠道很多; iOS主要包括app store、iTunes和testflight下载。
4、支付方式:对于一些带有内购功能的App,Android直接调用第三方支付渠道完成支付; IOS需要先在APP商店中绑定支付方式,然后通过APP商店完成支付操作。
5、消息推送机制:Android采用第三方或自建平台进行消息推送; IOS消息推送渠道是苹果官方提供的。
09
如何测试Push消息?
1. 检查Push消息是否按照指定的业务规则发送。
2. 当勾选设置不接收推送消息时,用户将不再接收推送消息。
3. 如果用户设置了免打扰时间段,请检查用户在免打扰时间段内是否收不到Push。在非免打扰时段,用户可以正常接收Push。
4、当Push消息是针对已登录用户时,需要检查接收到的Push消息是否与用户身份匹配。正常情况下,消息只会推送给话机上最后登录的用户。
5、测试Push时,在开机状态和待机状态下进行Push,检查消息的正确性及其Push跳转。
6、多次推送的集合的显示和跳转是否正确。
10
APP测试主要内容有哪些?
功能测试:
业务逻辑正确性测试:根据产品文档-测试用例编写。
兼容性测试:
1.系统版本:Android:官方版、定制版; iOS:正式版。
2、分辨率:720*1280 1080*1920。
3.网络条件:2g 3g 4g 5g Wi-Fi。
异常测试:
1、热启动应用:应用在后台长时间等待;当应用程序在后台等待时,手机会重新启动。
2.网络切换和中断恢复。
3.电话留言中断及恢复。
升级、安装、卸载测试:
升级测试:相邻版本升级(1.0-1.1);跨版本(1.0-.-2.2)安装测试:首次安装;覆盖安装(同版本,不同版本覆盖);卸载后安装。卸载测试:首次卸载;安装后卸载再卸载。
稳健性测试:
手机资源消耗:cpu、内存。流量消耗:图片、数据、视频。功率测试。崩溃恢复。