当前位置: 首页 > news >正文

微信小程序测试要点

一、什么是小程序?

可以将小程序理解为轻便的APP,不用安装就可以使用的应用。用户通过扫一扫或者搜索的方式,就可以打开应用。

小程序最主要的特点是内嵌于微信之中,而使用小程序的目的是为了能够方便用户不在受下载多个APP的烦扰。

总结如下:

  • 是一种不需要下载安装即可使用的应用,是内嵌在微信APP里面的一种新形态软件。
  • 它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。
  • 同时体现了“用完即走”的理念,用户不用关心是否安装太多应用以及卸载的问题。

二、小程序基本功能(通用)

1.入口:小程序里边搜索、朋友推荐、扫描二维码

2.小测序自带功能-右上角...:发送给朋友、添加到我的小程序、设置、反馈与投诉、重新进入小程序、成长守护防沉迷

右上角 离开按钮

3.小程序列表,删除小程序 提示:删除此使用记录将同时删除其数据

4.关闭授权

进入权限设置界面,关闭“用户信息”右侧的按钮即可。

有的小程序还会有“地理位置”信息,你也可以一并关闭。

5.重新授权

欢迎来到xx 为了提供更优质的服务,XX需要获取以下信息:你的公开信息(昵称 头像等) 确认按钮

 

三、小程序测试点

1)权限测试

需要检查以下几种情况下微信用户访问的权限

a、未授权微信登录小程序

未授权时,一般使用一些业务功能的时候,都会弹出提醒:先授权再操作对应功能。或者在提交数据到后台的时候,会提示补充相关身份信息才能提交成功。

b、已授权微信登录小程序

授权微信访问小程序,意味着自己的微信账号可被小程序管理方所获取,自动以微信的身份行使业务操作权限,比如咨询、支付、数据查询等。

c、同一微信号在不同手机端登录授权查看数据权限

同一微信号在不同手机微信端授权登录同一小程序之后,所能查看的数据和操作的权限都应该是同步一致的。

2)功能测试

a、按功能模块测试:根据主要业务模块

b、按业务流程测试:根据实际业务流

c、按数据流向测试:验证输入数据和输出数据是否一致 、数据存储到数据库 是否与界面填写的一致等等

d、同一功能不同的入口有效性的检查:同一个功能 不同入口 测试

e、交互性检查 :界面友好提示、网络错误提示、数据异常提示是否用户一眼就知道下一步该做什么

3)界面测试

设计是否符合高保真要求、按钮尺寸颜色是否合理、横竖屏切换操作、

4)兼容性

小程度和微信上的其他小程序、微信版本、手机平台、不同网络状态、系统

a. 操作系统兼容性

常规的手机端OS为:Android(11.0/10.X/…)、IOS(14.3/13.x/12.x…)、

电脑端:windows系统 和IOS系统

b. 屏幕兼容性测试

尤其是1rpx的像素经常在iphone7p上出现断线的情况。

c. 微信版本兼容性(8.0.1/7.X/...)

5)交互

微信到小程序、与手机系统自带的app交互、与微信其他功能(收货地址、卡券等等)交互

6)易用性

a、导航

定位到页面某个模块所在位置,回到顶部或底部,导航条的收展,导航标签的文字是否容易理解。

b、功能入口

重要且常用业务的功能入口,是否在比较显眼的位置,是否方便搜索,业务操作过程是否便于大多数用户使用和查看。

c、上下层级进入和返回

首页<–>列表页、列表页<–>详细页 、首页<–>详细页。不同层级之间的进入和返回实现是否有相应按键易操作。

d、字体、图片、动态交互效果

字体:标签、标题、内容、动态播放字体…

图片:轮播图、背景图、封面图、触屏产生的交互图…

e、其他

页面的响应时间、资源占用、渲染时间、耗电量、白屏

7)、安全测试

微信公众号授权、小程序账号与APP账号的关联

小程序的升级更新、分享、添加删除我的小程序、取消授权

8)、性能测试

包括页面的白屏时间,首屏时间,资源占用,页面渲染时间,帧率等等。

 

四、根据小程序API 总结能用到的测试点

  1. 小程序授权登录、登录状态过期重新登录、获取当前账号信息、获取当前用户信息、
  2. 修改微信字体大小(我-设置-通用-字体大小),看适配情况。
  3. 修改微信设置的语言,看适配情况
  4. 根据不同手机的操作系统及版本 如Android 最新版 、低配手机 、苹果手机
  5. 权限相关:蓝牙、地理位置(模糊定位和精准定位)、wifi系统开关、在竖屏正方向下的安全区域等
  6. 查看公众号文章中插入的小程序,是否能正常使用
  7. 消息提示框,title 文本最多显示 7 个汉字长度。测试点大于7个汉字或小于7个汉字
  8. 网络不好的情况下,是否显示 loading 提示框
  9. 底部导航菜单-tabBar 某一项的右上角的红点,看小红点是否能正常显示
  10. 手机应用全部设置为网络字体,看小程序中的字体是否适配
  11. 页面下拉刷新
  12. 数据缓存: 保存数据到本地缓存 删除本地缓存
  13. 地图:获取地图中心的经纬度、
  14. 图片:保存图片到系统相册、全屏预览图片、从本地选择图片上传或使用相机拍照
  15. 视频:保存视频到系统相册、拍摄视频或从本地相册中选视频、播放视频、暂停视频、停止视频、设置倍速播放、进入全屏、退出全屏、 跳转到指定位置、发送弹幕、
  16. 音频:开始播放语音、结束播放语音、暂停正在播放的语音、语音转文字功能?
  17. 小程序跳转:打开另外一个小程序、返回到上一个小程序
  18. 发起微信支付:wx.requestPayment 支付成功、支付失败
  19. 收货地址:获取用户收货地址 wx.chooseAddress,看应用是否能将个人信息-我的地址的地址带过来
  20. 微信运动:获取用户过去三十天微信运动步数 wx.getWeRunData, 实际业务要求显示当前的步数,可将2处的数据做比较,是否一致
  21. 剪切板:获取系统剪切板的内容-we.getgetClipboardData,从微信聊天记录里复制的信息,看是否能粘贴到小程序中并正常显示
  22. 网络:监听网络状态变化时间-wx.onNetworkStatusChange 、获取网络类型 -wx.getNetworkType,网络无连接或网络不好的情况下,是否能正常提示网络类型不好了,请检查网络
  23. 电话:拨打电话-wx.makePhoneCall 小程序中联系客服,是否能正常拨打电话
  24. 性能:监听内存不足告警事件-wx.onMemoryWarning 手机内存不足,是否能给出警告
  25. 扫码:掉起客户端扫码界面进行扫码 wx.scanCode 小程序中扫一扫功能是否能正常使用

 

相关文章:

微信小程序测试要点

一、什么是小程序&#xff1f; 可以将小程序理解为轻便的APP&#xff0c;不用安装就可以使用的应用。用户通过扫一扫或者搜索的方式&#xff0c;就可以打开应用。 小程序最主要的特点是内嵌于微信之中&#xff0c;而使用小程序的目的是为了能够方便用户不在受下载多个APP的烦…...

TCP网络通信编程之netstat

【netstat指令】 【说明】 &#xff08;1&#xff09;Listening 表示某个端口在监听 &#xff08;2&#xff09;如果有一个外部程序&#xff08;客户端&#xff09;连接到该端口&#xff0c;就会显示一条连接信息 &#xff08;3&#xff09;指令netstat -anb 可以参看是那个…...

Stable Diffusion:网页版 体验 / AI 绘图

一、官网地址 Stable Diffusion Online 二、Stable Diffusion AI 能做什么 Stable Diffusion AI绘图是一种基于Stable Diffusion模型的生成式AI技术&#xff0c;能够生成各种类型的图像&#xff0c;包括数字艺术、照片增强和图像修复等。以下是一些可能的应用&#xff1a; …...

一文了解JavaScript 与 TypeScript的区别

TypeScript 和 JavaScript 是两种互补的技术&#xff0c;共同推动前端和后端开发。在本文中&#xff0c;我们将带您快速了解JavaScript 与 TypeScript的区别。 一、TypeScript 和 JavaScript 之间的区别 JavaScript 和 TypeScript 看起来非常相似&#xff0c;但有一个重要的区…...

从更广阔的角度看待产业互联网,它展现的是一次重构的过程

如果产业互联网仅仅只是在传统的供求关系之下&#xff0c;如果产业互联网仅仅只是在传统的平衡之下&#xff0c;缺少了一次对于供求关系的重新建构&#xff0c;那么&#xff0c;所谓的产业互联网&#xff0c;依然是无法跳出以往的发展困境&#xff0c;依然是无法摆脱以往的发展…...

【PHP】简记问题:使用strtotime(‘-1 month‘, time)获取上个月第一天时间戳出错

发生场景 在7月31号是查看统计上个月订单购买总金额&#xff0c;查询结果为0 $preMonthStart strtotime(date(Ym01, strtotime("-1 month"))); $curMonthStart strtotime(date(Ym01)); # 统计上月份实际订单金额 $sql "SELECT count(money) FROM orders WH…...

舌体分割的初步展示应用——依托Streamlit搭建demo

1 前言 去年在社区发布了有关中医舌象诊断的博文&#xff0c;其中舌象识别板块受到了极高的关注和关注。&#x1f60a;最近&#xff0c;我接触到了Python的Streamlit库&#xff0c;它可以帮助数据相关从业人员轻松搭建数据看板。本文将介绍如何使用Streamlit构建舌体分割的演示…...

从Vue层面 - 解析发布订阅模式和观察者模式区别

目录 前言一、发布订阅模式什么是发布订阅模式&#xff1f;应用场景 二、观察者模式1&#xff09;什么是观察者模式&#xff1f;2&#xff09;应用场景3&#xff09;vue中的观察者模式观察者&#xff08;订阅者&#xff09; - Watcher目标者&#xff08;发布者&#xff09; - D…...

面向对象之_多态_1

目录 一. 多态 多态是什么 二. 多态的构成条件 1. 虚函数 2. 虚函数重写&#xff08;隐藏&#xff09; 3. 父类型的引用或者指针调用 4. 多态的特殊情况 1) 子类可以不加 virtual 关键字 2) 协变 三. 关键字 1. virtual 2. final 3. override 四. 多态的原理 1. 虚…...

Spring学习笔记之spring概述

文章目录 Spring介绍Spring8大模块Spring特点 Spring介绍 Spring是一个轻量级的控制反转和面向切面的容器框架 Spring最初的出现是为了解决EJB臃肿的设计&#xff0c;以及难以测试等问题。 Spring为了简化开发而生&#xff0c;让程序员只需关注核心业务的实现&#xff0c;尽…...

旧项目导入Eclipse时文件夹看起来乱七八糟,无从下手的解决办法(无main或webapp等文件夹)

首先&#xff0c;如果没有main或java/resource/webapp等文件夹&#xff0c;那就自己在src下面创建一个&#xff0c;只要对应关系与我下图左边红框一致即可&#xff0c;创建完之后java文件移到java文件夹下&#xff0c;资源文件例如.properties、老项目的数据源定义.INI文件、日…...

Reinforcement Learning with Code 【Code 2. Tabular Sarsa】

Reinforcement Learning with Code 【Code 2. Tabular Sarsa】 This note records how the author begin to learn RL. Both theoretical understanding and code practice are presented. Many material are referenced such as ZhaoShiyu’s Mathematical Foundation of Rei…...

服务调用---------Ribbon和Feign

目录​​​​​​​ 1、Ribbon 1.1 Ribbon简介 1.2 Ribbon负载均衡 负载均衡原理 负载均衡策略 Ribbon和Nginx的区别 1.3 服务调用和Ribbon负载均衡实现 2、Feign&openFeign 3、Feign支持的配置 日志功能 连接池 feign-api远程包 1、Ribbon 1.1 Ribbon简介 Ribb…...

app自动化测试之Appium问题分析及定位

使用 Appium 进行测试时&#xff0c;会产生大量日志&#xff0c;一旦运行过程中遇到报错&#xff0c;可以通过 Appium 服务端的日志以及客户端的日志分析排查问题。 Appium Server日志-开启服务 通过命令行的方式启动 Appium Server&#xff0c;下面来分析一下启动日志&#…...

婚庆服务小程序app开发方案详解

开发一款婚庆行业服务小程序有哪些功能呢&#xff1f; 1、选择分类 选择婚庆、婚车、婚宴、司仪、彩妆、婚庆用品、跟拍、摄影等&#xff0c;筛选出对应的商家 2、选择商家 选择分类后&#xff0c;可以选择商家&#xff0c;查看各个商家的详细介绍情况。 3、选择服务套餐 各…...

集合简述

集合ListArrayListLinkedList SetHashSetTreeSet MapHashMapTreeMap 集合与数组的区别 集合 集合是java中的一个容器&#xff0c;可以在里面存放数据&#xff0c;容量可以发生改变 从集合框架结构可以分析得知&#xff1a; 1、集合主要分为Collection和Map两个接口 2、Collecti…...

常见的软件测试面试题汇总

一、 你们的测试流程是怎么样的&#xff1f; 答&#xff1a;1.项目开始阶段&#xff0c;BA&#xff08;需求分析师&#xff09;从用户方收集需求并将需求转化为规格说明书&#xff0c;接 下来在项目组领导会组织需求评审。 2.需求评审通过后&#xff0c;BA 会组织项目经理…...

学习笔记|大模型优质Prompt开发与应用课(二)|第二节:超高产文本生成机,传媒营销人必备神器

文章目录 01 文字写作技能的革新&#xff0c;各行各业新机遇四大类常见文字工作新闻记者的一天新闻记者的一天–写策划prompt 新闻记者的一天–排采访prompt生成结果prompt生成结果 大模型加持&#xff0c;文字写作我们如何提效营销创作营销创作-使用预置法为不同平台生成文案p…...

Linux基础-4

1、linux高阶命令 1.1、find 在linux文件系统中&#xff0c;用来查找一个文件放在哪里了。 //举例 find /etc -name "interfaces" //总结&#xff1a; //(1)什么时候用find&#xff1f; //当你知道你要找的文件名&#xff0c;但是你忘记了它被放在哪个目录下&…...

oracle-创建函数

oracle自定义函数 核心提示&#xff1a;函数用于返回特定数据。执行时得找一个变量接收函数的返回值; 语法如下: create or replace function function_name ( argu1 [mode1]datatype1, argu2 [mode2] datatype2, … ) return datatype is begin end; 执行 var v1 varchar2(1…...

【Ansible 的脚本 --- playbook 剧本】

目录 一、playbook 剧本介绍二、示例1、运行playbook2、定义、引用变量 三、使用playbook部署lnmp集群 一、playbook 剧本介绍 playbooks 本身由以下各部分组成 &#xff08;1&#xff09;Tasks&#xff1a;任务&#xff0c;即通过 task 调用 ansible 的模板将多个操作组织在…...

ubuntu释放缓存

sudo sysctl vm.drop_caches1 sudo sysctl vm.drop_caches2 sudo sysctl vm.drop_caches3释放页面缓存&#xff1a; $ sudo sysctl vm.drop_caches1释放目录项和索引节点缓存&#xff1a; $ sudo sysctl vm.drop_caches2释放页面缓存、目录项和索引节点缓存&#xff1a; $ sudo…...

实用调试技巧(1)

什么是bug&#xff1f;调试是什么&#xff1f;有多重要&#xff1f;debug和release的介绍。windows环境调试介绍。一些调试的实例。如何写出好&#xff08;易于调试&#xff09;的代码。编程常见的错误。 什么是Bug 我们在写代码的时候遇到的一些问题而导致程序出问题的就是Bu…...

uniapp:H5定位当前省市区街道信息

高德地图api&#xff0c;H5定位省市区街道信息。 由于uniapp的uni.getLocation在H5不能获取到省市区街道信息&#xff0c;所以这里使用高德的逆地理编码接口地址接口&#xff0c;通过传key和当前经纬度&#xff0c;获取到省市区街道数据。 这里需要注意的是&#xff1a;**高德…...

自然语言处理从入门到应用——LangChain:提示(Prompts)-[提示模板:部分填充的提示模板和提示合成]

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 部分填充的提示模板 提示模板是一个具有.format方法的类&#xff0c;它接受一个键值映射并返回一个字符串&#xff08;一个提示&#xff09;&#xff0c;以传递给语言模型。与其他方法一样&#xff0c;将提示模板进行…...

论文笔记--GloVe: Global Vectors for Word Representation

论文笔记--GloVe: Global Vectors for Word Representation 1. 文章简介2. 文章概括3 文章重点技术3.1 两种常用的单词向量训练方法3.2 GloVe3.3 模型的复杂度 4. 文章亮点5. 原文传送门6. References 1. 文章简介 标题&#xff1a;GloVe: Global Vectors for Word Representa…...

day57|● 647. 回文子串 ● 516.最长回文子序列

647. 回文子串 https://leetcode.cn/problems/palindromic-substrings/solution/by-lfool-2mvg/ Given a string s, return the number of palindromic substrings in it. A string is a palindrome when it reads the same backward as forward. A substring is a contiguous…...

docker compose.yml学习

docker compose 安装docker-compose sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composechmod x /usr/local/bin/docker-composeln -s /usr/local/bin/docker-…...

【业务功能篇55】Springboot+easyPOI 导入导出

Apache POI是Apache软件基金会的开源项目&#xff0c;POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 Apache POI 代码实现复杂&#xff0c;学习成本较高。 Easypoi 功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出…...

对顶堆算法

对顶堆可以动态维护一个序列上的第k大的数&#xff0c;由一个大根堆和一个小根堆组成&#xff0c; 小根堆维护前k大的数(包含第k个)大根堆维护比第k个数小的数 [CSP-J2020] 直播获奖 题目描述 NOI2130 即将举行。为了增加观赏性&#xff0c;CCF 决定逐一评出每个选手的成绩&a…...