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

自动化测试背景

什么是自动化测试

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

自动化测试优点

  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角度考虑不适合做自动化

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值