颠覆完美软件:软件测试必须知道的几件事(读书笔记1)
从作者的序言了解到,本书的受众范围很广,可以是测试人员、开发人员,客户,经理等。那么作为自己又想从这本书获得什么呢?
我觉得要回答这个问题,首先需要知道作者为什么要写这样一本书,只有知道了作者写本书的目的,你才能从本书中获得你想要的知识。
因为在作者周围有很多人,甚至有些是相关产品的经理,都会对于软件测试产生很多的不切实际的幻想和期望。作者为了破除这些误解和无知,写下这本书,来让更多的人了解测试,同时可以更理性的看待测试。就像作者所说的,本书能够帮助不同的人,包括测试人员,开发人员,客户,程序员和经理等。
作者写本书,是通过问题到解决方案的方式进行写作的。作者每一章或者每一部分,都会提出问题,然后在文中对这些问题进行解答。
作者提出的问题如下:
1、为什么要进行测试?(第1章)
本章中,作者说明了4条进行测试原因,然后对每一条原因进行解释,最后作者又罗列了一些测试中的常见问题(这些问题也是亮点)。
2、测试不能做那些事?(第2章)
本章衔接上一章进行测试的原因,但是在项目中测试也并不是万能的,通过测试也有很多做不到的事情。当然最后的常见问题,也值得思考。
3、为什么不进行穷举测试?(第3章)
本章主要介绍不对所有可能性进行测试的原因,对于经理和测试人员,都应该了解测试是一种采样过程,需要了解采样给测试所带来的风险。
4、测试和修改软件BUG有什么分别?(第4章)
不能正确定义测试,就可能会产生无休止的争论。让测试人员或开发人员不知道自己的本质工作是什么,同时也会导致项目的失败。
5、关于软件产品质量的元信息有哪些?(第5章)
软件测试的目的是提供有关产品质量的信息,本章作者提供很多导致测试失败的元信息,通过观察和识别这些元信息,可以显著提高测试的效率并降低成本。
6、如何应对由于不同人因恐惧造成的信息免疫现象?(第6章和第7章)
人们在害怕的时候,会进行防卫。测试很容易触及人们的恐惧点,我们要做的就是识别每个人表现出的防卫行为,然后主动的去应对,这样才能避免混乱的情绪而影响测试工作。
7、良好的测试是什么样的?(第8章和第9章)
良好的测试是无法确认的。但是我们可以通过很多方法,知道或估算出不好的测试是什么样的。识别出有关测试的主要误区,可以更好的进行测试。
8、如何反驳测试就是敲键盘的行为?(第10章)
敲击键盘的行为不是测试,那么什么样的行为才是测试呢?本章给你解释。
9、一种改善软件测试沟通问题的模型(第11、12、13和14章)
本部分通过介绍萨提亚交互模型:摄取-->确定含义-->确定重要性-->做出反应,来应对软件测试和项目推进过程中的相关问题。
10、怎样让软件更容易测试和更容易成功?(第15章)
当上一个项目失败,需要考虑下一个项目应该如何改善。本章介绍几种让软件更容易测试和更容易成功的方法。
11、关于技术评审的一些建议(第16章)
尽早和尽可能频繁的对项目进行技术评审,对产品进行测试,可以收获意想不到的好处。
12、测试中由别人和自己所带来的欺诈有哪些?(第17章和第18章)
当自己想快速清除缺陷和交付产品时,要特别注意别人推荐的测试工具,可能这个工具就是一个欺诈。当我们希望所有事情都进展顺利,可能也是对自己的一种欺骗。