本书的作者给软件工程和计算机科学专业的学生讲授软件测试已经超过15年r。征此别间,我们得出了一个很不期望看到的结论:没有人写出一本我们想要的书。所以,如果我们想要,就必须自己写。<br> 以前的测试类书籍把软件测试当作一个相对简单的学科,认为这个学科依赖于过程,而不是从技术的角度去理解软件是如何构成的;有的书把测试作为一个需要详细理解大量软件开发技术的复杂的、割裂的学科;还有的书把测试当作一个只有数学家和计算机理论科学家才能掌握的纯理论学科。大多数关于测试的书籍围绕着一个典型的软件开发周期的各个阶段展开,这种方法会使原本普通的测试主题变得难懂。最后,大多数测试类书籍是作为参考书而写的,而不是教科书。所以,只有先前有过专门软件测试知识的教师才能轻松使用。而本书对于那些不是测试专家的教师也是易于使用的。<br> 本书在许多重要方面不同于其他的软件测试类书籍。许多书讲解如何管理测试过程,当然这很重要,但告诉测试者基于基础理论的具体测试技术同样重要。本书在理论和实践应用之间保持了很好的平衡。这是软件公司必须有的重要信息,但是本书特别注重设计和创建测试用例的基本技术问题。目前市面上其他的测试类书籍主要关注技术或活动,比如系统测试或单元测试,而本书旨在综合软件开发的整个过程,涵盖尽可能多的技术。<br> 如前所述,本书的目的是支持多种软件测试课程。我们在乔治·梅森大学软件工程硕士研究生的软件测试课上做了第一个尝试,每学期有30多个计算机科学和软件工程专业的学生选修这门课程。我们还组织了软件测试的博士研讨会,举办了特定方向的短期企业培训,还为许多本科课程进行了讲座。虽然有关软件测试的本科课程不多,但我们相信不久的将来会有很多。许多关于测试的书并不是用在课堂上的,我们特地写了这本书来支持课堂教学,因此征本书网站上本书目录的后面看到我们的测试课程的提纲就不足为奇了。<br> 本书采用了许多精心打造的实例来帮助学生和老师学习略显复杂的概念。教辅资源包括高质量的PPT、演讲提示、习题解答和相关软件。我们的思想是:我们不仅仅是在写一本书,同时也在为社区提供课程。我们的目标之一是,所写的内容作为研究文献有学术性,对于非研究人员也是易于使用的。虽然本书的论述与出自研究论文的资料有些不同,但其本质思想是忠实于文献的。为了使文章更为通顺,我们删除了论述中的引用。对于那些喜欢追根溯源的研究者,每章最后都有一个参考文献注释,它对概念的来源进行了总结。
展开