作者是Paul C jorgensen,2007年出的第三版,对应的中文版是2011年出版的。这本书在豆瓣读书上的评论十分少,可能读过的朋友也不多。
速读一遍之后发现,虽然这本书比较老,但是也有一定的参考价值,因此我来写点笔记。
因为软件测试行业的整体现状,无论国内还是国外都是处于比较混乱的状态,所以也有着很多的流派,因此读书的时候要有自己的判断力。
豆瓣上有评论说:“软件测试有四大学派:分析学派,质量学派,标准学派,上下文驱动学派。本书是属于典型的分析学派。”因此我们从分析学派的角度来看待这本书就好了。
还在别处看到有读者是这样评价这本书的——“等你读过那些所谓的大部头,经过实际的项目,回过头来看看,还是这些东西,怎么都逃不出这本书的范围。”我觉得这个评价比较中肯,只是我感觉这个评价的时间可能也比较久,或者针对的是偏传统类型的软件项目。现在的项目更为复杂,和传统软件项目相比也有了更多的不同,所以虽然阅读本书对你会有一些帮助,但是仅仅阅读此书,远不足以应付今天的项目。
本书主体内容
Part 1
本书第一部分是一些数学基础。这一点和绝大多数写软件测试的书不同,他们一般都没有这部分的内容。所以可以了解一下作者的观点,离散数学和图论是怎样应用到软件测试中去的,其中他认为离散数学适合功能测试,而图论适合结构测试。
Part 2
第二部分用四章的篇幅解说功能测试,详细阐述了功能测试用例设计里,比较经典的几个方法:边界值、等价类、基于决策表。对于只是零散听说过这些方法的朋友,如果想要系统了解它们,可以阅读这一部分,比在网上各种搜索,要来得高效。
不过,如果你指望仅仅通过这一部分的知识学习,就能适应当前环境下的功能测试,也是不够现实的。因为作者成书的年代,移动互联网还没有发展起来,软件产品的更新迭代比较缓慢,因此有足够多的时间去对一个软件系统进行详尽的功能测试用例设计,可现在情况完全不一样了。
Part 3
第三部分说的是结构测试。它们是基于被测程序源代码。这部分的思路可以读一读,知道相关的思想。至于直接拿来在项目中使用?可能有些不符合当前的环境了。
Part 4
第四部分主要说的是测试的层次,集成测试和系统测试,交互性测试。这部分比较适合传统软件项目,不太适合直接拿来用于当前的项目,但是其思路和思想同样值得借鉴。
Part 5
第五部分,面向对象测试。这部分我觉得不用细看了,太老了。以前最初的程序是面向过程的,后来有了面向对象的概念。当然发展到今天程序设计的技术又有了很大的变化,所以本书这部分的内容参考价值相当有限。
Part 6
第六部分,新兴测试技术。这部分里面我比较熟悉的词有,探索性测试,测试驱动开发。不过探索性测试现在也都没有太多人提起了,而测试驱动开发本书说的内容太少。另外两个技术,基于模型测试,全对测试技术,完全没听说过,估计新兴的过程中没兴起来?要么就是我才疏学浅,孤陋寡闻了……
综合评价
本书相对而言理论性强一点,枯燥一点。但是可以速读一遍,对于自己感兴趣的部分,详细读读。对于思想的部分,思考一下如何在现在的环境下,当前的项目中使用。
另外就是,国内软件测试相关书籍好的不多,很多书都是东抄西抄,抄的时候可能漏了上下文背景的介绍令人摸不着头脑。所以,没事稍微读一读国外写的比较经典的书籍,起码你能反应过来国内的某些书是从哪儿抄的,在有疑惑的时候可以及时查证,免得思路被作者带偏了……