浅谈手机APP测试(流程)

这篇具有很好参考价值的文章主要介绍了浅谈手机APP测试(流程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  •  📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢软件测试面试题分享: 1000道软件测试面试题及答案
  • 📢软件测试实战项目分享: 纯接口项目-完整接口文档
  • 📢软件测试实战项目分享:WEB 测试自动化项目实战
  • 📢软件测试学习教程推荐:火遍全网的《软件测试》教程 

前言

APP测试是一个广泛的概念,根据每个app的应用场景不一样,测试的方向也略微的不同,在测试过程中需要灵活应用自身所知的测试手段。

今天就跟大家简单聊聊手机APP测试的一些相关内容。

浅谈手机APP测试(流程),压力测试,python,单元测试,测试工具,测试用例

APP开发流程
(1) 拿到需求分析需求

(2) 开需求评审会议

(3) 开发做设计,测试做测试设计

(4) 开发设计评审

(5) 测试补充用例

(6) 用例评审

(7) 开发提测,测试搭建测试环境

(8) 冒烟测试

(9) 执行测试用例

(10) 发现bug提交并跟踪

(11) 回归测试

(12) 预发布环境下测试(主要验证主要功能)

(13) 验收测试

(14) 编写测试报告

(15) 线上发布测试(主要验证主要功能,若主要功能无法实现,版本回滚)

(16) 项目总结

手机APP测试的工具
jdk简介

JDK是整个Java的核心,包括了Java开发环境和运行环境JRE、Java工具和Java基础类库。JRE是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是整个java实现跨平台的最核心的部分,能够运行以Java语言写的程序。

adb连接模拟器和手机

adb(Android Debug Bridge,安卓调试桥)用于通过电脑代码脚本(或者电脑程序等)控制手机进行操作。

(1) abd连接模拟器

adb connect ip地址:端口号

(2) adb连接手机

1、 手机和电脑在同一个局域网

2、 手机打开开发者模式,在开发者选项中允许usb调试和仅充电模式下运行ADB调试、连接USB时总是弹出提示

3、 把数据线连接电脑和手机,如果跳出选择模式,选择MTP传输文件

4、 在cmd输入adb tcpip 5555

5、 拔掉数据线

6、 adb connect 手机的ip地址

adb常用命令
抓取启动、加载时间:adb logcat -v threadtime -b events>名.txt

-s 系统版本 shell(查手机系统版本、截图、获包、获运行)

adb start-server 开启adb服务

adb kill-server 关闭adb服务

adb version 查看adb版本

adb connect ip地址:端口号 连接模拟器

如:adb connect 127.0.0.1:62001

adb devices 查看adb连接状态(device已经连接、offline断开连接、unauthorization已连接但手机不信任此电脑)

adb connect ip地址 adb连接设备()

adb disconnect 断开所有连接

adb disconnect IP地址:端口 断开指定连接

adb shell 进入安卓系统

exit 退出安卓系统

adb shell pm list packages -3 获取手机上的安装包(第3方)

adb shell pm list packages 获取手机上的安装包(外)

pm list packages 获取手机上的安装包(内)

获取正在运行的包名和activity:

adb logcat (获取日志在系统外)

logcat | grep ActivityManager(在系统内部)

adb logcat -c event 清空日志

adb shell dumpsys activity activities 获取正在运行软件

adb install 路径+包名 安装app

adb install -r 路径+包名 覆盖安装app(replace替换)

adb -s ip地址:端口 install 路径+包名 安装到指定

adb uninstall 包名 卸载app

adb push 本地路径 /设备路径 从PC 推送文件 到设备

adb pull /设备地址 本地地址 从设备 拉取文件 到PC

adb shell screencap /sdcard/名.png 屏幕截屏

adb shell getprop ro.build.version.release 查看系统版本

adb -s 192.168.2.135 shell getprop ro.build.version.release查看手机版本

adb -s 127.0.0.1::62001 shell getprop ro.build.version.release查看模拟器版本

启动指定软件:

1.打开软件并运行

2.输入adb shell dumpsys activity activities获取活动软件活动

(cmp=com.tal.kaoyan/.ui.activity.SplashActivity)

3. adb shell am start -W -n 活动

adb shell am start -W -n com.tal.kaoyan/.ui.activity.SplashActivity(上一个命令的)

monkey 命令
monkey命令格式如下:

adb shell monkey [options] <event-count>

一般情况下:

adb shell monkey -p 包名 事件数

[options] 是指monkey可传入的参数,是可选项

<event-count> 是指随机发送事件数。

 操作事件
aafmmn prstt

①  --pct-touch 触摸事件(踏起)

②  --pct-motion 手势事件——滑动(摸醒)

③  --pct-rotation 屏幕旋转事件

④  --pct-pinchzoon 二指缩放事件(拼起入嗯)

⑤  --pct-trackball 轨迹事件

⑥  --pct-nav 基本导航事件(上下左右键)()

⑦  --pct-majornav 主要导航事件(键盘的中间键、回退按键、菜单按键)

⑧  --pct-syskeys 系统按键事件(Home键、返回键、音量调节键等)

⑨  --pct-flip 键盘事件(如点击输入框、键盘弹起、点击输入框以外区域、键盘收回等)

⑩  --pct-anyeven 其他事件(如按键、其他不常用的设备上的按钮等)

⑪  --pct-appswith 启动Activity事件

1) 触摸事件

触摸事件是指在屏幕某处按下并抬起的操作,可通过--pct-touch参数来配置其事件百分比。

2) 手势事件

手势事件是指在屏幕某处的按下、随机移动、抬起的操作,即直线滑动操作。可通过--pct-motion参数来配置其事件百分比。

adb shell monkey -p com.tal.kaoyan --pct-touch 70 --pct-motion 30 20

3) 二指缩放事件

二指缩放事件是指在屏幕上的两处同时按下,并同时移动,最后同时抬起的操作,即智能机上的放大缩小手势操作。可通过--pct-pinchzoom参数来配置其事件百分比。

4) 轨迹事件

轨迹事件是由一个或多个随机的移动组成的,有时会伴随着点击。很早之前的Android手机带有轨迹球,这个事件就是模拟的轨迹球的操作。现在的手机几乎都没有轨迹球,但轨迹球事件中包含曲线滑动操作,如果被测程序需要曲线滑动时可以选用此参数。可通过--pct-trackball参数来配置其事件百分比。

5) 屏幕旋转事件

屏幕旋转事件是一个隐藏事件,在Android官方文档中并没有记录这个事件。它其实是模拟的Android手机的横屏和竖屏切换。可通过--pct-rotation参数来配置其事件百分比。

6) 基本导航事件

基本导航事件是指点击方向输入设备的上、下、左、右按键的操作,现在手机上很少有上、下、左、右按键,这种事件一般用得比较少。可通过--pct-nav参数来配置其事件百分比。

7) 主要导航事件

主要导航事件是指点击“主要导航”按键的操作,这些按键通常会导致UI界面中的动作,如键盘的中间键、回退按键、菜单按键。可通过--pct-majornav参数来配置其事件百分比。

8) 系统按键事件

系统按键事件是指点击系统保留使用的按键的操作,如点击Home键、返回键、音量调节键等。可通过--pct-syskeys参数来配置其事件百分比。

9) 启动Activity事件

启动Activity事件是指在手机上启动一个Activity的操作。在随机的时间间隔中,monkey将执行一个startActivity()方法,作为最大限度上覆盖被测包中全部Activity的一种方法。可通过--pct-appswitch参数来配置其事件百分比。

10) 键盘事件

键盘事件主要是一些与键盘相关的操作。比如点击输入框、键盘弹起、点击输入框以外区域、键盘收回等。可通过--pct-flip参数来配置其事件百分比。

11) 其他类型事件

其他类型事件包括了除前面提到的10种事件外其他所有的事件,如按键、其他不常用的设备上的按钮等。可通过--pct-anyevent参数来配置其事件百分比。

ps:各事件百分比之和<=100正常,大于100会提示:** Event weights > 100%

参数
lgnore忽略

1) 设置间隔 如果你希望在每一个指令之间加上固定的间隔时间,可以用--throttle(注意,前面是--)命令。

adb shell monkey -p 包名 --throttle 3000 5

--throttle:后面接时间,单位为ms(<milliseconds>),表示事件之间的固定延迟(即执行每一个指令间隔的时间),若不接该选项,monkey将不会延迟。

2) 包约束 -p包名

-p:后面接一个或多个包名(<allowed-package-name>),如果应用需要访问其他包里的Activity,那相关的包也需要在此同时指定。如果不指定任何包,monkey将允许系统启动全部包里的Activity。

一个包:

adb shell monkey -p com.tal.kaoyan 500

多个包:

adb shell monkey -p com.tal.kaoyan -p com.tencent.mm 500

3) 应用程序崩溃后继续发送事件

如果你希望monkey在应用程序崩溃后继续发送事件,则需要用到--ignore-crashes命令

adb shell monkey --ignore-crashes <event-count>

4) 超时错误继续发送事件

如果你希望monkey在任何超时错误发生后继续发送事件,则需要用到--ignore-timeouts命令。

adb shell monkey --ignore-timeouts <event-count>

5) 应用程序权限错误发生后继续发送事件

如果你希望monkey在应用程序权限错误发生后继续发送事件,则需要用到--ignore-security-exceptions命令。

adb shell monkey --ignore-security-exceptions <even-count>

<event-count>--ignore-security-exceptions:在设置此选项后,当应用程序发生任何权限错误(如启动一个需要某些权限的Activity)时,monkey将继续运行直到计数完成。如果不设置此选项,monkey遇到此类权限错误将停止运行。

monkey参数应用综合案例
测试场景

测试考研帮app Android版。测试希望通过monkey来模拟用户的随机操作,检查被测应用是否会出现异常(应用崩溃或者无响应)。

需求分析

1) 测试是指定应用,因此需要使用-p指定被测app包名:

com.tal.kaoyan

2) 这个测试的目的是希望模拟用户操作,因此需要让monkey执行的事件尽可能地接近用户的常规操作,这样才可以最大限度地发现用户使用过程中可能出现的问题。因此需要对monkey执行的事件百分比做一些调整:

触摸事件和手势事件是用户最常见的操作,所以通过--pct-touch和--pct-motion将这两个事件的占比调整到40%与25%;目标应用包含了多个Activity,为了能覆盖大部分的Activity,所以通过--pct-appswitch将Activity切换的事件占比调整到30%;被测应用在测试中出现过不少横竖屏之间切换的问题,这个场景也必须关注,因此通过--pct-rotation把横竖屏切换事件调整到5%。

3) 使用--throttle参数来控制monkey每个操作之间的时间间隔 指定操作之间的时间间隔,一方面是希望能更接近用户的操作场景,正常用户操作都会有一定的时间间隔;另一方面也是不希望因为过于频繁的操作而导致系统崩溃,尤其是在比较低端的手机上执行测试时。因此通过--throttle设置monkey每个操作固定延迟0.4秒。

4) 使用--ignore-crashs和--ignore-timeouts参数使monkey遇到意外时能继续执行 在执行monkey测试时,会因为应用的崩溃或没有响应而意外终止,所以需要在命令中增加限制参数--ignore-crash和--ignore-timeouts,让monkey在遇到崩溃或没有响应的时候,能在日志中记录相关信息,并继续执行后续的测试。

5) 使用-v指定log的详细级别 monkey的日志输出有3个级别:日志的级别越高,其详细程度也越高。为了方便问题的定位,这里将日志设为 -v -v.

测试命令

adb shell monkey -p com.tal.kaoyan

--pct-touch 40 --pct-motion 25

--pct-appswitch 30

--pct-rotation 5

--throttle 400

--ignore-crashes

--ignore-timeouts

-v -v 200

最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!

浅谈手机APP测试(流程),压力测试,python,单元测试,测试工具,测试用例

浅谈手机APP测试(流程),压力测试,python,单元测试,测试工具,测试用例文章来源地址https://www.toymoban.com/news/detail-798406.html

到了这里,关于浅谈手机APP测试(流程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 手机APP性能测试工具PerfDog性能狗安装教程及简单使用

            PerfDog是一个由腾讯研发的主流性能测试软件。可以提高软件和游戏的运行效率,支持iOS/安卓在移动平台上的性能测试和分析,快速定位和分析性能问题等。无需安装,即插即用,减少繁琐的测试障碍,安卓设备不需要ROOT,iOS设备也不需要越狱,有效解决安卓和i

    2024年02月11日
    浏览(53)
  • 【Python百宝箱】Python测试工具大揭秘:从单元测试到Web自动化

    在现代软件开发中,测试是确保代码质量和稳定性的关键步骤。Python作为一门广泛应用的编程语言,拥有丰富的测试工具和库,从单元测试到Web自动化,覆盖了多个测试层面。本文将介绍一系列Python测试工具,帮助开发者选择适合项目需求的工具,提高代码的可靠性和可维护

    2024年02月03日
    浏览(52)
  • copilot 产生 python工具函数并生成单元测试

    stock.py 这个文件,我只写了注释(的开头),大部分注释内容和函数都是copilot 再新建一个 stock_test.py,写一行注释,Ctrl+L(或者调用 Open compiletion Panel)产生了很多的单元测试样例。 再装一个 Python Test Explorer 插件用来进行 GUI test 附上我的 python test gui 配置 .vscode/settings.jon 有了

    2024年02月04日
    浏览(43)
  • 怎么做手机App测试?app测试详细流程和方法介绍!

    手机APP测试,主要针对的是android和ios两大主流操作系统,主要考虑的就是功能性、兼容性、稳定性、易用性(也就是人机交互)、性能。 手机APP测试前的准备: 1.使用同类型的产品,不仅仅是使用,应该是测试同类型的产品。 2.熟悉我们产品的spec文档,积极和pm交流。 3,写

    2024年01月17日
    浏览(57)
  • 压力测试+接口测试(工具jmeter)

    jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因 为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在 linux

    2024年01月17日
    浏览(56)
  • 压力测试(QPS)及测试工具Locust

    通常指的是确定接口或服务能够处理的最大请求量(吞吐量)和并发用户数,同时保持合理的响应时间和稳定性。 最大吞吐量:系统每秒可以处理的请求数。 最大并发用户数:系统可以同时支持的用户数。 响应时间:系统响应请求的时间。 稳定性和可靠性:在高负载下系统

    2024年04月10日
    浏览(45)
  • 压力测试与测试工具jmeter的介绍

    目录 一、性能指标 二、jmeter (一)JMeter 安装 (二)JMeter 压测示例 1、添加线程组 2、添加 HTTP 请求  3、添加监听器 4、启动压测查看分析结果 (三)JMeter Address Already in use 错误解决   压力测试考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在。压测

    2024年02月14日
    浏览(50)
  • Jmeter-压力测试工具

    1s内发送大量请求,模拟高QPS,用以测试网站能承受的压力有多大 Jmeter依赖于JDK,所以必须确保当前计算机上已经安装了JDK,并且配置了环境变量。 可以Apache Jmeter官网下载,地址:http://jmeter.apache.org/download_jmeter.cgi 或者直接用这个提供好的旧版本: 链接:https://pan.baidu.com

    2024年02月13日
    浏览(58)
  • iometer - 性能压力测试工具

            《存储工具系列文章》主要介绍存储相关的测试和调试工具,包括不限于dd、fio、vdbench、iozone、iometer、cosbench等性能负载工具,及strace等调试工具。         Iometer 是一个免费的开源的测试磁盘性能的工具。和其他磁盘工具相比,可以测试 I/O 的传输率和平均的

    2024年02月02日
    浏览(39)
  • 案例分享| T-Box功能自动化测试方案: 测试对象和原理分析 | 车内T-Box与手机端的交互流程 | 测试方案设计及实测结果 | T-Box功能自动化测试系统框架 | 软硬件工具组成及作用

    背景 T-Box是实现汽车车联网的一个关键环节,从起初单纯的实现车辆信息采集,已发展到具有车辆信息监测及信息交互(V2X)、车辆远程控制、安全监测和报警、远程诊断、边缘计算等多种离线和在线的应用功能的载体。为保障T-Box功能的正常运转,对其进行功能测试就尤为

    2024年04月13日
    浏览(114)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包