zoukankan      html  css  js  c++  java
  • 接口自动化与UI自动化

    你平时自动化测试怎么做的

    UI和接口相结合,通常以接口为主,UI为辅。
    原因:

    • 接口执行效率高,可测试的代码覆盖率高,维护成本低,属于低成本,高收益。
    • UI自动化执行效率低,并且容易受其他原因(电脑卡顿,浏览器卡顿,网速等)影响导致脚本执行失败,覆盖率难以提升,维护成本较高,属于投入较高,收益较低的类型。但它的优点就是可以完全模拟用户行为,更贴近真实。

    所以需要两者都做

    接口测试怎么做的

    前置条件:

    接口测试需要项目需求 , 接口文档/接口规范;如果没有接口规范/文档,
    也能做,使用抓包工具获取接口报文,看不明白的字段找对应的开发了解;
    目的: 了解接口中的字段限制条件: 例如 必填选填,字段类型(int,str,date),长度,特殊字符?字母加数字?
    

    我们使用jmeter做接口自动化测试,

    做接口测试的时机:

     1、在项目开发过程中,需求评审结束后 ,满足接口测试需要,可以与开发人员同步开发接口测试脚本,
    在后台开发完成后可以直接完成接口测试,不必等前端页面开发完成
      2、回归测试: 接口自动化 ,项目发布之前完成全流程的回归测试
    

    做接口测试的步骤:

    1.先写一个正常流的测试脚本
    2.提取脚本中的参数,修改成变量
    3.根据需要使用自定义变量 或者 csv参数化 或者 数据库查询提取
    4.添加断言结果并参数化;
    5. 补充csv里面的业务数据,完善测试场景.
    6.实现数据驱动测试
    

    你使用接口测试/jmeter达到了什么目的/满足了什么需求/解决了什么问题

    1、提高项目迭代开发过程中的测试结果反应速度(参考做接口测试时机1、)
    2、提高回归测试的效率,并且提高测试场景覆盖率和代码覆盖率
    3、解决项目中重复制造测试数据的问题(具体方法:将某些业务流程封装成接口脚本,并且参数化,
    可重复使用脚本制造测试数据。也可以给不懂接口测试的人使用)
    (接口测试可以绕过前端的限制,  还可以让测试人员提早介入测试)
    

    UI自动化测试怎么做的

    前置条件:

    业务成熟,界面较稳定的时候会考虑UI自动化,(通常只实现业务主流程,不会全流程覆盖)
    

    我们使用selenium+pytest+allure做UI自动化测试,(selenium封装了很多操作浏览器的方法,还可以执行JS等,可以完全模拟人来做业务测试。pytest是一个单元测试框架,可以用来控制测试流程,实现参数化,收集测试数据等;allure 美化测试报告用,编程语言用python

    做UI自动化的时机:
    1、业务成熟,界面较稳定
    2、项目中测试重点在UI层面的

    做UI自动化测试的步骤:

    1、整理出需要实现的UI自动化的场景和业务流程
    2、搭建UI自动化环境(第一次做要这样,后续不用只是集成到之前的项目里)
    3、编写正常流的测试脚本
    4、添加断言
    5、增加异常流程的分支判断及脚本编写
    6、提取脚本中的变量参数
    7、使用xlrd+parametrize实现数据驱动测试
    8、优化并重构脚本(例如提取业务中常用的界面元素;封装业务中的阶段流程,使之可以复用,完成业务驱动测试




  • 相关阅读:
    序列操作
    random模块
    windows系统杀掉explorer.exe进程后黑屏
    Apache + SVN: Could not open the requested SVN filesystem
    使用ps命令批量删除相关进程
    'pybot.bat'不是内部或外部命令,也不是可运行的程序
    安装wxpython的时候报错 “no installation of python 2.7 found in registy”
    wxPython 使用Dialog实现模态对话框
    Python os.system()出现乱码
    Git操作reset --hard失误
  • 原文地址:https://www.cnblogs.com/zyx0623/p/14118791.html
Copyright © 2011-2022 走看看