本章要回答的三个问题:测试到底该装在软件的哪几层,层级之间是什么关系?"单元测试"和"集成测试"这两个词到底圈住哪片地盘?为什么有了金字塔还冒出个"冰淇淋筒",两者谁更有理?
大多数新人对测试的第一印象是"写几个断言跑一遍"。可真接手一个项目,你会发现测试头上有三座大山:一是不知道自己的改动应该在哪一层补测试,全挤在最贵的端到端层;二是"单元"和"集成"在同事嘴里是两张皮,开会讨论半天都对不上焦;三是一上来就被"覆盖率要 90%"逼着在错误的层堆测试。这一章先把这三座山的底子挖平——不是教怎么点灯,而是先让你看清墙上那些灯的位置、发光的范围,以及相互遮挡的关系。没有这张地图,后面第 2 章单件体检、第 3 章拼装会诊都算"盲装灯"。
| 节号 | 回答的问题 | 关键产出 |
|---|---|---|
| 1.1 为什么要装测试灯 | 测试的价值究竟在哪一层变现 | 一张测试层次的分层图与红灯用途表 |
| 1.2 单元测试的界定 | 单件体检的边界画在哪 | 判定单元+非单元的可操作清单 |
| 1.3 集成测试的界定 | 拼装体检的边界画在哪 | 接口/数据/进程三类集成点模板 |
| 1.4 金字塔与冰淇淋筒 | 比例模型谁更有理 | 金字塔校准表格与两种模型的对照 |
本章只给地图,不碰具体断言语句。第 2 章带着这张地图进"单元测试门诊",教你把最小零件一个个测干净,并在那里把地图里"单件体检"这一格填实。第 3 章再把"拼装会诊"这格填实。也就是说,第 1 章是挂号处加的层号,第 2、3 章才是真正看上病。
这张图是后面所有讨论的底板:越往下越接近单件,越往上越接近全链路。1.1 节解释为什么这张图从上往下成本逐层下降,1.4 节解释为什么"摆放比例"比"有没有图"更重要。
这一章不产出任何可运行的断言,但它值得你反复回看——第 2 章每一个单元用例、第 3 章每一条集成用例,都是顺着这张图"装到该管的那一层"去的。地图先画对,点灯才不会点错墙。