乐于分享
好东西不私藏

软件测试必背理论大全

软件测试必背理论大全


一、生命周期理论

1. 软件生命周期(SDLC)

软件从产生到淘汰的全过程:

需求分析 → 系统设计 → 编码开发 → 测试验证 → 上线发布 → 运行维护 → 淘汰下线

「作用:」

让软件开发有流程、有规范。


2. 测试生命周期(STLC)

测试工作的完整流程:

需求分析 → 测试计划 → 测试用例设计 → 测试环境搭建 → 测试执行 → 缺陷跟踪 → 测试总结

「作用:」

规范测试工作流程,提高效率。


3. 缺陷生命周期(Bug生命周期)

缺陷从发现到关闭的过程:

新建 → 指派 → 修复中 → 已修复 → 回归测试 → 已关闭

可能状态:

重新打开、延期修复、拒绝修复


二、测试分类理论

4. 黑盒测试

不看代码,只验证功能是否正确。

例如:

  • 登录功能是否正常
  • 支付功能是否成功

5. 白盒测试

查看代码逻辑进行测试。

例如:

  • 判断分支是否执行
  • 循环是否覆盖

6. 灰盒测试

了解部分系统结构进行测试。

例如:

知道接口逻辑,但不看全部源码。


三、测试设计方法(高频)

7. 等价类划分

把输入数据划分为有效类和无效类,每类选代表数据测试。

例如:

年龄 1~100

  • 有效类:1~100
  • 无效类:小于1、大于100、空值

8. 边界值分析

错误容易发生在边界位置。

例如:

年龄 1~100

测试:

0、1、2、99、100、101


9. 判定表法

适用于多个条件组合测试。

例如:

会员 + 优惠券 + 满减活动

不同组合产生不同结果。


10. 因果图法

输入条件和输出结果关系分析。

适用于复杂业务逻辑。


11. 场景法

按照用户真实操作流程测试。

例如:

登录 → 搜索商品 → 下单 → 支付


12. 错误推测法

根据经验判断哪里容易出Bug。

例如:

  • 输入框长度
  • 重复提交
  • 网络中断

四、测试阶段理论

13. 单元测试

测试最小代码单元(函数、方法)。

通常开发人员执行。


14. 集成测试

测试多个模块组合后是否正常。

例如:

登录模块 + 用户中心模块


15. 系统测试

测试整个系统功能。

由测试人员执行。


16. 验收测试

由客户或用户确认是否满足需求。


五、专项测试

17. 回归测试

修改代码后验证旧功能是否受影响。


18. 冒烟测试

验证主要功能是否能运行。

例如:

  • 能否登录
  • 首页是否打开

19. 性能测试

验证系统速度、响应时间、吞吐量。


20. 压力测试

高负载下系统表现。

例如:

10万人同时抢购。


21. 安全测试

检查漏洞、权限、SQL注入等问题。


22. 兼容性测试

不同浏览器、手机、系统是否正常。


六、经典测试原则(必考)

23. 穷尽测试不存在

不可能测试所有情况。

只能选择重点测试。


24. 尽早测试

越早发现问题,修复成本越低。


25. 缺陷集群效应

大部分缺陷集中在少数模块。


26. 杀虫剂悖论

重复执行同一批测试用例,发现新Bug能力会下降。

要持续更新测试用例。


27. 测试依赖上下文

不同项目测试方法不同。

  • 金融系统重安全
  • 游戏重体验

28. 不存在缺陷谬论

没有Bug,不代表软件成功。

满足用户需求才重要。


七、开发模型

29. V模型

开发阶段和测试阶段一一对应。

  • 需求 ←→ 验收测试
  • 概要设计 ←→ 系统测试
  • 详细设计 ←→ 集成测试
  • 编码 ←→ 单元测试

30. W模型

测试活动与开发活动并行开展。

强调尽早测试。


31. 敏捷开发

小步快跑,快速迭代,持续交付。

特点:

  • 需求变化快
  • 周期短
  • 团队协作强

32. DevOps

开发 + 测试 + 运维协同工作。

提高交付效率。


八、质量理论

33. 软件质量六大特性

  • 功能性
  • 可靠性
  • 易用性
  • 效率
  • 可维护性
  • 可移植性

34. 软件质量模型

衡量软件质量是否达标的标准体系。


九、自动化测试理论

35. 测试金字塔

底层多,上层少:

  • 单元测试(最多)
  • 接口测试(中间)
  • UI自动化(最少)

36. CI/CD

持续集成、持续交付。

代码提交后自动构建、自动测试、自动部署。


十、面试最高频概念(必须背熟)

  1. 黑盒测试和白盒测试区别
  2. 回归测试和冒烟测试区别
  3. 等价类划分
  4. 边界值分析
  5. 软件生命周期
  6. 测试生命周期
  7. 缺陷生命周期
  8. Bug等级划分
  9. 测试用例怎么写
  10. 如何保证软件质量

十一、面试万能回答模板

软件测试主要通过测试理论和方法保障产品质量,例如:

  • 使用等价类、边界值设计测试用例
  • 通过回归测试保证修改后旧功能正常
  • 根据缺陷集群原则重点测试高风险模块
  • 结合生命周期流程规范测试活动

十二、初级测试岗必背20个

  • 软件生命周期
  • 测试生命周期
  • 缺陷生命周期
  • 黑盒测试
  • 白盒测试
  • 等价类划分
  • 边界值分析
  • 回归测试
  • 冒烟测试
  • 性能测试
  • 接口测试
  • 兼容性测试
  • Bug等级
  • 测试用例
  • 测试报告
  • V模型
  • 敏捷开发
  • 测试金字塔
  • 缺陷集群
  • 杀虫剂悖论