appium - app测试基础

66 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第17天,点击查看活动详

1 app测试基础

1.1 app应用架构

  • app和web使用的后端服务器是相同的
  • 前后端通常使用http协议进行交互
  • app是CS架构
  • 前后端数据以json格式进行传输

1.2 项目环境和发布平台

  • 开发环境
  • 测试环境,也有可能划分成手工测试环境和自动化测试环境
  • 预发布环境,项目上线之前,做最后一轮的验收测试,预发布环境的数据和生产环境的数据一致
  • 镜像环境,当生产环境出现问题时,把生产环境的相关数据和代码全部拉到镜像环境,复现生产环境上的问题,测试辅助开发复现问题。
  • 生产环境

总结:系统开发流程和对应环境

开发(开发环境)-测试(测试环境-预发布环境)-上线(灰度发布环境-生产环境)

1.3 灰度发布

灰度发布:就是指在发布生产环境过程中,先将所有服务器中的几个先进行升级,如果这几台服务器能够成功运行一段时间,那么再把未升级或者未发布的服务器进行升级,如果说先发布的几台服务器有问题,就需要回滚到原先的版本。

并且灰度发布是只针对部分用户而言,如果出现问题影响的也是少部分用户。

image-20220718154606535

1.4 app项目发布平台(测试环境下)

  • 两种安装包:Android(.apk) ios(.ipa)

  • 获取app安装包的方式:

    • 方式一

      • .apk可以和开发直接要
      • IOS将手机给开发人员,让开发人员安装对应的包
    • 方式二:内测分发平台,测试包生成之后可以上传到平台,生成安装包的链接地址,然后下载测试包即可

      • 蒲公英(国内)
      • fir.im
  • 生产环境下正式版本就可以在手机的应用市场上进行下载

1.5 敏捷开发模型实践-scrum

  • 敏捷开发:以用户的需求为核心,采用迭代、循序渐进的方式进行软件开发。

在敏捷开发过程中,软件项目在构建初期会被切分成不同的子系统以及不同的迭代,各个子系统的成果经过测试,具备可集成的特性。

敏捷开发模型是一种思想,该思想有很多种实践方式。

  • scrum

在项目开发过程中,是以增量的、迭代的开发过程,把产品分成若干个小迭代,每个小的迭代周期称为一个sprint,每个sprint周期大概是2-4周。

  • scrum的三种角色

    • 产品负责人: 收集产品需求 确定产品上线时间 产品需求优先级
    • 项目经理:实现scrum敏捷过程 确保按时完成任务
    • 开发团队:开发 UI 测试...

2 app测试流程

  • 需求评审,评审前一定要看需求文档
  • 制定测试计划,一般由测试负责人或者测试主管制定
  • 设计编写测试用例
  • 测试用例评审(可能做可能不做)
  • 搭建环境
  • 冒烟测试(可能做或者可能不做)
  • 执行测试用例,跟踪缺陷
  • 提交版本测试报告