由于最近软件测试课程讲得太多,还有一些烦琐的事情需要课后处理,所以每天留给写书的时间比较少,导致书稿延期这几年做的企业内训比较多,因此经常有机会与一些企业的软件测试工程师进行深入的交流.关于软件测试,不少测试工程师都存在以下较为典型的认识误区唯工具论很多软件测试工程师重视各种测试工具的学习和使用,而不重视对软件测试方法、流程等方面的学习与研究总觉得黑盒测试很简单,没什么技术含量做自动化和性能测试的工资明显比做手工测试的工资高,这是客观存在的现象,但并不能说做自动化或性能测试就可以不用来研究测试设计及测试流程.站在公司的层面,测试设计与测试流程是产品质量的保障,自动化测试也好,性能测试也好,只是一种测试手段,他们更多的是使用工具代替了手工测试,但并不能保证测试的全面性.而测试的全面性与科学性还是由测试设计、测试流程来决定的黑盒测试很简单没有技术含量,这是很多做了多年测试的人常犯的错误.如果黑盒测试没有技术含量.
为什么很多公司做的黑盒测试都不理想呢?通常来说,认为一件事或一门技术很简单有两个方面的原因:一是由于这个人确实很强,对他来说这个内容确实很简单;二是自己掌握的知识很浅,即我们通常说的"半桶水",由于对知识体系了解得不全面而觉得简单很多做了几年测试的工程师,可能始终没搞明白一个问题:产品究竟什么时候可以发布?笔者几年前做测试的时候也有过一样的困惑由于白盒测试主要由开发人员完成,所以我们一般说的测试主要是指黑盒测试,严格说来性能测试和自动化测试也都属于黑盒测试的范畴.很多年前当笔者刚接触测试时,笔者也曾经迷茫过,也像很多朋友一样,认为黑盒测试没有技术含量,只有用例设计和测试执行,但真正走进测试领域后,发现事实远非如此简单为什么用例设计总是不全面为什么测试用例发现的问题总是很少,很多的问题不是按测试用例执行来发现的,而是一些其他方面的操作发现的为什么测试报告几乎没什么有用的数据,只是简单地描述用例执行情况,对缺陷几乎没有任何分析,也不知道为什么产品或系统就可以发布了为什么几乎从没认真分析过测试需求,甚至不清楚需求到底是怎么来的而解决诸多类似的问题,黑盒测试的核心并非测试工具的掌握和使用;黑盒测试并不简单,需要有完整的理论指导及严格的方法训练概括说来,测试的核心工作可归结为测试流程、测试设计及缺陷管理和分析测试流程:不能只对测试流程有一个了解,而是必须要对测试流程中每个步骤都很熟悉,并且知道每个步骤可能存在的问题,评估需要注意的事项,在流程优化方面有自己的见解最好测试设计:其实很多人不知道测试设计是什么意思,很多测试工程师只知道测试用例设计,但其实用例设计不能等同于测试设计,测试设计包含三个步骤:需求分析、测试分析、用例设计缺陷管理和分析:缺陷管理是大家目前都在做的,但缺陷分析很少有公司在做,这就导致在写测试报告时,测试报告的内容几乎没什么有价值的数据,都是一些无关紧要的内容其实测试报告中应该对缺陷进行一定程度的分析和对缺陷进行度量,这样才能更好地分析产品或系统是否达到发布标准我把本书定位为一本系统、详细、实用的学习软件测试用书,所以,本书的内容分为四大部分:理论篇、设计篇、技术篇和扩展篇理论篇主要内容有:软件测试的发展、缺陷的引入、修改缺陷的成本、测试成本以及测试工程师的职责,系统生命周期中的测试策略、测试模型,软件测试组织的发展设计篇包括七个章节的内容.
首先讲了测试的整个流程,然后是软件质量模型、测试设计和用例设计方法.测试设计和测试用例设计是测试过程中的核心内容,直接影响着软件测试的质量,所以一般说来,我们的用例设计需要建立在测试设计分析的基础上.但在实际的测试过程中,很多人经常忽略测试分析而直接进行用例设计.所以测试设计和测试用例设计也是本篇的核心内容.测试用例不仅需要设计,还需要进行有效的管理和维护,以便我们通过分析缺陷来改善测试流程.所以,本部分还详细讲解了如何对缺陷进行有效的管理和分析技术篇的内容更加丰富多彩,包括了 Web 测试、本地化与国际化测试、兼容性测试和易用性测试,当然,还有 Web 测试中不可或缺的 Web 安全性测试扩展篇内容包含:功能测试及其他测试技术,主要介绍了性能测试和自动化测试,并且通案例详细介绍性能测试和自动化测试的过程;接着介绍了验收测试和文档测试;最后介绍如何制定自己的职业规划.