自动化测试探索学习之路(1)

自动化测试方法

  1. 数据驱动
事先编写数据文件,测试脚本通过读取文件变量执行  
适用于数据量很大的用例
  1. 关键字驱动

    • 脚本和数据分离
    • 测试描述和具体实现细节分离
    • 界面元素名和测试内部对象名分离
主要关键字:被操作对象(item)、操作方法(operation)、值(value)。  
即:item.operation(value)
  1. 领域驱动

    使用领域模型建模

  2. 功能驱动

    按照模块划分

  3. 指令驱动

    基于数据驱动,只不过数据换成了指令

自动化测试弊端

  1. 无法完全替代手工测试
  2. 无法覆盖所有测试类型
  3. 成本高(开发周期长、需维护、代码能力)
  4. 缺乏普遍适用的框架
  5. 对测试人员要求较高

不适合自动化测试的场景

  1. 定制型项目
  2. 短期项目
  3. 业务逻辑复杂的项目
  4. 改动频繁、不稳定的项目
  5. 较少运行的测试
  6. 易用和美观等主观角度的测试
自动化测试适用性:
通常用来基于WEB的UI测试和接口测试,主要针对重复性质的功能测试类型,作为辅助手工测试的手段。

自动化测试思想

  1. 必须保证正常情况下(排除环境和代码问题),用例通过率100%,即自动化用例必须具备高容错性。
  2. 收益最大化:每次回归都不得不执行的用例,优先考虑自动化
  3. 确保环境一致性,但不要因此成为瓶颈
  4. 自动化广义类型:
    • 单元测试unit
    • 接口自动化service(后端接口)
    • UI自动化(前后端稳定,测试端到端)
    • shell脚本自动化(后端组件自身的基础核心功能)
    • 数据准备自动化
    • 编译、打包、部署自动化
    • 性能测试自动化
    • 资源监控报警自动化
    • 其他重复性手工操作
  5. 使用自动化语言(java、python、shell),结合现有测试平台工具
  6. 关于变与不变
    • 封装一切可能的可控的变化因素
    • 为了稳定使尽一切手段

自动化测试实施步骤

  1. 准备工作-明确需求
  2. 框架搭建
    • 代码管理 git、svn等
    • 包管理
    • 测试框架
    • 数据库交互
    • 用例管理
    • 日志管理
    • 配置管理
  3. 分层解耦
通用工具类、配置类、数据库封装类、用例、测试数据
通用请求类、接口封装、测试代码集

自动化测试框架

posted @ 2018-07-17 19:44  今天阳光那么好  阅读(401)  评论(0编辑  收藏  举报