本书是软件测试方法与技术的配套实验教材, 主要包括软件测试的原理与方法、软件测试的技术和软件测试项目实践三部分。其中软件测试的原理与方法主要是黑盒测试的4种经典方法: 等价类划分、边界值法、判定表法和因果图法的实验原理及具体实验案例的讲述, 还有白盒测试的经典方法的实验原理及具体实验案例的讲述; 软件测试的技术主要是单元测试、集成测试和系统测试原理及具体实验案例的讲述; 利用TestDirector进行软件测试管理。
软件测试是一门对于工程实践能力要求很高的课程,在整个计算机科学与技术学科的人才培养规划里,是一门偏重于实践的核心课程,旨在培养学生的计算机实际开发能力。目前,许多高校在计算机专业或软件工程专业开设了这门课程,可见软件测试课程的重要性。
事实上,由于软件测试这门课程重在培养学生的工程实践能力的特点,从软件测试教学大纲和教学计划可以看出,所安排的实验节数非常多,应该是全部学时的一半以上,因为学生只有通过一个个软件测试案例的实验,才能够真正掌握软件测试的各种方法并且做到融会贯通。
目前,软件测试课程的教材数量多而且质量都很好,但是基于培养软件测试实际动手能力的实验配套教材还不多,学生反映即使买到了合适的软件测试教材,但是很难买到真正实用的软件测试实验指导用书。原因是这类书籍由于偏重实践环节,所涉及的课题和实验的准备需要很长的时间,不像一般的理论教材那么好写,所以出书十分困难。但是学生要想掌握软件测试方法,在实际测试环节中,又迫切地需要好的、详细介绍实施软件测试方法具体步骤的实验教程。
本人多年从事软件工程、软件测试及软件质量保证的研究并讲授相关课程,长期指导学生进行实际的软件测试活动,在软件测试的课堂上多年采用清华大学出版社出版、朱少民老师编写的《软件测试方法和技术》一书,按照朱老师教材的章节编写思路,结合自己多年辅导学生进行软件测试学习所积累的案例,编写了这本软件测试的实验教程。本书充实了软件测试方法和技术的实验环节案例,详细描述了各种软件测试常用的方法和技术在实践中应用的步骤和过程,由浅入深、循序渐进,有些章节的实验甚至分步骤详尽地做了阐述。所以,本书应该是一本容易入门的、浅显易懂的实验教材,特别适合作为一本学习软件测试的入门实验指导书。书中所涉及的所有案例都是笔者这些年在课堂上带着学生反复实践过的,相信会对学习软件测试的读者有所启发。
本书设想成为清华大学出版社出版、朱少民老师编写的《软件测试方法和技术》一书的配套实验类指导书,因此在内容与篇章结构上尽量与朱老师的原书一致,可以说本书是《软件测试方法和技术》一书的实践教程和重要补充。同时,本书注重实践环节的积累,用具体的案例来讲述软件测试理论应用的具体方法,实用性和指导性很强。
本书对软件测试的主要方法和重要技术均做了介绍,本着理论与实践相结合的原则,在介绍软件测试某个具体的方法之后,以实验指导书的形式相应地给出一个利用此方法的实验案例,便于读者学习实践。
在各章的实验指导书中,除说明本次实验的目的、所要求的实验环境、本次实验的内容之外,对于实验相关的软件测试理论,都以【实验原理】的形式再次简明扼要地加以阐明;对于软件测试初学者感觉困难的地方,都以【实验步骤】的形式予以具体讲解,读者只要按照实验步骤进行操作,就可以很容易地完成整个实验。提醒读者不要急于阅读【实验指导】部分,因为【实验指导】是类似习题答案的内容,因此为了培养和锻炼自己的软件测试能力,可以先不阅读【实验指导】,自己完成整个实验之后再阅读这一部分,看看自己的测试设计方法与【实验指导】有什么不同,从而达到学习提高的目的。对于初学者容易犯的错误都以【实验中需要注意的问题】的形式进行了概括总结。有些实验还有【实验拓展】部分,提出实验拓展问题,或者是需要进一步进行实验的内容。
对于本实验教程的所有实验案例,读者都可以参阅书中的【实验指导】,自己进行相同的实验操作,所涉及的被测程序和相应的软件系统平台、测试工具软件,都可以从本书指定的配套网站下载使用。
本书所涉及的多个测试实验均可被读者实际操作,相信许多读者凭借本书,可以真正摆脱只能学习软件测试理论,无法动手进行实际测试的困境。各章的实验指导阐述细致,浅显易懂。
本书参考了软件测试的相关书籍以及互联网上的一些软件测试理论文章,特别是朱少民老师编写的《软件测试方法和技术》一书,对于各位作者表示深深的谢意。
本书还参考了我的学生郭莹和范逸飞的毕业设计论文。作为毕业设计导师,向他们表示感谢。
由于本人水平有限,尽管参照了很多的文献和听取多方的意见,但由于时间问题和本人能力问题,书中难免存在漏洞与误区,还望读者朋友指正。