Java 编程语言与 JUnit5 测试框架

课程描述

通过本课程的学习,可以掌握 Java 编程语言的基础知识、面向对象思想、异常处理、IO 流操作、JUnit5 测试框架以及 Allure 测试报告定制能力。将能够熟练编写 Java 程序,处理文件读写操作,编写高质量的测试用例,并使用 Allure 生成详细且定制化的测试报告。

课程收益

通过此次课程培训,可使学习者获得如下收益:

  1. 掌握 Java 基础语法:八大基本数据类型、运算符和常用语句。
  2. 理解面向对象思想。
  3. 掌握异常处理、IO 流对文件读写、等核心类库。
  4. 掌握 Java 的常用标准库和依赖管理。
  5. 掌握 JUnit5 基本规则。
  6. 掌握测试用例编写及运行规则。
  7. 掌握 JUnit5 常用注解和测试套件的使用。
  8. 掌握 JUnit5 的测试用例断言及 Hamcrest 断言。
  9. 掌握测试框架的数据驱动和并行执行。
  10. 掌握 JUnit5 动态测试和测试生命周期回调。
  11. 学会 Allure 安装和 Allure 运行方式。
  12. 掌握 Allure2 添加用例分类、用例描述、用例失败截图、用例日志等。

授课形式

  • 课堂讲授
  • 讲义解析
  • 测试情景模拟
  • 项目实战

讲师介绍

content:
  items:
  - image: https://contest.ceshiren.com/image/%E8%B5%9B%E4%BA%8B%E9%A1%BE%E9%97%AE-%E6%80%9D%E5%AF%92.png
    content:
        header: 思寒老师
        meta:
        - 测吧(北京)科技有限公司CTO
        description:
        - 霍格沃兹测试开发学社创始人
        - 15年+ 测试从业经验的资深测试架构师
        - 曾任职于阿里、百度、美团等名企
        - 开源自动化测试项目AppCrawler作者,多个行业顶级技术会议演讲嘉宾
        - 咨询与培训客户涵盖阿里、京东、小米、华为、工信部、海关总署、中国移动、招商银行等众多企业与机构。
  - image: https://ceshiren.com/uploads/default/original/3X/6/3/63ee2544fe138f966da303412aa846a0124c7b40.jpeg
    content:
        header: AD老师
        meta:
        - 资深测试开发专家
        description:
        - 对互联网金融、区块链、物联网都有深入的测试经验
        - 曾参与华为、信通院、海关等公司的自动化测试与测试平台项目
        - AppCrawler核心维护者,模型驱动测试框架MTF核心维护者
  - image: https://testing-studio.com/image/%E7%AE%A1%E7%90%86%E7%8F%AD%E8%AE%B2%E5%B8%88%E5%A4%B4%E5%83%8F08.jpeg
    content:
        header: 听涛老师
        meta:
        - 某互联网资深测试专家
        description:
        - 10年+互联网行业测试和管理经验
        - 曾就职百度、网易、诺西
        - 创立MTC移动测试平台、精通敏捷、CI/CD、DevOps

Java 编程语言 - L1

学习目标
  • 掌握Java基础语法:八大基本数据类型、运算符和常用语句
  • 理解面向对象思想
  • 掌握Java常用关键字
知识点
形式 章节 描述
知识点 Java 环境安装 jdk 的安装、java环境变量配置
知识点 开发环境安装与配置 IDEA 软件安装;项目创建及目录结构;常用快捷键
知识点 第一个 Java 程序 主函数,相关命名规则; java步骤编译
知识点 基本数据类型 八大基本数据类型及其类型转换
知识点 运算符 算术,赋值,比较,逻辑,三目
知识点 判断条件语句 if-else;switch-case
知识点 循环语句 for;while;do-while,嵌套 for 循环;关键字 break/continue
知识点 数组 概念;定义;访问;索引;遍历;反转;一维数组;二维数组
知识点 方法入门 定义;参数;return 和返回值;调用过程;调用形式;方法重载
知识点 面向对象编程 类和对象的概念、定义及关系
知识点 封装 成员变量;局部变量,private 关键字;内部类
知识点 构造方法 有参构造;无参构造;this 关键字;
知识点 继承 方法重写;super 关键字
知识点 抽象类 抽象类、抽象方法
知识点 接口 接口的定义、实现
知识点 多态 多态的概念、前提、转型
知识点 final 关键字 final 修饰类、修饰方法
知识点 访问权限关键字 访问权限关键字 public/protected/private
知识点 静态变量 static 关键字修饰成员变量
知识点 静态方法 static 关键字修饰方法

Java 编程语言 - L2

学习目标
  • 掌握Java包装类用法
  • 掌握异常处理、IO流对文件读写、等核心类库
  • 掌握常用的IO流、Stream流用法
知识点
形式 章节 描述
知识点 普通内部类 普通内部类
知识点 静态内部类、局部内部类 静态内部类、局部内部类
知识点 匿名内部类 匿名内部类
知识点 String 类 String 类的 valueOf(),contains(),equals()方法
知识点 包装类-上 Integer;自动拆装箱;Integer 与 String 转换
知识点 包装类-下 Double;Boolean;Double 与 String 转换
知识点 错误与异常 try-catch-finally
知识点 集合-声明、添加 Collection 集合声明;集合添加元素;集合添加其它集合对象的所有元素
知识点 集合-判断是否包含 是否包含元素对象,是否包含其它集合对象的所有元素
知识点 集合-删除 删除集合元素;删除其它集合对象的元素
知识点 集合-其它常用方法 集合清空、集合大小、集合判断是否为空,数组集合之间互相转换
知识点 Iterator 迭代器 迭代器概念;迭代器获取集合元素;迭代器重写集合 toString()方法;
知识点 ForEach foreach 概念;foreach 获取集合元素;foreach 重写集合 toString()方法;
知识点 List 集合-ArrayList 集合 ArrayList 使用
知识点 List 集合-LinkedList 集合 LinkedList 使用
知识点 List 集合-常用方法 List 集合-常用方法
知识点 Stack 集合 Stack 集合
知识点 Queue 集合 Queue 集合,LinkedList
知识点 泛型-自定义泛型类 自定义泛型类
知识点 泛型 父子泛型类,泛型通配符
知识点 Set 集合 Set 集合介绍,常用方法
知识点 Map 集合 Map 集合
知识点 IO 流- 基本概念 概念介绍
知识点 IO 流- 写入文件 FileWriter 写入文本文件
知识点 IO 流- 读取文件 FileReader 文本文件读取
知识点 IO 流- 文件读写优化 图片、mp4 文件读写,缓冲流
知识点 Stream 流 Stream 流与集合

Java 编程语言 - L3

学习目标
  • 掌握lambda 表达式
  • 掌握Java的常用标准库
  • 掌握常用的依赖管理
知识点
形式 章节 描述
知识点 lambda 表达式 - 使用 lambda 初步使用了解
知识点 lambda 表达式 - 省略模式 lambda 省略模式
知识点 常用标准库:日期时间 Date 类,DateFormat 类,Calendar 类
知识点 常用标准库:文件的处理 File 类
知识点 常用标准库:随机数 Random 类
知识点 常用标准库:科学计算 Math 类
知识点 常用标准库:输入与输出 Scanner 类
知识点 常用标准库:数据库操作-JDBC 使用 JDBC 连接数据库
知识点 maven 依赖管理 maven dependency build
知识点 gradle 依赖管理(选修) gradle dependency build
知识点 常用第三方库 常用第三方库简介
知识点 日志 slf4j

JUnit5 测试框架 - L1

学习目标
  • 掌握JUnit5基本规则
  • 掌握测试用例编写及运行规则
知识点
形式 章节 描述
知识点 JUnit5 简介、安装与准备 简介、环境安装,运行第一个测试脚本
知识点 JUnit5 命名规则 模块命名、类命名、方法命名
知识点 idea 配置与界面化运行 配置与界面化运行
知识点 JUnit5 测试用例结构 测试用例名称、步骤、继承关系说明
知识点 JUnit5 测试用例断言 常用断言类型 assert
知识点 JUnit5 测试框架结构 类级、方法级、测试用例之间的顺序
知识点 JUnit5 测试用例调度与运行 通过配置文件及maven 命令行指定用例执行规则

JUnit5 测试框架 - L2

学习目标
  • 掌握参数化测试用例
  • 掌握JUnit5常用注解
知识点
形式 章节 描述
知识点 JUnit5 参数化用例(一) @ParameterizedTest + @ValueSource
知识点 JUnit5 参数化用例(二) @ParameterizedTest + @MethodSource
知识点 JUnit5 参数化用例(三) @ParameterizedTest + @EnumSource/@NullSource
知识点 JUnit5 超时处理 注解@Timeout 控制用例超时
知识点 JUnit5 显示名称 注解 @DisplayName、 DisplayName 生成器
知识点 JUnit5 嵌套测试 注解 @Nested 嵌套测试
知识点 JUnit5 执行顺序 注解 @Order 控制用例的执行顺序
知识点 JUnit5 重复测试 注解 @RepeatedTest 重复测试
知识点 JUnit5 标记测试用例 注解 @Tag 通过标签控制用例
知识点 JUnit5 设置禁用测试用例 注解@Disabled 实现用例跳过

JUnit5 测试框架 - L3

学习目标
  • 掌握JUnit5测试套件的使用
  • 掌握JUnit5的测试用例断言及Hamcrest断言
  • 掌握测试框架的数据驱动
  • 掌握测试框架的并行执行
知识点
形式 章节 描述
知识点 JUnit5 测试套件 注解 @Suite 控制测试套件
知识点 JUnit5 多断言处理 通过 assertAll 解决多断言场景
知识点 JUnit5 结合高级断言-hamcrest 通过 hamcrest 提高断言灵活性
知识点 JUnit5 结合数据驱动-yaml 利用外部数据源 YAML 管理测试数据
知识点 JUnit5 结合数据驱动-excel 利用外部数据源 EXCEL 管理测试数据
知识点 JUnit5 结合数据驱动-csv 利用外部数据源 CSV 管理测试
知识点 JUnit5 结合数据驱动-json 利用外部数据源 JSON 管理测试
知识点 junit4 测试框架 【扩展】 最流行的单元测试框架
知识点 testng 测试框架 【扩展】 最流行的集成测试框架
知识点 JUnit5 开启并行配置【进阶】 JUnit5 分布式,多线程配置文件,混合并发
知识点 JUnit5 并行执行模式【进阶】 JUnit5 分布式,多线程配置文件,混合并发
知识点 JUnit5 并行策略【进阶】 JUnit5 分布式,多线程配置文件,混合并发
知识点 JUnit5 并行-@Execution【进阶】 JUnit5 分布式,多线程配置文件,混合并发
知识点 JUnit5 并行数据同步 JUnit5 分布式,多线程配置文件,混合并发

JUnit5 测试框架 - L4

学习目标
  • 掌握JUnit5动态测试
  • 掌握JUnit5测试生命周期回调
知识点
形式 章节 描述
知识点 JUnit5 动态测试创建 如何创建动态测试
知识点 JUnit5 动态测试规则 动态测试创建规则
知识点 JUnit5 动态测试的生命周期 动态测试的生命周期
知识点 JUnit5 自定义动态测试的执行顺序 自定义动态测试方法中的执行顺序
知识点 JUnit5 动态测试的参数化 动态测试的参数化
知识点 JUnit5 动态测试的并行运行与分布式运行 多线程运行动态测试
知识点 JUnit5 测试生命周期回调 【进阶】 JUnit5的extension 测试生命周期回调

Allure2 测试报告-L1

教学目标
  • 掌握 Allure 安装
  • 掌握 Allure 运行方式
知识点
形式 章节 描述
知识点 Allure2 安装 Allure2 与相关依赖安装
知识点 Allure2 运行方式 Allure2 运行方式

Allure2 测试报告-L2

教学目标
  • 掌握 Allure2 添加用例分类、用例描述的能力
  • 掌握测试报告定制能力
知识点
形式 章节 描述
知识点 Allure2 报告生成 Allure2 生成测试报告
知识点 Allure2 报告中添加用例标题 测试报告添加用例的标题
知识点 Allure2 报告中添加用例步骤 添加测试测试步骤,通过调用方法实现、通过装饰器实现,以及结合参数化
知识点 Allure2 报告中添加用例链接 测试报告添加超链接
知识点 Allure2 报告中添加用例分类 添加测试类别划分
知识点 Allure2 报告中添加用例描述 测试报告添加用例的描述
知识点 Allure2 报告中添加用例优先级 测试报告添加用例的优先级
知识点 Allure2 报告中添加用例支持 tags 标签 测试报告中添加用例支持 tags 标签,例如 xfail、skipif 等
知识点 Allure2 报告中支持记录失败重试功能 测试报告中支持第三方插件 reruns=num 参数,并记录用例失败的次数以及原因

Allure2 测试报告-L3

教学目标
  • 掌握 Allure2 添加用例失败截图、用例日志、html 块、视频的能力
  • 掌握测试报告定制能力
知识点
形式 章节 描述
知识点 Allure2 报告中添加附件-图片 测试报告添加截图
知识点 Allure2 报告中添加附件-日志 测试报告添加日志
知识点 Allure2 报告中添加附件-html 测试报告添加 html 块
知识点 Allure2 报告中添加附件-视频 测试报告添加视频

Allure2 测试报告-L4

教学目标
  • 掌握测试报告定制能力
知识点
形式 章节 描述
知识点 Allure2 报告定制 定制测试报告 Logo,样式等