APP测试面试题快问快答(五)

21. App自动化你用的什么工具?

框架:Appium

编译环境和工具:python3.7和PyCharm

环境:Android sdk

第三方模拟器:夜神、蓝叠等模拟器

定位工具:uiautomatorviewer

实时日志查看:ddms

22. App自动化测试脚本主要添加的配置有哪些?

deviceName:设备名称

platformName:测试平台

platformVersion:平台版本

AppPackage:测试App包名

AppActivity:测试App启动入口

23.在App内乱点出现的异常如何复现?

基本monkey命令:adb shell monkey –p 包名 其他参数 次数

同样的monkey命令加上-s 输入上一次操作的seed值进行复现。

24. App测试与H5测试有啥区别?

App是使用原生系统内核的,相当于直接在系统上操作,是我们传统意义上的软件,更加稳定,

H5的App先得调用系统的浏览器内核,相当于是在网页中进行操作,较原生App稳定性稍差,似乎还没有百万级用户量的H5

H5最大的优点是可以跨平台,开发容易,App的话需要用ANDROID的语言和IOS的语言各自写,相对来说开发比较麻烦,H5只要开发一套, 简单的说:H5是基于web,App原生基于客户端。

总之有以下区别:

1、用户获取渠道的区别:小程序只要通过用户的分享、二维码和搜索小程序来获取;APP主要通过应用市场下载而获得。

2、下载和安装的区别:小程序不需要进行下载,清除时直接删除程序就行了;APP需要下载和安装,且卸载的时候需要清除数据。

3、开发周期的区别:小程序开发周期一般在两周左右;APP的开发周期在2、3个月左右。

4、发布审核上的区别:小程序在需要发布的公众平台上进行审核,审核周期一般比较短;APP需要应用商店进行审核,这个时间周期一般比较长。

5、权限上的区别:比如微信小程序需要验证是否有微信授权,未授权/授权登录程序,同一微信号不同手机登录查看数据显示情况;APP测试则需要考虑是否可以访问手机通讯录、相册、相机等权限;

6、兼容性测试:APP需要在不同手机操作系统、不同的分辨率检验;小程序除了需要在不同手机操作系统检验、分辨率(不同手机型号,页面图片显示等)检验,还需要在不同微信版本(测试当前微信版本发布的项目和升级版微信后测项目)、二维码的兼容性(一般小程序会有二维码分享,分享给朋友的图片信息和分享到朋友圈的二维码显示、是否识别等)

7、缓存方面:缓存的作用是提高程序的流畅度、减少网络请求,节省服务器资源,有时候用户会进行清理缓存的情况。app和小程序都会存在缓存,但小程序最大只有10M的本地缓存,测试时需要考虑清除缓存时强制退出、后台清理、关机等情况。

25. App类型有哪些?分别有什么优缺点?

1、Native App:传统的原生App开发模式,android基于Java语言。

优点:直接依托于操作系统,交互性最强,性能最好;功能最为强大,特别是在与系统交互中,几乎所有功能都能实现。

缺点:开发成本高,无法跨平台,不同平台Android和iOS上都要各自独立开发;门槛较高,原生人员有一定的入门门槛,相比广大的前端人员而言,较少 更新缓慢,特别是发布应用商店后,需要等到审核周期 维护成本高。

2、Web App:即移动端的网站,将页面部署在服务器上,然后用户使用各大浏览器访问,不是独立App,无法安装和发布,类似于现在所说的轻应用

优点:开发成本低,可以跨平台,调试方便;维护成本低 更新无需通知用户,不需要手动升级 无需安装App,不会占用手机内存。

缺点:无法获取系统级别的通知,提醒,动效等等;用户留存率低 设计受限制诸多 体验较差

3、Hybrid App:混合应用程序,在应用程序中嵌入了webview,通过webview访问网页。

优点:开发成本较低,可以跨平台,调试方便 维护成本低,功能可复用;功能更加完善,性能和体验要比起web App好太多 更新较为自由

缺点:相比原生,性能仍然有较大损耗 不适用于交互性较强的App

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/31848.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智慧加油站卸油作业行为分析算法 opencv

智慧加油站卸油作业行为分析系统通过opencvpython网络模型技术,智慧加油站卸油作业行为分析算法实现对卸油作业过程的实时监测。当现场出现卸油作业时人员离岗,打电话人员抽烟等违规行为,灭火器未正确摆放,明火和烟雾等异常状态&a…

TypeScript零基础入门之背景介绍和环境安装

一、什么是TypeScript TypeScript是一种由微软开发和维护的开源编程语言。它是JavaScript的超集,意味着任何JavaScript程序都是一种有效的TypeScript程序。TypeScript添加了静态类型、类、接口、枚举和命名空间等概念,同时支持ES6特性。TypeScript被视为…

Kubernetes入门实战课-初始容器

Kubernetes入门实战课-初始容器 文章目录 Kubernetes入门实战课-初始容器课前准备初始容器Docker 的形态Docker 的安装Docker 的架构 容器的本质隔离原因与虚拟机区别隔离是怎么实现的 镜像创建容器镜像:如何编写正确、高效的Dockerfile镜像的内部机制是什么Dockerf…

Spring介绍

⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章 ⭐作者主页:逐梦苍穹 ⭐所属专栏:JavaEE、Spring 目录 1、Spring简介2、轻量级和非侵入性3、IoC容器4、AOP支持5、声明式事务管理6、数据访问支持…

【基于Django框架的在线教育平台开发-02】用户注册功能开发

用户注册功能开发 文章目录 用户注册功能开发1 模型层开发2 视图层开发3 配置urls.py4 表单验证5 模板层开发6 效果展示 1 模型层开发 用户数据表如下所示: FieldTypeExtraidintPrime Key & Auto Incrementpasswordvarchar(128)last_logindatetime(6)Allow Nu…

第八章 模型篇:transfer learning for computer vision

参考教程: transfer-learning transfer-learning tutorial 文章目录 transfer learning对卷积网络进行finetune把卷积网络作为特征提取器何时、如何进行fine tune 代码示例加载数据集构建模型fine-tune 模型模型作为feature extractor 定义train_loop和test_loop定…

Docker常见使用

Docker常见使用 1、Docker安装 ## 下载阿里源repo文件 $ curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo $ curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo$ yum clean …

工业相机的镜头如何选择?

相机的镜头如何计算,如果看公式的话,需要知道相机sensor的尺寸,相元的尺寸,计算起来数据也比较复杂,下面教大家一个简单的方法,就是如何借助镜头计算工具来使用。 巴斯勒相机的镜头选型地址 工业镜头选型…

操作系统之死锁详解

本文已收录于专栏 《自考》 目录 背景介绍死锁的前提死锁的概念死锁的分类死锁的产生原因条件 死锁的解决预防避免检测与恢复 死锁的实现总结提升 背景介绍 最近一直在做操作系统的测试题,在做题的过程中发现有很多地方涉及到了关于死锁的知识点。今天就回归课本来自…

哈工大计算机网络课程网络层协议详解之:网络地址转换NAT

哈工大计算机网络课程网络层协议详解之:网络地址转换NAT 文章目录 哈工大计算机网络课程网络层协议详解之:网络地址转换NAT网络地址转换(NAT)NAT实现原理NAT穿透问题NAT穿透问题的解决方案 上一节中,我们在DHCP协议中介…

【人脸检测——基于机器学习4】HOG特征

前言 HOG特征的全称是Histograms of Oriented Gradients,基于HOG特征的人脸识别算法主要包括HOG特征提取和目标检测,该算法的流程图如下图所示。本文主要讲HOG特征提取。 HOG特征的组成 Cell:将一幅图片划分为若干个cell(如上图绿色框所示),每个cell为8*8像素 Block:选…

【力扣刷题 | 第十四天】

目录 前言: 7. 整数反转 - 力扣(LeetCode) 面试题 16.05. 阶乘尾数 - 力扣(LeetCode) 总结; 前言: 今天仍然是无固定类型刷题, 7. 整数反转 - 力扣(LeetCode) 给你…

Android大图加载优化方案,避免程序OOM

我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。比如微博长图,海报等等。所以我们就要对图片进行局部显示。 大图加载基本需求…

Redis入门(5)-set

Redis中set的元素具有无序性与不可重复性 1.sadd key member[member] 添加元素,若元素存在返回0若不存在则添加 sadd DB mysql oracle sadd DB mysql sadd DB db22.smembers key 查看set中所有元素 smembers DB3.sismember key member 判断元素在set中是否存…

GIS 功能模块实现

文章目录 1. GIS 模块流程图2. 网页端地图缓存的实现3. GIS 图形操作功能实现1 )地图漫游2 )对象删除3 )选择复制属性查看 GIS 基本功能模块主要是在表现层开发的,是在OpenLayers 开发框架提供的接口上,通过Geo Server…

智芯MCU软件开发环境搭建

智芯MCU软件开发环境搭建 目录 智芯MCU软件开发环境搭建前言1 软件安装2 编译环境3 烧录环境4 新建工程结束语 前言 智芯科技的MCU主要应用于汽车行业,属于车规级的MCU,目前上市的MCU型号较少,相关资料也不多,所以这里出一期开发…

uniapp实现tab切换可以滚动的效果

实现效果 当 tab 切换的内容很多时,需要用到滚动,希望在点击 tab 的时候可以自动滑动到对应的tab下 知识点 scrollIntoView:该scrollIntoView()方法将调用它的元素滚动到浏览器窗口的可见区域。 语法 element.scrollIntoView&#xff08…

【kubernetes】部署controller-manager与kube-scheduler

前言:二进制部署kubernetes集群在企业应用中扮演着非常重要的角色。无论是集群升级,还是证书设置有效期都非常方便,也是从事云原生相关工作从入门到精通不得不迈过的坎。通过本系列文章,你将从虚拟机准备开始,到使用二进制方式从零到一搭建起安全稳定的高可用kubernetes集…

记录正式环境测试环境【RedHat7编译升级redis7.0.9】--有关报错及解决

记录正式环境&测试环境【RedHat7 编译升级redis7.0.9】--有关报错及解决 🔻 一、报错详情1.1 ⛳ 写在前面1.2 ⛳ 报错11.3 ⛳ 报错21.4 ⛳ 安装redis1.5 ⛳ 版本检查 🔻 二、⛳ 总结 🔻 一、报错详情 1.1 ⛳ 写在前面 🍁 升级…

王道计算机网络学习笔记(3)——数据链路层

前言 文章中的内容来自B站王道考研计算机网络课程,想要完整学习的可以到B站官方看完整版。 三:数据链路层 3.1:数据链路层功能概述 结点:主机、路由器 链路:网络中两个结点之间的物理通道,链路的传输介…