功能测试【测试用例模板、Bug模板、手机App测试★】

功能测试

Day01 web项目环境与测试流程、业务流程测试

课程目标

能独立编写电商项目7个核心业务模块的用例

根据测试流程的6个步骤能独立对所有项目实施功能测试
今日目标

能说出web项目环境的组成

能说出tpshop商城项目业务的操作步骤(下单业务、发货业务、退换货业务、订单查询业务、会员管理业

务、商品管理业务)

能说出测试流程的6个步骤和作用

能根据测试流程6个步骤独立完成测试(下单业务、发货业务、评论业务)

一、【了解】web项目环境说明

1.1 环境的定义:项目运行所需要的所有的软件和硬件组合

1.2 环境(服务器)的组成:操作系统+数据库+web应用程序+项目代码

1.3 面试题:你们公司有几套环境?

测试环境:专门提供给测试人员使用

开发环境:开发人员使用

生产环境:提供给用户

预生产环境:设置和数据是一样.

注意:

情况一:2种环境, 测试环境+生产环境; 如何解决开发和测试进度冲突问题

答:区分开发周和测试周;开发工作时(开发新功能)不测试,测试工作时开发不进新代码.

情况二:3种环境,开发环境+测试环境+生产环境

二、【了解】熟悉商城项目

信息来源:

新项目:需求文档+产品经理

已经存在的项目: 文档(需求文档\使用说明书\测试用例) 人(测试老员工\产品经理\开发) 项目软件

熟悉的思路:用户 + 用户如何使用

熟悉标准:核心业务 + 核心功能模块

用户是谁?

用户怎么用?

哪个功能缺失会导致用户无法正常使用?

2.1 商城项目的核心业务:

下单业务(登录--搜索-----加入购物车-----下单-----支付)

发货业务(登录----确认订单----填单号)

售后业务(用户登录----发起申请---商家登录----商家确认申请----用户退货----商家确认收货---商家打款)

查询订单(用户登录----我的页面----我的订单)

2.2 商城项目的核心功能模块:

注册

登录

购物车

搜索

轮播图

评论

抢购

三、【重点】测试流程的应用

流程的作用:让测试工作有条不紊的开展

3.1 需求评审

前提:提前阅读需求文档,记录疑惑点

目的:知道有什么功能,规则是什么,最终各部门理解一致.

3.2 计划编写

测什么

怎么测

谁来测

重点关注

准入标准:研发提测标准,什么时候可以开始测试

业务能跑通:P0

准出标准:什么时候结束测试

数据化:用例(100%) \缺陷(解决率:S0 100%,S1:100% S2\S3 :95%)

3.3 设计用例

先设计业务用例,后设计功能模块用例

3.4 用例执行

按优先级(推荐)

前提:写用例的时候标注清楚优先级并且明确优先级的定义

P0:最高级别.

按顺序执行

3.5 缺陷管理

提交时间:用例执行失败的第一时间

注意事项:

唯一性

可复现(明确复现步骤\问题发生时间\日志截图)

注明版本号

3.6 测试报告

四、【掌握】商城项目测试(业务流程)

方法:流程图法

如何编写用例:找路径;从开始到结束共有多少条路就有多少条用例.

4.1 发货业务(参考课堂用例)

4.2 评论业务(参考课堂用例)

用例模板

Bug模板

tpshop商城

总结

Day02 web项目业务测试、轮播图、注册、登录模块测试

能独立完成订单业务测试(退货业务、换货业务、订单查询业务、会员管理业务、商品管理业务)

能独立完成单模块测试(轮播图、注册、登录)

一、商城项目测试(业务流程)

二、商城项目单模块测试

如何编写用例

先测后台 后测前台

2.1 轮播图

  1. 需求分析

    位置:后台--页面--广告管理---广告列表(搜索index页面增加广告位2)

    操作完成后需要点击admin---更新缓存,前台页面刷新生效

  2. 拆解测试点

Day03 抢购业务测试

测试用例书写样例:模块-模块-正向 & 反向

注册和注册用例是不一样的测试用例方向


Day04-web项目购物车模块测试

Day05-web项目抓包操作与测试报告

能操作抓包工具抓取http请求和响应的数据包 能操作抓包工具进行弱网测试 能使用抓包工具绕过页面限制进行测试

能根据测试报告模板编写tpshop测试报告

一 网络相关知识介绍

1.1 请求


二 抓包工具的应用


弱网测试




总结

Day06 手工课程第六天(APP)



一、熟悉APP项目

信息来源:

新项目: 需求文档 也可以问产品经理

已存在的项目: 文档(用例\需求文档\用户说明书) 人(测试老员工\ 产品经理\开发) 项目软件

思路:

用户是谁,用户怎么用?

标准

核心业务: 用户使用的过程

核心功能: 功能缺失会导致用户无法使用(用户)

  • 核心业务
    订单查询
    售后流程
    下单流程
    会员管理
    商品管理
    评价流程
  • 核心功能
    登录
    注册
    购物车
    支付
    评论
    抢购
    添加商品
    轮播图
    搜索

二、app测试和web测试的区别

注册方面:数据同步问题(app注册 web能否登录)
登录方面:多点登录数据同步问题

Day07 手工课程第七天(app)

能够实现APP的专项测试(兼容性、安装卸载升级、干扰测试(交叉)、Push推送、用户体验)

能使用solopi完成APP的性能测试(CPU、内存、流畅度、流量、电量、启动速度、稳定性) 能独立说出常用的

APP命令格式(内存、CPU、安装、卸载、流量、启动时间、抓取日志) 能使用命令测试APP客户端的稳定性

(monkey)

1 APP专项测试 ★

一、兼容性

手机型号不同品牌商,不同机型(华为P30)
操作系统版本:

安卓:根据在线统计平台数据获取

iOS

分辨率
屏幕

尺寸:5.1. 5.5 4.7

类型: 刘海屏 水滴屏 曲面屏 折叠屏
网络: 移动数据 和 WiFi
应用兼容性
手机硬件: 手机上的物理按键(音量键 home键 电源键)
外部硬件: 蓝牙设备 有线设备
操作系统设置: wlan 时间 定位
其他APP: 具有后台播放功能的APP,例如音乐

二、安装

正常场景
从不同渠道安装
不同操作系统安装
不同的路径安装(手机\SD卡)
异常场景
中断安装(关机 断网),中断之后能否恢复安装
存储空间不足安装
安装时手动取消或暂停.恢复之后是否能正常安装
正在运行时能否覆盖安装(后台运行\前台运行:需要考虑是否会打断用户操作)
低版本覆盖高版本
卸载后再安装(卸载后是否会清除数据)

三、卸载

正常卸载(手机卸载\使用第三方软件卸载)

运行时卸载(后台运行)

取消卸载(第三方软件\二次弹窗确认时取消)

中断卸载(关机)

卸载后数据残留(给用户提示确认,如果用户同意残留,可以保留数据;如果用户拒绝残留,不可以保留数据)(如果不

做任何确认提示,默认需要清空残留数据)

四、升级

从临近版本升级(上一次发布的版本)

跨版本升级(历史发布过的版本)

当前版本是n: n-2 升级n

从不同渠道升级

升级成功提醒(红点提示\消息提示)

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

自己自研升级系统(日常升级\强制升级)

使用第三方(日常升级\强制升级)

当前版本是否具有升级能力(n升级n+1,升级规则)

五、干扰测试(交叉事件测试)

接打电话

收发短信

音视频电话

查看应用推送(其他软件的推送\当前软件的推送)

连接蓝牙设备

接收文件弹窗提醒(确认接收\拒绝接收)

旋转屏幕

切换网络(移动数据和WiFi自动切换)

手机自带应用(打开相机\手电筒\计算器)

低电提醒

插拔充电器(充电动画)

六、Push推送

七、用户体验

UI界面测试(原型图设计是否合理)

横竖屏测试(内容展示是否异常)

易用性测试(空数据提示\菜单层次是否过深\业务操作步骤是否过多\按钮位置是否适中)

手机上的辅助功能(色盲模式\盲人模式)

八、性能测试工具 SoloPi

  • 能使用SoloPi完成APP的性能测试(CPU、内存、流畅度、流量、电量、启动速度、稳定性)
  • 能独立说出常用的APP命令格式(内存、CPU、安装、卸载、流量、启动时间、抓取日志)
  • 能使用命令测试APP客户端的稳定性(monkey)

SoloPi:是一个无线化、非侵入式的 Android 自动化工具,具备录制回放、性能测试等功能。

作用如下:
基础性能测试:能够记录待测应用的各项指标,可以在悬浮窗中观察实时更新的数据,也可以对性能数据进行录制,在录制结束后查看图表;同时,还支持性能加压,能够对CPU、内存与网络环境进行限制,复现应用在性能较差、网络环境不佳场景下的表现。

录制回放:通过SoloPi执行用例步骤,能够将用户的操作记录下来,支持在各个设备上进行回放,这一切都能够在手机上独立完成。

一机多控:支持通过操作一台主机设备来控制多台从机设备,不需要在各个设备上分别进行重复冗杂的兼容性测试,能够极大提升兼容性测试的效率。

Solopi的使用

点击开始监控,随后打开被测APP应用,开始测试

查看数据采集结果

性能:是衡量APP质量的一个重要指标

l 常见的性能指标有:内存,CPU,流量,电量,启动速度,流畅度、稳定性等

性能测试关注点:

Ø APP使用时对CPU、内存的占用情况;

Ø APP使用时是否流畅等

Ø APP使用时,电量流量的消耗情况;

Ø APP的启动时间是否过长;

Ø APP是否能长时间稳定运行

内存

1.1-性能内存基础知识 ------ 内存监控指标

每个程序运行时都需要将代码和数据放入内存中,内存不足则程序无法正常运行。

SoloPi工具提供了两个内存的监控指标:PSS和Private dirty

Private dirty(私有内存):

l 进程独占内存,也就是进程销毁时可以回收的内存容量。

PSS(实际使用内存):

l 将跨进程共享页也加入进来, 进行按比例计算PSS。这样能够比较准确的表示进程占用的实际物理内存

内存问题的现象

常见的内存问题:

内存泄漏:

内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。

l 内存溢出:

Ø 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory

Ø memory leak会最终会导致out of memory!

性能内存测试

需求:打开TP商城单商户,进入首页-我要拼团,上下滑动动态2分钟,内存指标正常。

测试方法:

(1)打开SoloPi工具,配置内存监控

(2)进入TP商城单商户APP,操作上述业务,观察运行时的内存指标

(3)查看内存运行结果

l 检查程序实际使用的内存PSS是否持续增长

l 检查程序是否出现crash

常用的APP命令介绍

能独立说出常用的APP命令格式(启动时间、内存、CPU、安装、卸载、流量、抓取日志)

能使用命令测试APP客户端的稳定性(monkey)

1.显示系统中全部设备

adb devices

这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示

2.开启或关闭ADB服务:

adb start-server adb kill-server

3.连接设备:

adb connect IP

如果是USB连接,直接会连接ADB,如果是想通过网络连接(有线或者无线),则需要在同一个局域网,通过IP连接。上

面192.168.1.61替换成想要连接设备的IP即可。

4.安装、卸载软件包

安装软件:adb install -r (APK路径)

-r 代表如果apk已安装,重新安装apk并保留数据和缓存文件。apk路径则可以直接将apk文件拖进cmd窗口,记得加空

格。

卸载软件:adb uninstall (apk包名)

如果卸载 app 但需要保留数据和缓存文件:adb uninstall -k (apk包名)

5.获取软件包名

列出手机装的所有app的包名:

adb shell pm list packages

列出系统应用的所有包名:

adb shell pm list packages -s

列出除了系统应用的第三方应用包名:

adb shell pm list packages -3

显示当前打开的软件包名(如右图):

Windows:adb shell dumpsys window | findstr mCurrentFocus(需要打开目标软件)

Mac/Linux:adb shell dumpsys window |

6.清除应用数据与缓存

7.启动、停止应用

  1. 启动时间:adb shell am start -W 包名/activity名
  2. 内存:adb shell dumpsys meminfo <包名>
  3. CPU:adb shell top -m 10 -s cpu
  4. 安装:adb install -r 软件包路径
  5. 卸载:adb uninstall 包名
  6. 抓取日志:adb logcat >指定路径
  7. Monkey:adb shell monkey -p 包名 -v(日志) 次数 >c:\日志.txt
  8. 流量:
    上行:adb shell cat proc/uid_stat/userId/tcp_snd
    下行:adb shell cat proc/uid_stat/userId/tcp_rcv

Charles 手机抓包

相关推荐
Seven 7 Chihiro4 分钟前
软件测试之非功能测试设计
功能测试
测试者家园17 小时前
ChatGPT生成接口文档的方法与实践
软件测试·chatgpt·测试用例·接口测试·接口文档·ai赋能·用chatgpt做软件测试
测试老哥1 天前
Python自动化测试图片比对算法
自动化测试·软件测试·python·测试工具·程序人生·职场和发展·测试用例
测试者家园1 天前
ChatGPT接口测试用例生成的流程
软件测试·chatgpt·测试用例·接口测试·测试图书·质量效能·用chatgpt做测试
互联网杂货铺2 天前
几个常见的Jmeter压测问题
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·压力测试
测试19982 天前
Chrome+Postman做接口测试
自动化测试·软件测试·chrome·测试工具·职场和发展·测试用例·postman
树懒_Zz2 天前
记录 io.springfox 3.0.0 整合 spring boot 2.6.x 由于 springfox bug 引发问题
windows·spring boot·bug
座礁2 天前
4、交换机IP接口功能
网络·功能测试
每天进步一大步3 天前
webSokect安卓和web适配的Bug 适用实时语音场景
android·前端·bug·web
JWASX3 天前
【BUG记录】Apifox 参数传入 + 号变成空格的 BUG
java·bug·urlencoder·urldecoder