用户端App 测试方法与技术

news2024/11/18 7:28:57

目录:

  1. app测试体系
  2. app项目测试流程
  3. app结构讲解
  4. app测试设计思路
  5. app常见bug解析
  6. 常用模拟器使用
  7. android开发者选项
  8. 安装mumu模拟器
  9. adb命令介绍
  10. adb环境搭建与配置
  11. adb与设备交互
  12. adb安装卸载应用
  13. adb命令启动页面
  14. adb命令清缓存
  15. adb文件传输
  16. adb日志操作
  17. adb命令操作Android设备
  18. 安装配置adb
  19. adb模拟按键操作
  20. adb性能分析
  21. app压力测试
  22. app压力测试示例

1.app测试体系

App 测试概念:

  • App 测试是软件测试的一部分
  • 是针对 App 应用的一类测试

App 测试的价值:

  • 避免漏洞
  • 保障性能
  • 保障用户体验

App 产品架构:

 

App 测试的学习路线:

@startmindmap
skin rose
* App 测试方法与技术
** App 项目测试流程
** App 结构讲解
** App 测试设计思路
** App 常见 Bug 解析
** 常用模拟器使用
** Android 开发者选项
** adb 常用命令
*** adb 命令介绍
*** adb 环境搭建与配置
*** adb 与设备交互
*** adb 安装卸载应用
*** adb 文件传输
*** adb 日志操作
*** adb 模拟按键操作
*** adb 性能分析
** app 压力测试
@endmindmap

2.app项目测试流程

需求分析:这一步涉及对项目需求进行仔细的分析和理解。这包括了解项目的目标、功能需求、非功能需求以及项目背景等。这个阶段的目标是确定测试范围、测试环境、测试策略以及测试数据。

测试计划编写:在这个阶段,测试团队将制定一个详细的测试计划。测试计划应该包括测试的目标、范围、进度、预算、风险和测试策略。

测试用例设计:在这个阶段,测试人员将根据需求文档和产品代码设计测试用例。测试用例包括测试步骤、预期结果和回归标准。通常使用测试用例管理工具(如Jira、TestRail等)来管理测试用例。

测试用例评审:对测试用例进行审查和评估的过程。测试用例评审通常由测试团队进行,也可以邀请开发团队、产品经理等相关人员参与。通过测试用例评审,可以确保测试用例的质量和可靠性,从而提高测试效率和准确性。

用例执行:测试人员根据测试计划和测试用例执行测试。这通常包括功能测试、性能测试、安全测试、兼容性测试等。

回归测试:回归测试是确保新的代码没有破坏已有的功能。在每个代码提交或代码变更之后,测试团队都会执行回归测试,以确保新的代码没有影响到已有的功能。

非功能测试:除了功能测试,还可以进行性能测试、安全测试、可用性测试、可靠性测试等。这些测试可以帮助确保应用程序在各个方面都符合要求。

走查验收(UI、产品):在所有测试都通过后,测试团队会对应用程序进行走查,以确保没有遗漏的测试,并且应用程序符合需求。

测试总结报告:在测试结束后,测试团队会编写一个详细的测试总结报告,其中包括测试结果、测试总结、问题和建议。

灰度发布:灰度发布是指将新版本的应用程序部署到部分用户环境中,进行真实的用户测试,以便收集反馈和改进应用程序。

上线:当所有测试都通过后,应用程序可以上线到公共环境中,让更多的用户使用它。

3.app结构讲解

apk 包结构:

什么是 apk?

  • 全称:Android application package(Android应用程序包)
  • 安装在安卓设备上的软件
  • APK 文件基于ZIP文件格式. 后缀名被修改为apk

apk 包结构:

  • lib/ :这个目录包含了应用程序的共享库文件,也称为动态链接库(Dynamic Link Library,DLL)。这些库是应用程序的核心组件,可以与其他应用程序共享,以提高性能和资源利用率。
  • res/:这个目录包含了应用程序的资源文件,包括图像、音频、布局文件等。应用程序可以使用这些资源来展示内容、响应用户事件等。
  • assets/:这个目录包含了应用程序的静态资源文件,通常是一些二进制文件(如图片、音频、视频等)。这些资源文件可以在应用程序运行时被读取,但不会在应用程序安装时被复制到应用程序的包中。
  • classes(n).dex:这个文件是应用程序的字节码文件,通常是一个.dex文件,它是Android虚拟机(Dalvik或ART)可以执行的二进制文件。应用程序的Java源代码会被编译成.dex文件,以便在运行时被虚拟机执行。
  • resources.arsc:这个文件包含了应用程序的资源文件,包括字符串、颜色、布局等。这些资源文件可以被读取和修改,以便应用程序可以根据需要进行定制和个性化。
  • AndroidManifest.xml:这个文件是应用程序的清单文件,包含了应用程序的元数据信息,如应用程序的名称、版本号、权限等。此外,它还描述了应用程序的组件(如活动、服务、广播接收器等)及其之间的关系,以便应用程序可以正确地启动和运行。

 app 分类:

  • Native App:原生 app 手机应用程序:Native App是指使用本机开发语言(如Java或C++)开发的手机应用程序,直接运行在操作系统层面,具有完整的系统级功能和性能。原生应用程序通常具有完整的用户界面,与操作系统紧密集成,并可以使用系统提供的各种API和功能。
  • Hybrid App:混合型 app 手机应用程序:Hybrid App是指使用Web技术(如HTML5、CSS3和JavaScript)开发的手机应用程序,通过浏览器引擎来渲染页面,并使用JavaScript框架(如React Native、Flutter等)来控制应用程序的逻辑和交互。混合型应用程序可以在一定程度上利用浏览器的性能和功能,同时提供类似于原生应用程序的用户界面和体验。
  • Web App:基于 Web 的 app 手机应用程序:Web App是指使用Web技术开发的手机应用程序,通常是通过在移动浏览器中运行网页来实现功能。Web应用程序可以通过JavaScript框架(如React Native、Flutter等)来增强性能和交互性,同时可以利用Web技术的成熟和易用性。

app 页面结构:

Native App

  • Activity
  • Window
  • View
  • ViewGroup

查看界面元素:

  • 工具
    • uiautomatorviewer
    • weditor
    • appium

 

 元素属性:

4.app测试设计思路

5.app常见bug解析

6.常用模拟器使用

7.android开发者选项

8.安装mumu模拟器

9.adb命令介绍

10.adb环境搭建与配置

11.adb与设备交互

12.adb安装卸载应用

13.adb命令启动页面

14.adb命令清缓存

15.adb文件传输

16.adb日志操作

17.adb命令操作Android设备

18.安装配置adb

19.adb模拟按键操作

20.adb性能分析

21.app压力测试

22.app压力测试示例

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

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

相关文章

DRF+Vue.JS前后端分离项目实例(下) --- Vue.js 前端实现代码

本文上篇请 点击阅读 1. 需求说明 本文以学生信息查询功能为例,采用前后端分离架构,后端提供RESTFul 接口,前端代码用Vue.js Bottstrap实现。 1.1 本例要求提供如下查询功能: 列表查询、单条查询 添加学生信息 更改学生信息 删…

在线试用Stable Diffusion生成可爱的图片

文章目录 一、 Stable Diffusion 模型在线使用地址:二、模型相关版本和参数配置:三、图片生成提示词与反向提示词:提示词1提示词2提示词3提示词4提示词5 一、 Stable Diffusion 模型在线使用地址: https://inscode.csdn.net/insc…

python 读取npy文件

import numpy as np test np.load("I:/软件/mask.npy") print(test) 如下图所示:

Web3 智能合约通过数组方式存储更多学生数据

之前的文章 Web3 在Truffle项目中编写出自己的第一个solidity智能合约带大家写了一个相对捡漏的智能合约 这样 每次 我们set 后 都会将原来的数据覆盖掉了 那么 有些人可能会想 那我们弄个数组 将新的数据全部加到数组里不就行了吗? 这个想法其实就很不错 我们可以…

数据结构与算法--javascript(持续更新中...)

一. 概论 1. 数据结构 队列:一种遵循先进先出 (FIFO / First In First Out) 原则的一组有序的项;队列在尾部添加新元素,并从头部移除元素。最新添加的元素必须排在队列的末尾。(例如:去食堂排队打饭,排在前…

JsonView下载安装

文章目录 一、JsonView概述二、JsonView下载三、JsonView安装四、JsonView测试 一、JsonView概述 SONView是一款非常好用的Json格式查看器。在日常开发调试中经常会遇到Json格式的数据需要解析阅读,但Json格式数据阅读性极差,JSONView可以帮我们解决Jso…

基于协同过滤算法的智能推荐点餐系统小程序/基于微信小程序的点餐系统

摘 要 在社会的发展和科学技术的进步,现在我们所生活的世纪是一个集信息高度数字化,网络化,信息化的,以网络为核心的社会。随着移动互联网的飞速发展,微信客户端的应用也逐渐广泛起来。与此同时,我国每个人…

上手CUDA编程

上手CUDA编程 文章目录 上手CUDA编程矩阵加法例子编译 查看本机GPU信息内存管理函数专门二维数组拷贝函数 Reference>>>>> 欢迎关注公众号【三戒纪元】 <<<<< 矩阵加法例子 编写 CUDA C 程序时&#xff0c; 要将文件命名为 *.cu&#xff0c;cu文…

新版危险废物标签二维码制作教程

生态环境部发布的《危险废物识别标志设置技术规范》已经在2023年7月1日正式实施&#xff0c;除了对危废标签格式、内容的规范&#xff0c;明确规定新版危废标签需要包含数字识别码和二维码&#xff0c;实现危险废物“一物一码”管理。 其中危险废物标签中的二维码部分&#xff…

【SuperPoint】语义SLAM深度学习用于特征提取

1. 概况 作者的写作思路很清晰&#xff0c;把各个技术点这么做的原因写的很清楚&#xff0c;一共三篇&#xff0c;另外两篇分别是2016年和2017年发表的&#xff0c;这三篇文章通读下来&#xff0c;可以看清作者在使用深度学习进行位姿估计这一方法上的思路演变过程&#xff0c…

IDEA中 jps+jmap+jconsole命令查看堆内存情况

结论 1.获取进程idjps2.jmap 某个时刻堆内存的情况jdk8之前jmap -heap pid 15876jdk8之后jhsdb jmap --heap --pid 158763.jconsole 动态查看堆内存情况&#xff0c;直接jconsole ,然后弹出可视化窗口jconsole其中12 要结合使用&#xff0c;且是静态的查看&#xff1b;3可以单…

【c++报错】无法打开自己的工程项目(C++ 无法打开文件“xxx.lib”)

问题&#xff1a; C 无法打开文件“xxx.lib” 问题分析&#xff1a; 在进行单个生成的时候&#xff0c;可以生成成功&#xff0c;也可以运行程序。但是点击全部重新生成时&#xff0c;就显示无法打开文件“xxx.lib”。 观察生成顺序&#xff0c;发现exe的程序&#xff08;调用…

基于”Python+”多技术融合在蒸散发与植被总初级生产力估算中的实践

熟悉蒸散发ET及其组分&#xff08;植被蒸腾Ec、土壤蒸发Es、冠层截留Ei&#xff09;、植被总初级生产力GPP的概念和碳水耦合的基本原理&#xff1b;掌握利用Python与ArcGIS工具进行课程相关的操作&#xff1b;熟练掌握国际上流行的Penman-Monteith模型&#xff0c;并能够应用该…

yarn 无法加载文件 CUsersAdministratorAppDataRoamingnpmyarn.ps1,因为在此系统上禁止运行脚本。的解决方案

yarn : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\yarn.ps1&#xff0c;因为在此系统上禁止运行脚本。 1、问题描述 执行yarn相关命令时报错&#xff1a; yarn : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\yarn.ps1&#xff0c;因为在此系统…

PHP 学生信息管理系统mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP 学生信息管理系统 是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 代码下载 https://download.csdn.net/download/qq_41221322/88027229https://down…

7 个顶级免费网站在线图像压缩工具!

在将图像上传到网站之前对其进行压缩是缩短网站加载时间的最简单、最有效的方法之一&#xff0c;从而改善访问者的网站体验并提高搜索排名。 大图像会显着降低网站的性能&#xff0c;这总体来说是个坏消息。幸运的是&#xff0c;您可以使用一些很棒的工具来帮助您轻松优化图像…

实现windows系统文件传输到Linux系统中的工具

1、实现windows系统文件传输到Linux系统中的工具 yum -y install lrzsz然后就可以将windows中的文件&#xff0c;直接拖到Xshell窗口即可。

Springboot快速回顾(集成Dubbo)

Dubbo是实现远程调用的一个框架&#xff0c;阿里巴巴开源的。远程调用就是B服务器可以调用A服务器的方法。大型项目会被拆分成多个模块&#xff0c;部署在不同的服务器上。若将公共模块集中部署在一台服务器上&#xff0c;可以方便其他服务器调用。因此&#xff0c;需要Dubbo。…

深度学习实践大全

文章目录 1.可视化调试1.1 各通道相加可视化1.2 降维到3维或2维 1.可视化调试 可视化方法可分为&#xff1a;各通到相加可视化、 1.1 各通道相加可视化 def visualize_feature_map(img_batch,out_path,type,BI):feature_map torch.squeeze(img_batch)feature_map feature_…

C++教程(二)——第一个程序:编写hello world

1、点击左上角【文件】&#xff0c;再点击创建【项目】&#xff0c;设置项目名称&#xff0c;选择存储地址&#xff0c;再应用。 2、首先在解决方案资源管理器中点击【源文件】&#xff0c;右键【添加】--->【新建项】。 3、在弹出窗口中选择C文件(.cpp)&#xff0c;设置名称…