🐷1.浅谈自动化

自动化测试的价值

传统的商业模式以业务驱动产品,而现在则以技术驱动产品。特别是在敏捷模式下,产品迭代速度快,市场不断调整,客户需求不断变化。单纯的手工测试越来越无法适应整个变化的过程。QA人员如何快速响应并保证产品在上线后质量能够满足市场要求(简单说,如何在上线一个新功能的同时快速对老功能进行回归测试,保证老功能不被新功能影响而出现严重的Bug),如何通过技术手段提高测试效率?

显然,对于这些问题,采用自动化测试无疑是一个不错的选择。能够做到在保证产品质量的同时提升测试效率

岗位要求

如今,对于软件测试工程师来说,仅仅会手工测试已经无法满足岗位要求,我们从招聘网上相应的岗位要求中可以看到,很多都需要要求懂自动化测试、有自动化测试的经验,我们在面试的过程中也会经常碰到相关的面试题,比如:你会自动化测试吗?在以往的工作经历中有自动化测试的经历吗?自动化测试如何落地?你们是怎么做自动化测试的呢?等一系列问题。

🐷2.UI自动化的本质

UI:User Interface 用户界面

把手动测试的一系列动作转化成机器自动执行。

  • 打开网站(比如:打开淘宝网站)
  • 定位元素(比如:定位到搜索输入框)
  • 操作元素(比如:在搜索框中输入秋装,点击搜索)
  • 模拟页面动作(比如:下拉、上滑等)
  • 断言结果:预期结果与实际结果比对,判断是否通过测试。
  • 生成报告

场景:打开淘宝网站,在搜索框中输入内容,点击搜索,查看搜索结果和预期要搜索的结果是否一致。

🌟PS:做自动化不能跨步走,要一步一步的执行,手工怎么执行自动化就怎么执行。

🐷3.适合自动化测试场景

  • 需求不会频繁变动:因为需求频繁变动,页面的功能就会频繁变动。(比如敏捷迭代项目,V1.0版本已经上线了,后面只是在V1.0的基础上加一些新的功能,就可以对V1.0版本的老功能进行自动化测试)

  • UI比较稳定:因为UI自动化就是基于UI。

  • 项目周期较长

  • 大量的回归测试任务:大量的重复的回归的测试任务,不断的迭代,需要回归老功能。

  • 冒烟测试:针对本次迭代的新功能(核心的、主干的功能,大概10%~20%)进行冒烟测试。如果冒烟不通过就不接受这个版本的测试。

    1
    2
    3
    4
    5
    冒烟测试知识点补充:
    ①冒烟测试指软件经过修改后,对其关键功能进行测试。
    ②为防止出现时间、人力资源的浪费,只有在通过冒烟测试后,系统方可进入全面测试阶段。
    ③冒烟测试用于确认是否让测试人员进入到对新版本的测试工作中。
    ④进行冒烟测试时,不需要返测上一版本中所有已知的缺陷。
  • 回归测试:对老功能进行回归测试。

🐷4.不适合自动化测试的场景

  • 交互性太强的
  • 视频播放器(无法判断正在播放的是什么、无法分析是蓝屏还是黑屏)
  • 音频播放器
  • 打电话

🐷5.UI自动化测试设计原则

  • 一个case完成一个功能点测试:一个自动化测试用例对应一条手工测试用例。
  • 一个脚本是一个完整的场景(比如:打开淘宝网站,选择分类,添加某一个商品到购物车,支付,查看订单详情。)
  • 脚本之间独立,不能有依赖(比如:有10个脚本,第1个脚本是登录,后面9个脚本依赖于登录,若第1个脚本失败,后面9个脚本就无法执行。)
  • 设置合适的检查点:断言结果,检查预期结果与实际结果是否一致。
  • 设计良好的框架(比如:unittest框架)