目录:
- app测试体系
- app项目测试流程
- app结构讲解
- app测试设计思路
- app常见bug解析
- 常用模拟器使用
- android开发者选项
- 安装mumu模拟器
- adb命令介绍
- adb环境搭建与配置
- adb与设备交互
- adb安装卸载应用
- adb命令启动页面
- adb命令清缓存
- adb文件传输
- adb日志操作
- adb命令操作Android设备
- 安装配置adb
- adb模拟按键操作
- adb性能分析
- app压力测试
- 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压力测试示例