首页 > 其他分享 >app的知识点

app的知识点

时间:2024-11-26 20:23:02浏览次数:10  
标签:知识点 登录 app adb 内存 手机 软件

一、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手机,系统有什么区别?

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

相关文章

  • app搭建笔记(18)
    一、app自动化测试环境和用途:主要用于做app端UI自动化,熟悉adb命令(a表示安卓,d表示debug,b表示桥)adb是连接手机设备二、搭建环境的工具(1)jdk已安装,java的一种编译器(本地windows安装)jdk安装和配置环境变量(2)查看jdk版本如果如果配置好,就要配置环境变量a、JAVA_HOME......
  • uniapp自定义地址选择器组件
    exportconstregion=[{"id":110000,"text":"北京","value":"北京","children":[{"id":110100,......
  • 查找相关知识点
    一.基本概念1.查找:在数据集合中寻找满足条件的数据元素2.查找表:用于查找的数据结合称之为查找表3.静态查找表(StaticSearchTable):只作查找操作的查找表。主要操作查询某个“特定的”数据元素是否在查找表中。检索某个“特定的”数据元素和各种属性。4.动态查找表(Dy......
  • UINAPP全开源圈子源码分享,二开打造属于自己的圈子系统
    获取免费的圈子源码需要谨慎选择,确保源码的质量、合法性和安全性。在使用前,建议进行详细的代码审查和测试,并根据实际需求进行定制开发。同时,注意遵守开源项目的许可证要求,并确保用户数据的安全性。适用领域:一、行业圈子:让本行业的有交流和联系的圈子。二、地方圈子:在本地区,......
  • 小知识点
    1、可以在go.mod里设置一个package名,这样可以将这个package名作为go.mod所在目录的包名,导包的时候可以用这个名作为路径例如:2、time.UnixMilli()是以毫秒为单位获取时间戳3、typestrstring//可以把str同时视为一个string和一个类//可以给str添加方法func(sstr)s1()int......
  • MySQL的补充知识点
    SQL注入?定义:MySQL的sql注入是一种攻击技术,攻击者通过再应用程序中插入恶意的sql代码,从而控制应用程序和服务器之间的交互,当应用程序未对用户输入进行适当验证或转义时,这种攻击就可能发生。发生的情况:未对用户输入进行验证:当Web应用程序直接将用户输入拼接到SQL查询语句中,而......
  • (免费源码)计算机毕业设计必学必看 万套实战程序手把手教学 java、python、php、node.js
    摘 要科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设绿......
  • Applied Spatial Statistics(十)多级模型 Multi-level models(变化的截距和斜率)
    AppliedSpatialStatistics(十)多级模型Multi-levelmodels(变化的截距和斜率)这是一个如何使用python和pymer4包拟合MLM模型的示例。Pymer4是R中著名的lme4包的python版本,其文档可在以下位置找到:https://eshinjolly.com/pymer4/#pipinstallpymer4import......
  • 第5天:基础入门-APP应用&微信小程序&原生态开发&H5+Vue技术&封装打包&反编译抓包点
    #知识点1、基础入门-APP应用-开发架构安全问题2、基础入门-小程序应用-开发架构安全问题一、APP应用开发架构:1、原生开发安卓一般使用java语言开发,当然现在也有kotlin语言进行开发。如何开发就涉及到具体编程了,这里就不详说了。简单描述就是使用安卓提供的一系列......
  • JavaScript中数组知识点
    数组数组这种数据类型可以在一个变量里保存多个值,每个值都有一个数值索引,而且能够保存任何数据类型(比如布尔值、数值、字符串、函数、对象),甚至能够保存其他数组。我们可以通过引用数组的数字索引来访问任何的项,这个索引和项在数组中的位置是对应的。通常,我们把数组中的项称......