Skip to content

中级

中级测试工程师

目标公司

  • 外包公司
  • 自研公司

适合人群

  • 学历:大专以上

学习规划

总体计划安排为:

内容模块 优先级
业务测试 P0
自动化测试 P1
编程与算法 P1
性能测试(初级) P2

业务测试

  • 输出业务架构图、技术架构图以及相关的测试点和测试方法。

业务架构图

技术架构图

自动化测试与持续集成

  • Web 自动化测试
1. Selenium 基础:
  • WebDriver: 深入理解 WebDriver 的架构,它如何与浏览器驱动和浏览器交互。
  • 元素定位: 学习多种元素定位策略(id、name、class、xpath、css 选择器等),并理解它们的适用场景和性能影响。
  • 操作浏览器/元素: 掌握浏览器命令(前进、后退、刷新、截图)、元素交互(点击、输入、滚动、拖拽)等操作。
  • Selenium Grid: 了解 Selenium Grid 的概念,学习如何设置和使用 Grid 进行远程测试。
2. Selenium 进阶:
  • 隐式/显式等待: 了解它们的工作机制,何时以及如何在测试中应用它们。
  • Alert 处理: 理解不同类型的 alert(如警告、确认、提示框)的处理方法。
  • Frame 切换: 学习在嵌套 frames 或 iframes 中定位元素和切换上下文。
  • 多窗口切换: 掌握如何处理和在多个标签页或窗口间切换。
3. 自动化框架设计:
  • Page Object 模式: 深入理解此模式的原则,如何在 UI 测试中实现页面封装,减少代码冗余。
  • 数据驱动测试: 学习如何设计数据驱动的测试用例,使用外部数据(如 CSV、Excel、数据库)驱动测试。
  • 测试报告: 学习如何集成测试报告工具(如 Allure 或 Extent Reports),生成详细和吸引人的测试报告。
  • 异常处理与日志记录: 学习如何在测试中有效处理异常和进行日志记录,以便于调试和错误追踪。
4. 附加技能:
  • JavaScript 执行: 学习如何在 Selenium 中执行 JavaScript 代码,以及它的用例。
  • 移动端测试: 了解如何使用 Appium 进行移动应用的 UI 测试。
  • 持续集成: 理解如何将 Selenium 测试集成到 CI/CD 流程(如使用 Jenkins)。

  • 接口自动化测试:

接口相关:

1. HTTP 协议:
  • 请求方法:GET、POST、PUT、DELETE、PATCH、OPTIONS 等。
  • 状态码:2xx、3xx、4xx、5xx 系列的常见状态码及其含义。
  • 请求/响应头部:常见的头部字段如User-AgentAccept-EncodingAuthorization等。
  • Cookie 和 Session:工作原理、区别、应用场景。
  • RESTful API 设计原则:理解 REST 架构风格对 API 设计的影响。
  • HTTPS 和 SSL/TLS:了解 HTTPS 协议的工作原理和 SSL/TLS 在传输安全中的作用。
2. Python requests 库:
  • GET/POST 请求:如何发送、传递参数。
  • 请求头设置:如何自定义请求头。
  • 参数设置:URL 参数、请求体参数。
  • Cookie 和 Session 管理:使用Session对象、处理登录态。
  • 错误处理:处理网络请求中的异常,如超时、连接错误等。
  • 响应内容处理:处理和解析 JSON、XML 格式的响应内容。
3. PyTest 框架:
  • 用例编写:基本的测试函数、断言使用。
  • 断言:使用assert进行断言、常见的断言方法。
  • fixture:作用、定义和使用、scope 参数。
  • 参数化:使用@pytest.mark.parametrize进行参数化测试。
  • 标签与用例管理:使用@pytest.mark.标签进行用例分类与标签管理
  • 测试结果分析:分析测试结果,理解测试覆盖率和失败原因。
  • 高级 fixtures 应用:数据库连接、环境清理等复杂场景。
4. 自动化框架设计:
  • 封装 HTTP 类:封装 GET、POST 方法,统一处理请求头和响应。
  • 设计测试用例:组织测试用例、使用数据驱动测试。
  • 生成测试报告:使用pytest-htmlallure生成报告。
  • 日志记录:实现日志记录,方便问题追踪和调试。
  • 配置管理:管理不同环境的配置。
5. 接口测试策略与最佳实践:
  • 接口测试用例设计:包括正常流程、异常流程和边界测试。
  • 接口依赖关系处理。
6. 持续集成与部署(了解即可):
  • 每日构建
  • 测试报告的自动生成和通知。

性能测试

1. 性能测试基础:
  • 性能测试类型:了解负载测试、压力测试、稳定性测试和并发测试等不同类型。
  • 性能测试的目标和指标:理解吞吐量、响应时间、并发用户数等关键指标。
2. 性能测试工具:
  • JMeter:熟悉 JMeter 的基础使用,包括测试计划、线程组、采样器和监听器等。
3. 性能测试设计和执行:
  • 脚本录制和编辑:学习如何使用工具录制性能测试脚本,以及如何手动编辑脚本。
  • 参数化和关联:了解如何实现测试数据的参数化和请求之间的动态关联。
  • 结果分析:学习如何分析性能测试结果,理解各项指标的意义。
4. 性能监控和调优:
  • 系统监控工具:了解 Linux 和 Windows 下的性能监控工具(如 top 命令)。

面试题范围

  • 面试题链接:https://interview.tutorial.hogwarts.ceshiren.com/python_programming/v2/L1/interview/
  • 注意: 面试题不要无脑刷,每个面试题都有分级,重点看自己分级内的面试题内容

高频面试题

  1. 自我介绍
  2. 碰到的挑战
  3. 团队规模,以及在工作中的分工,你负责的模块/你在上家公司的工作内容/介绍其中两个项目,体现你的能力/介绍下上一个公司做的最长的项目
  4. 测试用例设计
  5. 测试方案设计/质量体系建设/怎么保证测试的质量(你为了提升产品的质量做了哪些事)/怎么保证这个系统的全面的测试
  6. 从质量维度来看,测试有什么改进的地方(基于以前做的事情,还有哪些改进空间)
  7. 自动测试方案设计/自动化测试框架/怎么做自动化测试/python 自动化做了哪些工作,测试了哪些接口?
  8. 漏测的分析以及改进措施,举一个例子/有什么印象深刻的 bug,如何解决的。/在测试过程有发现重要的问题?怎么解决的
  9. 对未来有什么期望/你的职业规划
  10. 离职原因
  11. 空窗期
  12. 期望薪资
算法与数据结构(长期积累,按顺序学习)
  • 数据结构:数组、链表(理解概念)、栈(理解概念)、队列(理解概念)、二叉树。
  • 排序算法:冒泡、选择、插入、快速。
  • 搜索算法:二分查找、深度优先搜索(理解概念)、广度优先搜索(理解概念)。
基本命令
  • MySQL
  • Linux 命令
  • 计算机网络