图书前言

第2版前言

  《软件测试方法与技术实践指南》第1版的出版,离现在已经有两年时间,第1版得到广大高校与读者的好评,并在全国高校计算机教学中起到积极的作用,在此我代表言若金叶软件研究中心(以下简称中心)全体清华专著成员向大家表示衷心的感谢!

  当然,目前还有一些高校不了解中心的系列软件实践教材。今后,中心除了加大软件实践类教程广度与深度的研发与编写外,另一个重要工作就是积极配合教育部高等学校计算机科学与技术教学指导委员会、国家级实验教学示范中心建设单位联席会(计算机学科组)、清华大学出版社等在国内宣传计算机实践教学、身体力行,推动中国高校软件实践教学向更高层次发展,同时也为国家高素质软件实践人才的成长与发展搭建优秀的平台。

教程的特点与涉及的内容

  《软件测试工程师成长之路——软件测试方法与技术实践指南(第2版)》的出版秉承第1版所有的优点,从整个软件生命周期与全程质量管理的角度,阐述测试工程师在各个阶段的主要工作,以及每一阶段所起的作用,同时也弥补了第1版的缺陷: 虽然书籍配套软件功能简单,贴近生活实际,方便教师教学也方便学生理解,但教师和学生不知道如何再去深入地实践;  即使在配套教学PPT中有说明,可以测试腾讯空间、新浪博客、百度空间等一些大家可能接触到的软件,但给教师和学生的感觉还是不那么形象与直观,这也是我们第2版书籍出版的最主要原因。

  同时,在各大高校与读者拿到本书时,中心“全国第七届测试工程师培训与项目实训”已经结束,经过前面七届的培训,有相当多高校的计算机教师,高校计算机学院、信息学院、软件学院的博士生、硕士生、本科生,以及部分高职高专学生加入了中心的培训与项目实训,实际的教学与学生们的项目实践更进一步推动实践教程的发展,使实践教程更适合引领高校学生动手实践。

  为使第2版实例更丰富、更直观,在新增的第12章中加入了中心自主研发的五大网站,供读者进行测试实践,其中也补充了一些国际网站的典型缺陷。

中心五大网站分别是: 

(1) 国际站点: 跨地域合作项目在线跟踪系统 Worksnaps

http://www.worksnaps.net

(2) 国际站点: 国际软件外包服务网 FreeOutsourcing

http://freeoutsourcing.net

(3) 国内站点: 言若金叶软件研究中心官网 GoldenLeafCorp

http://www.leaf520.com

(4) 国内站点: 言若金叶软件研究中心备份网 

(5) 国内站点: 城市空间 Oricity

如果说本书第1版给读者展示什么是软件测试工程师及其所要具备的基本技能,如何完成测试环境的搭建,测试计划、测试案例的编写,测试工具的使用,如何发现和报告缺陷,以及相关测试报告的编写等软件测试工程师耳熟能详的工作,那么第2版将是对第1版的巩固与提高,因为虽然读者已经掌握了软件测试的基本知识与基本技巧,但缺乏项目实践,技能也不够系统。

  本书涉及的内容有: 

(1) 从理论上阐述了软件测试工程师的工作范畴、日常工作内容; 成为测试工程师所必需的知识技能和个人素养; 测试工程师成长和发展的前景。

(2) 如何在各种常见操作系统上配置测试需求的环境。

(3) 从项目全程质量管理的角度阐述软件项目每个过程中,软件测试工程师的作用、工作重点以及扮演的角色。

(4) 通过实例深入学习编写高质量测试计划的方法,以及学习如何在项目中维护和执行测试计划。

(5) 通过各种类型测试用例——白盒测试、黑盒测试、压力性能测试、Web安全测试、跨平台/跨浏览器测试、本地化/国际化测试、Accessbility的编写实例,深入学习编写各种测试用例的方法,以及学习在项目中和项目结束后维护测试用例。

(6) 结合各种编写测试用例的方法以及各种Bug的实例,深入学习如何在整个项目中更早、更多地发现Bug,以及如何才能报出正确、详细,且能被软件开发工程师接受的Bug。

(7) 深入学习如何与产品经理、项目经理、软件工程师、环境维护工程师一起处理各种状态的Bug; 如何管理和分析项目过程中以及项目结束后各种状态、类型、级别的Bug,以期通过分析结果提高测试工程师本身乃至整个测试团队的测试水平。

(8) 深入学习如何编写高质量的质量分析报告; 如何组织验收单位、软件公司内部员工进行有效的验收测试; 如何处理验收测试中发现的问题; 以及如何有效地处理客户实际使用过程中发现的问题。

(9) 通过当前常用测试工具,如性能测试工具JProfiler、AQtime,压力测试工具JMeter、LoadRunner,自动化测试工具 AutoIt以及功能测试工具Selenium和自动化测试框架工具STAF+STAX+Python等的实例,学习如何通过使用这些工具提高测试技能,从而帮助自己更快地成为资深的测试工程师。

通过本书的学习,读者可以由浅入深地掌握软件测试工程师所必需的理论知识、工作范畴,以及日常工作处理技巧。

软件测试工程师是做什么的?

软件测试工程师需要哪些知识技能?

软件测试工程师如何继续发展?

测试环境是如何搭建的?

软件项目各个环节软件测试工程师的主要工作是什么?

如何编写测试计划?

如何编写与维护测试案例?

如何发现产品缺陷(Bug)与报告缺陷?

如何管理产品缺陷以及与开发人员沟通?

如何编写测试评价报告?

如何使用测试工具与框架进行测试?

国际软件测试经验与技巧分享。

  第2版新增章节“国际软件测试经验与技巧分享”是中心众多经验丰富的工程师多年工作经验的总结,是从平时的实际工作中筛选一些典型的测试案例供大家分享,希望以此让大家快速掌握软件测试的精髓。众所周知,软件测试工程师最主要的职责是尽可能多地发现产品中存在的缺陷。如果你是一个经验丰富的测试工程师,会很容易发现产品中存在的缺陷; 如果你是新手,产品中的缺陷呈现在你的面前也可能发现不了,这就是差别,这也是为什么很多公司在招聘人才时,特别强调要有相关工作经验。作为新手必须不断地积累经验来武装自己,这就需要一本能够贴近实际工作的书籍来指导,在工作之前就能掌握实际工作中所需要的经验。相信这本书就是你想要的。

  第12章涉及以下的内容: 

   软件项目测试前的准备工作; 

   报Bug技巧; 

 明显不是Bug的情况;

   编写Test Case的技巧。

主要作者与贡献人

  本书第2版由王顺负责策划与主编,王顺与盛安平负责主审; 各大在线网站的开发与运行主要由王顺、Waley Zhang、汪红兵、李化等带领团队开发成员规划与完成; 第12章补充的软件缺陷实例与测试案例实例主要由三方面成员提供: 

  (1) 中心系统架构师、资深软件开发工程师、资深软件测试工程师团队: 王顺、盛安平、恽菊花、吴治、高轶、陶栗丽等; 

  (2) 中心高校教师团队: 印梅、何海涛等; 

  (3) 中心大学生团队: 王璐、张文平、胡绵军、李凤、裴珧君、钟育镁、陈丽、杨君、甘雪莲等。

最后由王顺与盛安平完成合成与审阅。

  补充说明

  (1) 某重点高校计算机学院反映: 学院规定的计算机理论课程每学期都上不完,怎么有时间来学习这个实践教程?

  对于这一点中心认为,对学生的教育,不是让他们知道所有的既定理论、定理,更主要的是让学生应用这些知识。其实本书对于重点大学软件学院,中心推荐用8~16课时教学就可以了,学生动手实践及经验分享可以不占用教学时间,由学生自行完成。这样对教师与学生都有一个新的要求,教师要对软件测试各环节非常熟悉才能把握好教学; 而学生需要利用闲暇时间动手实践,去领会与运用各种测试技术。

  (2) 对于高职高专计算机专业软件测试课程的教学,是否可以用这本教程?

  完全可以。因为重点本科许多学生会继续深造走向科研,所以要掌握的知识一方面要广,另一方面要深; 而高职高专定位应该是培养高技能的应用人才,所以针对软件测试这门课来说,完全可以放弃传统的理论课教学,改用这本实践教程,从头开始学,加大学生实践与测试经验反馈的力度。

  (3) 有些学生看完本书后认为: 这本书很简单,没什么可学的,怎么办?

  中心把书籍写得深入浅出,把软件行业复杂的流程和软件从业人员的主要工作清晰地勾勒出来,所以让人感觉很简单。但简单不代表容易,不代表不经过系统学习就能从事这方面的工作,更不代表能在这个领域有很高的造诣。经过近十年的发展,中国的软件行业对软件测试及全程软件质量控制越来越重视,而国内软件测试工程师缺口比较大,相反许多高校计算机学院毕业的学生因为没有工作经验,不懂实践,却找不到好的工作。作为测试新手,如果想在职场获得更多的尊重、更多的薪水,只会简单的测试理论,只知道基本的应用是远远不够的。

  (4) 本书配套的“大学学籍管理系统”与“大学图书管理系统”的账户与密码是多少,对应的软件和教学PPT从什么地方下载?

  在清华大学出版社网站(www.tup.com.cn)中搜索本书,就能下载到相应的软件与教学PPT,里面也有账户与密码的说明。Java EE版大学学籍管理系统默认账号与密码为admin、pass111,ASP.NET版大学图书管理系统默认账号与密码为admin、pass123。此外,在中心官网与论坛中有许多测试经验与技巧分享,有兴趣的读者可以访问查看。

  

  随着软件行业的发展,要求软件测试工程师越来越专业,很多学生想从事软件测试的职业,但对这个职业很迷茫,不知道从事这个职业需要具备哪些专业知识,需要积累哪些经验,如果从事这个职业后,如何提高自己,等等。深入学习本书,希望您能找到满意的答案。

致谢

  感谢清华大学出版社的深入合作,使新版实践教程能够早日与大家见面。

  感谢团队成员的共同努力,因为大家都为一个共同的信念“为加快祖国的信息化发展步伐而努力!”而紧密团结在一起。感谢团队成员的家庭,是家庭和朋友的无私关怀和照顾,最大限度的宽容和付出,成就了今天这一教程。

  由于作者水平与时间的限制,本书难免会存在一些问题,如果在使用本书过程中有什么疑问,请发送Email至tsinghua.group@gmail.com或roy.wang123@gmail.com,作者及其团队将会及时给予回复。

后记

  您也可以到中心的官网 http://www.leaf520.com 进行更深层次的学习与讨论,在言若金叶软件研究中心官网,您可以: 

了解中心最新的动态; 

掌握中心最新的专著进展情况; 

报名参加中心的软件工程师培训; 

报名参加中心的软件工程师认证; 

报名参加中心的软件实训与外包,锻炼自己能力的同时获得应有报酬; 

加入中心会员,或者直接加入中心,成为中心的一员,共同体验成长的快乐; 

加入中心软件各领域QQ群,和其他高手或同学一起探讨学习中遇到的问题与成长经验; 

加入中心软件外包QQ群,由资深工程师与项目管理师带领您参与国际软件外包。

一切成就,只因有你!相信追求梦想的力量!

王顺2012年于中国合肥留学人员创业园

本书及其配套下载资源使用说明

本书配套下载资源有“大学图书管理系统安装配制说明书”

和三个文件夹。详细介绍如下: 

1. 大学图书管理系统安装配制说明书

在说明书中详细介绍IIS的安装及配置,同时介绍

Microsoft.NET Framework 2.0和MySQL的安装,最后介绍了如何

配置“大学图书管理系统”。

2. “大学图书管理系统安装配制”文件夹

这个文件夹包含有创建“大学图书管理系统”所需数据库的SQL语句和配置“大学图书管理系统”所需要的包。

3. “Test Tools实例”文件夹

本书是以实践为主,书中介绍很多设计测试试用例的实例,希望通过这些实例,让读者能够在实际工作中独立地设计测试用例。在这个件夹里含有“ASP.NET项目测试用例”,每条实例都有“标题”、“操作步骤”和“期望结果”,读者可以参照这些实例,去体会测试用例如何写法。

4. “Test Case实例”文件夹

软件测工程师最主要的工作是给产品报错,在这个文件夹中含有ASP.NET项目一些经典的错误,通过这些错误实例,读者可以体会到如何尽快地发现产品中存在的问题,以及如何报出来。

5. BugFree的使用

在本书中介绍一个缺陷管理系统的实例,通过这个实例,读者可以认识到缺陷管理系统,并通过练习,掌握缺陷的日常新建、修改等工作。

6. Test Tools测试工具的使用

在本书的第11章,详细介绍各种自动化测试的实例,读者可以从网站上下载最新版本,进行练习与总结提高。

本书对于需要软件测试工程师重点掌握的部分,都进行了重点描述与展开,当然本书每章基本都是根据项目的进展环环相扣进行的,所以对本书要整体通读并能有重点地练习与实践。