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

不同渠道升级(应用商城、手机助手)

升级提醒成功(可不提醒、可以提示升级、强制升级)

升级前是否提醒(消息推送提示升级\强制升级不提醒)

  1. 自己自研升级系统(日常升级/强制升级)

  2. 使用第三方(日常升级/强制升级)

应用内升级时非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号开始实习,边实习边学习!!!

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

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

相关文章

Pytorch中方法对象和属性,例如size()和shape

文章目录 方法对象和属性的基本概念方法对象属性示例说明总结 常见的方法对象和属性常见的方法对象常见的属性总结示例 方法对象和属性的基本概念 方法对象&#xff08;method object&#xff09;和属性&#xff08;attribute&#xff09;是面向对象编程中的两个重要概念。让我…

python使用pywebview集成vue3和element-plus开发桌面系统框架

随着web技术越来越成熟&#xff0c;就连QQ的windows客户端都用web技术来开发&#xff0c;所以在未来&#xff0c;web技术来开发windows桌面软件也会越来越多&#xff0c;所以在此发展驱动之下&#xff0c;将最近流程的python与web技术相结合&#xff0c;使用vue3和element-plus…

图像增强 目标检测 仿射变换 图像处理 扭曲图像

1.背景 在目标检测中&#xff0c;需要进行图像增强。这里的代码模拟了旋转、扭曲图像的功能&#xff0c;并且在扭曲的时候&#xff0c;能够同时把标注的结果也进行扭曲。 这里忽略了读取xml的过程&#xff0c;假设图像IMG存在对应的标注框&#xff0c;且坐标为左上、右下两个…

[C++初阶]vector的初步理解

一、标准库中的vector类 1.vector的介绍 1. vector是表示可变大小数组的序列容器 &#xff0c; 和数组一样&#xff0c;vector可采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问&#xff0c;和数组一样高效。但是又不像数组&#xff0c;它的大…

灾后恢复与勒索恢复的区别

灾难恢复通常侧重于物理基础设施&#xff0c;如硬盘和网络设备&#xff0c;而勒索软件恢复则涉及数据完整性和防范网络威胁。 BackBox 产品管理副总裁 Amar Ramakrishnan表示&#xff0c;在灾难中&#xff0c;企业可能面临硬件受损等问题&#xff0c;但在网络安全事件中&#…

Java学习高级一

修饰符 static 类变量的应用场景 成员方法的分类 成员变量的执行原理 成员方法的执行原理 Java之 main 方法 类方法的常见应用场景 代码块 设计模式 单例设计模式 饿汉式单例设计模式 懒汉式单例设计模式 继承 权限修饰符

小红书 达芬奇:生活问答 AI 机器人

小红书去年 9 月开始内测的生活问答 AI 机器人&#xff1a;达芬奇&#xff0c;现在可以在小红书 APP 上用了 得益于小红书平台的特性&#xff0c;该助手擅长吃、住、宠、喝、学等等各类生活知识&#xff0c;目前还在搞活动&#xff0c;写评测笔记最高得 666 元

为什么不能在foreach中删除元素

文章目录 快速失败机制&#xff08;fail-fast&#xff09;for-each删除元素为什么报错原因分析逻辑分析 如何正确的删除元素remove 后 breakfor 循环使用 Iterator 总结 快速失败机制&#xff08;fail-fast&#xff09; In systems design, a fail-fast system is one which i…

合肥高新区建设世界领先科技园区政策(商务部分)申报奖励补贴和条件材料、时间指南

一、合肥高新区建设世界领先科技园区政策&#xff08;商务部分&#xff09;申报主体 &#xff08;更多政策可以查看小编主页方式&#xff09; 工商、税务、统计关系均在合肥高新区&#xff0c;并在高新区持续经营。申请项目在高新区内实施、且符合政策要求的具有独立法人资格…

网络基础:EIGRP

EIGRP&#xff08;Enhanced Interior Gateway Routing Protocol&#xff09;是由思科开发的一种高级距离矢量路由协议&#xff0c;结合了距离矢量和链路状态路由协议的优点&#xff1b;EIGRP具有快速收敛、高效带宽利用、负载均衡等特点&#xff0c;适用于各种规模的网络。EIGR…

python sklearn机械学习-数据预处理

&#x1f308;所属专栏&#xff1a;【机械学习】✨作者主页&#xff1a; Mr.Zwq✔️个人简介&#xff1a;一个正在努力学技术的Python领域创作者&#xff0c;擅长爬虫&#xff0c;逆向&#xff0c;全栈方向&#xff0c;专注基础和实战分享&#xff0c;欢迎咨询&#xff01; 您…

【设计模式】策略模式(定义 | 特点 | Demo入门讲解)

文章目录 定义策略模式的结构 QuickStart | DemoStep1 | 策略接口Step2 | 策略实现Step3 | 上下文服务类Step4 | 客户端 策略模式的特点优点缺点 定义 策略模式Strategy是一种行为模式&#xff0c;它能定义一系列算法&#xff0c;并将每种算法分别放入到独立的类中&#xff0c…

书籍表达式得到期望结果的组成种数

题目 给定一个只由0(假)、1(真)、&(逻辑与)、|(逻辑或)和^(异或)五种组成的字符串express&#xff0c;再给定一个布尔值desired。返回express能有多少种组合方式。可以达到desired的结果。 举例 express“1^0|0|1”,desiredfalse. 只有1^((0|0)|1)和1^(0|(0|1))的组合可…

负载均衡类型和算法解析

假如你正在设计和开发一个分布式服务系统&#xff0c;系统中存在一批能够独立运行的服务&#xff0c;而在部署上也采用了集群模式以防止出现单点故障。所谓集群&#xff0c;就是指将多个服务实例集中在一起&#xff0c;对外提供同一业务功能&#xff0c;也就是任意请求都可以由…

吉利银河L6 AQS空气质量监控系统

结论 顶配才有AQS 开启空调且auto模式 则默认开启AQS 无法关闭AQS AQS的作用 银河L6 AQS触发 和 图标 AQS官方配置参数 官方文档 吉利用户手册

开源即正义,3D软件Blender设计指南

在当今数字化时代&#xff0c;开源软件的崛起不仅代表着技术的发展&#xff0c;更象征着一种信息自由和技术民主的理念。其本质是集众人之智&#xff0c;共同去完善一个软件&#xff0c;最终使双方互惠共赢。具体来说&#xff0c;开源的价值&#xff0c;在于打破资源垄断&#…

Spring的事务管理、AOP实现底层

目录 spring的事务管理是如何实现的&#xff1f; Spring的AOP的底层实现原理 spring的事务管理是如何实现的&#xff1f; 首先&#xff0c;spring的事务是由aop来实现的&#xff0c;首先要生成具体的代理对象&#xff0c;然后按照aop的整套流程来执行具体的操作逻辑&#xf…

NLP - 基于bert预训练模型的文本多分类示例

项目说明 项目名称 基于DistilBERT的标题多分类任务 项目概述 本项目旨在使用DistilBERT模型对给定的标题文本进行多分类任务。项目包括从数据处理、模型训练、模型评估到最终的API部署。该项目采用模块化设计&#xff0c;以便于理解和维护。 项目结构 . ├── bert_dat…

苹果AI的国产大模型之争,没有悬念

文 | 智能相对论 作者 | 陈泊丞 苹果终于公布了最新的AI进程。 一个月前&#xff0c;正如此前预期的那样&#xff0c;人工智能是今年 WWDC 发布会的焦点。全程105分钟的主题演讲&#xff0c;就有40多分钟用于介绍苹果的AI成果。 苹果似乎还有意玩了一把“谐音梗”&#xff…

用机器改变人类方向

1800 世纪初&#xff0c;美国迎来了工业革命&#xff0c;这是一个由技术进步推动的变革时代。新机器和制造技术的引入重塑了经济格局&#xff0c;提高了生产效率&#xff0c;同时减少了某些领域对手工劳动的需求。因此&#xff0c;这种转变导致了失业。 如今&#xff0c;我们看…