所以我们的自动化框架结构Android 和iPhone两个平台基本类似,只是在framework层封装不同。框架截图如下:

  报告呈现:

  如何实施
  3.1   用例管理
  在自动化框架那部分有提到地图自动化脚本是关键字驱动,对于用例的规范性已经有很强的约束性,但两个端自动化依然是两套代码,脚本编写和维护依然有不同步的现象。为了方便接口和用例维护,我们搭建了用例管理平台,平台上一次录入,自动生成双平台自动化用例,测试工程师可以轻松得新增维护自动化用例。
  用例呈现状态:

  用例编辑状态:

  3.2 用例编辑状态:
  各方面专项自动化能力有了,需要和项目有效结合起来,利器是持续集成。
  持续集成是什么?也是每天软件的代码更新都会对该软件的功能进行集成验证一次,这样保证迭代的功能的正确性,及时暴露迭代过程中的问题。人工方法进行持续集成的打包和验证显然行不通,这样会耗费大量的人力和资源,因此自动化成为进行持续集成的基础。地图组的持续集成测试如图包含这样几类:自动化打包、准入测试、Daily自动化、安全测试等。

  百度地图持续集成统一采用Jenkins持续集成系统,自动化持续的构建和测试。
  自动化打包:打测试包是自动化测试的基础,打包分成两类:一类是被测的地图apk,一类是测试apk,通过gradle脚本指令进行apk自动编译。其中被测的地图apk打包的方式是:每三分钟监控一次svn的变化,如果地图包的svn有任何代码的变动会触发自动打包编译,产出地图的包供测试使用。
  准入测试:作为RD提交代码的第一道关卡,将重要问题卡在前端。供测试用的地图包一旦产出会触发准入测试的job,准入测试的job一共做了两件事:第一件事是产出测试apk,也是将准入测试的自动化case打包成测试apk并安装进手机里,第二件事是运行准入的自动化用例,如果自动化用例运行失败则立刻触发报警,提示RD及时纠正错误的代码,有效的保障了地图apk包的准入质量。
  Daily自动化:按天运行的集成自动化用例,包含集成测试中所有的自动化用例,用例量大,运行时间久,因此每天运行一次,并将结果自动整理发送邮件周知给项目负责人,由项目负责人分析失败的用例,将集成测试才会集中暴露问题的风险提前。
  安全测试:用于定时扫描app中的安全漏洞,提早发现app的安全问题。
  百度地图通过这几种持续集成的自动化测试方法形成了一套完整的线下测试持续集成方案,有效的保障了地图app持续集成的稳定性,将质量风险尽可能前置。
  3.3 用户体验馆
  用户体验馆是手机地图实施自动化的另一个成功案例。简而言之,用户体验馆为核心用户群提供一站式服务的移动测试平台,包含为核心用户提供App测试包下载、自动化测试插件下载和用户中心功能,其中自动化测试插件提供了一种新的自动化运行模式,它以插件的形式嵌入地图体验馆中,可以随时云端进行更新和下载自动化用例,用户只需根据提示下载新的自动化用例,手工操作运行即可,运行结果将在联网的情况下自动回传给云端进行整合分析。
  通过用户体验馆的实施解决了测试中用户体验反馈少、UI兼容性测试缺失、新功能用测验证不足和运营成本高的问题,补充了整体的测试方案。