6月30日功能测试Day10
3.4.4拼团购测试点
功能位置:营销-----拼团购
后台优惠促销列表管理可以添加拼团,查看拼团活动,启动活动,编辑活动,删除活动。
可以查看拼团活动中已下单的订单以状态
需求分析
功能和添加拼团
商品拼团活动页
3.4.5APP搜索测试
3.4.6APP支付
3.4.7APP评论
3.5APP专项测试
3.5.1APP兼容性
APP在不同的机型上由于软件、硬件等不同可能出现各种各样的问题,因此需要做兼容性测试
例如
手机型号
操作系统版本(安卓、鸿蒙、ios)
分辨率屏幕尺寸(1.5k、2k、1080P)
网络(wifi、5G、4G)
应用兼容性
手机硬件
物理按键:home键、电源键、音量调节
外部硬件:耳机、蓝牙
操作系统设置:wlan设置、系统时间调节、Lbs定位
与其他APP兼容:有后台播放功能的APP,例如音乐
拓展
如何选择品牌、机型、系统、分辨率、网络?
查看线上排名网站(流量研究院)
browser http://tongji.baidu.com/data/browser
比如
测试网站
3.5.2APP安装卸载升级
APP是客户端程序,客户端程序就需要提前进行安装才能使用,因此需要测试安装、卸载、升级操作。
安装测试关注点:
正常场景:
在不同的操作系统版本上安装
从不同的安装渠道安装(APP商城、手机助手、直接下载apk或者ipa文件安装)
不同的安装路径(安装到手机上、安装到SD卡上)
异常场景:
安装时出现异常(关机、断网),恢复后能否继续安装
安装时存储空间不足
安装时手动取消后再次安装
正在运行时覆盖安装
低版本覆盖安装高版本
卸载后安装(卸载会是否会清除数据)
卸载测试关注点:
正常卸载(APP手动卸载、工具(第三方软件)卸载)
运行时卸载(后台运行)
取消卸载(第三方软件\二次弹窗确认时取消)
卸载异常中断(关机)
卸载后无数据残留(给用户提示确认,如果用户同意残留,可以保留数据;如果用户拒绝残留,不可以保留数据)(不做任何确认提示,默认需要清空残留数据)
升级测试关注点:
从临近版本升级(上一次发布的版本)
跨版本升级(历史发布过的版本): 当前版本是n n-1升级n n-2升级n
不同渠道升级(应用商城、手机助手)
升级提醒成功(可不提醒、可以提示升级、强制升级)
升级前是否提醒(消息推送提示升级\强制升级不提醒)
-
自己自研升级系统(日常升级/强制升级)
-
使用第三方(日常升级/强制升级)
应用内升级时非WIFI提醒
版本是否有升级能力
注意事项
升级后要观察升级前的数据正常
(当数据结构改变而开发没有处理好时很容易升级前的数据混乱)
3.5.3APP交叉事件测试
又叫冲突测试或者干扰测试,是指一个功能正在执行过程中,另外一个事件或操作对该过程进行干扰的测试。例如:在App前台/后台运行同时接听来电或者下载文件等。
APP运行时接打电话
APP运行时收发消息
APP运行时查看应该推送
APP运行接上蓝牙设备
APP运行时接受文件弹窗提醒
APP运行时旋转屏幕
APP运行时切换网络(4G、5G、wi-fi)
APP运行时使用相机、计算机等手机自带应用
APP运行时点亮告警、插拔充电器
3.5.4Push消息测试
什么是Push消息?
Push消息:是APP给你推送的各种消息
通常手机中“设置”--"通知"就是进行push消息的设置,因此需要进行push消息测试。
什么时候会使用Push消息?
消息推送场景:
产品角度:功能需要,如:咨询类产品的新闻推送,工具类产品的公告推送、快递签收通知,等等。
运营角度:活动运营需要,如:电商类产品的促销活动;召回用户/提高活跃度等
Push消息测试关注点
3.5.5用户体验测试关注点
3.6APP性能测试
学习目标:
能使用SoLoPi完成APP的性能测试(CPU、内存、流畅度、流量、电量、启动速度、稳定性)
能独立说出常用APP命令格式(内存、CPU、安装、卸载、流量、启动时间、抓取日志)
能使用命令测试APP客户端的稳定性(monkey)
3.6.1SoLoPi
是一个无线化、非侵入式的Android自动化工具,具备录制回放、性能测试等功能
soloPi安装:
免费,可独立安装的soloPi(APK、IOS无该版本),像普通APP一样安装。
3.6.2性能测试常见指标
性能:是衡量APP质量的一个重要指标
常见的性能指标:内存、cpu、流量、电量、启动速度、流畅度、稳定性
关注点:
APP使用时对cpu、内存的占用情况
app使用时是否流畅
APP使用时,电量流量的消耗情况
APP的启动时间是否过长
APP是否能长时间稳定运行
3.6.3内存数据查看
内存泄漏:内存的曲线持续增长(赠的远比减的多)
内存溢出:一定因为有内存泄漏才会出现,内存持续增加突然降为0(应用停止运行)
3.6.4CPU
基线:
如果有基线要求,cpu曲线图是否存在长期超过基线的现象(min)
如果没有基线,行业默认90%
CPU占用过高可能出现的问题:
手机发烫、页面卡顿、电量消耗严重
快速恢复:
清空后台运行的进程
3.6.5流量和电量消耗
SoloPi工具提供了流畅度的监控指标:网络
网络:
即网络流量,可以自动统计APP每秒上行和下行的报文大小
常用的流量测试方法:
统计测试法:利用工具获取应用程序收发的数据报文,统计对应流量
流量:
使用了多长时间,消耗了多少流量
测试怎么测:例如:1小时持续刷新,查看流量消耗
电量:
未充电情况下
使用了多长时间,消耗了多少电量
测试怎么测:例如:1小时持续刷新,查看电量消耗
面试题:
打开页面速度过慢,如何优化?
数据的压缩
不同数据格式的采用
控制访问的频次
只获取必要的数据
缓存机制
针对不同的网络类型设置不同的访问策略
常见的耗电量大的场景:
定位,尤其是调用GPS定位
网络传输,尤其是非WiFi环境
屏幕亮度
CPU运算:复杂的运算逻辑、死循环等会直接导致CPU负载过高,会导致耗电
wake-locker(锁屏-解锁)时间和次数
电量测试方法
电量的测试结果分析:
我们可以根据不同的业务场景测试出对应的电量消耗数据,但是是否有问题需要对比分析,对比方法:
与基准数据对比。(基准数据来自于产品经理,或者以往数据积累)
横向对比,拉上竞品一起测(目前多采用这种方式)
同样的网络、手机,相同的测试场景,最后对比我们的产品和竞品在耗电量反面的差距,给出优化建议
3.6.6获取启动时间
APP启动测试:
测试从启动app到主页面显示的时间,打开一个app等待的时间过长时,就会有一种较差的体验
冷启动:APP离线的状态下启动
热启动:APP后台运行的状态下启动,时间短
3.6.7流畅度
什么是流畅度?
当一张张图片切换速度足够快的时候会欺骗我们的眼睛,以为是连续的动作
帧率FPS:
GPU在一秒内绘制的帧数(简单理解为一秒内呈现给用户的图片数)
FPS值越高画面越流畅
注意事项:
当页面多为静态时,FPS值是很小正常的
页面数据多为动态加载时,FPS值比较大
3.6.8模拟器常见异常处理
问题1:devices offline(设备离线)解决方案:重启模拟器
问题2:devices not found(找不到设备)解决方案:重启模拟器
问题3:more than one devices emulater(连接多个设备)
获取设备列表:adb devices
断开不需要设备:adb disconnect 手机ip
3.6.9APP稳定性
稳定性测试:
通过长时间对应用程序进行无序操作,检验应用程序是否会出现异常。如闪退crash、无响应ANR等。
稳定性测试工具——Monkey
Monkey是一个命令行工具,有安卓官方提供
测试人员可以通过Monkey来模拟用户的触摸、点击、滑动以及系统按键等操作(操作事件都是随机的),从而实现对APP压力的测试和稳定性测试。(具体Monkey的使用在后续app自动化章节介绍)
开发人员结合monkey打印的日志和系统打印的日志,修改测试中出现的问题。
稳定性测试的时机:
一般需要等产品稳定了,bug比较少的时候,再用monkey去测试待测试应用的稳定性
3.7APP命令格式
为什么要学习命令?
效率高
面试会问
工具的本质也是调用命令
解决工具的能力边界
3.7.1ADB工具
ADB是一个通用命令行工具,也是Android软件测试开发工作者常用的调试工具
ADB可以用来安装卸载软件、管理安卓系统软件、启动测试、抓取操作日志。
3.7.2常用命令
1.查看已连接的设备列表:adb devices
2.断开连接设备:adb disconnect 手机 ip
3.连接设备:adb connect 手机 ip(保证手机和电脑处于同一网段)
4.开启adb服务:adb start-server
5.关闭adb服务:adb kill-server
6.安装软件包:adb install /路径/软件包文件名( -r 保留数据 -t 强制覆盖 例如:adb install -r -t /路径/软件包名)
7.卸载软件:adb uninstall(app包名:apk包名)
列出手机装的所有app的包名:adb shell pm list packages
列出系统应用的所有包名:adb shell pm list packages -s
列出除了系统应用的第三方应用包名:adb shell pm list packages -3
8.获取当前窗口:Windows:adb shell dumpsys window | findstr mCurrentFocus
9.清除应用数据与缓存:adb shell pm clear (apk包名)
10.获取APP启动时间:
格式:adb shell am start -W 包名/activity名
常见参数:-s 表示每次启动前先强行停止 -r 表示重复测试次数(启动次数)-w 获取时间
常见3个指标:
ThisTime:当前activity的时间
TotalTime:应用的启动时间,包括创建进程、App初始化、Activity初始化到界面显示
WaitTime:前一个应用activity pause的时间 + TotalTime
11.获取内存:
格式:adb shell dumpsys meminfo <包名>
12.查看cpu占用情况:
13.获取APP使用流量
1.获取UserID(返回数据位userID=)
adb shell dumpsys package 包名 | findstr userId
2.获取上行流量(返回数据单位bytes)
adb shell cat proc/uid_stat/userId/tcp_snd
3.获取下行流量(返回数据单位bytes)
adb shell cat proc/uid_stat/userId/tcp_rcv
3.5.3稳定性测试(Monkey)
1.adb shell monkey -p 包名 数字 -v > 本地文件
2.-v -v -v最高日志
3.常用命令:adb shell monkey -p 包名 10000 -v-v-v --throttle 500 > 本地文件
总结:
功能测试结束,6月份学习动力不足,学习效率极度降低,7月1日复习前面知识,然后加快进度。8号开始实习,边实习边学习!!!
相关文章:

6月30日功能测试Day10
3.4.4拼团购测试点 功能位置:营销-----拼团购 后台优惠促销列表管理可以添加拼团,查看拼团活动,启动活动,编辑活动,删除活动。 可以查看拼团活动中已下单的订单以状态 需求分析 功能和添加拼团 商品拼团活动页 3…...

无人机对地面运动目标定位---获取目标的移动方向和速度
目录 一、引子 我们利用单目无人机通过等时间间隔拍照的形式对地面某移动目标进行定位,当前,我们已经获得了每张相片上该目标的三维坐标,并且知道该无人机在飞行过程中拍照的时间间隔,那么我们就可以通过一定的计算,得…...

管理才是最根本的核心竞争力
相信大家对于华为提出的“管理是核心竞争力”“管理才是企业的核心竞争力”等言论并不陌生,而华为的确也一直践行这样的理念。比如,在华为发展历史上很艰难的2002年,华为仍然坚持重点抓管理。总裁任正非后来提到:“2002年华为快崩…...
Raid阵列中硬盘损坏后,新硬盘可以直接换上吗?
RAID更换的方式基本类似,这里以RAID 1为例。 1. 关闭服务器:确保服务器或RAID控制器处于关闭或已停止状态,以避免数据写入或损坏。确定损坏硬盘:通过RAID控制器的管理界面,确定哪一块硬盘在RAID 中损坏。 2. 拆卸原硬…...

Python爬虫康复训练——笔趣阁《神魂至尊》
还是话不多说,很久没写爬虫了,来个bs4康复训练爬虫,正好我最近在看《神魂至尊》,爬个txt文件下来看看 直接上代码 """ 神魂至尊网址-https://www.bqgui.cc/book/1519/ """ import requests from b…...
Kaptcha验证码
Kaptcha验证码 Kaptcha 是一个用于生成验证码的开源库,在 Java 中使用它可以轻松地为应用程序添加验证码功能。 一、引入依赖 首先,需要在项目的 pom.xml 文件(如果是 Maven 项目)中添加 Kaptcha 的依赖: <depend…...

Rufus 制作启动盘 | 便携的工作空间
唠唠闲话 最近服务器硬盘故障多,在修复过程中,学习了一些操作,这里做个记录。本期主要介绍 U盘启动盘的制作,以及持久化存储。 U 盘启动盘 镜像选择 Ubuntu 的版本命名遵循 “Adjective Animal” 的模式,即 “形容…...
python函数参数
Python 函数参数是函数定义时用于接收传递给函数的值的变量。在Python中,函数可以有多种类型的参数,这增加了函数的灵活性和可重用性。下面是一些主要的参数类型: 1. 位置参数(Positional Arguments) 位置参数是最常…...

深入理解 XML 和 HTML 之间的区别
在现代网络技术的世界中,XML(可扩展标记语言)和 HTML(超文本标记语言) 是两个非常重要的技术。尽管它们都使用标签和属性的格式来描述数据,但它们在形式和用途上有显著的区别。 概述 什么是 XMLÿ…...

代码随想录算法训练营第四十四天|188.买卖股票的最佳时机IV、309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费
188.买卖股票的最佳时机IV 题目链接:188.买卖股票的最佳时机IV 文档讲解:代码随想录 状态:不会 思路: 在股票买卖1使用一维dp的基础上,升级成二维的即可。 定义dp[k1][2],其中 dp[j][0] 表示第j次交易后持…...

YOLOv8改进 添加CVPR2024 PKINet中注意力机制CAAttention
一、PKINet论文 论文地址:2403.06258 (arxiv.org) 二、CAAttention结构 CAA(Context Anchor Attention)注意力模块是一种用于捕捉长距离上下文信息的并行模块。 在计算机视觉领域中,上下文信息是指与目标物体或任务相关的周围环境和语境信息。上下文信息可以帮助我们更好…...

油猴Safari浏览器插件:Tampermonkey for Mac 下载
Tampermonkey 是一个强大的浏览器扩展,用于运行用户脚本,这些脚本可以自定义和增强网页的功能。它允许用户在网页上执行各种自动化任务,比如自动填写表单、移除广告、改变页面布局等。适用浏览器: Tampermonkey 适用于多数主流浏览…...
如何在Vue中添加事件监听器
在Vue中添加事件监听器主要有两种方式:在模板中直接添加和使用Vue实例的方法。以下将详细解释这两种方法。 1. 在模板中直接添加 在Vue的模板中,你可以直接在HTML元素上使用v-on指令(或其简写形式)来监听DOM事件,并在…...

软设之UML图中的用例图
UML图中用例图 用例图描述一组用例,参与者及它们之间的关系 关系包括: 包含关系,扩展关系,泛化关系 用例建模的流程: 识别参与者 合并需求获得用例 细化用例描述 调整用例模型...
弹性伸缩高性能计算服务一一黑石裸金属服务器
在电商、直播、游戏等业务场景中,对服务器的性能、安全性和稳定性要求尤为苛刻。黑石裸金属服务器作为一种创新的计算服务,以其独特的优势,满足了这些行业对高性能计算服务的迫切需求。本文将详细解析黑石裸金属服务器的优势,并在…...

欢乐钓鱼大师攻略:西沙群岛攻略,内置自动辅助云手机!
《欢乐钓鱼大师》是一款以钓鱼为主题的休闲游戏,玩家可以在虚拟的钓鱼世界中体验真实的钓鱼乐趣,并通过捕捉各种珍稀鱼类来提升自己的钓鱼技能和成就。在这篇攻略中,我们将重点介绍如何在西沙群岛区域有效地捕捉各种典藏鱼类,并提…...
Apipost接口测试工具的原理及应用详解(六)
本系列文章简介: 随着软件行业的快速发展,API(应用程序编程接口)作为不同软件组件之间通信的桥梁,其重要性日益凸显。API的质量直接关系到软件系统的稳定性、性能和用户体验。因此,对API进行严格的测试成为…...
矩阵的奇异值(Singular Values)
矩阵的奇异值(Singular Values)是奇异值分解(SVD)过程中得到的一组重要特征值。它们在许多应用中非常重要,如信号处理、数据压缩和统计学等。以下是对奇异值及其计算和性质的详细解释: 奇异值分解…...

清空flowable的表定义的相关表
更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: h…...
Tailwind CSS 在vue里 的使用
在Vue项目中使用Tailwind CSS,你需要按照以下步骤操作: 安装Tailwind CSS npm包: npm install -D tailwindcss postcss autoprefixer 使用Tailwind CSS CLI工具创建配置文件: npx tailwindcss init -p 3.在tailwind.config.js中…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...

Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
书籍“之“字形打印矩阵(8)0609
题目 给定一个矩阵matrix,按照"之"字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为:1,…...
Linux安全加固:从攻防视角构建系统免疫
Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...
数据库——redis
一、Redis 介绍 1. 概述 Redis(Remote Dictionary Server)是一个开源的、高性能的内存键值数据库系统,具有以下核心特点: 内存存储架构:数据主要存储在内存中,提供微秒级的读写响应 多数据结构支持&…...