软件产业发展已逾30年,至今逐步渗透到各个领域,成为越来越不可或缺的技术成分。回想当年,开发软件时唯一能够参考的指南,只有一本用户手册。当时的测试流程纯粹是为测试而测试,只要确保程序能够正常运行,全然没有面向国际市场开发相应版本的概念。
而如今,随着硬件和软件语言不断演进,各种开发方法五花八门,无论是哪种技术、哪种语言、哪种部署方案,无论是什么样的时间表,无论组织的整体技术水平如何,都能对一般软件产品开发应对自如。企业可以有效规划新产品开发成什么样、推介到何种程度,并面向各目标市场对产品进行优化。
然而,即便软件开发取得了如此长足的进展,因软件中的各种缺陷带来的经济成本也仍然居高不下。仅仅在美国市场,每年就有数百亿美元之巨。软件向国际市场推出后,其代码经过各个本地化阶段的再处理,最终的缺陷往往比原始版本更多。据估计,在生产过程中发现并修复一个缺陷的平均成本是 15000 美元,这就进一步压缩了原本就很微薄的利润空间。若是开发的软件要用于多个国家或地区的大量消费设备,所耗成本就会更高,利润空间也就更加有限。
在今天面临的挑战中,如何以国际化销售为目标,在一个国家开发出好的软件?如何在设计、开发和测试软件时,既有效简化产品的“国际化”流程,又确保必要的利润空间?这不仅是摆在国内软件行业面前的症结,同时也是高校应积极面对研究解决的问题。
河北师范大学软件学院从2007年成立伊始,就致力于如何培养区域高等教育人才去适应和促进地方经济社会的全面发展。作为省属综合性大学,新形势下如何进一步更新教育观念,深化教学改革,全面提升教育教学质量,推动行业研究,服务于社会经济发展,是当前的重点工作之一。其中,教材建设与管理是提高教学质量,体现教学内容和教学方法的知识载体,同时也是推进行业研究发展的重要一环。
本书是河北师范大学软件学院测试教研室教师在多年软件工程技术工作中,其工作团队多年合作积累的经验与方法的集萃,其中一些观点与见解已经成为该学院软件测试的基本工作准则,在软件研发领域有着自己的特点。本书通过实例全面描述了软件测试的整个过程,覆盖了测试管理的各个重要方面。对测试管理的各个层次和环节做了系统的介绍,包括测试策略制定、风险控制、缺陷跟踪和分析、测试管理系统的应用等,并且进一步对如何执行本地化测试和国际化测试进行了阐述。作者重点聚焦在实践性,从软件测试项目启动、测试计划开始,深入到测试用例设计、测试工具选择、脚本开发,到功能测试和系统测试等各个步骤做了详细阐述。
高质量的教材是在教学过程中逐渐形成的,甚至是由教师的教案整理而成的,不少教案往往是教材最为原始的版本。因此,应用型学科的教材建设,就需要与课程建设及教师队伍建设结合起来。就此而言,河北师范大学软件学院作为河北省教学改革重点单位,此套教材的出版和与之相关的教学实践有着一定的示范意义。另外,在探索高效软件测试的过程中,该书覆盖了全面的理论分析和详细的实战阐述,对从事软件测试和软件工程管理的人员,以及高校软件工程相关专业的师生,都具有一定的参考价值。希望书中的一些真知灼见对广大读者有所裨益。
蒋春澜2011年5月30日于河北师范大学前 言
伴随着软件行业的发展,测试在整个软件开发生命周期中占的比重越来越高。据调查统计,智联招聘2011年1月份软件测试工程师的需求量有3000余人,足以看出软件测试在目前市场上的需求量很大,但在软件测试行业从业人员中,测试技术扎实,符合企业要求的自动化测试工程师却非常匮乏,因此自动化测试工程师也越来越受到企业的青睐与重视。
目前市场上关于自动化测试方面的书籍很少,其中能够专业化、系统化,并且与实践相结合,深入浅出来剖析的书籍就更是凤毛麟角,这也是造成目前软件自动化测试人才培养困难的一个原因。同时,目前面向高校发行的自动化测试书籍不仅数量少,而且重理论轻实践,与市场结合不够紧密,这就在某种程度上加大了读者从业余水平步入专业化的难度。
河北师范大学软件学院软件测试教研室由工作在一线的具备多年测试及管理工作经验的专业测试工程师组成,基于市场的现状,着眼于高等院校的需求,经过长期软件测试项目实践及实际教学不断积累,多次讨论、精心设计、修改后,形成了一套成熟可行的软件测试课程体系,从中提取精华形成了自动化测试工具的系列教材。其目的如下
(1) 为顺应高等教育普及化迅速发展的趋势,配合高等院校的教学改革和教材建设,更好地协助河北师范大学向“应用型、就业型”院校发展。
(2) 协助河北师范大学软件学院建设更加完善的IT人才培养机制,建立完整的软件测试课程体系及测试人才培训方案,进一步培育出符合当前测试企业需要的自动化测试人才。
(3) 使学生更加高效、快捷、有针对性地学习自动化测试技术,并通过理论与实践的结合进一步锻炼学生的动手实践能力,为跨入自动化测试领域打下坚实基础。
(4) 为企业测试人员提供自动化测试技术学习的有效途径,理论和实践的有效结合,能使各位测试人员更加真实、快捷地体验自动化测试的开展。
本教材作为该系列教材之一,主要结合主流的软件功能测试工具QuickTest Professional 10.0及自动化测试方法与技术全面开展讲解,并贯穿项目实例和同步训练来进一步巩固知识点。主要内容包括QuickTest Professional基本操作、检查点、输出值、VBScript脚本开发、描述性编程等内容,并且以实例驱动知识,使读者能够深入浅出地学习知识。通过本书的学习,能够使读者全面理解自动化测试的主流测试技术,真正迈入自动化测试领域。本书内容全面、层次清晰、难易适中,所采用的工具和项目同企业实际情况紧密结合,并且本书讲练结合,使读者更好地理解和掌握各款工具的使用,在实际工作中能够灵活有效地开展自动化测试。
本教材的撰写得到了多方面的支持、关心与帮助,在此深表感谢。首先,要感谢河北师范大学校长蒋春澜教授,他在软件学院教学改革上的主张及所付出的心血使软件学院凝聚了一批来自于企业的优秀工程师及师大的优秀教师,使软件学院在教材建设、实习实训、学生就业等方面取得了一系列的成果。其次,要感谢软件学院的测试方向的全体学生,他们试用、试读了本系列教材,提出了不少宝贵建议。最后,还要感谢软件学院的全体职工,没有他们的配合,此书是无法完成的。
本教材还提供了教学PPT、教材随书脚本文件、教学视频文件、教学实验手册等,有需要的读者可通过邮箱lixiaopeng@edu2act.org进行联系!
本书可作为高等院校、示范性软件学院、高职高专院校的计算机相关课程和软件工程专业的教材,也可作为各大软件培训机构的培训教程,同时也可供从事软件开发及测试工作的人员,以及对软件测试有兴趣的读者参考与学习。
编 者2012.1