小程序测试和APP测试的区别

        今天看了一下关于如何测试小程序的教学视频,里面讨论了一个很经典的面试题:小程序测试和APP测试的区别,包括在之前的面试过程中也确实是遇到过这个问题,所以这次打算把它记录下来,也算是知识巩固了。

        首先从测试的内容来看,在功能测试、性能测试、兼容性测试等APP和小程序都有一定的差异,主要表现在以下几个方面:

一、专项测试中,APP测试需要考虑下载、安装以及卸载的场景;而小程序则不需要,但是小程序有多种进入方式,比如扫描二维码进入、通过好友分享的链接进入等等。

二、在性能测试过程中,APP测试需要关注到流量,电量,CPU,内存占用等多种性能指标;而小程序因为是依附在APP内部会有很多的限制,所以主要关注页面的响应时长就好,具体来说包括页面的白屏时间、首屏时间、渲染时间。

三、在兼容性测试中,APP需要考虑到不同的操作系统(安卓和IOS)、屏幕的分辨率、不同品牌的设备机型等等;而小程序的测试基本上不用考虑这些,只要兼容当前APP的版本基本上没有太大的兼容问题。

四、从安全测试来看的话,APP需要重视前端和业务逻辑的安全性,也需要关注App的服务器和数据安全,需要考虑的东西会更多更复杂;而小程序重点关注前端页面的安全性以及业务逻辑的安全问题就好了,如果是微信小程序的话还可以通过阅读微信小程序技术文档来获取一些基本的安全技能和测试方法。

        另外,从开发的角度来看,小程序可以跨越安卓和苹果平台,因此开发周期更短,开发成本更低;而且小程序的发布也比APP更加的简单快捷,APP发布需要向十几个应用商店提交资料,流程繁琐;小程序只需要提交到微信公众平台审核就可以了。

        最后,从用户的角度来看,小程序不用下载安装,使用起来很方便,而且不使用的时候不占内存,使用时所占用的内存也不会太大;还有就是小程序不会像APP那样有大量的广告消息推送,只能通过固定的模板在APP内推送,这样给用户的体验也是不错的。

        当然小程序也存在一些弊端,比如说流畅度上如果遇到切换界面的层级较深、加载动态数据的时候可能就会出现卡顿现象;app在界面切换的流畅度以及加载数据的响应速度都会比小程序更好一些。

参考资料

        本文记录的也是我自己的一些理解,以后要是有新的想法也会继续补充,以下是一些参考资料,大家可以继续学习。

软件测试中app测试和小程序测试有什么区别? - 知乎 (zhihu.com)icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/644402942#:~:text=%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%9F%BA%E4%BA%8E%E6%B5%8F%E8%A7%88%E5%99%A8%EF%BC%8C%E6%89%80%E4%BB%A5%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%9B%B4%E6%96%B0%E4%BB%A5%E5%90%8E%EF%BC%8C%E4%B8%8D%E9%9C%80%E8%A6%81%E7%94%A8%E6%88%B7%E6%89%8B%E5%8A%A8%E6%9B%B4%E6%96%B0%EF%BC%8C%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BC%9A%E5%90%8C%E6%AD%A5%E6%9B%B4%E6%96%B0%E3%80%82%20%E8%80%8Capp%E4%B8%8D%E8%83%BD%E4%BF%9D%E6%8C%81%E4%B8%80%E8%87%B4%EF%BC%8C%E9%99%A4%E9%9D%9E%E5%BC%BA%E5%88%B6%E6%9B%B4%E6%96%B0%E3%80%82%20%E6%89%80%E4%BB%A5%EF%BC%8C%E5%A6%82%E6%9E%9Capp%E4%BF%AE%E6%94%B9%E4%BA%86%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%86%85%E5%AE%B9%EF%BC%8C%E4%B8%80%E8%88%AC%E4%BC%9A%E6%9C%89%E7%89%88%E6%9C%AC%E5%85%BC%E5%AE%B9%E6%80%A7%E9%97%AE%E9%A2%98%EF%BC%8C%E9%9C%80%E8%A6%81%E6%89%80%E6%9C%89%E5%85%BC%E5%AE%B9%E7%9A%84%E7%89%88%E6%9C%AC%E9%83%BD%E8%BF%9B%E8%A1%8C%E5%9B%9E%E5%BD%92%E6%B5%8B%E8%AF%95%E3%80%82,%E5%85%B6%E4%BB%96%E7%89%B9%E6%AE%8A%E6%83%85%E5%86%B5%20%E5%9B%A0%E4%B8%BA%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%9F%BA%E4%BA%8Eweb%E7%9A%84%EF%BC%8C%E6%89%80%E4%BB%A5%E5%9F%BA%E6%9C%AC%E5%8F%AF%E4%BB%A5%E6%8C%89%E7%85%A7web%E6%B5%8B%E8%AF%95%E7%9A%84%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9%E5%8E%BB%E6%B5%8B%E3%80%82%20%E8%80%8Capp%E6%B5%8B%E8%AF%95%E5%9B%A0%E4%B8%BA%E6%98%AF%E5%9F%BA%E4%BA%8E%E7%B3%BB%E7%BB%9F%E5%BA%95%E5%B1%82%E7%9A%84%EF%BC%8C%E6%89%80%E4%BB%A5%E8%BF%98%E9%9C%80%E8%A6%81%E6%B3%A8%E6%84%8F%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E4%BA%8B%E9%A1%B9%2C%E4%B8%80%E8%88%AC%E6%98%AF%E5%9F%BA%E4%BA%8E%E6%89%8B%E6%9C%BA%E9%80%9A%E8%AE%AF%E8%AE%BE%E5%A4%87%E7%9A%84%E5%B8%B8%E8%A7%81%E5%9C%BA%E6%99%AF%EF%BC%8C%E6%AF%94%E5%A6%82%E9%80%9A%E8%AF%9D%EF%BC%8C%E8%BF%90%E8%90%A5%E5%95%86%EF%BC%8C%E6%8E%A5%E6%94%B6%E7%9F%AD%E4%BF%A1%E7%AD%89%E5%AF%B9app%E7%9A%84%E5%BD%B1%E5%93%8D%E3%80%82软件APP和小程序的区别 - 知乎 (zhihu.com)icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/66148879【干货】小程序和App有什么区别? - 知乎 (zhihu.com)icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/80640286小程序和App的优劣对比和区别 - 知乎 (zhihu.com)icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/250164089

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android7以上 代码安装APK

一、所需权限 <!--请求安装APK的权限--> <uses-permission android:name"android.permission.REQUEST_INSTALL_PACKAGES" /> <!--写如外部存储的权限--> <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE"…

【DevOps-03】Build阶段-Maven安装配置

一、简要说明 下载安装JDK8下载安装Maven二、复制准备一台虚拟机 1、VM虚拟复制克隆一台机器 2、启动刚克隆的虚拟机,修改IP地址 刚刚克隆的虚拟机 ,IP地址和原虚拟的IP地址是一样的,需要修改克隆后的虚拟机IP地址,以免IP地址冲突。 # 编辑修改IP地址 $ vi /etc/sysconfig…

内存管理的概念-第四十一天

目录 前言 内存空间的分配与回收 内存空间的扩展 地址转换 存储保护 上下限寄存器 重定位寄存器和界地址寄存器 本节思维导图 前言 操作系统作为系统资源的管理者&#xff0c;当然也需要对内存进行管理&#xff0c;要管理什么呢&#xff1f; 操作系统复杂内存空间的分…

Lazada商品详情API(lazada.item_get)进行商品的实时更新

一、引言 在数字时代&#xff0c;电商平台如Lazada成为了商品交易的重要场所。为了保持竞争力&#xff0c;实时更新商品信息变得至关重要。Lazada提供的商品详情API&#xff08;lazada.item_get&#xff09;为开发者提供了一个高效的方式来获取并更新商品数据。本文将深入探讨…

RH850从0搭建Autosar开发环境【52】- Davinci Configurator拓展之手动添加Can接收与发送报文(下)

Davinci Configurator拓展之手动添加Can接收与发送报文 一、COM模块1.添加Rx signal2.添加Tx signal3.添加COM IPDU - Rx4.添加COM IPDU - Tx二、PDUR模块1.添加PduRRoutingPath_MyRx2.添加PduRRoutingPath_MyTx三、查看配置参数总结完善拓展的能力建设,在Configurator里面手动…

SpringBoot全局Controller返回值格式统一处理

一、Controller返回值格式统一 1、WebResult类 在 Controller对外提供服务的时候&#xff0c;我们都需要统一返回值格式。一般定义一个 WebResult类。 统一返回值&#xff08;WebResult类&#xff09;格式如下&#xff1a; {"success": true,"code": 2…

从vue小白到高手,从一个内容管理网站开始实战开发第四天,使用Element UI构建页面-页面路由的配置-登录(二)

昨天我们在项目中创建了一个登录页面,但是发现登录页面无法打开,始终显示vue的默认页面。昨天也说了是因为我们没有给项目配置路由,那么今天我们就看看怎么给我们的项目配置路由,让我们可以通过浏览器的地址栏来访问到我们的页面。 一、项目正式开发前的准备工作 之前我们…

prometheus 基本配置介绍

文章目录 前传globalalertingrule_filesscrape_configs外传 前传 prometheus grafana的安装使用&#xff1a;https://nanxiang.blog.csdn.net/article/details/135384541 本文说下监控nginx&#xff0c;prometheus grafana nginx 安装配置和使用 Docker 镜像下载地址&#x…

数据库-创建表

create table 表的名字([表定义选项]表定义选项 (列名1 类型 &#xff0c;列名2 类型&#xff0c;…&#xff0c;n 类型】 create table Class(class_id int ,class_name varchar(128),class_teachar varchar(64)) ;create table 表的名字([表定义选项][表的单选项] [表的分区…

express+mongoDB开发入门教程之mongoose使用讲解

系列文章 node.js express框架开发入门教程 expressmongoDB开发入门教程之mongoDB安装expressmongoDB开发入门教程之mongoose使用讲解 文章目录 系列文章前言一、Mongoose是什么&#xff1f;二、Mongoose安装三、Mongoose在express项目中使用步骤一、连接mongoDB数据库步骤二、…

模拟器怎么代理IP?代理IP对手机设置模拟器有哪些影响?

一、代理IP的基本概念和作用流冠代理IP是一种网络服务&#xff0c;可以帮助用户隐藏自己的真实IP地址&#xff0c;通过代理服务器进行网络请求&#xff0c;从而保护用户的隐私和安全。在模拟器中&#xff0c;代理IP的作用也是如此&#xff0c;可以帮助模拟器隐藏真实的IP地址&a…

javascript 常见工具函数(一)

1.将JSON数据根据相同值&#xff0c;进行归类划分&#xff1a; var arr [{ time: "1", img: "22222" }, { time: "2", img: "555" }, { time: "1", img: "888888" }, { time: "2", img: "4444&q…

MySQL Too many connections报错

MySQL 时不时出现Too many connections报错&#xff0c;重启MySQL就好了 但是过段时间又出现 一、解决方案&#xff1a; 1.修改mysql最大连接数 set global max_connections500; 以上是修改立即生效的&#xff0c;重启MySQL就会还原回去 在MySQL配置文件修改 max_connection…

力扣刷题-二叉树-二叉搜索树中的搜索

700 二叉搜索树中的搜索 给定二叉搜索树&#xff08;BST&#xff09;的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在&#xff0c;则返回 NULL。 例如&#xff0c; 在上述示例中&#xff0c;如果要找的值是 5&#x…

UDP单播

CMakeLists.txt文件中添加如下行&#xff1a; link_libraries(ws2_32) 1.发送端 #include <iostream> #include <winsock2.h> #include <cstdio>#pragma comment(lib, "Ws2_32.lib") // Link with ws2_32.libint main() {1.Initialize winsock…

JS 手写 new 函数

工作中我们经常会用到 new 关键字&#xff0c;new 一个构造函数生成一个实例对象&#xff0c;那么new的过程中发生了什么呢&#xff0c;我们今天梳理下 创建一个对象对象原型继承绑定函数this返回对象 先创建一个构造函数&#xff0c;原型上添加一个方法 let Foo function (n…

MySQL中NULL值与空值的坑

1. 表达含义 在mysql中 空值&#xff1a;表示一个空字符或零长度的字符串&#xff0c;可以使用空引号 来表示&#xff0c;是已被定义的值&#xff1b; NULL值&#xff1a;NULL表示缺少一个已知或适当的值&#xff0c;是未被定义的值&#xff1b;。 2. 比较运算 空值&…

03、Kafka ------ CMAK(Kafka 图形界面管理工具) 下载、安装、启动

目录 CMAK&#xff08;Kafka 图形界面管理工具&#xff09;下载安装启动打开 cmak 图形界面 CMAK&#xff08;Kafka 图形界面管理工具&#xff09; Kafka本身并没有提供Web管理工具&#xff0c;而是推荐使用bin目录下各种工具命令来管理Kafka&#xff0c; 这些工具命令其实用起…

vue3中标签form插件

想写一个系统&#xff0c;对八字进行标注&#xff0c;比如格局&#xff0c;有些八字就有很多格局&#xff0c;于是就想着使用el-tag但是&#xff0c;form表单中如何处理呢&#xff1f; 这个时候&#xff0c;就需要自己写一个,modelValue是表单的默认属性 <template><…

C++重温笔记(八): C++异常

1. 写在前面 c在线编译工具&#xff0c;可快速进行实验: https://www.bejson.com/runcode/cpp920/ 这段时间打算重新把c捡起来&#xff0c; 实习给我的一个体会就是算法工程师是去解决实际问题的&#xff0c;所以呢&#xff0c;不能被算法或者工程局限住&#xff0c;应时刻提…