app专项测试一

Mr.he...大约 5 分钟appTest

学习目标

  1. 掌握基于敏捷开发的测试流程
  2. 掌握app的测试要点,熟悉各种专项测试的关注点
  3. 熟悉GT工具的使用,能使用GT工具进行对应的性能测试

一、app测试基础理论

1、app的应用架构

CleanShot 2023-12-01 at 10.25.24@2x

app属于CS架构,是通过HTTP协义来传输数据的。 通过json的格式来传送数据的。

2、app架构和web架构的区别

相同点

  1. APP和web使用的后端服务器是相同的
  2. 前后端都使用HTTP协议进行交互 (也有部分APP用socket来交互)

不同点

  1. APP是C/S结构,web浏览器是B/S结构
  2. APP前后端交互的数据格式以json为主,web前后端交互的数据格式以HTML为主

3、app项目环境及发布平台

3.1 app项目环境介绍(后端服务器环境)

编号环境说明
1开发环境是给开发人员进行代码联调的。给开发进行自测的。
2测试环境用来给测试人员进行测试用的。测试环境也可能分为手工测试环境和自动化测试环境的。
3预发布环境当项目要上线时,做最后一轮的验收测试时,预发布环境的数据跟生产环境的数据是一致的。
4镜像环境当生产环境出现问题时,把生产环镜的相关数据以及代码全部拉到镜像环境,复现生产上的问题,然后由测试人员协助开发人员复现问题,然后由开发人员去进行问题的定位和分析。
5生产环境给用户或者是客户使用的环境 (生产环境测试人员不能随便操作,由运维人员管理的)

3.2 灰度发布介绍

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

3.3app项目发布平台

  • android 安卓app文件后缀名是 apk

  • IOS 苹果app文件后缀名是ipa

  • 获取app安装包文件的方式一:

    • anroid 可以直接找开发给对应apk安装包
    • IOS 直接将手机给开发人员,让开发人员安装对应的ipa包
  • 获取app安装包文件的方式二:

    • 可以借助内测试平台

      国内用的内测平台是蒲公英, 国外用的是fir.imopen in new window

    • 测试包生成之后会上传到蒲公英平台,然后生成一个链接地址(二维码),可以直接通过二维码或者链接地址下载对应的测试包

  • 生产app安装包的获取

    anroid的app安装包:豌豆荚、应用宝、360手机助手、各类手机品牌商城(上传app安装包需要审核 2-3 )

    ios的app安装包:appstore itools(IOS时间更长,一周左右)

4、敏捷开发模型

4.1 敏捷开发模型介绍

瀑布模型(传统行业)
流程
  • 需求分析
  • 设计
  • 编码
  • 测试
  • 运行维护
优点
  1. 为项目提供了按阶段划分检查点(文档)
  2. 当前一阶段完成后,只需要关注后续阶段。
缺点
  1. 在项目各介段之间极少有反馈,出现问题没法及时处理,灵活性差;
  2. 只有在项目结束交付上线时才能看到最终的结果;
  3. 需要太多的文档来驱动项目进行。影响项目的效率。
结论

采用传统的瀑布模型最大的问题是开发的周期长,迭代的速度慢。

  • 互联网行业特点:追求创新、以快吃慢、需求高度不确定性
  • 互联网产品开发的特点:新需求、新方向
  • 降低项目风险,确保正确的方向:快速的反馈机制、快速试错的流程 (针对需求不确定性)
敏捷开发

概念:以用户的需求为核心,采用迭代、循序渐近的方法进行软件开发

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

4.2 Scrum介绍

Scrum是一个敏捷开发框架,是一个增量的,迭代的开发过程。

在这个框架中,整个开发周期包括若干个小的迭代周期,每个小的迭代周期成为一个Sprint(sprint:项目开发过程中最小迭代周期),每个Sprint的周期建议为2~4周。

在Scrum中,将产品Backlog(产品待办列表)按商业价值排出需求列表。在每个迭代中开发团队从产品Backlog挑选最有价值的需求进行开发,实现完成后产品推出市场,进入下一个迭代。

需要熟悉的三个角色:

  • 产品负责人:收集产品需求,确定产品上线时间,排产品需求的优先级
  • 项目经理:带领团实现SCRUM敏捷过程,确保组内成员不被外界干扰,确保组内成员按时完成任务
  • 开发团队:程序员,测试员,设计(程序员分前端、后端、android开发、ios开发)
  • 每日例会: 需要知道每天干了什么,明天计划干什么,以及遇到的问题。一般早上开会,15分钟左右。 同时需要知道项目的进度是否正常

5、app应用测试流程

  • 参与需求评审 评审前一定要看需求文档
  • 制定测试计划 一般由测试负责人或测试主管制定
  • 设计编写测试用例 有一些小公司由人力时间紧张,可以不写用例,需要写测试点。用例评审
  • 执行用例,跟踪缺陷 搭建环境,冒烟测试(有可能做,也有可能不做)
  • 编写提交版本测试报告