• 移动自动化测试从入门到高级实战


    Hi

    最近经济形势不太好,行业或将迎来裁员潮。大浪淘沙始见真金,不管外界环境如何变化,能力靠谱的测试开发工程师仍然会是市场上的香饽饽,而淘汰掉的总是不思进取的测试工程师。与其担忧被裁员不如迎难而上,努力充电提升技能。
    霍格沃兹测试学院在十一假期之后为大家带来一波新的精品干货课程和优质内推机会。本次课程不但内容有新增,还增加了一个“返还学费”计划,欢迎大家关注!

    课程标题

    接口自动化测试从入门到高级实战

    摘要

    如何做好一个接口自动化测试项目?

    文案

    接口测试背景和必要性

    屏幕快照 2018-11-02下午6.00.00

    图1.移动互联网公司的一般架构简化模拟

    接口测试是测试系统组件间接口(API)的一种测试,主要用于检测内部与外部系统、内部子系统之间的交互质量,其测试重点是检查数据交换、传递的准确性,控制和交互管理过程,以及系统间相互逻辑依赖关系等。

    屏幕快照 2018-11-02下午6.01.34

    图2.真实的企业后端服务

    现在的互联网应用(App)已经普遍基于前后端分离架构思路构建,即后端提供数据接口,前端调用接口返回 JSon 数据渲染到
    UI。而随着微服务的流行,后端服务模块越来越多,技术团队迫切需要一个效率更高更稳定的获取系统质量信息的方法,以便进行缺陷检测和质量监督。

    之前基于 UI
    自动化测试技术的思路和手段由于低效繁杂且容易出错已经无法满足实际需要,而面向服务的接口自动化测试体系则应运而生,成为业界最主流的质量管理手段。尤其是对高复杂性的互联网企业平台,系统越复杂庞大,接口测试自动化和持续集成的效果就越明显。业界已经有成熟的低成本、高效率的解决方案、开源工具和案例经验。当下,熟悉和掌握接口自动化测试技术也成为了一线互联网企业对中高级测试开发工程师的基本要求。

    屏幕快照 2018-11-02下午6.14.30

    图3.分层自动化的关键质量保证手段

    接口测试的质量目标

    建设完备的接口自动化测试体系主要从以下几个角度考虑:

    质量维度

    \- 功能正常:保持新老版本的兼容
    
    \- 性能正常:单次请求的响应时间跟总体的 qps 相关 
    
    \- 变更检测:字段的缺失,字段的类型变更 
    
    \- 异常和健壮性测试
    

    质量体系

    \- 构建接口层的快速稳定的质量保证体系
    
    \- 构建接口监控体系
    

    接口测试流程

    在企业内部实施接口测试的实际流程如下:

    1. 接口的范围:需要覆盖多少业务和接口

    2. 接口分析:接口的协议、上下游依赖

    3. 接口测试用例设计:业务用例如何模拟和覆盖

    4. 接口测试框架选择:选择合适的框架

    5. 测试用例编写与维护:用例编写与维护更新

    6. 持续集成:不断集成测试

    待测接口范围

    常见的待测接口范围如下:

    1. 业务需求调研:研发和产品反馈常出问题的业务

    2. 接口文档:人工文档、Swagger 自动生成的文档

    3. 代码分析:分析 Spring 等框架的代码

    4. 线上 Log 和数据:线上的生产监控和接口 Log

    5. 客户端抓包:基于用户角度的接口行为分析

    常见抓包分析

    1. 监听分析:TCPDUMP + WireShark + HAR 提取工具

    2. 代理分析:Charles + BurpSuite

    3. 转发分析:修改 Host 域名 + 反向代理转发

    测试用例设计

    1. 接口调用的流程分析

    \- 代理抓包
    
    \- 线上 Log 提取 
    

    2. 人工用例补充:用流程图和思维导图进行业务建模

    \- 正常场景用例 Right Path 
    
    \- 异常场景用例 
    
    \- 安全和稳定性用例
    

    接口测试框架选择

    关于如何选择接口测试框架,列举几个常见的框架特性供参考:

    1. 早期阶段:基于各种语言的 HTTPClient 封装

    2. JMeter:性能测试工具,不具备完备的接口测试框架功能

    3. RobotFramework:强大的ATDD工具,不过约束性太大

    4. RestAssured + Swagger

    5. SoapUI [商业化]

    这里推荐开源的 Rest-Assured,它有如下优点:

    - 简约的接口测试 DSL

    - 支持 XML JSon 的结构化解析

    - 支持 XPath JSonPath GPath等多种解析方式

    - 对 Spring 的支持比较全面

    落地接口自动化测试体系的技能挑战

    要真正落地接口自动化测试体系,测试开发工程师必须根据公司业务实际情况,选择合适的框架,并熟练掌握接口测试工具和平台使用,设计出通用、易于校验、健壮易用的接口测试用例,还需要掌握数据驱动机制,能用断言来完善接口测试用例。

    其次,还需要了解接口测试体系架构与常见后端发布机制,能基于 RPC 协议的微服务框架如 Dubbo 做测试,熟悉测试用例和套件管理机制,能掌握
    Jenkins 执行用例的方法,让接口测试实现真正的自动化。

    另外,还要对接口测试方案做持续优化,可进一步通过抓包、Hook 等方法实现接口测试用例的自动生成,并掌握基于接口的快速回归测试手段提升效率。

    熟练掌握接口自动化测试体系背后的这些技能和处理问题的思路,实现时间、人力、收益的平衡,对于一个经验尚浅的初、中级测试开发人员来说绝对是一个艰巨的挑战。

    《接口自动化测试从入门到高级实战》课程介绍

    霍格沃兹测试学院特开发了《接口自动化测试从入门到高级实战》专项突破课程,由资深测试架构师、测吧科技 CTO、开源工具 AppCrawler
    作者思寒老师主讲,用 4 周时间,30 课时,讲解接口测试入门基础、进阶技能、框架原理,管理工具,项目实战 5
    大模块内容,带学员深度掌握可落地的接口自动化测试实战技能。

    课程亮点

    - 核心理论 + 实战演练 + 接地气的案例经验 + 踏坑填坑指南

    - 直播和录播回放:两年内可重复观看录播,并可打卡跟学下一期课程新内容;

    - 多编程语言支持:Java 和 Python 双语言教学和代码示例;

    重磅福利

    学员经学院内推成功返还全部学费:对于优秀的学员,霍格沃兹测试学院还有奖学金激励和 BAT 等一线名企内推服务。已经有成功案例。

    讲师介绍

    思寒:十年测试开发工作经验,先后工作于阿里巴巴、百度、雪球。现为霍格沃兹测试学院的首任校长。

    课程目录

    课程受众

    • 手工/黑盒测试工程师

    • 测试开发工程师

    • 测试和质量体系管理人员

    • 研发工程师/研发工程师转行测试工程师

    • 具备编程功底的在校学生

    报名详情

    时间:2018年10月13日至11月17日(每周六,10:00-18:00);

    团购报名地址:点击“阅读原文”参与拼团优惠购课;

    TesterHome 社区限量 600 元优惠码:https://ke.qq.com/p/bqvjEQZZ

    报名咨询,请扫码入群

    常见答疑

    1. 是否对编程能力有要求?

    需要具备一定的编程能力,学院提供了 Python 和 Java 语言基础入门录播课程,可以帮助大家快速掌握基本编程能力。

    2. 如何上课?

    上课使用腾讯课堂直播,并支持观看录播,课后也可在社区的霍格沃兹测试学员节点发帖提问。报名成功后,课程助教会挨个拉大家到微信群,并同步上课的准备工作和预习资料。

    3. 是否提供发票?

    提供

    4. 拼团是否有优惠?

    多人组团可享受团购价,可扫码入群后联络群主。

    ** 7**

    报名详情

    • 时间 :2018年10月13日至11月17日(每周六,10:00-18:00);

    • 团购报名地址 :点击“阅读原文”参与拼团优惠购课;

    • TesterHome 社区限量 600 元优惠码https://ke.qq.com/p/bqvjEQZZ

    报名咨询

    请扫码入群

    想法丨行动丨习惯丨收获

    点击“阅读原文”,让进步成为习惯

    来霍格沃兹测试开发学社,学习更多软件测试与测试开发的进阶技术,知识点涵盖web自动化测试 app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移、测试右移、精准测试、测试平台开发、测试管理等内容,课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相关技术,全面提升测试开发工程师的技术实力
    QQ交流群:484590337
    公众号 TestingStudio
    点击获取更多信息

  • 相关阅读:
    typedef
    心目中的编程高手
    截取包含多字节字符的字符串
    Start deltacat Audio Mix Filter
    关于编译环境和DLL的惨痛教训
    【转】自定义Extjs中Grid单元格的显示格式
    Ajax 按需 提交指定字段 以 Json Model 形式 post 到 action
    [转]Log4Net 非常完整的配置。
    【转】Ext.data.Store
    this.getColumnModel is not a function Extjs 如何解决呢? Extjs 导出 到Excel 解决方案问题
  • 原文地址:https://www.cnblogs.com/hogwarts/p/15812475.html
Copyright © 2020-2023  润新知