6月30日功能测试Day10

news/2024/7/8 6:15:58 标签: 功能测试
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.niftyadmin.cn/n/5536652.html

相关文章

无线麦克风哪个好?一文看懂无线领夹麦克风哪个品牌音质最好

如今无论是视频直播或者是个人Vlog都越来越受欢迎了&#xff0c;要想做好内容&#xff0c;除了画面之外&#xff0c;声音效果同样重要。声音的录制成功与否&#xff0c;也会直接影响整个作品的整体水平&#xff0c;要想录的声音清晰&#xff0c;有专业级录制效果&#xff0c;必…

Spring Boot 文件上传和下载指南:从基础到进阶

文章目录 引言1. 环境配置2. 文件上传2.1 配置文件上传路径2.2 创建上传服务2.3 创建上传控制器 3. 文件下载3.1 创建下载服务3.2 创建下载控制器 4. 前端页面4.1 文件上传页面4.2 文件下载页面 5. 技术分析结论 &#x1f389;欢迎来到SpringBoot框架学习专栏~ ☆* o(≧▽≦)o …

一周小计(1):实习初体验

实习的第一周&#xff0c;从最开始的配环境做好准备工作&#xff0c;到拉项目熟悉项目&#xff0c;然后自己去写需求&#xff0c;每一步都有很大收获&#xff0c;以下是个人这几天的记录与感想。&#xff08;这个其实是我写的周报&#xff0c;记录的也不太详细&#xff0c;有些…

10分钟完成微信JSAPI支付对接过程-JAVA后端接口

引入架包 <dependency><groupId>com.github.javen205</groupId><artifactId>IJPay-WxPay</artifactId><version>${ijapy.version}</version></dependency>配置类 package com.joolun.web.config;import org.springframework.b…

【物联网工程导论期末复习完整知识点】第一章物联网概论

物联网工程导论第一章 第一章物联网概论物联网发展的社会背景物联网概念的提出物联网与智慧地球欧盟与各国政府物联网产业的发展规划物联网与我国战略性新兴产业 物联网发展的技术背景普适计算的特征CPS主要技术特征 物联网定义与主要技术特征物联网的定义物联网的主要技术特征…

docker介绍与详细安装

1 docker 介绍 1.1 虚拟化 在计算机中&#xff0c;虚拟化&#xff08;英语&#xff1a;Virtualization&#xff09;是一种资源管理技术&#xff0c;是将计算机的各种实体资源&#xff0c;如服务器、网络、内存及存储等&#xff0c;予以抽象、转换后呈现出来&#xff0c;打破实…

Perl 语言开发(五):循环语句

目录 1. 循环语句概述 2. while 循环 2.1 基本语法 2.2 示例 2.3 无限循环 3. until 循环 3.1 基本语法 3.2 示例 3.3 无限循环 4. for 循环 4.1 基本语法 4.2 示例 4.3 嵌套循环 5. foreach 循环 5.1 基本语法 5.2 示例 5.3 遍历哈希 6. 循环控制语句 6.1 …

【unity实战】使用unity的新输入系统InputSystem+有限状态机设计一个玩家状态机控制——实现玩家的待机 移动 闪避 连击 受击 死亡状态切换

最终效果 文章目录 最终效果前言人物素材新输入系统InputSystem的配置动画配置代码文件路径状态机脚本创建玩家不同的状态脚本玩家控制动画优化&#xff08;补充&#xff09;闪避手动优化受伤和死亡同理 源码完结 前言 前面我们已经写过了使用有限状态机制作一个敌人AI&#x…