软件测试方法与技术实践指南第3版
- 格式:doc
- 大小:55.00 KB
- 文档页数:7
解读软件工程知识体系SWEBOK V3作者:沈备军来源:《计算机教育》2014年第07期2014年2月20日,IEEE计算机协会发布了软件工程知识体系SWEBOK (SoftwareEngineering Body of Knowledge)指南第3版。
第3版标志着SWEBOK项目达了一个新的里程碑。
作为本指南的联合主编之一,笔者将介绍SWEBOK V3的目标、项目组成员、制订过程以及内容上的重大变化。
1 SWEBOK V3的目标软件工程是一门独立的学科,有自己的职业体系和教育课程体系。
软件工程职业化是软件工程成熟的标志。
1993年,IEEE计算机协会和ACM职合发起为软件工程职业化制定相应的准则和规范,作为产业决策、职业认证和课程教育的依据,经稻草人阶段(1994—1996年)、石头人阶段(1998—2001年)和铁人阶段(2003—2004年),先后在2001年推出了SWEBOK第1版和相应的软件工程师认证(CSDP),2004年推出了SWEBOK第2版,2008年推出了面向大学应毕业生的初级软件工程师认证(CSDA)。
SWEBOK的建立极大地推动了软件工程理论研究、工程实践和教育的发展,国内大多数软件工程专业在制定本科培养方案时也都参考了在SWEBOK V2发布的第六年(2009年),IEEE计算机协会启动了SWEBOKV3的版本升级项目,项目目标包括:(1)增加近年软件工程研究与实践的新成果;(2)将SWEBOK和CSDA、CSDP、SE2004(软件工程本科课程大纲)、GSwE2009(软件工程硕士课程大纲)、SEVOCAB(软件工程术语)等标准进行统一;(3)合并和更新以上各标准的参考文献,遴选最重要的文献,减少文献数量,以利于读者的学习。
2 SWEBOK V3项目组成员针对上述3个目标,2009年组建了由加拿大魁北克大学高等技术学院Pierre Bourque副教授领导的编辑小组,成员由5个不同国家的软件工程专家组成,除了笔者以外,还有来自美国软件与系统工程协会的Richard E.Fairley、加拿大魁北克大学高等技术学院Alain Abran教授、印度Tata咨询公司副总裁Garki Keeni女士和西班牙马德里理工大学Juan Garbaiosa教授。
软件测试基础知识与教程第一章:软件测试概述软件测试是指在软件开发过程中,通过预定义的测试方法和工具,对软件的功能、性能和安全等进行验证和确认的过程。
本章将介绍软件测试的概念、目的和重要性。
1.1 软件测试的定义软件测试是对软件产品的评价过程,通过运行程序、应用各种测试技术和工具,发现软件中的错误、缺陷并评估软件质量。
1.2 软件测试的目的- 发现软件中的错误和缺陷,确保软件的稳定性和可靠性;- 评估软件的可用性和性能;- 确保软件符合用户需求和规格说明。
1.3 软件测试的重要性- 高质量的软件需要经过严格的测试才能达到;- 测试能够帮助开发人员识别和修正软件中的错误和缺陷;- 软件测试能够提供可靠的测试结果,为用户提供准确的软件质量评估。
第二章:软件测试方法本章将重点介绍常用的软件测试方法,包括黑盒测试、白盒测试和灰盒测试。
2.1 黑盒测试黑盒测试是一种基于对软件外部行为的观察,不考虑软件内部结构和实现的测试方法。
主要通过输入有效和无效的数据,观察软件的输出和行为是否符合预期来验证软件是否正确运行。
2.2 白盒测试白盒测试是一种基于对软件内部结构和实现的了解,设计测试用例并覆盖内部代码的执行路径的测试方法。
通过结构覆盖、路径覆盖和判定覆盖等方法来验证软件的各个部分都得到了正确的测试。
2.3 灰盒测试灰盒测试是黑盒测试和白盒测试的结合,既考虑软件的外部行为又考虑软件的内部结构。
通过了解软件的设计和实现,设计测试用例并验证软件的正确性和稳定性。
第三章:软件测试流程本章将介绍软件测试的常见流程,包括需求分析、测试计划、测试设计、测试执行和测试评估。
3.1 需求分析在软件测试开始之前,首先需要进行需求分析,明确软件的功能和性能需求,确定测试的目标和范围。
3.2 测试计划测试计划是制定整个测试过程的指南,包括测试资源的分配、测试环境的准备、测试策略和方法的确定。
3.3 测试设计测试设计是根据测试目标和范围,确定测试用例和测试数据的过程。
《实用软件工程》第3版习题参考答案习题 11.1 开发文档都有哪些?用图示表示它们之间的关系。
开发文档包括目标程序、源程序、详细设计说明书、概要设计说明书、需求规格说明书、用户需求报告、软件合同,它们之间的关系如下图所示。
1.2 简述软件工程研究的内容。
软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。
其中软件开发方法的内容又涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级。
常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型。
软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和Rational Rose。
软件管理过程主要有CMMI、ISO9000、微软企业文化和敏捷文化现象。
1.3 详细解释软件的定义、程序的定义及软件工程的定义。
软件的定义:软件=程序+数据+文档。
这里的程序是指程序系统。
这里的数据不仅包括初始化数据、测试数据,而且包括研发数据、运行数据、维护数据,也包括软件企业积累的项目工程数据和项目管理数据中的大量决策原始记录数据。
这里的文档指的是软件开发过程中的分析、设计、实现、测试、维护文档、管理文档。
现在有一种新提法正在引起关注,这种提法是:软件=知识+程序+数据+文档。
程序是计算机为完成特定任务而执行的指令的有序集合。
从应用的角度可理解为:面向过程的程序=算法+数据结构面向对象的程序=对象+信息面向构件的程序=构件+构架软件工程是研究软件开发和软件管理的一门工程学科。
1.4 软件工程的7+1条基本原理有什么现实意义?软件工程的7条基本原理是在面向过程的程序设计时代(结构化时代)提出来的,但在面向数据和面向对象的程序设计的今天,它仍然有效。
并且在军事上的实时跟踪监控系统中有很好的应用,而且随着软件的开发和管理的进步,它将不断完善和充实。
软件开发与测试技术手册在当今数字化快速发展的时代,软件开发和测试成为公司和组织的重要工作。
为了保证软件品质和用户满意度,简化工作流程,我们特别编写了本手册,以便提供一套经过验证的软件开发和测试技术指南。
本手册将涵盖软件开发和测试的关键步骤、技术工具和最佳实践方法,帮助开发人员和测试团队确保软件按照预期质量标准进行设计、开发、测试和交付。
第一章:软件开发流程在本章中,将介绍软件开发的基本流程,以确保项目成功完成并按时交付。
本章将探讨需求收集、系统设计、编码、软件集成和部署等关键步骤,并提供一些最佳实践方法,以确保流程的顺利进行。
第二章:软件测试方法在本章中,我们将介绍一些常用的软件测试方法,例如黑盒测试、白盒测试、灰盒测试等。
我们还将讨论测试用例的设计和执行,并提供一些实用的技巧,以确保高质量的软件交付。
第三章:自动化测试工具本章将重点介绍自动化测试工具的使用,以提高测试效率和质量。
我们将介绍常用的自动化测试工具,例如Selenium、Appium、Jenkins 等,并提供一些脚本编写和执行的示例,以帮助您更好地理解如何使用这些工具。
第四章:性能测试与优化在本章中,我们将介绍性能测试的重要性,并探讨如何设计和执行性能测试。
我们将详细讨论负载测试、压力测试和容量规划,并提供一些优化技巧,以帮助您在项目中达到更高的性能水平。
第五章:安全测试与漏洞管理安全性是每个软件项目必须重视的方面。
在本章中,我们将介绍安全测试的基本原则和技术,以及如何管理和修复软件中的漏洞。
我们还将讨论一些常见的安全漏洞和最佳实践方法,以提高软件的安全性。
第六章:软件质量保证软件质量是一个不断追求的目标。
在本章中,我们将介绍如何进行软件质量保证,并提供一些质量度量和指标。
我们还将讨论如何制定合适的质量保证计划,并使用一些工具和技术来实现质量提升的目标。
总结:本技术手册涵盖了软件开发和测试的关键领域,旨在帮助开发人员和测试团队提高工作效率和软件质量。
《软件工程》实验指导书太原理工大学计算机科学与技术学院2013年3月目录第一部分实验教学大纲 (1)第二部分实验说明 (3)实验一软件工程的网上资源与常用的CASE工具 (3)实验二传统软件开发方法的可行性研究 (5)实验三传统软件开发方法的需求分析建模 (6)实验四传统软件开发方法的结构设计 (7)实验五系统测试 (8)实验六面向对象的分析与设计 (9)实验七软件项目管理 (10)附录一实验题目 (11)第一部分实验教学大纲课程名称:软件工程(Software Engineering)课程总学时: 48 学时[理论: 40 学时;实验: 8 学时]课程总学分: 3 学分适用专业和年级:计算机科学与技术、软件工程专业一、实验的目的与任务本实验课程通过完整地实施软件生命周期各阶段的任务,让学生系统地学习到软件开发过程的主要理论、方法、技术、标准和规范,使他们具备基本的软件开发设计能力;通过软件工程中常用CASE工具和软件项目管理的实践,使他们具备运用各种工具完成项目设计和实施的基本技能;通过集体项目开发,培训学生的合作意识和团队精神,培养学生对技术文档的编写能力。
二、实验内容和要求本课程的实验内容包括结构化(生命周期法)的方法学和面向对象的方法学。
通过一个模拟项目,要求学生分别用结构化方法和面向对象的方法完成系统的分析、设计和实现的整个软件开发过程。
此外实验中引入我国国家《计算机开发规范》,以规范技术文档的书写标准,提高实验教学质量。
实验要求学生采用“项目小组”的形式,结合具体的开发项目进行分析、设计。
每个项目小组必须按照《软件工程实验指导书》附录中给定的文档规范标准提供项目文档;具体要求如下:1.班级按项目不进行分组。
2.每个人均为负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目,所有实验中都要采用同一个实验题目。
项目开发的每项任务要规定该任务的起止日期和时间。
3.每个项目均要进行需求分析,完成需求分析报告,修订并评审需求分析报告,确定系统的需求分析模型。
关于软件测试的外国文献软件测试是软件开发过程中至关重要的一环,而外国文献中关于软件测试的研究和实践也非常丰富。
下面我将从不同角度介绍一些相关的外国文献,以便更全面地了解软件测试的最新发展。
1. "Software Testing Techniques" by Boris Beizer:这本经典著作详细介绍了软件测试的各种技术和方法,包括黑盒测试、白盒测试、基于模型的测试等。
它提供了许多实用的指导和案例,对软件测试的理论和实践都有很深入的探讨。
2. "Testing Computer Software" by Cem Kaner, Jack Falk, and Hung Q. Nguyen:这本书介绍了软件测试的基础知识和常用技术,包括测试计划的编写、测试用例设计、缺陷管理等。
它强调了测试的全过程管理和质量保证,对于软件测试初学者来说是一本很好的入门指南。
3. "The Art of Software Testing" by Glenford J. Myers, Corey Sandler, and Tom Badgett:这本书从理论和实践的角度探讨了软件测试的艺术。
它介绍了测试的基本原则和策略,以及如何设计有效的测试用例和评估测试覆盖率。
这本书对于提高测试人员的思维和技巧非常有帮助。
4. "Foundations of Software Testing" by Aditya P. Mathur:这本书系统地介绍了软件测试的基本概念、技术和方法。
它涵盖了测试过程的各个阶段,包括需求分析、测试设计、执行和评估。
这本书还提供了丰富的案例和练习,帮助读者深入理解和应用软件测试的原理和技术。
5. "Software Testing: Principles and Practices" by Srinivasan Desikan and Gopalaswamy Ramesh:这本书介绍了软件测试的原则、实践和工具。
软件毕业设计参考文献软件毕业设计参考文献在软件工程领域,毕业设计是学生综合运用所学知识和技能的重要环节。
为了完成一份出色的毕业设计,参考文献是不可或缺的资源。
通过参考文献,我们可以了解到前人的研究成果、方法和经验,从而为自己的设计提供指导和启发。
本文将介绍几个常用的软件毕业设计参考文献,希望能对同学们有所帮助。
1. 《软件工程导论》(作者:Ian Sommerville)作为软件工程领域的经典教材,《软件工程导论》可以帮助我们全面了解软件工程的基本概念、原理和方法。
在毕业设计的初期,阅读这本书可以帮助我们明确设计的目标和范围,了解软件工程的整体流程,并学习到一些常用的软件开发方法和技术。
2. 《软件需求工程》(作者:Axel van Lamsweerde)软件需求工程是软件开发过程中至关重要的一环。
这本书详细介绍了软件需求的概念、建模方法和分析技术。
在毕业设计中,我们需要准确地捕捉用户需求,并将其转化为可执行的软件需求规格。
这本书可以帮助我们掌握需求工程的基本原理和技巧,从而提高需求分析的质量和效率。
3. 《软件体系结构:系统视角》(作者:Mary Shaw, David Garlan)软件体系结构是软件设计的基础,它定义了系统的组织结构和各个组件之间的关系。
这本书从系统视角出发,介绍了软件体系结构的基本概念、架构风格和分析方法。
在毕业设计中,我们需要设计一个合理的软件体系结构,满足系统的需求并具备良好的可维护性和扩展性。
这本书可以帮助我们理解软件体系结构的重要性,学习到一些常用的架构模式和评估方法。
4. 《软件测试:原理与实践》(作者:Paul C. Jorgensen)软件测试是保证软件质量的重要手段。
这本书系统地介绍了软件测试的基本原理、方法和工具。
在毕业设计的实施阶段,我们需要进行充分的测试,以验证软件的功能和性能是否符合要求。
这本书可以帮助我们了解测试的策略和技巧,学习到一些常用的测试方法和工具。
测试工程师的十大必读书籍推荐在当今的技术领域,软件测试工程师起着至关重要的作用。
他们负责保证软件的质量和稳定性,为企业和用户提供可靠的产品。
然而,想要成为一名优秀的测试工程师并不容易,需要不断学习和提升自己的技能。
本文将为你推荐十本必读的书籍,帮助你成为一名卓越的测试工程师。
1. 《软件测试的艺术》(The Art of Software Testing)这本经典的测试指南由Glenford J. Myers撰写,是软件测试领域中最具影响力的著作之一。
本书详细介绍了软件测试的基本原则、基础知识和测试技术,无论是初学者还是有经验的测试工程师都能受益良多。
2. 《软件测试方法与技术》(Software Testing Techniques)作者Boris Beizer是软件测试领域的著名专家,本书全面介绍了各种软件测试技术和方法,包括黑盒测试、白盒测试、性能测试等。
对于想要深入了解测试技术的从业者来说,这本书是必不可少的参考资料。
3. 《软件测试实施》(Implementing Software Testing)作者Dustin和Paul等人运用自己的实际经验,提供了一种实用的软件测试方法论。
本书将软件测试划分为不同的阶段,涵盖了需求分析、测试计划、测试设计和执行、缺陷管理等方面内容,帮助测试工程师更好地组织和管理测试工作。
4. 《Selenium自动化测试实战》(Selenium WebDriver Practical Guide)对于从事Web应用程序测试的工程师来说,Selenium是一个非常重要的工具。
这本书通过实例和案例,详细介绍了如何使用Selenium WebDriver进行自动化测试,包括页面元素定位、表单操作、数据驱动等方面的内容。
5. 《性能测试实战》(The Art of Application Performance Testing)性能测试是衡量软件质量的重要指标之一。
本书作者Ian Molyneaux 从策划、准备、执行到分析,详细解释了性能测试的各个方面,并提供了实用的测试技巧和工具推荐。
软件测试技术手册1. 概述在软件开发过程中,测试是不可或缺的一环。
软件测试技术手册旨在为软件测试人员提供一份详尽的指南,帮助他们系统地进行测试工作,保证软件的质量和稳定性。
本手册将介绍测试的基本原理、测试过程中的常用技术和工具,以及一些测试策略和最佳实践。
2. 软件测试的基本原理在进行软件测试之前,我们需要了解一些基本原理。
首先,测试目的是为了发现软件中存在的问题和缺陷,以便及时修复。
其次,测试应该覆盖尽可能多的场景和情况,以确保软件的功能和性能都能满足用户的需求。
此外,测试应该是可复现的,即相同的输入得到相同的输出。
最后,测试应该是全面的,包括功能测试、性能测试、安全测试等方面。
3. 测试过程中的常用技术和工具为了高效地进行软件测试,我们可以借助一些常用的技术和工具。
首先是黑盒测试和白盒测试。
黑盒测试关注软件的功能,通过输入输出来验证其是否满足需求。
白盒测试则关注软件的内部结构,通过检查代码和执行路径来发现问题。
其次,自动化测试工具可以帮助我们快速执行测试用例,提高测试效率。
例如,Selenium用于Web界面测试,JUnit用于单元测试。
此外,性能测试工具(如LoadRunner)和安全测试工具(如Fortify)也是非常有用的。
4. 测试策略和最佳实践在进行软件测试时,我们需要制定一些测试策略和采用一些最佳实践。
首先,我们应该根据软件的重要程度和项目的时间限制来确定测试的优先级。
关键功能和核心模块应该首先测试,以保证软件的稳定性。
其次,我们应该注重测试用例的设计,确保能够覆盖到各种可能的情况。
此外,我们还应该进行回归测试,以防止新的修改导致已解决的问题重新出现。
最后,我们还应该进行定期的性能测试和安全测试,以保证软件的高性能和安全性。
5. 结论软件测试技术手册提供了丰富的信息和指南,以帮助软件测试人员进行测试工作。
在软件开发过程中,测试是至关重要的一环,它可以帮助我们发现问题和缺陷,并提高软件的质量和稳定性。
《软件测试方法与技术概论》《软件测试方法与应用》〈Software Testing〉Sams RonPatton(美) [机械工程出版社]〈实用软件测试指南〉[清华大学出版社] 5z3?`??〈软件测试经验与教训〉〈计算机软件测试技术〉〈自动化测试的引入,管理与实施〉Elfriede Dustin [清华大学出版社] 推荐e文原版〈有效软件测试〉Elfriede Dustin [清华大学出版社] 新语译〈软件测试〉Paul.C.Jorgensen CRC [机械工程出版社]〈软件测试自动化〉Paniel J.Moslsy [机械工程出版社] 邓波译中文翻译的不错软件测试的经典书籍一、自动化测试类:1、软件自动化测试:引入、管理与实施Automated Software Testing Introduction,Management,and Performance2、软件测试自动化技术与实例详解Software Test Automation3、高效软件测试自动化Effective Software Test Automation4、图形用户界面测试自动化Effective GUI Test Automation5、软件测试自动化Just Enough Software Test Automation6、软件工程与软件测试自动化教程二、Web应用测试类:1、Web安全测试Testing Web Security:Assessing the Security of Web Sites and Applications2、Web应用测试Testing Application on the Web:Test Planning for Internet-Based Systems3、Web应用测试(第二版)Testing Applications on the Web: Test Planning for Mobile and Internet-Based Systems, Second Edition4、Web测试指南The Web T esting Companion: The Isider's Guide to Efficient and Effective Tests三、软件测试基础类:1、软件测试(原书第2版)Software Testing A Craftsmaj's Approach(Second Edition)2、软件测试Software Testing3、面向对象的软件测试A Practical Guide to Testing Object Oriented Software4、软件测试与质量管理5、计算机软件测试(原书第2版)Testing Computer Software,Second Edition6、实用软件测试过程Testing IT:An Off-the-Shelf Software Testing Process7、软件质量和软件测试Software Quality and Software Testing in Internet Times8、系统的软件测试Systematic Software Testing9、软件子系统测试The Craft of Software Testing:Subsystem Testing,Including Object-Based and Object-Oriented Testing10、面向对象系统的测试Testing Object-Oriented System:Models,Patterns,and Tools11、软件测试技术概论12、软件β测试Beta Testing for Better Software四、软件测试应用类:1、有效软件测试Effective Software Testing2、实用软件测试方法与应用3、软件测试:经验与教训Lessons Learned in Software Testing4、软件测试入门Introducing Software Testing5、实用软件测试指南How to Break Software A Practical Guide to Testing6、软件评估:基准测试与最佳实践Software Assessments,Benchmarks,and Best Practices7、嵌入式软件测试Testing Embedded Software8、软件测试求生法则Surviving the Top Ten Challenges of Software Testing : A People-Oriented Approach9、软件测试:过程改进Software Testing in the Real World Improving the Process10、快速测试Papid Testing11、软件测试的有效方法(原书第2版)Effective Methods for Software Testing,Second Edition12、网络测试深入解析五、单元测试类:1、单元测试之道Java版——使用JunitPragmatic Unit Testing:In Java with JUnit2、测试驱动开发(中文版)Test-driven development:by example3、单元测试之道C#版——使用NunitPragmatic Unit Testing:In C# with NUnit4、测试驱动开发——实用指南Test Driven Development: A Practical Guide5、软件测试与Junit实践六、性能测试类1、2EE性能测试J2EE Performance T esting With BEA WebLogic Server2、Microsoft .NET Web应用程序性能测试Performance Testing Microsoft .NET Web Applications七、软件安全测试类:1、黑客攻击测试篇Hack Attacks Testing:How to Conduct Your Own Security Audit2、Web安全测试Testing Web Security:Assessing the Security of Web Sites and Applications八、测试管理类:1、测试流程管理Managing the Testing Process2、软件测试过程管理(原书第2版)Managing the Testing Process(Second Edition)九、软件测试培训类:1、软件测试员培训教材2、软件测试实用指南软件评测师书籍:1、软件评测师考试考点分析和真题详解2、软件评测师教程3、软件评测师试题分类精解软件测试——深入学习1、软件测试Ron Patton2、软件测试Paul C.Jorgensen3、计算机软件测试(第2版)4、实用软件测试过程【软件测试技术大全】||1、软件测试自动化||1、Web测试指南2、Web安全测试||1、探索式软件测试||1、软件测试经验与教训。
第3版前言《软件测试方法与技术实践指南》第1版的出版,距今已经有4年时间;第2版的出版,距今也有2年时间;书籍第1版与第2版得到广大高校与读者的好评,并在全国高校计算机教学中起到积极的作用,在此我代表言若金叶软件研究中心(以下简称中心)全体清华专著成员向大家表示衷心的感谢。
书籍第3版的出版,将最大程度上满足全国各大高校、各大软件公司、各大软件培训中心的多层次需求。
同时继续保持本书在全国软件实践类专著中遥遥领先的地位,加强本书对全国各大高校和软件公司的深远影响。
中心除加大软件实践类教程广度与深度的研发与编写外,另一个重要工作就是积极配合教育部高等学校计算机科学与技术教学指导委员会、国家级实验教学示范中心建设单位联席会(计算机学科组)、清华大学出版社等在国内宣传计算机实践教学,身体力行地推动中国高校软件实践教学向更高层次发展,同时也为国家高素质软件实践人才的成长与发展搭建优秀的平台。
《软件测试工程师成长之路:软件测试方法与技术实践指南》第3版的出版秉承第1版与第2版的优点,从整个软件生命周期与全程质量管理的角度,阐述测试工程师在各个阶段的主要工作,以及每一阶段所起的作用。
同时增加软件测试工程师各大技术主题分享,为每一位读者从初级测试工程师向中高级测试工程师发展指明了道路。
当各大高校与读者拿到本书时,中心已经完成了面向全国的十八届测试工程师培训与项目实训。
有相当多高校的计算机教师,包括博士生、硕士生、本科生,部分高职高专学生加入了中心的培训与项目实训。
实际的教学与学生们实际的项目实践,更进一步地推动了实践教程的发展,使该教程更适合引领高校学生动手实践及各大软件公司工程师们提高软件开发质量水平。
本书涉及的内容:本书分四大篇章组织同时有四个附录,每一篇章的规划都是层层递进,相互关联的,附录也不例外。
第一大篇章:软件测试工程师知识筹备与成长发展,共分3章。
第1章讲解本书特色与使用方法;第2章将软件测试核心的理论知识串接起来,展示了从事软件测试工作所需要的最基础的理论;第3章讲解测试工程师如何成长,方便学生从高校毕业后,能找准自己的位置,在软件测试工程师工作岗位上不断成长。
整个第一大篇章从理论上阐述了软件测试工程师的工作范畴、日常工作内容;成为测试工程师所必需的知识技能和个人素养;测试工程师成长和发展的前景。
第二大篇章:基于产品线的项目实践,共分7章。
该篇章主要通过实例来讲述从软件最初的简单需求模型到最终的产品发布各个阶段测试工程师的主要工作。
包括:项目初期各阶段的主要工作->软件测试计划的制定->软件测试案例的编写->软件项目各部门相互协作->执行测试案例并报告缺陷->产品功能完善与修复缺陷阶段->测试工程师在产品发布前后的工作。
第4、5章通过实例,深入讲解编写高质量的测试计划的方法以及学习如何在项目中维护和执行测试计划。
第6章通过各种类型测试用例:白盒测试、黑盒测试、压力性能测试、Web安全测试、跨平台/跨浏览器测试、本地化国际化测试、Accessbility的编写实例,深入学习编写各种测试用例的方法,以及学习在项目中和项目结束后维护测试用例。
第7、8章能学习到如何与产品经理、项目经理、软件工程师、环境维护工程师一起处理各种状态的BUG;如何管理和分析项目过程中以及项目结束后各种状态、类型、级别的BUG,以及通过分析结果提高测试工程师本身乃至整个测试团队的测试水平。
结合各种编写测试用例的方法以及各种BUG的实例,深入学习如何在整个项目中更早、更多的发现BUG,以及如何才能报出正确、详细、且能被软件开发工程师接受的BUG。
第9、10章能深入学习到如何编写高质量的质量分析报告;如何组织验收单位、软件公司内部员工进行有效的验收测试;如何处理验收测试中发现的问题;以及如何有效地处理客户实际使用过程中发现的问题。
整个第二大篇章从项目全程质量管理的角度阐述软件项目每个过程中,软件测试工程师的作用、工作重点以及扮演的角色。
第三大篇章:软件测试领域九大专题技术分享,分9章。
涉及到软件测试领域的方方面面,同时紧随国际软件测试最新的技术,有一定的前瞻性,技术研究深入,方便引导读者进入到高级工程师行列。
包括:Web测试专题技术分享->Client测试专题技术分享->Mobile测试专题技术分享->国际化本地化测试专题技术分享->跨平台跨浏览器专题技术分享->Web安全测试专题技术分享->敏捷测试专题技术分享->软件自动化测试专题技术分享->压力与性能测试专题技术分享。
整个第三大篇章通过众多全球知名软件公司资深工程师的各大软件测试技术主题分享,让读者更能清楚地了解自己目前的水平,如何进行更深层次的提高以及怎样跻身资深工程师行列。
第四大篇章:师生动手实践篇,共1章。
引导读者立即实践,展示自已的专业水平,阅读中心在国际软件测试中积累的经验分享,欣赏全国大学生软件实践能力比赛的获奖作品,使自己更快的适应软件工程师角色。
书籍附录A的内容是本书第二大篇章对应的软件系统,师生安装好系统后教学更有针对性;附录B是将书中或软件测试工作中常遇到的英语与对应的中文解释,方便读者进入到国际软件测试队伍中;附录C是面试指南,方便学生找到一份满意的工作;附录D是对本书所有作者与贡献者的介绍,感谢他们的辛勤汗水、对技术的不懈追求、对加快祖国信息化发展步伐的雄心壮志,才成就了今天的系列实践教材。
第3版新增/新修订章节主要作者与贡献人:本书篇第3版由王顺负责策划与主编,兰景英、盛安平、恽菊花为副主编,王顺、兰景英、盛安平负责主审。
本书Java EE篇第3版由王顺负责策划与主编,潘娅、盛安平、印梅为副主编,王顺、潘娅、盛安平负责主审。
第3版新增/修订章节第1、11、13、16、20章由王顺编写,第2、3章由潘娅、兰景英编写,第12、15章由盛安平编写,第18、19章由恽菊花编写,第14章由崔贤编写,第17章由盛安平、王莉编写,书籍附录A、B、C、D由王顺编写,印梅主要负责书籍配套教学电子文档的整理合成与制作。
为保持本书简约与不简单的风格(清晰的软件生产流水线,以及每个阶段测试工程师的主要工作)和教师对书籍教学的继承性,原书第1与第2版中涉及到一个完整项目流程实践的所有章节没有改变(从第4章至第10章)。
本书的出版同时得到中心官方合作院校和许多高校软件测试专业教师、软件测试领域资深专家的大力支持,他们是:同济大学软件学院朱少民教授、西南科技大学计算机学院范勇教授、安徽财经大学信息学院陈涛博士、广州番禺理工学院孙庚副教授、四川理工学院软件工程系何海涛主任等。
为配合本书的实践教学,各大在线网站的开发与运维主要由中心系统架构师、资深软件开发工程师、资深软件测试工程师团队、资深项目管理师团队完成,主要成员有:王顺、Waley Zhang(美)、汪红兵、李化、盛安平、恽菊花、吴治、高轶等。
同时书籍各大技术专题分享中的例程许多由中心软件测试国际团队的教师、工程师和学生提供,主要成员有:严兴莉、胡绵军、张凤、李林、王璐、张文平、李凤、裴珧君、钟育镁、陈丽、杨君、甘雪莲、王婷婷等。
本书使用常见问题解答:1.本书第1、2、3版有什么区别,为什么要有这么多版本?作为高校教师我应该选择哪个版本来进行教学?作为想从事软件测试行业或已经是软件测试工程师,我应该选择哪个版本学习?如果说本书第1版给读者展示什么是软件测试工程师及其所要具备的基本技能,如何完成测试环境的搭建;测试计划、测试案例的编写;测试工具的使用;如何发现和报告缺陷,以及相关测试报告的编写等软件测试工程师耳熟能详的工作。
那么第2版,将是对第1版的巩固与提高,读者虽然已经掌握了软件测试的基本知识与基本技巧,但缺乏项目实践,技能也不够系统,所以第2版新增加了国际软件测试经验与技术分享以及中心五大网站,供读者实践,加深了本书实践导向。
第3版的出版是为了满足更深层次地学习软件测试、软件开发、软件质量管理、软件流程控制,使读者能尽快的通过实践进入到高级工程师行列;第3版不仅优化了核心理论知识,保持一个完整项目流程,增加软件测试领域各大专题技术分享,同时增加师生和读者动手实践空间,以及软件测试面试技巧。
三个版本可以满足不同层次的读者与高校教学实践的需求。
作为高校教师,需要看贵校或贵专业想要通过本课程的学习将学生培养成什么样的人才,以及每周给多少次课程来上这门课。
如果只是想让学生知道软件测试的基本流程以及满足师生简单层次的动手实践,选用本书第1或2版,都可以。
如果想让学生向更高层次发展,建议选用本书第3版。
如果学校只给每周1至2次课上这门实践课程,建议使用本书第1或2版(少课时版);如果每周给3至4次课,建议选用本书第3版。
作为想从事软件测试行业或已经是软件测试工程师的成员,请直接选用本书第3版。
2.本书适合高校哪些专业师生学习?读者群体有多广?本书虽然是软件测试工程师成长实践类教材,但因为软件质量是软件产品的生命线,所以全国各大高校计算机学院、信息管理学院、软件学院各专业都可以选用为软件实践类教材。
教师和学生通过学习本书,就能知道软件生产的整个流程,以及在软件生产各环节如何避免引入软件缺陷,各种类型软件常出现的软件缺陷在哪里,在软件开发、软件测试及软件项目管理时,如何减少这些缺陷存在的可能性;如何保证开发的软件足够的安全,怎样验证所使用的软件是安全的等等,对各大软件专业都有帮助。
除了全国各大高校信息类师生可以选用本教程外,工程硕士、工程博士、全国各大软件培训机构的软件工程师培训、全国各大软件公司的软件工程师都可以选择本书第3版,学习当前最新的技术、阅读资深工程师各大技术专题分享、增强自己的技术实力,在竞争中展现自我。
3.某重点高校计算机学院反映:学院规定的计算机理论课程每学期都上不完,怎么有时间来学习这个实践教程?对于这一点中心认为,对学生的教育,不是让他们知道所有的既定理论、定理,更主要是让学生应用这些知识。
本书第3版的出版就是为了取代传统的计算机理论教学,大家都知道经过一本书的理论教学之后,实际能记得或用到上的理论总结后可能只有几句话或几页纸。
本书第3版的第一大篇章中的第2章软件测试领域核心知识大串讲,完全可以替代传统的理论教学书籍中能学到的知识,同时第一大篇章中的第3章,讲解进入测试工程师行业后如何进一步的发展,附录C中讲解软件测试工程师面试技巧,少许的几章已经比传统的理论课程有更强大的生命力。
同时本书第3版第二大篇章从水平角度出发,基于一个完整的软件产品线,讲述软件生产的各个流程及各阶段软件测试工程师的主要工作,需要会的技巧。
本书第3篇章从纵深角度出发将目前软件测试领域九大专题技术进行串讲,方便师生了解前沿技术以及分享众多资深工程师的经验,很容易引领读者进入软件工程师行列并很快地向高级工程师方向成长。