无名图书
收藏
软件测试的艺术
梅尔斯
出版社
机械工业出版社
出版时间
1970-01-01
ISBN
9787111173199
评分
★★★★★
标签
工业技术
书籍介绍
这本书最核心的观点,是重新定义了测试的意义:测试不是为了证明软件没问题,而是为了发现错误。这一立场的转变,让无数读者在真正做测试后才恍然——它不是找茬,而是以怀疑的目光审视每一个边界、每一条路径。书中反复强调:程序员不该测试自己写的代码,组织不该测试自己开发的软件,黑盒与白盒必须结合,且不能只做黑盒。这些原则在今天看来朴素,却是整个测试领域的底层逻辑。它学院派、偏理论,有人嫌它跟不上现代开发节奏,也有人视其为常读常新的经典。适合想建立测试思维、而非速成操作手册的入门者。
AI导读
核心看点
本书确立了软件测试的根本目的:测试是为了发现错误而执行程序的过程,而非为了证明软件正确。书中详细阐述了软件测试的十大原则,包括禁止程序员测试自己的代码、必须定义预期输出、需检查无效输入等,强调测试人员应保持独立性与批判性思维,这是构建高质量软件体系的基石。
作者深入探讨了黑盒测试与白盒测试的辩证关系,推荐先使用黑盒方法设计用例,再视情况补充白盒测试。同时,书中详细讲解了代码检查、走查等静态测试技术,强调这些方法在发现逻辑错误方面的有效性,并警告读者需辩证看待其功效,避免陷入形式主义或引发团队对立情绪。
尽管出版年代较早,但书中关于测试经济学、错误猜测、错误分析以及测试规划与控制的核心思想具有永恒价值。它揭示了软件测试的本质是思维艺术而非单纯工具操作,帮助读者理解为何穷举测试无效,以及如何用有限资源发现最多错误,这些原则在当今敏捷开发与复杂系统测试中依然适用。
读者共识
读者普遍认可本书为软件测试领域的经典之作,虽出版年代久远,但其核心测试原则与思想至今未过时。多数评论指出,尽管书中技术细节可能滞后,但其对测试本质的阐述、对错误发现的强调以及对独立测试的坚持,仍是行业共识,任何从事测试工作的人都应阅读此书以正本清源。
读者反馈本书内容偏理论且部分章节较为零散,不适合寻求具体操作手册的读者。但同时也指出,这种理论性正是其价值所在,它帮助读者摆脱工具依赖,建立正确的测试价值观。对于初学者而言,书中关于测试用例设计、错误分析等基础概念的讲解清晰且重要,是构建知识体系的必要环节。
读者强调书中关于‘测试是为了发现错误’的观点具有颠覆性且极具启发性,纠正了许多人认为测试是为了证明软件正确的错误认知。同时,读者警告不要机械执行书中所有建议,如完全禁止自测,而应理解其精神实质。总体而言,本书被视为提升测试思维、理解软件工程伦理的重要读物,常读常新。
精彩摘录
"
测试是为发现错误而执行程序的过程
"
"
1. 测试用例中一个必需部分是对预期输出或结果进行定义 2. 程序员应该避免测试自己缩写的程序 3. 编写软件的组织不应当测试自己编写的软件 4. 应当彻底检查每个测试的执行结果 5. 测试用例的缩写不仅应当根据有效和预料到的输入情况,而且也应当根据无效和末预料到的输入情况 6. 检查程序是否“末做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了其不应该做的” 7. 应避免测试用例用后即弃,除非软件本身就是一个一次性的软件 8. 计划测试工作时不应默许假定不会发现错误 9. 程序某部分存在更多错误的可能性,与该部分已发现错误的数量成正比 10. 软件测试是一项极富创造性、极具智力挑
"
"
在代码检查进行时,主要进行两项活动: 1. 由程序编码人员逐条语句讲述程序的软件结构。……换句话说,对着大家大声朗读程序,这种简单的做法看来是一个非常有效的错误检查办法 2. 对着历来常见的编码错误列表分析程序
"
"
我们推荐的步骤是先使用黑盒测试方法来设计测试用例,然后视情况需要使用白盒测试方法来设计补充的测试用例
"
"
(即任意三角形等边的对角也相等) Moreover, the angles opposite the equal sides in an isosceles triangle also are equal (it also follows that the sides opposite equal angles in a triangle are equal), and all angles in an equilateral triangle are equal.
"
"
要辩证看待码检查的这些功效
"
"
目录
"
"
测试是为发现错误而执行的过程(这句话有无穷的内涵)
"
用户评论
每一种技术或者语言背后都有一种模式或者思想,这类书是一种很好的呈现。
必读的一本~
回想刚参加工作的时候,只是为了完成需求,没有写过单元测试。有一段时间刷leetcode,有些case过不去,开始意识到测试的重要性。现在也开始写单元测试了,考虑各种边界条件去写test case!但是这本书里写的要把代码里的每个路径都测试一遍,这样做的话测试的时间都要占去好多了
很薄的一本书,但是很经典,常读常新
可能因为我不是测试人员,学到的东西很少。
还好
软件测试真的是一个领域性特别强的专业。
前半部分里面的软件测试观点很有用,有着很不错的思考,但是内容太过陈旧,很多方法在实际用途上并不适用了,而且后半部分内容较浅
测试工作必修书 第2章 软件测试的经济学和心理学,把测试背后的用户心理预期和测试投入产出比这些“道”的东西讲清楚 后面的每章技术都很实用、细致 发现自己的思路是属于敏捷测试
你可能会关注的书籍
软件测试的艺术(原书第3版)
[美] Glenford J. Myers,[美] Tom Badgett,[美] Corey Sandler
机械工业出版社的其他书籍
查看全部
创新者的第一桶金
杜伟忠
无龄时代
[美]丁敏(Min Ding)
相信的力量
莱斯·布朗(Les Brown)
数据时代的推断陷阱
杨楠
番茄工作法:享誉全球的时间管理系统
【意】弗朗西斯科·西里洛
不慌
史欣悦
下载
收藏