目录

项目介绍

1.项目是什么?

2.项目有什么?

3.项目测什么?

项目测试流程

个人实施测试流程

测试实施

下单业务

1.设计下单(购物车)业务测试用例01

2.设计下单购物下单业务测试用例02

3.设计下单(购物车)业务测试用例03

业务测试用例执行

缺陷管理

单模块测试

功能模块

熟悉需求

案例

测试点(部分)

1.登录

2.购物车(在文件中)

​编辑3.支付(在文件中)

Web项目非功能测试

APP测试

内部发布

线上发布

发布策略

功能测试

登录案例

APP专项测试

搭建app项目测试环境

安装测试

卸载,升级测试

兼容性测试

应用兼容性测试关注点

兼容性测试

push推送

push推送方式

Push消息推送流程

Push消息测试关注点

交叉测试

用户体验测试

APP性能测试

SoloPi使用

APP性能测试

1.内存

内存问题的现象

​编辑总结:

案例

​编辑

2.CPU监控指标

CPU消耗引起的现象

3.流量介绍

案例

4.电量

案例

5.流畅度

案例

6.启动速度

案例

Android-sdk环境搭建

稳定性测试

​编辑monkey命令

检查日志


项目介绍

1.项目是什么?


Tpshop商城,类似于淘宝、京东类的(B2C)电子商务平台,主要为线上用户提供优质便捷的购物服务。

前台地址: https://hmshop-test.itheima.net/
后台地址: https://hmshop-test.itheima.net/admin

参考内容: 黑马教育测试项目

2.项目有什么?

3.项目测什么?


1.先测核心业务
买家:下单业务、优惠券业务、秒杀业务、售后业务、订单查询业务...

卖家:商品上架业务、发货业务、入库业务、核算业务、…

2.再测核心业务中单功能/页面
1. 买家:登录、搜索、购物车、下单、支付、订单状态、评论、…
2. 卖家:供货商管理、商品基本信息、出库、入库、促销活动、…


4.所做内容:
1. 核心业务:下单业务
2. 核心模块:注册登录、搜索、购物车、下单、支付

项目测试流程

个人实施测试流程

测试实施

下单业务

1.设计下单(购物车)业务测试用例01

步骤:
1、熟悉需求
2、确认下单流程
购车下单流程:选择商品->加入购物车->登录成功->提交订单成功->支付成功
3、确认流程图
工具:  https://www.processon.com/
4、编写测试用例

2.设计下单购物下单业务测试用例02

流程:选择商品->立即购买->登录成功->提交订单成功->支付成功
要求:
1、将文字流程转流程图
2、编写下单业务(立即购买)测试用例

3.设计下单(购物车)业务测试用例03

购物车下单流程:选择商品->加入购物车->登录成功->提交订单成功->支付成功

步骤:
软件测试
1、确认流程图(缺失)
2、梳理测试点
3、测试点转用例文档

业务测试用例执行

执行准备
①开发提测冒烟测试通过
②测试用例设计完成
执行方式
顺序执行
执行结果
① 通过:pass
② 失败:fail > 提bug

缺陷管理


缺陷跟踪流程
测试:提交bug >验证bug >关闭bug/打开bug

开发:确认bug >修复bug
回归测试
验证当前bug是否已经修复验证是否引发新的bug
注意:回归测试前先确认修复的软件版本更新测试环境版本后再验证

通过禅道模拟演示缺陷跟踪流程
1.通过测试账号登录提交bug,验证bug
2.通过开发账号登录修复bug
链接地址: https://zentao.demo.qucheng.cc/

单模块测试

功能模块


 1.下单业务线中核心单功能
登录
购物车功能
下单功能
支付功能
2.单功能测试步骤:
熟悉需求
提取测试点覆盖需求
测试点转执行测试用例
缺陷管理

熟悉需求


1.需求从哪来?
需求文档
产品原型图
已存在的软件界面(不一定有)
2. 怎么熟悉需求?
阅读并理解文档描述
操作或梳理业务规则及流程

案例

测试点(部分)

1.登录

2.购物车(在文件中)

3.支付(在文件中)

Web项目非功能测试


质量模型:功能性、兼容性、易用性、性能、安全、迁移性、维护性、可靠性

重点测试:功能性、兼容性、易用性、性能、安全
测试
●独立测试:安全、性能
●测试目标:
兼容性:谷歌、火狐、Edge、苹果
易用性:主要参考依据产品原型设计或优秀竞品设计

APP测试

APP与Web的区别
系统架构:APP是C/S结构,web是B/S结构

C/S(Client/Server):即客户端/服务器,需要下载安装客户端,

B/S(Browser/Server):即浏览器/服务器,基于浏览器访问。

APP发布

将开发完成的移动应用程序通过特定的渠道和流程,向公众发布,使得用户可以下载、安装并使用应用程序。
分类:
·内部发布渠道
·线上发布渠道

内部发布

在实际测试工作中,为了方便测试程序包的安装和管理,可以使用一些应用内测分发平台。
如:蒲公英、Testlink等
步骤:
1.开发将应用测试包上传到这些平台上
2.平台可以生成对应的二维码
3.测试直接扫码进行应用安装

线上发布

产品测试完成后,将APP发布到应用各种平台上。
安卓应用:豌豆荚、应用宝、360手机助手、各类手机品牌商城等;0S应用:主要有 App store、iTools
步骤:

1.开发者账号注册,申请在发布平台(各种应用商店)上架上传到发布平台

2.针对不同的发布平台,在软件包中加入对应的平台ID(渠道ID)
3.平台审核通过后,用户即可在应用商店中下载
注意事项
一般线上发布过程,由开发人员负责。
在软件包加入平台ID后,上传到发布平台时,需要测试人员验证核心的业务功能

发布策略

项目发布时采用的一种策略,先发布少数(1-3)服务器,待运行稳定后再发布到所有服务器。

功能测试

使用技术手段,验证程序功能符合应用需求。
1.对象:核心业务、单功能
2.流程
  1.需求分析
  2.测试计划
  3.测试用例设计
  4.测试用例执行
  5.缺陷管理
  6.测试报告
方法
  1.等价类:穷举数据选取
  2.边界值:长度范围覆盖
  3.判定表:多条件之间约束限制
  4.流程图:业务流程

登录案例

APP专项测试

说明:在不同的移动设备上能持久、稳定的运行App程序。

专项测试的目的:

保障主流移动设备能正常使用App应用
不同的网络环境APP应用正常使用
不同APP版本正常使用

搭建app项目测试环境

环境

App应用运行所依赖的软硬件
依赖
1.mumu模拟器(移动设备)
2.App安装包

mumu模拟器(移动设备)
说明:由网易编写一款安卓模拟器(window/mac)
安装:双击下一步安装完成即可

安装测试

1.正常场景:
在不同的操作系统版本上安装
从不同的安装渠道安装(APP商城、手机助手、直接下载apk或者ipa文件安装)不同的安装路径(安装到手机上、安装到SD卡上)
卸载后安装
正在运行时覆盖安装


2.异常场景:
安装时出现异常(关机、断网),恢复后能否继续安装
安装时存储空间不足
安装时手动取消后再次安装
低版本覆盖安装高版本

卸载,升级测试

1.卸载关注点:
正常卸载(APP手动卸载、工具卸载)
运行时卸载
取消卸载
卸载异常中断后卸载
卸载后无数据残留


2.升级测试关注点:
从临近版本升级
跨版本升级
不同渠道升级(应用商场、手机助手)
升级提醒成功(可不提醒、可以提示升级、强制升级
应用内升级时非WIFI提醒


注意事项
升级后要观察升级前的数据是否正常(当数据结构改变而开发没有处理好时很容易出现升级前的数据混乱

兼容性测试

兼容性:程序能在不同的设备上运行正常。
品牌型号(品牌、系统版本、分辨率)
网络
软件兼容
硬件兼容

应用兼容性测试关注点

兼容性测试

测试方式:
方式1:使用公司已有的真机进行兼容性测试。
方式2:使用第三方的兼容性平台进行测试。
如:线上云测平台testin(https://www.testin.cn/)

push推送

Push消息介绍
Push消息是APP推送的各种通知。
如:点赞、评论、关注

push推送方式

Pull(拉)客户端主动获取:客户端固定时间主动向服务器获取消息

Push(推)客户端被动接受:当服务器有更新消息时,主动发送到客户端。

Pul方式消耗客户端和服务器资源
Push方式节省客户端和服务器资源


提示
在APP项目中,基于手机电量与流量的考虑,使用的都是push方式进行消息推送,因此又叫Push消息

Push消息推送流程

Push消息测试关注点

Push消息推送的设置:
1.APP服务器设置:
推送内容推送时机推送频率
推送人群(全部用户/部分用户)
2.手机端设置:
是否接收通知
提醒位置等

push消息测试关注点:
1.APP服务器设置测试点
Push消息是否按指定业务规则发送当Push消息是针对特定用户时,检查收到的Push与用户身份是否相符等
2.手机端设置测试点:
设置不接收推送消息时,用户是否会收到Push消息设置push消息显示的位置,是否与配置一致收到push消息,是否能正常打开跳转等
3.其他测试:
APP在前台使用时,收到push消息如何提示APP在后台运行时,收到push消息如何提示APP离线,是否能收到PUSH消息。

交叉测试

又叫(冲突、干扰)测试,是指一个功能正在执行过程中,另外一个事件或操作对该过程进行干扰的测试。
如:在App前台/后台运行同时接听来电或者下载文件等。


交叉事件测试关注点:
APP运行时接打电话,
APP运行时收发信息;

APP运行时查看应用推送

APP运行接上蓝牙设备

APP运行时接收文件弹窗提醒

APP运行时旋转屏幕

APP运行时切换网络(4G、Wi-Fi)

App运行时使用相机、计算器等手机自带应用

App运行时电量告警、插拔充电器

用户体验测试

APP性能测试

测试app使用期间占用硬件资源(cpu、内存、流量、电量)使用情况。
分类
1. App程序运行时占用手机硬件资源情况
2.App稳定性

如何测试APP(资源)性能?

说明:使用工具或命令进行测试


工具
SoloPi是一个无线的 Android 自动化工具,具备录制回放、性能测试等功能。
功能
性能测试:能够对CPU、内存与网络环境进行限制,复现应用在性能较差、网络环境不佳场景下的表现

录制回放:能够将用户的操作记录下来,支持在各个设备上进行回放。

一机多控:操作一台主机设备来控制多台从机设备,进行重复冗杂的兼容性测试,能够极大提升兼容性测试的效率。

下载:https://www.pgyer.com/solopi



SoloPi使用

APP性能测试

APP性能测试关注点
APP使用时对CPU、内存的占用情况:
APP使用时是否流畅等,
APP使用时电量流量的消耗情况,
APP的启动时间是否过长;
APP是否能长时间稳定运行

1.内存

内存监控指标
每个程序运行时都需要将代码和数据放入内存中,内存不足则程序无法正常运行。
提示:SoloPi工具提供了两个内存的监控指标:Private dirty和 PSS。
Private dirty(私有内存):
进程独占内存,也就是进程销毁时可以回收的内存容量。
PSS(实际使用内存):
将跨进程共享页也加入进来,进行按比例计算PSS。这样能够比较准确的表示进程占用的实际物理内存。

内存问题的现象

总结:

1.性能:
内存+cpu+流量+电量

启动速度+流畅度+稳定性
2.内存关注:
实际使用内存(PSS )
私有内存
3.内存常见问题
内存泄漏:申请内存无释放内存。
内存溢出:日申请内存时,无内存可用。

案例

2.CPU监控指标


SoloPi工具提供了两个CPU的监控指标:全局占用CPU和应用进程CPU。


全局占用CPU:整机的CPU使用水平,即当前手机的CPU整体使用率
在 Linux 系统下,CPU 利用率分为用户态、系统态和空闲态

用户态:表示 CPU 处于应用程序执行的时间
系统态:表示系统内核执行的时间
空闲态:表示空闲系统进程执行的时间。
CPU 使用率=CPU 执行非系统空闲进程时间/CPU总的执行时间

应用进程CPU:表示自开机以来,应用程序消耗的CPU时间的总数。

案例

CPU消耗引起的现象


CPU使用长时间处于90%以上
手机发热、耗电量增加
响应变慢、引起ANR(Application Not Responding)

3.流量介绍

案例

流量优化策略:
数据的压缩
不同数据格式的采用
控制访问的频次
只获取必要的数据
缓存机制
针对不同的网络类型设置不同的访问策略

4.电量

电量
APP应用使用时对电池电量的平均消耗
常见的耗电量大的场景:
定位
网络传输
屏幕亮度
wake locker(锁屏-解锁)

案例


1.耗电量大场景:
定位
网络传输
屏幕亮度
wake locker(锁屏-解锁)
2.分析结果:
与基准数据对比(基准数据来自于产品经理,或者以往数据积累)
横向对比(竞品)

5.流畅度

流畅度的监控指标
SoloPi工具提供了流畅度的监控指标:帧率FPS
即Frames per second:GPU在一秒内绘制的帧数。(简单理解为一秒内呈现给用户的图片数)
FPS值越高画面越流畅


流畅度问题产生的影响:
想要让大脑觉得动作是连续的,至少是每秒10-12帧的速度
想达到流畅的效果,至少需要每秒24帧
60帧每秒的流畅度是最佳的,我们的目标就是让程序的流畅度能接近60帧每秒


注意事项
当页面多为静态时,FPS值很小是正常的
页面数据多为动态加载时,FPS值比较大(建议在24帧以上)

案例

流畅度:动画播放或图片切换的流畅性
达到流畅效果24/S
最佳流畅效果60/S

6.启动速度


APP启动速度:从启动app到主页面加载完成的速度。
APP启动分类:冷启动、热启动
冷启动:启动app进程,这种启动方式叫做冷启动。
热启动:将app从后台置于前台。
Solopi指标:启动耗时计算

案例

启动分类:热启动+冷启动
冷启动:启动app进程,这种启动方式叫做冷启动,
热启动:从后台切换到前台

Android-sdk环境搭建

稳定性测试

什么是稳定性?

Monkey介绍

稳定性测试步骤

monkey命令

检查日志

1.常见app不稳定的现象
崩溃、闪退、无响应、卡顿
2.稳定性测试
在app应用中随意操作,挖掘有可能出现的异常。
3.稳定性怎么测?
① Android系统使用自带monkey工具

② 测试次数【工作中50W-80W次】
4. Monkey工具应用
1.执行Monkey命令:adb shell monkey -p 包名 -v 次数>日志.log

2.检查日志是否有异常,有异常将日志发给开发ANR,timeout,Exception,out,leak,error

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐