首页 > 其他分享 >肖sir__app的知识点

肖sir__app的知识点

时间:2024-04-17 16:35:42浏览次数:18  
标签:__ 知识点 登录 sir app adb 内存 软件 手机

1、appium实现原理

 

========================================

二、app测试中遇到的问题

(一)、app出现ANR(无响应),是什么原因导致的?

那么导致ANR的根本原因是什么呢?简单的总结有以下两点:
1.主线程执行了耗时操作,比如数据库操作或网络编程
2.其他进程(就是其他程序)占用CPU导致本进程得不到CPU时间,比如其他进程的频繁读写操作可能会导致这个问题。
细分的话,导致ANR的原因有如下几点:
a.耗时的网络访问
b.大量的数据读写
c.数据库操作频繁
d.硬件操作(比如camera)
e.调用thread的join()方法、sleep()方法、wait()方法或者等待线程锁的时候
f.service binder的数量达到上限
g.system server中发生WatchDog ANR
h.service忙导致超时无响应
i.其他线程持有锁,导致主线程等待超时
j.其它线程终止或崩溃导致主线程一直等待。

(二)、App出现crash(崩溃)原因有哪些?
为什么App会出现崩溃呢?

App崩溃相关的几个因素:内存管理错误,程序逻辑错误,设备兼容,网络因素等,

如下:
a.内存管理错误​:可能是可用内存过低,app所需的内存超过设备的限制,app跑不起来导致App crash。
或是内存泄露,程序运行的时间越长,所占用的内存越大,最终用尽全部内存,导致整个系统崩溃。
亦或非授权的内存位置的使用也可能会导致App crash。
b.程序逻辑错误:​数组越界、堆栈溢出、并发操作、逻辑错误。
e.g. app新添加一个未经测试的新功能,调用了一个已释放的指针,运行的时候就会crash。
c.​设备兼容:由于设备多样性,app在不同的设备上可能会有不同的表现。
​e.网络因素:可能是网速欠佳,无法达到app所需的快速响应时间,导致app crash。或者是不同网络的切换也可能会影响app的稳定性。

(三、)app测试中的数据库数据和app上的不一致?(没有同步)

原因:app上勋在缓存和原有进程导致

在后台数据据中,新增数据进行测试,打开app端查看对应的数据,不存在最新的数据,没有更新;

解决方法:测试需要杀死进程、清理缓存,在进行app启动;

 

(四)、错误现象:登录状态下仅支持单点登录,会弹出提示:该账号在B手机已登录,A手机强制退出登录;实际要实现:登陆时不受单点登陆的限制或者指定登录设备次数3,5台

原因:未按产品需求说明书中的功能实现,如按照产品需求说明书,白名单内的用户进行登陆时不受单点登陆的限制,也就是说同一个账号可以同时在A手机和B手机登录,但是开发实现错误,白名单内的用户在A手机登录后,在B手机登录,然后点击A手机上APP的功能,会弹出提示:该账号在B手机已登录,A手机强制退出登录。

解决:找开发,增加多点登录功能权限,设置登录设备台数;

 

(五)、app闪退有哪些原因?

闪退的原因分为种:一、软件本身有问题;二、系统出现问题。

1、软件问题

(1)app 不兼容系统当前系统版本

(2)app有了新版本,没有更新(软件对手机分辨率有一定的要求)

(3)软件有bug

(4)下载和更新不是官网下载的,是第三方软件下载的

(5)网络差(软件对网速的要求比较高,如果用户使用 2 G/3 G 网络)

(6)分辨率不兼容(软件对手机分辨率有一定的要求)

 (7)手机被植入病毒

2、系统出现问题

(1)手机内存不足,比如:打开很多app,导致后台反应出现问题

(2)软件授权出现问题

(3)设备已经越狱,导致系统不稳定,闪退成了常事)

4)手机 缓存垃圾太多

(5)安装路径位置错误(比如:安装外置存储卡)

(6)手机配置问题  (比如手机配置低)

解决办法:

1、卸载重新下载新版本,(安装并设置手机储存空间为安装路径即可)

2、及时更新新的版本

3、拒绝从第三方下载(卸载非官方下载的软件)

4、重启应用 

5、检查应用兼容性

6、检查应用权限(授予必要的权限即可。 )

7、卸载重装应用

8、清理手机存储空间

9、 恢复出厂设置

10、检查网络(切换好的网络环境)

(六)、app白屏现象有哪些原因引起?

1、手机使用过长

2、手机本身质量问题

3、手机运行内存小,或不足
4、软件和设备不兼容

5、运行过多软件

6、手机版本问题

========================================

三、熟悉adb命令

ADB常用的指令:
查看当前连接设备 : adb devices
进入到shell : adb shell
查看日志 : adb logcat
安装apk文件 : adb install xxx.apk
卸载APP : adb uninstall +包名
查看包名 : appt d badging +包的路径
往手机SDCard传递文件:adb push 文件名 手机端SDCard路径
从手机端下载文件 : adb pull + 文件
查看手机端安装的所有包名:adb shell pm list packages
启动Activity : adb shell am start 包名/完整Activity路径
屏幕截图 : adb shell screencap
启动adb server命令 :adb start-server
停止adb server命令 :adb kill-server
查看adb版本 :adb version

========================================

四、常见app面试题:

1、app web端和app端的区别?
2、appium的原理?
3、app的搭建流程  
4、常用的adb命令 
 5、app测试的关注点?(专项测试)
6、app自动化测试中你要到什么问题,如何解决的?
7、app自动化测试流程 ?
8、app的日志如何抓取? 
9、测试过程中遇到app出现crash或者ANR,你会怎么处理? 
10、请说明Android手机和IOS手机,系统有什么区别?

========================================

标签:__,知识点,登录,sir,app,adb,内存,软件,手机
From: https://www.cnblogs.com/xiaolehong/p/18141080

相关文章

  • docker部署redis
    拉取镜像dockerpullredis:6.2.6创建映射目录和文件mkdir-p/data/server/docker_redis/data官网下载对应版本redis.conf,放在/data/server/docker_redis/目录下运行redisdockerrun-d-p6379:6379--name=redis--privileged=true-v/data/server/docker_redis/redis.c......
  • SpringBoot项目 file not present 终局!
    在写一个文件上传接口时,从一个老项目里copy出来了一个接口,死活报错filenotpresent,参考如下步骤排查确保请求的httpheader里面的文件字段名和接口定义一致如果使用postman,则确定key和接口保持一致在保证一切都是对的情况下,检查下项目是否配置了CommonsMultipartResolv......
  • CF1955H The Most Reckless Defense
    给敌人加血可以看成是减少防御塔的攻击力,那么一个塔对敌人能造成的最大伤害即为\(500\pir^2-3^r\),注意到\(r=12\)时已经小于\(0\)了,所以半径不会很大,又因为每个\(r\)只能选一次,所以有效的塔很少,考虑状压\(dp\)。具体地,我们设\(f_{i,S}\)表示前\(i\)个塔中,被选到的塔......
  • 前端项目安装node-sass依赖问题解决
    前端项目安装依赖node-sass问题解决记录:(项目中node版本14.16.0node-sass版本4.14.1)问题1:pnpnrunall:install后报错MSBUILD:errorMSB3428:解决方法:需要安装npminstall--globalwindows-build-tools1.1、npm全局安装windows-build-tools1.1安装过程中可能会出现......
  • redis自学(36)散列插槽
    散列插槽Redis会把每一个master节点映射到0~16383共16284个插槽(hashslot)上,查看集群信息时就能看到:  数据key不是与节点绑定,而是与插槽绑定。Reids会根据key的有效部分计算插槽值,分两种情况:l Key中包含“{}”,且“{}”中至少包含1个字符,“{}”中的部分是有效部分l Key中......
  • Spyder修改python解释器
    Spyder更改为python3.10解释器因为系统安装的python版本为3.10,但是官网下载最新的Spyder内置python版本为3.7.9,强迫症一犯就想着更改成3.10,步骤如下:偏好里面更改控制台的运行方式(根据个人习惯设置就行,这里设置在专用控制台运行)安装IPython先用pip3list查看一下python3有没有安......
  • 你的数据库用对索引了吗?一文揭秘PolarDB XPlan索引选择
    ​ 对于数据库来说,正确地选择索引是基本要求,选错索引轻则导致查询缓慢,重则导致数据库整体不可用。PolarDB分布式版存在多种不同的索引:局部索引、全局索引、列存索引、归档表索引。局部索引就是单机数据库上常用的索引,目的是避免全表扫描。全局索引是分布式数据库为了避免......
  • 通过前端事件获得控件所在页面html
    //输入框获取焦点事件functionhandleInputFocus(){ console.log('handleInputFocus2',event); letpgHtml=$(event.target).prop('ownerDocument').body.innerHTML;//jquery控件所在网页html(不知道为啥直接event点不出ownerDocument) letcurrHtml=$(event.target).pr......
  • [Rust] Intro Lifetimes
    Thefollowingcodehascompilererror:fnjazz(years:&[i64])->Releases{leteighties:[i64]=&years[0..2];letnineties:[i64]=&years[2..4];Releases{years,eighties,nineties,}}let......
  • Windows 11 LTSC版本的优缺点
    随着Windows11的发布,微软推出了多个版本,其中包括Windows11LTSC版。LTSC(长期服务分支)版本通常被视为适合特定企业环境或者对稳定性和长期支持有需求的用户。然而,对于普通用户来说,Windows11LTSC版可能并非最佳选择。首先,Windows11LTSC版被标榜为适用于老电脑,这意味着它可以......