以下是软件测试基础知识的整理,涵盖核心概念、方法分类、测试阶段以及关键术语等内容。

1. 定义
软件测试是通过动态执行程序或静态检查代码,验证软件是否满足需求、发现缺陷并评估质量的过程。
2. 目的
- 发现缺陷(Defect)并确保修复
- 验证功能是否符合需求规格(Requirement)
- 评估软件质量(可靠性、性能、安全性等)
| 阶段 | 核心活动 |
|---|---|
| 需求分析 | 评审需求文档,提取可测试项 |
| 测试计划 | 制定测试策略、资源规划与进度安排 |
| 测试设计 | 创建测试用例(Test Case)和测试数据 |
| 测试执行 | 执行用例并记录结果(Pass/Fail/Blocked) |
| 缺陷管理 | 跟踪并验证缺陷修复 |
| 测试报告 | 输出测试总结与质量评估 |
| 分类维度 | 方法类型 | 要点 |
|---|---|---|
| 执行方式 | 黑盒测试 | 基于功能需求,不关注内部结构 |
| 白盒测试 | 覆盖代码路径(语句/分支覆盖) | |
| 灰盒测试 | 结合黑盒与白盒特性 | |
| 测试目标 | 功能测试 | 验证业务逻辑(如等价类划分) |
| 非功能测试 | 性能/兼容性/安全性测试等 |
常用技术:
| 技术名称 | 适用场景 | 示例 |
|---|---|---|
| 等价类划分 | 输入域分组减少冗余用例 | 用户年龄(有效类:18-60;无效类:<18, >60) |
| 边界值分析 | 检验边界条件 | 输入字段限制1-100字符,测试0/1/100/101 |
| 因果图法 | 多输入条件组合测试 | 登录场景(用户名正确+密码错误=登录失败) |
| 错误推测法 | 基于经验挖掘潜在缺陷 | 异常中断后数据恢复测试 |
1. 单元测试(Unit Testing)
- 目标:验证独立模块(函数/类)逻辑
- 参与者:开发人员
- 工具:JUnit(Java)、PyTest(Python)
2. 集成测试(Integration Testing)
- 模式:自顶向下/自底向上/持续集成
- 重点:模块间接口与数据流
3. 系统测试(System Testing)
- 模拟真实环境
- 覆盖端到端业务场景
4. 验收测试(Acceptance Testing)
- 用户方主导验证是否满足合同要求
- 类型:Alpha测试(内部)、Beta测试(外部)
| 工具类型 | 工具名称 | 主要功能 |
|---|---|---|
| 自动化测试 | Selenium | Web UI自动化 |
| 性能测试 | JMeter | 负载与压力测试 |
| 缺陷管理 | JIRA | 缺陷跟踪与项目管理 |
| 持续集成 | Jenkins | 自动化构建与部署 |
- 缺陷生命周期: 新建(New)→ 已修复(Fixed)→ 已验证(Closed)
- 回归测试(Regression Testing): 确认修改未引入新缺陷
- 冒烟测试(Smoke Testing): 主流程快速验证构建是否可测
以上内容覆盖软件测试核心知识体系,实际应用中需结合项目特性(如敏捷/瀑布模型)调整测试策略。

查看详情

查看详情