资讯详情

面试官最常问的面试题及答案

1、web测试和APP测试的区别?

web测试和APP测试离不开测试的基本知识和原理。

不同点是:web 考虑到自身功能与浏览器的兼容性,测试更多的是考虑,app 考虑到手机本身本身的固有属性,因此 app 还应注意以下几点:

中断测试(电话、短信、蓝牙、NFC 支付、闹钟、数据线插拔、屏、断电、关机重启等。

安装卸载测试(全新安装,新版本覆盖旧版本,卸载旧版本安装新版本,卸载新版本安装旧版本)

外部因素测试(网络切换、硬件按钮、不同分辨率、兼容性、系统版本)

2.如何测试一个APP的登录场景

操作页面基本元素;

大量字符、特殊字符、边界值、必填项验证;

注册手机号码的特殊性验证,注册邮箱的格式验证;

密码大小写是否敏感,密码是否加密显示,密码是否有可见按钮功能,密码框是否可复制粘贴;

验证码验证:必填项、过期、错误、无网络时获取验证码,多次获取,超过获取次数,输入验证码后修改手机号;

登录时与系统的交互:锁屏、蓝牙、home,后退,横竖屏,修改字体字号;

逆向思维:已注册账号注册,未注册账号忘记密码,未注册账号登录,注册过程中退出再次注册;

输入法交互,切换输入法,切换输入模式,手写/九宫格;

登录账户的多样性:多个账户轮流登录,同一账户多角色登录;

第三方登录验证:账户授权、正确信息、取消授权;

登录页面跳转、返回、成功登录等页面跳转;

手机兼容性测试:分辨率兼容,系统兼容,系统版兼容,App 版本兼容;

网络切换,网络断开,弱网。

3、push如何测试消息?

检查 Push 消息是否按照规定的业务规则发送;

不接收推送消息时,用户将不再接收 Push 消息;

如果用户设置了无干扰时间段,用户无法在无干扰时间段内接收 Push。用户可以在非免打扰期间正常接收 Push;

当 Push 当用户登录时,需要检查收到的消息 Push 无论与用户身份是否一致,都没有错误地推送他人的信息。一般来说,只有最后一个登录用户在手机上推送信息;

测试 Push 在开关机、待机状态下进行推送,消息及其推送跳转的正确性;

push 在新闻中,会有红点显示,推送新闻阅读前后数字的变化是否正确;

应用程序在开发、未打开、应用程序启动和后台运行时 push 显示和跳转是否正确;

多推集的显示和跳转是否正确。

4、APP闪回的原因是什么?

缓存垃圾太多,Android 如果长时间不清理垃圾文件,系统的特点会导致越来越多的卡,甚至闪回;

操作过多导致内存不足;

应用版兼容,分辨率兼容;

APP在访问网络的地方,组件能否正常下载和显示;

APP的 SDK 与手机系统不兼容;

系统升级后,新版本与旧版本不兼容 API,返回对象失败,报空指针;

软件权限未开放。

5.在测试过程中遇到 app 出现 crash 或者 ANR,你会怎么处理?

APP 出现 Crash 或 ANR,可从以下几个方面处理:

可先过滤日志:adb logcat | findstr xxxxx(过滤日志信息) ;

然后再搜索其中的关键字,比如:exception、crash,看看是什么方法或异常导致了问题;

问题原因初步定位后,可以交给开发人员具体查找深层原因并修复。

6.你通常看日志吗? 一般会出现什么异常?(Exception)?

常见类型如下:

NullPointerException - 异常引用空指针

ClassCastException - 类型强制转换异常

IllegalArgumentException - 异常传输非法参数

ArithmeticException - 算术操作异常

ArrayStoreException - 存储在向数组和声明类型不兼容对象异常

IndexOutOfBoundsException - 下标越界异常

NegativeArraySizeException - 创建一个大小为负数的数组错误

NumberFormatException - 异常的数字格式

SecurityException - 安全异常

UnsupportedOperationException - 异常操作不支持

7、APP 测试的主要内容是什么,如何进行?

功能测试:

业务逻辑正确性测试:根据产品文档->编写测试用例。

兼容性测试:

1.系统版:Android:官方版,定制版;IOS:官方提供版本。

2.分辨率:720 * 1280 1080* 1920。

3.网络情况:2g 3g 4g 5g Wi-Fi。

异常测试:

1.热启动应用:长期待机应用于后台;在后台待机过程中,手机重启。

2.网络切换和中断恢复:网络切换;中断恢复。

3.电话信息中断恢复。

升级、安装、卸载试验:

1.升级测试:临近版本升级(1).0->1.1);跨版本(1.0->…->2.2)。

2.安装试验:第一次安装;覆盖安装(同版,不同版);卸载后安装。

3.卸载试验:首次卸载;卸载后卸载。

健壮性测试:

1.手机资源消耗:cpu,内存。

2.流量消耗:图片、数据、视频。

3.电量测试。

4.崩溃恢复。

8、APP 性能测试的重点 APP 性能测试工具

包体大小:

从 APP 考虑到性能指标和操作两个维度,用户希望包体小,性能好更好,有时是相互选择的关系。

启动时长:

移动应用的启动时间是用户体验的重要方面,IOS 建议尽可能缩短启动时间,以防止用户不愿意使用它们。对于浏览器来说,获取启动时间尤为重要,因为教育页面和闪光屏幕将在程序启动时发布。

启动时间分为冷启动时间和热启动时间,所谓的冷启动,是一个完全不运行的应用启动时间,与热启动(应用已经在后台运行,事件带到前台)相比,由于系统没有建立缓存,所以冷启动往往比平时(热启动)更长。

内存使用:

在 Android 系统中,每个 APP 除了与其他过程共享外,过程还与其他过程共享(shared dirty)此外,私有内存也是独有的(private dirty),我们通常使用它 PSS(=私有内存 衡量比例分配共享内存 APP 内存费用。移动设备的内存资源非常有限 APP 私有内存的过程分配也有限制。一方面要合理申请内存使用,避免频繁使用。 GC(垃圾回收机制)影响性能和大对象申请内存溢出;另一方面,要及时释放内存,避免内存泄漏。

CPU 占用率:

一般使用主流手机 APP20%-40%的 CPU 占用率是合理的。当然,随着近年来手机硬件配置的增加,这个值会略有下降。 CPU 占用率超过 80%值得我们关注。

图像处理器每秒刷新帧数(FPS):

它可以用来指示页面是否平滑。 APP 帧率 FPS,30-60 都可以接受,上去 60 人眼的主观感受差别不大。对于移动应用的开发来说,不是 FPS 越高越好。FPS 这取决于显卡,其次是内存,CPU,然后是网络。所以综合 APP 其他性能指标,选择合适的 FPS 即可。

电量:

相对于 PC 移动设备的电池电量非常有限,保持耐久性尤为重要。android 很多特点都比较耗电(比如屏幕,GPS,sensor 传感器,唤醒机制,CPU,使用连网等),必须仔细检查 APP 使用电量,避免用户手机耗电发热,带来不良体验。

流量:

包括当前的网络类型 2G\3G\4G\5G\wifi,还有不同运营商的区别,我们在 APP 在使用过程中,经常会遇到各种情况,如大资源、重复请求、调用响应慢、调用失败等。在不同的网络类型下,我们不仅要控制流量使用,还要加快对请求的响应。此外,对于需要互联网的手机游戏,一些游戏采用不同的流量消耗策略,主要分为 wifi 蜂窝网络环境和环境。所以针对不同的游戏,我们统计流量消耗时,可能要连接不同的网络进行测试。

app 性能测试工具

GT 和 iTest,Emmagee APT ,DDMS ,也可以通过手机在开发者选项中带来工具 adb 命令来查看等。

9、如何对 app 弱网测试

可以测试弱网测试 APP 加载时间、可用性、稳定性和强度。此时,我们可以使用工具模拟不同的网络条件 2G、3G 测试弱网。可以选择工具 Fiddler 也可以选择 Charles 也可选择其它工具。

10、常见的 adb 命令

注:adb 使用的端口号是 以下总结工作中常用的5037 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:连接异常,设备无响应,unknon:没有连接设备。

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

11.生成 bugreport 文件:adb bugreport , 打印 dumpsys、dumpstate、logcat 的输出,也是用于分析错误,输出比较多,建议重定向到一个文件中,如 adb bugreport > d:\bugreport.log。

adb bugreport

12. 重启 Android 设备:adb reboot , adb reboot recovery,重启到 Recovery 界面;adb reboot bootloader,重启到 bootloader 界面。

adb reboot

adb reboot recovery

adb reboot bootloader

13.获取 root 权限:adb root , adb remount,可以直接获取 root 权限,并挂载系统文件系统为可读写状态。

adb root

adb remount

14.返回设备序列号 SN 值:

adb get-serialno

15.获取设备的 ID:

adb get-product

16.进入设备 shell:

adb shell

17.列出所有的应用的包名:

adb shell pm list package

18.截屏并保存至 sdcard 目录:

adb shell screencap -p /sdcard/screen.png

19.录制视频并保存至 sdcard:adb shell screenrecord sdcard/record.mp4,执行命令后操作手机,ctrl + c 结束录制,录制结果保存至 sdcard:

adb shell screenrecord sdcard/record.mp4

20.获取设备分辨率:

adb shell wm size

21.列出指定应用的 dump 信息,adb shell pm dump 包名。

adb shell pm dump

22.列出对应包名的 .apk 位置,adb shell pm path 包名。

adb shell pm path

23.查看当前终端中的进程信息:

adb shell ps

24.monkey 测试:adb shell monkey –p 程序包 –v 测试次数 ,比如“adb shell monkey –p com.htc.Weather –v 20000”意思是对 com.htc.Weather 这个程序包单独进行一次 20000 次的 monkey 测试。

adb shell monkey –p 程序包 –v 测试次数

25.显示所有程序包:

adb shell ps | grep [process]

26.根据进程 pid 或包名查看进程占用的内存:

adb shell dumpsys meminfo

adb shell dumpsys meminfo<package_name>

27. APP 启动:

adb shell am start -n packageName/activity

28. APP 关闭:

adb shell am force-stop 包名

29.监控 APP 启动时间:

adb shell am start -W packageName/activity

标签: 流量传感器p11231sn

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台