来源: 基于最近的 Selenium 自动化测试项目实践

分类: 技术术语、工具名称、测试概念、AI 能力


📖 使用说明

本清单整理了在 Selenium 自动化测试项目和 AI 智能体应用过程中涉及的核心术语,按类别分组,便于快速查阅和学习。


🔧 一、工具和框架

1. Selenium

定义: Web 浏览器自动化测试框架 用途: 模拟用户在浏览器中的操作(点击、输入、滚动等) 版本: 4.3.0 相关组件:

  • WebDriver: 控制浏览器的接口

  • WebElement: 页面上的元素对象

  • WebDriverWait: 显式等待机制


2. webdriver-manager

定义: Python 库,用于自动管理浏览器驱动程序 用途: 自动下载和匹配 ChromeDriver 版本 优势: 无需手动下载和维护驱动文件 安装命令: pip install webdriver-manager


3. ChromeDriver

定义: Chrome 浏览器的 WebDriver 实现 用途: 让 Selenium 能够控制 Chrome 浏览器 注意: 版本必须与 Chrome 浏览器匹配


4. Flask

定义: Python 轻量级 Web 框架 用途: 快速创建 Web API 和服务 特点: 简单易用,适合小型项目


5. pytest

定义: Python 测试框架 用途: 编写和执行单元测试、集成测试 特点: 简洁的语法,丰富的插件生态


6. UEditor

定义: 百度开发的富文本编辑器 用途: 提供所见即所得的文本编辑功能 特点: 基于 JavaScript,提供 API 接口


🌐 二、Web 技术术语

1. DOM (Document Object Model)

定义: 文档对象模型 解释: HTML 页面的树状结构表示 用途: 通过编程方式访问和操作页面元素


2. XPath

定义: XML 路径语言 用途: 在 XML/HTML 文档中定位元素 示例: //button[contains(text(), '登录')] 优势: 灵活强大,支持复杂定位


3. CSS Selector

定义: CSS 选择器 用途: 根据 CSS 规则选择 HTML 元素 示例: .login-btn, #username, input[type='text'] 优势: 速度快,语法简洁


4. iframe

定义: 内联框架 用途: 在页面中嵌入另一个 HTML 页面 注意: Selenium 需要切换到 iframe 才能操作其中的元素


5. DevTools

定义: 开发者工具 用途: 浏览器提供的调试和分析工具 功能: 检查元素、查看网络请求、调试 JavaScript


6. SSL (Secure Sockets Layer)

定义: 安全套接层协议 用途: 加密网络通信 常见问题: 证书验证失败、客户端证书认证


🧪 三、测试概念

1. UI 自动化测试

定义: 通过脚本模拟用户界面操作进行测试 工具: Selenium, Appium 优点: 可重复执行,覆盖回归测试 缺点: 维护成本高,执行速度慢


2. API 测试

定义: 直接测试应用程序接口 工具: Requests, Postman, pytest 优点: 执行快,稳定性高 缺点: 无法测试用户体验


3. 元素定位 (Element Locator)

定义: 识别和找到页面上特定元素的方法 常见策略:

  • ID 定位

  • Name 定位

  • Class 定位

  • XPath 定位

  • CSS Selector 定位

  • Link Text 定位


4. 显式等待 (Explicit Wait)

定义: 等待特定条件满足后再继续执行 用途: 处理异步加载和动态内容 示例: 等待元素可见、可点击


5. 隐式等待 (Implicit Wait)

定义: 全局设置的等待时间 用途: 查找元素时的默认等待时间 注意: 不如显式等待精确


6. 测试用例 (Test Case)

定义: 具体的测试场景和步骤 组成要素:

  • 测试标题

  • 前置条件

  • 测试步骤

  • 预期结果

  • 优先级


7. 等价类划分

定义: 将输入数据划分为有效和无效等价类 用途: 减少测试用例数量,提高测试效率 示例: 年龄 1-120 为有效等价类,<1 和 >120 为无效等价类


8. 边界值分析

定义: 测试输入域的边界值 用途: 发现边界相关的缺陷 示例: 测试 0, 1, 120, 121(对于 1-120 的范围)


9. 回归测试 (Regression Test)

定义: 验证代码修改后原有功能是否正常 用途: 确保新改动没有引入新问题 方式: 手动或自动化


10. 冒烟测试 (Smoke Test)

定义: 对核心功能进行快速验证 用途: 判断版本是否值得进一步测试 特点: 快速、覆盖面广、深度浅


11. 性能测试 (Performance Test)

定义: 评估系统在不同负载下的表现 指标:

  • 响应时间

  • 吞吐量

  • 并发用户数

  • 资源利用率


12. 负载测试 (Load Test)

定义: 模拟正常和高负载情况下的系统表现 用途: 确定系统的最大承载能力


13. 压力测试 (Stress Test)

定义: 在超出正常负载的情况下测试系统 用途: 发现系统的瓶颈和崩溃点


14. 安全测试 (Security Test)

定义: 检测系统的安全漏洞 常见类型:

  • SQL 注入

  • XSS (跨站脚本)

  • CSRF (跨站请求伪造)

  • 权限越权


15. 兼容性测试 (Compatibility Test)

定义: 验证系统在不同环境下的表现 维度:

  • 浏览器兼容性

  • 操作系统兼容性

  • 设备兼容性

  • 分辨率兼容性


16. 视觉回归测试 (Visual Regression Test)

定义: 通过截图对比检测 UI 变化 用途: 发现意外的界面变化 工具: Percy, Applitools


17. 契约测试 (Contract Test)

定义: 验证 API 响应是否符合定义的契约 用途: 确保接口的一致性 工具: Pact, Spring Cloud Contract


18. 端到端测试 (E2E Test)

定义: 从用户角度测试完整业务流程 特点: 覆盖多个系统和组件 工具: Selenium, Cypress, Playwright


💻 四、编程和开发术语

1. Python

定义: 高级编程语言 特点: 简洁易读,丰富的库生态 用途: 自动化脚本、Web 开发、数据分析


2. JSON (JavaScript Object Notation)

定义: 轻量级数据交换格式 用途: 存储和传输结构化数据 特点: 人类可读,机器易解析


3. 面向对象编程 (OOP)

定义: 基于对象和类的编程范式 核心概念:

  • 类 (Class)

  • 对象 (Object)

  • 继承 (Inheritance)

  • 封装 (Encapsulation)

  • 多态 (Polymorphism)


4. 异常处理 (Exception Handling)

定义: 捕获和处理程序运行时的错误 Python 语法: try-except-finally 用途: 提高程序的健壮性


5. 正则表达式 (Regular Expression)

定义: 用于匹配字符串模式的表达式 用途: 文本搜索、替换、验证 示例: r'fldName=([^&]+)' 提取 URL 参数


6. 装饰器 (Decorator)

定义: 一种编程技巧/设计模式,允许在不修改原函数代码的情况下动态添加新功能 用途:

  • 日志记录:自动记录函数调用

  • 权限检查:验证用户权限

  • 缓存:缓存函数结果提高性能

  • 计时:测量执行时间

  • 重试机制:失败时自动重试 特点:

  • 非侵入式:不修改原函数代码

  • 可复用:一个装饰器可用于多个函数

  • 组合性:可以叠加多个装饰器 Python 示例: @log_execution, @cache, @retry 形象比喻: "给函数穿衣服" - 函数本身不变,但增加了额外功能


7. 上下文管理器 (Context Manager)

定义: 管理资源的进入和退出 Python 语法: with 语句 用途: 自动关闭文件、数据库连接等


🔄 五、DevOps 和 CI/CD

1. CI/CD

定义: 持续集成/持续交付 CI (Continuous Integration): 自动构建和测试代码变更 CD (Continuous Delivery/Deployment): 自动部署到生产环境


2. Jenkins

定义: 开源自动化服务器 用途: 构建、测试、部署自动化 特点: 丰富的插件生态


3. GitLab CI

定义: GitLab 内置的 CI/CD 工具 配置: .gitlab-ci.yml 文件 优势: 与代码仓库紧密集成


4. GitHub Actions

定义: GitHub 的自动化工作流 配置: .github/workflows/*.yml 文件 用途: 自动化测试、构建、部署


5. Docker

定义: 容器化平台 用途: 打包应用及其依赖,实现环境一致性 优势:

  • 隔离性:每个容器有独立的运行环境

  • 便携性:"一次构建,到处运行"

  • 轻量级:共享主机操作系统内核

  • 快速启动:秒级启动时间 相关概念: 镜像 (Image)、容器 (Container)、仓库 (Registry)

  • 区分:容器是运维/部署层面的技术,  "装应用的盒子",打包、隔离、部署;装饰器是编程/代码层面的技巧,"给函数穿衣服",增强、修饰、不改原代码


6. Kubernetes (K8s)

定义: 容器编排平台 用途: 管理和调度大规模容器化应用 核心功能:

  • 自动扩缩容

  • 负载均衡

  • 服务发现

  • 自愈能力(自动重启失败的容器) 特点: 云原生事实标准


7. 流水线 (Pipeline)

定义: 自动化的工作流程 阶段: 代码检出 → 构建 → 测试 → 部署 用途: 标准化软件交付流程 工具: Jenkins, GitLab CI, GitHub Actions


📊 六、测试度量和质量

1. 测试覆盖率 (Test Coverage)

定义: 测试覆盖的代码比例 类型:

  • 语句覆盖率

  • 分支覆盖率

  • 路径覆盖率

  • 功能覆盖率


2. 缺陷密度 (Defect Density)

定义: 单位代码量或缺陷数量 公式: 缺陷数 / 代码行数 或 功能点 用途: 评估代码质量


3. 通过率 (Pass Rate)

定义: 通过的测试用例占总测试用例的比例 公式: 通过数 / 总数 × 100% 用途: 衡量测试执行情况


4. MTTR (Mean Time To Repair)

定义: 平均修复时间 用途: 衡量团队响应和修复问题的能力


5. 质量门禁 (Quality Gate)

定义: 代码质量的最低标准 检查项: 测试覆盖率、代码规范、安全扫描 用途: 阻止低质量代码合并


🤖 七、AI 和智能体相关

1. AI 智能体 (AI Agent)

定义: 能够自主执行任务的 AI 系统 能力: 理解需求、生成代码、执行操作、分析问题 特点: 智能化、自动化、自适应


2. 自然语言处理 (NLP)(Natural Language Processing)

定义: 让计算机理解和生成人类语言的技术 应用: 需求理解、文档生成、智能问答


3. 机器学习 (Machine Learning)

定义: 让计算机从数据中学习规律 应用: 缺陷预测、测试用例推荐、异常检测


4. 自愈测试 (Self-healing Test)

定义: 当页面变化时自动调整测试脚本 原理: 多特征定位 + 智能匹配 优势: 降低维护成本


5. 预测性测试 (Predictive Testing)

定义: 基于历史数据预测高风险区域 方法: 分析代码变更、缺陷历史、复杂度 价值: 优化测试资源分配


6. 视觉 AI (Visual AI)

定义: 使用 AI 识别和分析图像 应用: 视觉回归测试、UI 异常检测 优势: 比像素对比更智能


🎯 八、项目管理术语

1. 敏捷测试 (Agile Testing)

定义: 在敏捷开发模式下的测试实践 特点: 快速迭代、持续反馈、协作紧密


2. TDD (Test-Driven Development)

定义: 测试驱动开发 流程: 写测试 → 写代码 → 重构 优势: 保证代码质量,促进设计


3. BDD (Behavior-Driven Development)

定义: 行为驱动开发 语言: Gherkin (Given-When-Then) 工具: Cucumber, Behave 优势: 业务和技术人员都能理解


4. 测试金字塔 (Test Pyramid)

定义: 测试分层的理念 层次 (从下到上):

  • 单元测试 (最多)

  • 集成测试 (适中)

  • E2E (End-to-End) 测试 (最少) 原则: 底层测试多,高层测试少


5. 左移测试 (Shift-Left Testing)

定义: 将测试活动提前到开发早期 目的: 尽早发现问题,降低修复成本 实践: 需求评审、设计审查、单元测试


6. 右移测试 (Shift-Right Testing)

定义: 在生产环境中进行测试和监控 目的: 发现真实用户场景的问题 实践: A/B 测试、混沌工程、日志分析


🔍 九、调试和问题排查

1. 断点 (Breakpoint)

定义: 程序执行的暂停点 用途: 检查变量状态,逐步执行


2. 堆栈跟踪 (Stack Trace)

定义: 程序出错时的调用链信息 用途: 定位错误发生的位置和原因


3. 日志 (Log)

定义: 程序运行过程的记录 级别: DEBUG, INFO, WARNING, ERROR, CRITICAL 用途: 问题诊断,行为追踪


4. 复现步骤 (Reproduction Steps)

定义: 重现问题的具体操作步骤 重要性: 帮助开发人员快速定位问题


5. 根本原因分析 (Root Cause Analysis)

定义: 找出问题产生的根本原因 方法: 5 Why 分析法、鱼骨图 目的: 防止问题再次发生


📝 十、文档和规范

1. Markdown

定义: 轻量级标记语言 用途: 编写技术文档、README、笔记 特点: 易读易写,可转换为 HTML/PDF


2. API 文档

定义: 描述 API 接口的文档 内容: 接口地址、请求参数、响应格式、示例 工具: Swagger, Postman, Apiary


3. 测试计划 (Test Plan)

定义: 测试活动的总体方案 内容: 测试范围、策略、资源、进度、风险


4. 测试报告 (Test Report)

定义: 测试执行结果的总结 内容: 测试统计、缺陷分析、结论和建议


5. 最佳实践 (Best Practice)

定义: 经过验证的有效方法 特点: 行业共识,效果显著 用途: 指导工作,提高效率


🌟 常用缩写对照表

缩写 全称 中文
UI User Interface 用户界面
API Application Programming Interface 应用程序接口
E2E End-to-End 端到端
CI Continuous Integration 持续集成
CD Continuous Delivery/Deployment 持续交付/部署
QA Quality Assurance 质量保证
QC Quality Control 质量控制
TDD Test-Driven Development 测试驱动开发
BDD Behavior-Driven Development 行为驱动开发
DOM Document Object Model 文档对象模型
XPath XML Path Language XML 路径语言
CSS Cascading Style Sheets 层叠样式表
SSL Secure Sockets Layer 安全套接层
HTTP HyperText Transfer Protocol 超文本传输协议
JSON JavaScript Object Notation JavaScript 对象表示法
OOP Object-Oriented Programming 面向对象编程
NLP Natural Language Processing 自然语言处理
AI Artificial Intelligence 人工智能
MTTR Mean Time To Repair 平均修复时间
K8s Kubernetes 容器编排平台
Docker Docker Platform 容器化平台
DevOps Development + Operations 开发运维一体化

📚 学习建议

初学者重点掌握

  1. Selenium 基本概念

  2. 元素定位策略

  3. 测试用例设计方法

  4. 基本的 Web 技术 (HTML/CSS/JavaScript)

进阶学习

  1. 设计模式和架构

  2. 性能和安全测试

  3. CI/CD 集成

  4. AI 在测试中的应用

专家级别

  1. 测试框架设计

  2. 质量体系建设

  3. 智能测试和自愈机制

  4. 团队管理和流程优化


🔗 相关资源


创建时间: 2026-05-14 版本: 1.0 作者: AI Assistant

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐