软件测试设计
基本信息
- 作者: 马均飞 郑文强
- 丛书名: 测试实践丛书
- 出版社:电子工业出版社
- ISBN:9787121129674
- 上架时间:2011-4-11
- 出版日期:2011 年4月
- 开本:16开
- 页码:424
- 版次:1-1
- 所属分类:
计算机 > 软件工程及软件方法学 > 软件质量、软件测试及维护
编辑推荐
全面解析问题驱动的软件测试设计方法
推荐阅读
内容简介回到顶部↑
《软件测试设计》针对软件测试人员在测试设计过程中面临的各种问题,提出了“问题驱动的软件测试设计”方法。该方法将软件测试设计技术、测试设计中面临的问题和项目测试实践经验紧密结合,详细阐述了测试人员应该如何有效地开展软件测试设计活动。
测试人员在测试设计过程中经常面临各种问题和挑战,主要包括几乎无穷的测试对象输入数据的组合、不同利益相关者对软件产品的不同质量要求、非常有限的测试时间和测试资源,以及不全、模糊且经常变更的需求规格说明等。问题驱动的软件测试设计方法从经典测试设计、基于质量特性的测试设计、基于风险的测试设计和基于经验的测试设计4个方面,系统地解决测试人员在测试设计过程中碰到的各种问题。
《软件测试设计》适用于测试工程师、测试经理和质量改进人员阅读,也可以作为国际软件测试认证委员会(istqb)高级测试技术分析员和高级测试分析员的培训参考教材。
测试人员在测试设计过程中经常面临各种问题和挑战,主要包括几乎无穷的测试对象输入数据的组合、不同利益相关者对软件产品的不同质量要求、非常有限的测试时间和测试资源,以及不全、模糊且经常变更的需求规格说明等。问题驱动的软件测试设计方法从经典测试设计、基于质量特性的测试设计、基于风险的测试设计和基于经验的测试设计4个方面,系统地解决测试人员在测试设计过程中碰到的各种问题。
《软件测试设计》适用于测试工程师、测试经理和质量改进人员阅读,也可以作为国际软件测试认证委员会(istqb)高级测试技术分析员和高级测试分析员的培训参考教材。
作译者回到顶部↑
目录回到顶部↑
《软件测试设计》
第1部分 经典测试设计
第1章 静态测试 3
1.1 评审 4
1.1.1 评审遵循的原则 7
1.1.2 选择合适的评审类型 8
1.1.3 案例分析:如何开展评审活动 13
1.1.4 影响评审成功的因素 19
1.2 静态分析 21
1.2.1 基于代码的分析 22
1.2.2 基于架构的分析 28
1.3 小结 30
第2章 基于结构的测试 31
2.1 语句测试 35
2.2 判定测试 36
2.3 条件测试 37
2.4 判定条件测试 39
2.5 条件决定测试 40
2.6 条件组合测试 43
2.7 线性代码序列和跳转测试 44
第1部分 经典测试设计
第1章 静态测试 3
1.1 评审 4
1.1.1 评审遵循的原则 7
1.1.2 选择合适的评审类型 8
1.1.3 案例分析:如何开展评审活动 13
1.1.4 影响评审成功的因素 19
1.2 静态分析 21
1.2.1 基于代码的分析 22
1.2.2 基于架构的分析 28
1.3 小结 30
第2章 基于结构的测试 31
2.1 语句测试 35
2.2 判定测试 36
2.3 条件测试 37
2.4 判定条件测试 39
2.5 条件决定测试 40
2.6 条件组合测试 43
2.7 线性代码序列和跳转测试 44
前言回到顶部↑
如何有效地减少测试用例数目?
如何避免测试用例之间的冗余?
如何满足客户对产品的不同质量要求?
如何应付紧迫的测试时间和有限的测试资源?
如何适应需求的不完善和变更?
如何快速获得产品的质量信息?
当你还在为这些测试设计问题而苦苦思索的时候,不妨看一看本书,它将为你提供一个测试设计的全新视角和思路。本书结合编者10年的软件测试实践经验,以解决软件测试设计面临的具体问题为目的,以现有的软件测试设计技术为基础,提出了问题驱动的软件测试设计方法。该方法不再将关注点集中在测试设计技术本身的描述,而是放在了不同的测试技术如何解决测试设计过程中面临的实际问题上。本书首先提出测试人员在测试设计过程中遇到的各种不同问题,然后应用不同的测试设计技术从不同的角度解决问题。
问题驱动的软件测试设计由4大类测试设计技术组成,即经典测试设计、基于质量特性的测试设计、基于风险的测试设计和基于经验的测试设计。该方法全面覆盖了现有的各种软件测试设计技术,不仅包括了等价类划分、边界值分析和决策表测试等经典测试技术,也包括了失效模式和影响分析FMEA以及探索性测试等测试技术。问题驱动的软件测试设计方法通过将测试人员面临的问题、测试技术和实践经验的紧密结合,为读者提供了全新的测试设计思想和理念,相信书中介绍的技术、方法和实践经验能够给读者带来对软件测试设计的全新认识。
软件测试设计的误区及本书的解决方法
软件测试设计是整个软件测试过程中的一个重要活动,其输出质量(无论是文档化的工作产品,还是存在于测试人员头脑中的想法)将会直接影响后续测试活动的效率和有效性,进而影响软件产品的最终质量。测试人员在测试设计过程中的如下误区常常会影响测试活动的有效开展。
(1)测试对象的需求规格说明是测试设计和执行的唯一输入,即测试人员的测试活动都以该说明作为判断依据。需求规格说明作为测试的输入,这观点本身没有错,但它不是唯一的。在测试过程中测试人员面对的需求常常是不全且模糊,甚至没有任何需求文档;另外,测试对象除了需求规格说明中包括的显现需求之外,测试人员还需要考虑一些隐现的需求。例如,竞争对手的产品特点和以前版本发现的缺陷等。
(2)假如测试对象满足了需求规格说明的要求,那么它就满足了产品的质量要求,这个误区实际上是上面的误区导致的。我们需要强调的是软件测试不仅仅是验证的目的(即Verification,正确地构建产品),而且需要达到确认的目的(即Validation,构建正确的产品)。因此在测试过程中还需要进行确认测试,即从用户的角度检查软件产品是否确实是用户需要的,是否实际满足了用户的真实需求和要求。在测试过程中,测试人员除了要考虑功能测试之外,还需要针对不同的质量特性进行非功能测试。
(3)测试对象的每个功能对于测试设计而言是同样重要。在实际测试设计过程中经常无意识地按照这个观点开展测试活动。例如,无论什么功能,忽略其重要程度和优先级,测试人员都会基于需求进行测试设计,同等对待每个功能的测试用例和规格说明等文档。
我们认为,前面的这些误区是由于片面地理解了一些测试思想和理念造成的,它们会直接影响测试人员测试设计活动的效率和有效性。为了更好地建立测试人员的测试思想和理念,从而更好地进行软件测试设计,本书提出了问题驱动的软件测试设计方法。这种方法将从需求、质量特性、风险和测试经验等方面入手,针对测试设计过程中面临的各种问题提供系统化的测试设计解决方案。
本书的创作过程及其主要内容
两年前就想写一本关于软件测试设计方面的书,机缘巧合,郑文强与笔者先写了一本《软件测试管理》(电子工业出版社,2010年7月)。正是该书的出版,为本书的写作奠定了坚实的理论和实践基础,使得该书在不到半年的时间内就完成了撰写和评审的所有工作。实际上我们在2009年末就完成了本书经典测试设计部分的内容,后来由于忙于《软件测试管理》的出版工作,所以中止了本书的写作。2010年5月完成《软件测试管理》出版之前的所有工作后,我们才又开始继续编写本书。本书的创作思路经历了如下两个不同的阶段。
(1)我们计划覆盖所有软件测试技术人员需要掌握的知识点。《软件测试管理》覆盖测试管理的内容,而本书将重点关注高级软件测试分析和技术。但是软件测试技术的内容很宽泛,而且软件测试技术人员需要掌握的知识点和软件测试管理人员有很多是重复的。如果按照原计划,本书差不多有一半的内容与《软件测试管理》类似。考虑再三,我们认为这样的一本书,对我们本身测试知识水平的提高不大,对读者而言也是不公平的,所以最后我们完全放弃了原来确定的写作架构和内容。
(2)尽管重新建立本书的框架和思路花费了很多精力,但是却更好地开拓了我们的视野,并且可以更加贴近测试人员的实际测试工作。此时我们将本书定位为软件测试设计领域的专著,而尽量不涉及软件测试其他方面的内容(当然完全不涉及其他内容是不可能的,因为软件测试设计不可能独立于其他测试活动而单独存在)。
确定本书的定位之后,接下来需要完善整体写作思路和目录结构。尽管软件测试设计技术在很多相关书籍中都会有所涉及,但是专门论述这些技术的书籍确实还不多。
首先我们根据自己多年的软件测试经验,罗列了测试人员在测试设计过程中经常面临的各种问题和挑战;
如何避免测试用例之间的冗余?
如何满足客户对产品的不同质量要求?
如何应付紧迫的测试时间和有限的测试资源?
如何适应需求的不完善和变更?
如何快速获得产品的质量信息?
当你还在为这些测试设计问题而苦苦思索的时候,不妨看一看本书,它将为你提供一个测试设计的全新视角和思路。本书结合编者10年的软件测试实践经验,以解决软件测试设计面临的具体问题为目的,以现有的软件测试设计技术为基础,提出了问题驱动的软件测试设计方法。该方法不再将关注点集中在测试设计技术本身的描述,而是放在了不同的测试技术如何解决测试设计过程中面临的实际问题上。本书首先提出测试人员在测试设计过程中遇到的各种不同问题,然后应用不同的测试设计技术从不同的角度解决问题。
问题驱动的软件测试设计由4大类测试设计技术组成,即经典测试设计、基于质量特性的测试设计、基于风险的测试设计和基于经验的测试设计。该方法全面覆盖了现有的各种软件测试设计技术,不仅包括了等价类划分、边界值分析和决策表测试等经典测试技术,也包括了失效模式和影响分析FMEA以及探索性测试等测试技术。问题驱动的软件测试设计方法通过将测试人员面临的问题、测试技术和实践经验的紧密结合,为读者提供了全新的测试设计思想和理念,相信书中介绍的技术、方法和实践经验能够给读者带来对软件测试设计的全新认识。
软件测试设计的误区及本书的解决方法
软件测试设计是整个软件测试过程中的一个重要活动,其输出质量(无论是文档化的工作产品,还是存在于测试人员头脑中的想法)将会直接影响后续测试活动的效率和有效性,进而影响软件产品的最终质量。测试人员在测试设计过程中的如下误区常常会影响测试活动的有效开展。
(1)测试对象的需求规格说明是测试设计和执行的唯一输入,即测试人员的测试活动都以该说明作为判断依据。需求规格说明作为测试的输入,这观点本身没有错,但它不是唯一的。在测试过程中测试人员面对的需求常常是不全且模糊,甚至没有任何需求文档;另外,测试对象除了需求规格说明中包括的显现需求之外,测试人员还需要考虑一些隐现的需求。例如,竞争对手的产品特点和以前版本发现的缺陷等。
(2)假如测试对象满足了需求规格说明的要求,那么它就满足了产品的质量要求,这个误区实际上是上面的误区导致的。我们需要强调的是软件测试不仅仅是验证的目的(即Verification,正确地构建产品),而且需要达到确认的目的(即Validation,构建正确的产品)。因此在测试过程中还需要进行确认测试,即从用户的角度检查软件产品是否确实是用户需要的,是否实际满足了用户的真实需求和要求。在测试过程中,测试人员除了要考虑功能测试之外,还需要针对不同的质量特性进行非功能测试。
(3)测试对象的每个功能对于测试设计而言是同样重要。在实际测试设计过程中经常无意识地按照这个观点开展测试活动。例如,无论什么功能,忽略其重要程度和优先级,测试人员都会基于需求进行测试设计,同等对待每个功能的测试用例和规格说明等文档。
我们认为,前面的这些误区是由于片面地理解了一些测试思想和理念造成的,它们会直接影响测试人员测试设计活动的效率和有效性。为了更好地建立测试人员的测试思想和理念,从而更好地进行软件测试设计,本书提出了问题驱动的软件测试设计方法。这种方法将从需求、质量特性、风险和测试经验等方面入手,针对测试设计过程中面临的各种问题提供系统化的测试设计解决方案。
本书的创作过程及其主要内容
两年前就想写一本关于软件测试设计方面的书,机缘巧合,郑文强与笔者先写了一本《软件测试管理》(电子工业出版社,2010年7月)。正是该书的出版,为本书的写作奠定了坚实的理论和实践基础,使得该书在不到半年的时间内就完成了撰写和评审的所有工作。实际上我们在2009年末就完成了本书经典测试设计部分的内容,后来由于忙于《软件测试管理》的出版工作,所以中止了本书的写作。2010年5月完成《软件测试管理》出版之前的所有工作后,我们才又开始继续编写本书。本书的创作思路经历了如下两个不同的阶段。
(1)我们计划覆盖所有软件测试技术人员需要掌握的知识点。《软件测试管理》覆盖测试管理的内容,而本书将重点关注高级软件测试分析和技术。但是软件测试技术的内容很宽泛,而且软件测试技术人员需要掌握的知识点和软件测试管理人员有很多是重复的。如果按照原计划,本书差不多有一半的内容与《软件测试管理》类似。考虑再三,我们认为这样的一本书,对我们本身测试知识水平的提高不大,对读者而言也是不公平的,所以最后我们完全放弃了原来确定的写作架构和内容。
(2)尽管重新建立本书的框架和思路花费了很多精力,但是却更好地开拓了我们的视野,并且可以更加贴近测试人员的实际测试工作。此时我们将本书定位为软件测试设计领域的专著,而尽量不涉及软件测试其他方面的内容(当然完全不涉及其他内容是不可能的,因为软件测试设计不可能独立于其他测试活动而单独存在)。
确定本书的定位之后,接下来需要完善整体写作思路和目录结构。尽管软件测试设计技术在很多相关书籍中都会有所涉及,但是专门论述这些技术的书籍确实还不多。
首先我们根据自己多年的软件测试经验,罗列了测试人员在测试设计过程中经常面临的各种问题和挑战;







点击看大图





加载中...

