5.APP测试面试

七言 2025-8-1 7 8/1

[TOC]

APP测试

1.APP测试需要提前准备哪些测试资源?

  • 具体要准备的测试资源,根据实际项目来,可以从以下几个方面出发:
    • 1.IOS设备、Android设备(选取市面上主流手机产品);
    • 2.支付宝/银联支付的项目,需要提前申请支付宝/银联账户等等;
    • 3.有秒杀专题的题目,需要规划秒杀时间表;
    • 4.有优惠券使用的项目,需要添加优惠券数据;

2.APP测试和Web测试的区别?

  • 相同点:
    • 1.同样的测试用例设计方法;
    • 2.同样的测试方法:都会依据原型图或效果图检查UI;
    • 3.测试页面载入和翻页的速度、登录时长、内存是否溢出等
    • 4.测试应用系统的稳定性;
  • 不同点:
    • 1.系统结构方面:web项目,b/s架构,基于浏览器的;
    • web测试只要更新了服务器端,客户端就会同步更新。
    • app项目,c/s结构的,必须要有客户端;app修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍。
    • 2.性能方面:web项目 需监测 响应时间、CPU、Memory;app项目 除了监测响应时间、CPU、Memory外,还需监测 流量、电量等
    • 兼容性方面:web项目:浏览器(火狐、谷歌、IE等);操作系统(Windows7、Windows10、Linux等)。
    • app项目:设备系统\:iOS(ipad、iphone)、Android(三星、华为、联想等)、Windows(Win7、Win8)、OSX(Mac);手机设备可根据 手机型号、分辨率、屏幕尺寸不同。

3.相对于 Web 项目,APP有哪些专项测试

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

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

  • 3.安装、更新、卸载,中断、前后台切换:

    • 安装:需考虑安装时的中断、弱网、安装后删除安装文件,全新安装、升级安装、第三方工具安装等情况;
    • 卸载:需考虑第三方工具卸载、直接卸载卸,载后是否删除app相关的文件;
    • 更新:分强制更新、非强制更新、增量包更新、断点续传、弱网状态下更新
    • 中断:来电中断、短信中断、闹钟中断、手机锁定、手机断电、手机死机
  • 4.界面操作:关于手机端测试,需注意手势,横竖屏切换,多点触控,前后台切换。

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

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

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

4.Android手机和IOS手机,系统有什么区别?

  • 1.两者运行机制不同:IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。
    • IOS 沙盒运行机制:每个程序都有自己的虚拟地址空间。所以,程序之间不能进行访问。默认只会将应用的最后运行数据,记录在RAM里面
    • Android 虚拟机运行机制:所有的应用程序都是运行在虚拟机中,用户界面其实是由虚拟机传递的,并且通过虚拟机,Android的任何程序都就可以轻松访问其他程序文件。所有的Android的应用程序都是运行在RAM里面的,所以会发现有时候Android用着用着就开始有点卡顿。
  • 2.两者后台制度不同:IOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭。
  • 3.IOS中用于UI指令权限最高,安卓中数据处理指令权限最高。

5.APP日志如何抓取?

  • 可以使用adb命令:adb logcat | find "com.sankuai.meituan" >d:\test.txt
  • 也可以用ddms抓取,手机连上电脑,打开ddms工具
  • 或者在Android Studio开发工具中,打开DDMS
  • 日志收集好后,可以根据 exception、fatal、error 等关键字进行搜索,找到具体报错的信息位置,截图到 bug 中,发给开发。

6.常用的adb命令有哪些?

  • 1.查看帮助手册列出所有的选项说明及子命令:adb help
  • 2.获取设备列表及设备状态:adb devices
  • 3.安装应用:adb install 路径\xx.apk, 安装应用;adb install -r 重新安装。 adb install adb install -r
  • 4.获取设备的状态,设备的状态有 device , offline , unknown3种,其中device:设备正常连接,offline:连接出现异常,设备无响应,unknown:没有连接设备。 adb get-state
  • 5.卸载应用:adb uninstall <包名>, 后面的参数是应用的包名,区别于 apk 文件名。 adb uninstall
  • 6.将 Android 设备上的文件或者文件夹复制到电脑本地:adb pull <远程路径> <本地路径>, 如复制 Sdcard 下的 pull.txt 文件到 D 盘:adb pull sdcard/pull.txt d:\,重命名:adb pull sdcard/pull.txt d:\rename.txt。 adb pull
  • 7.推送本地文件至 Android 设备:adb push <本地路径> <远程路径>, 如推送 D 盘下的 ITester.txt 至 Sdcard:adb push d:\ITester.txt sdcard/ (注意sdcard 后面的斜杠不能少) adb push
  • 8.结束和启动adb服务:adb kill-server /adb start-server , 结束 adb 服务/启动 adb 服务,通常两个命令一起用,设备状态异常时使用 kill-server,运行 start-server 进行重启服务。 adb kill-server adb start-server
  • 9.打印及清除系统日志:adb logcat , 打印 Android 的系统日志 ;adb logcat -c,清除日志。 adb logcat adb logcat -c
  • 10.查找包名/活动名 adb logcat | findstr START

7.介绍一下冷启动、暖启动、热启动、首屏启动?

  • APP启动会发生多个事件,测试人员需要知道整个环节是否出现问题,需要了解到具体是哪个环节存在问题:冷启动:当进程不存在的时候,从进程创建开始到界面的展示的过程;暖启动:有一部分资源已经存在,进程存在,相对于热启动要消耗更多资源。当用户退出应用程序时,进程还会存在,暖启动相较于冷启动只是少了进程的创建;热启动:大部分资源都在,只是应用之间的切换;首屏启动:第一屏加载完整;
  • 标准:冷启动:需要5秒甚至更长;暖启动:需要2秒甚至更长;热启动:需要1.5秒甚至更长;
  • 整个启动过程可以用adb工具进行分析,利用adb logcat获取启动数据,或者录屏,使用ffmpeg拆帧分析。

    adb logcat 首先定义一个变量,这个变量填写用到的包名。 package=com.xueqiu.android 清除缓存数据: adb shell pm clear $package 停止进程: adb shell am force-stop $package 通过以上命令就做好了冷启动的环境,下面启动app并获取数据。启动App adb shell am start -S -W \$package/.view.WelcomeActivityAlias -S表示启动之前先停止应用进程 -W是表示等待对应的activity启动完成

    获取数据:bash adb logcat |grep -i displayed

- THE END -

七言

8月01日16:37

最后修改:2025年8月1日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论