URL-TEXT
/project/test_factory
Start Date
Mar 1, 2022
End Date
Jun 1, 2022
SubTtile
个人独立负责
工厂测试 App(独立负责) 2022.03 ~ 2022.06
首页图片

项目简介
从需求上看:
公司的所有产品(Android 设备)在出厂前需求进行软硬件测试,测试流程主要分为整体自动化测试和单项手动测试。此外,项目需要具备能够灵活配置测试流程的能力,并且能够快速接入新产品进行测试。
个人分析:
整体自动化测试就是单项测试的连续。不同测试点单独的测试页面和测试逻辑。不同产品需要测试的功能点也不同。那么在设计上,就需要做到测试流程可配置,测试项可增加;
从技术上来看:
测试的模块涉及网络,文件,音频链路,按键等;
技术栈
AIDL
,JNI
,Navigtion
、DataBinding
、Worker
、 Kotlin
、协程
等。架构:MVVM、模块化。
负责内容
- 通过定义 productFlavors 实现不同产品,有自己的测试逻辑,测试页面,和配置资源文件项,通过定义自己的 config 配置文件,实际是一个 string类型的xml资源文件,使用 string 标签定义单项测试,通过 string-array 定义整体测试包含的单项测试。不同的测试流程也是用 string-array 进行管理;
- 使用 Navigation 管理所有测试页面,不同的产品通过实现一个 TestFactory 实现配置项与测试页面的链接,以及整体测试流程的创建。
- 在 Main 中,定义公共的逻辑,比如产品的注册,config 配置文件的解析,以及自动化测试的流程转换。
- 通过 JNI 接口检测自研麦克风音频链路的完整性,通过 AIDL 检测三方服务,基于 Woker 实现 Wi-Fi 自动连接,检测网络。通过反射,读取外置 SDCard 路径,检测外置存储是否可以读写。
- 通过 ExpandableListView 实现 config 配置项中配置的测试项和测试流程的展示。通过 zxing 库实现测试结果的条形码展示等。