前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java自动化测试(自动化测试背景与流程 27)

Java自动化测试(自动化测试背景与流程 27)

作者头像
zx钟
发布2020-09-14 11:20:10
1.3K0
发布2020-09-14 11:20:10
举报
文章被收录于专栏:测试游记测试游记

自动化测试背景

什么是自动化测试

机器代替手工测试,自动验证结果是否符合预期

自动化测试优点

  1. 替代大量重复手工测试
  2. 提升回归测试效率,适合敏捷开发
  3. 在非工作时间自动执行,工作时间查看测试报告
  4. 保证每次测试执行的一致性与正确性,避免人为错误

自动化测试劣势

  1. 一般用于回归测试,项目开发初期不适合使用自动化
  2. 不能全部取代手工测试,只能替代手工测试中机械化,重复度高的操作,自动化测试极少能够达到100%覆盖率
  3. 自动化测试非常脆弱,特别是UI自动化
  4. 自动化测试工作量(框架设计+脚本开发)比单次手工测试大很多,当自动化多次执行时,性价比才会凸显

自动化测试实施流程

1.评估自动化测试实施可行性

想要开展自动化测试,应该遵循以下几个前提条件:

  1. 需求稳定,不会频繁变更
  2. 研发和维护周期长,需要频繁执行回归测试
  3. 项目资源足够「人力」

2.测试需求分析

自动化测试到底要做到什么程度

自动化测试覆盖范围:

  • 主业务流程
  • 历史BUG较多的模块
  • 基础重复的功能
  • 优先级

3.制定测试计划

测试工具/框架选型

  • 接口自动化:TestNG+HttpClient+Maven+Allure+Log4j
  • web自动化:TestNG+Selenium

框架设计,自动化测试脚本开发时间计划表

脚本执行的策略,冒烟测试/回归测试的频率

定义自动化测试的输出,测试框架,测试脚本,测试数据,发现的缺陷,测试报告

测试数据生成
  1. UI方法:人工方式造数据
  2. 接口方法:效率高 用的最多 有保证的
  3. 数据库:效率高 添加数据影响到其他的数据表 不能确保正确性

4.搭建自动化测试环境,设计框架

5.开发自动化测试脚本

手工测试用例转自动化测试用例的过程

6.执行自动化测试

本地执行:IDE调试/执行

持续集成平台:jenkins

7.分析自动化测试结果

自动化用例失败了

  • BUG
  • 脚本设计/稳定性问题

8.框架/脚本维护

周期最长

  • 框架优化
  • 需求变更

9.成功展示「落地」

  • 自动化测试用例覆盖,一般为20%的自动化测试,80%的手工测试
  • 节省的时间成本:手工测试花费的时间-自动化测试所花的时间
  • 自动化测试发现的缺陷数:保证质量,不能保证发现很多BUG
  • 自动化测试的投入产出ROI「越高越好」

(手工测试的成本-自动化测试成本)/自动化测试脚本

自动化测试可以达到100%覆盖率吗

有些用例场景无法被自动化

一些验证易用性,友好性,美观的用例不适合做自动化

有些边缘用例很少被重复执行,从ROI角度考虑不适合做自动化

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试游记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 自动化测试背景
    • 什么是自动化测试
      • 自动化测试优点
        • 自动化测试劣势
          • 自动化测试实施流程
            • 1.评估自动化测试实施可行性
              • 2.测试需求分析
                • 3.制定测试计划
                  • 测试数据生成
                • 4.搭建自动化测试环境,设计框架
                  • 5.开发自动化测试脚本
                    • 6.执行自动化测试
                      • 7.分析自动化测试结果
                        • 8.框架/脚本维护
                          • 9.成功展示「落地」
                          • 自动化测试可以达到100%覆盖率吗
                          相关产品与服务
                          持续集成
                          CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档