软件测试实用教程

软件测试实用教程"

作者:吕云翔、杨颖、朱涛、张禄
ISBN:9787302360469
定价:¥49.50
字数:千字
页数:
出版时间:2014.06.01
开本:
版次:1-7
装帧:
出版社:清华大学出版社
简介

软件测试是一种在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。本书针对高校计算机相关专业软件测试课程的需要而编写,结合实际案例介绍了软件测试的基础知识和实用技术。

本书在内容上较为全面、系统地涵盖了当前软件测试领域的理论和实践知识,反映了当前最新的软件测试理论、标准、技术和工具。全书共17章,包括软件测试概述、软件测试生命周期、测试过程相关模型、静态测试与动态测试、白盒测试、黑盒测试、单元测试、集成测试、系统测试、验收测试、面向对象的软件测试、软件测试自动化、单元测试工具JUnit、负载测试工具LoadRunner、聚合文件管理工具测试、网上书店系统测试和手机视频播放软件测试。每章内容均有实际案例做补充,以加深读者对软件测试技术和过程的理解,做到理论与实践相结合。

本书可作为高等院校相关专业软件测试的教材或教学参考书,也可供从事计算机应用开发的各类技术人员参考,或用做全国计算机软件测评师考试、全国计算机技术与软件专业技术资格(水平)考试的培训资料。

前言

近年来,国家对软件行业给予了很多鼓励政策,软件及相关行业在中国得到较大的发展,一大批软件企业在世界上占据了一定的地位。但是,我们也发现很多软件公司在重视代码开发的同时,却没有注重代码的质量,忽略了测试在整个软件项目工程中的重要意义。

软件中的错误是不可避免的,人们只能根据需要尽可能地减少软件中的错误。软件测试是发现软件缺陷,提高软件可信度的重要手段。目前,软件测试已受到许多软件开发公司的重视,越来越多的软件开发人员投入到软件测试的行业中。如何保证软件测试的质量,如何适应软件测试行业的技术需求,软件开发人员如何快速加入到软件测试行业,这些都是我们关心的问题。

本书结合实际案例,讲述了软件测试的相关概念、方法和技能。全书分为5个部分: 基础篇、方法篇、过程篇、工具篇和实战篇。基础篇介绍了软件测试的基础知识内容,为后面的学习奠定理论基础; 方法篇结合实例对软件测试中所涉及的静态测试与动态测试、黑盒测试与白盒测试等方法进行介绍; 过程篇对软件测试过程中的主要测试阶段进行介绍,包括单元测试、集成测试、系统测试和验收测试的方法与实施,以及面向对象的软件测试过程; 工具篇讲述了自动化测试的概念、方法以及常用的自动化测试工具,并选取其中两款软件测试工具详述了它们的使用方法; 实战篇详细介绍了3个实际案例的测试过程,记录了测试结果,有助于读者结合实际项目掌握软件测试技能。每章的开始部分有本章要点,列出了该章节中的主要内容,方便读者自学和教学选择; 每章的结尾部分附有习题,供读者检验学习成果。

本书重视实践能力和操作能力的培养,在基础方法的介绍中结合具体实例进行,在实战篇的案例讲述过程中穿插相关的基础知识和基本理论介绍,做到理论与实践相结合,方法与应用相结合。

与软件测试的同类教材相比,本书具有以下特点: 

(1) 循序渐进。本书将内容分为基础篇、方法篇、过程篇、工具篇和实战篇5个部分,层次分明,通过循序渐进地讲述知识,便于读者学习与理解。

(2) 实用性强。本书介绍理论的时候均结合相关案例进行讲解,对不同的测试方法和技术选用不同的案例,做到有所针对,这也使得基础知识更加具体形象,同时也更容易被理解和应用。

(3) 实时性强。本书所选案例均是近年来的真实案例,可以代表当代技术特征和需求环境,尤其是在移动互联网浪潮下重点介绍了“手机视频播放软件测试”。本书介绍的工具均是当前常见的软件测试工具; 测试方法也是时下流行的测试方法,其中,面向对象测试的内容更是符合软件测试技术的发展方向。

本书作者一直在北京航空航天大学软件学院担任教学工作,进行了大量教学探索和研究,在此感谢北航软件学院在成书过程中提供的各种宝贵资料和建议。

由于能力和水平有限,书中难免存在疏漏和错误之处,恳请各位同仁和广大读者朋友给予批评指正,也希望各位能将教学和学习过程中的经验和心得与我们交流分享。

编者

2014年2月

目录

理论部分

教学内容学习要点及教学要求课时安排

第1章

软件测试概述  软件定义和软件的分类

 软件质量要素内容

 软件缺陷的概念及出现原因

 软件测试的定义和目的

 软件测试原则

 软件测试分类2

第2章

软件测试生命周期 软件开发的基本过程及其内容

 软件开发常用的过程模型

 软件测试基本流程

 软件测试与软件开发的关系2

第3章 

测试过程相关模型 软件测试过程模型的概念

 常用的软件测试过程模型

 软件测试过程改进的模型种类2

第4章 

静态测试与动态测试 静态测试的定义与内容

 静态测试的分类及方法

 代码检查方法及应用

 静态结构分析方法及应用

 动态测试的定义与内容

 动态测试的分类及方法

 主动测试与被动测试4

第5章 

白盒测试 白盒测试的概念

 白盒测试的方法

 程序插桩技术

 逻辑覆盖法

 基本路径法4

第6章 

黑盒测试 黑盒测试的基本概念

 等价类划分法及其应用

 边界值分析法及其应用

 因果图法及其应用

 决策表法及其应用

 正式试验法及其应用

 场景法及其应用

 不同黑盒测试方法优、缺点和应用场合

 白盒测试和黑盒测试的对比4

续表

教学内容学习要点及教学要求课时安排

第7章 

单元测试 单元测试的概念和原则

 单元测试关注的几个方面的内容

 单元测试环境建立和使用的主要方法

 单元测试的过程

 单元测试的实施4

第8章 

集成测试 集成测试的概念和原则

 集成测试的内容和过程

 集成测试的策略和方法

 基于功能分解的集成测试

 基于调用图的功能测试

 基于路径的集成测试

 集成测试计划的制定4

第9章 

系统测试 系统测试前的准备

 功能测试用例的设计方法

 安装测试的检测项

 性能测试、压力测试和容量测试之间的联系和区别

 安全性测试中需要考虑的问题

 健壮性测试、容错性测试、恢复测试之间的关系

 可用性测试过程

 图形用户界面测试用例设计方法

 文档测试的检测项4

第10章 

验收测试 验收测试的概念和目的

 验收测试的内容

 进行验收测试的过程

 测试深度与广度的关系

 验收测试中的阶段2

第11章 

面向对象的软件测试 面向对象的基本概念

 面向对象的测试模型

 面向对象的单元测试

 面向对象的集成和系统测试4

教学总学时建议36

实践部分

教学内容学习要点及教学要求课时安排

第12章 

软件测试自动化 自动测试的概念

 自动测试与手动测试的比较

 自动测试的生命周期

 如何开展自动测试

 自动测试工具的分类

 自动测试方案的选择2

续表

教学内容学习要点及教学要求课时安排

第13章 

单元测试工具JUnit JUnit的组成

 JUnit的基本功能

 JUnit的应用2

第14章 

负载测试工具LoadRunner LoadRunner的基本功能

 LoadRunner的主要特性、组件和相关术语

 能够利用LoadRunner进行负载测试2

第15章 

聚合文件管理工具测试 通过案例熟悉软件测试计划

 通过案例熟悉传统软件测试策略和阶段

 通过案例熟悉测试用例编写

 通过案例熟悉测试总结分析报告编写2

第16章 

网上书店系统测试 网站测试的内容

 网站测试的过程

 网站测试计划的安排

 网站测试用例的设计

 网站测试结果的记录2

第17章 

手机视频播放软件测试 手机软件测试与PC软件测试的异同

 手机软件测试的基本过程

 现行的几大手机平台及其特点

 手机软件测试如何执行2

教学总学时建议12

说明: 

(1) 本课程建议主要针对计算机类本科生教学,累计为48学时,其中36个理论学时,12个实践学时。不同专业根据不同的教学要求和计划教学时数可酌情对教材内容进行适当取舍。

(2) 非计算机类本科专业使用本教材可适当降低教学要求。

(3) 本教材理论授课学时数36学时,包含课堂讨论、案例讲授、练习等必要的教学环节。

(4) 本教材实践授课学时数12学时,包含上机讲解、练习等必要的教学环节。

第一部分基础篇

第1章软件测试概述

1.1软件测试背景

1.1.1著名软件错误案例

1.1.2软件的定义及分类方法

1.1.3软件工程

1.1.4软件质量

1.2软件测试基本概念

1.2.1软件缺陷的定义

1.2.2软件缺陷出现的原因

1.2.3软件测试的定义

1.3软件测试的目的和原则

1.3.1软件测试的目的

1.3.2软件测试的原则

1.4软件测试的分类

1.4.1按测试阶段划分

1.4.2按是否需要执行被测试软件划分

1.4.3按是否需要查看代码划分

1.4.4按测试执行时是否需要人工干预划分

1.4.5按测试实施组织划分

1.4.6其他测试类型

1.5测试用例

1.5.1测试用例编写

1.5.2测试用例设计

1.6软件测试行业的历史、现状和前景

1.6.1软件测试的历史回顾

1.6.2软件测试的现状

1.6.3软件测试的前景

1.7小结

本章习题

第2章软件测试生命周期

2.1软件开发的基本过程

2.1.1需求分析

2.1.2设计

2.1.3编码

2.1.4测试

2.1.5项目管理

2.2软件开发过程模型

2.2.1编码修正模型

2.2.2瀑布模型

2.2.3增量模型

2.2.4演化模型

2.2.5螺旋模型

2.2.6RUP模型

2.2.7MSF过程模型

2.2.8敏捷开发过程模型

2.3软件项目中的测试流程

2.3.1软件生命周期中的测试

2.3.2测试的基本流程

2.3.3软件测试的组织

2.4小结

本章习题

第3章测试过程相关模型

3.1测试过程模型

3.1.1V模型

3.1.2W模型

3.1.3H模型

3.1.4X模型

3.1.5前置测试模型

3.2测试过程改进模型

3.2.1TMM

3.2.2TPI

3.2.3其他模型

3.3小结

本章习题

第二部分方法篇

第4章静态测试与动态测试

4.1静态测试技术

4.1.1概述

4.1.2代码检查

4.1.3静态结构分析

4.2动态测试技术

4.2.1概述

4.2.2主动测试与被动测试

4.3小结

本章习题

第5章白盒测试

5.1白盒测试概述

5.2程序插桩技术

5.3逻辑覆盖法

5.3.1语句覆盖

5.3.2判定覆盖

5.3.3条件覆盖

5.3.4条件判定覆盖

5.3.5条件组合覆盖

5.3.6路径覆盖

5.4基本路径法

5.5白盒测试方法选择

5.6小结

本章习题

第6章黑盒测试

6.1黑盒测试方法

6.1.1等价类划分法

6.1.2边界值分析法

6.1.3因果图法

6.1.4决策表法

6.1.5正交试验法

6.1.6场景法

6.2黑盒测试方法选择

6.3黑盒测试和白盒测试比较

6.4小结

本章习题

第三部分过程篇

第7章单元测试

7.1单元测试概述

7.1.1单元测试原则

7.1.2单元测试内容

7.1.3单元测试方法

7.2单元测试过程

7.2.1进入单元测试的条件

7.2.2测试策划

7.2.3测试设计

7.2.4测试执行

7.2.5测试总结

7.3单元测试中的覆盖率

7.3.1函数覆盖

7.3.2Z路径覆盖

7.3.3ESTCA覆盖

7.3.4LCSAJ覆盖

7.3.5MC/DC覆盖

7.4单元测试案例

7.4.1测试策划

7.4.2测试设计

7.4.3测试执行

7.4.4测试总结

7.5小结

本章习题

第8章集成测试

8.1集成测试概述

8.1.1集成测试原则

8.1.2集成测试分析

8.1.3集成测试内容

8.1.4集成测试过程

8.2集成测试策略

8.2.1非增量式集成测试

8.2.2增量式集成测试

8.3常用的集成测试方法

8.3.1基于功能分解的集成测试

8.3.2基于调用图的功能测试

8.3.3基于路径的集成测试

8.4集成测试案例

8.4.1测试前的准备

8.4.2测试策划

8.4.3测试设计与执行

8.4.4集成测试验收标准

8.4.5测试总结

8.5小结

本章习题

第9章系统测试

9.1系统测试概述

9.2系统测试类型

9.2.1功能测试

9.2.2性能测试

9.2.3安装测试

9.2.4可用性测试

9.2.5压力测试

9.2.6容量测试

9.2.7安全性测试

9.2.8健壮性测试

9.2.9图形用户界面测试

9.2.10文档测试

9.3系统测试案例

9.3.1测试准备

9.3.2测试概要

9.3.3测试环境

9.3.4测试结果

9.3.5测试结论

9.3.6分析与量度

9.4小结

本章习题

第10章验收测试

10.1验收测试概述

10.1.1验收测试的目的

10.1.2进入验收测试的条件

10.2验收测试的内容及过程

10.2.1验收测试的内容

10.2.2验收测试的过程

10.3测试的深度与广度

10.4验收测试阶段

10.4.1α测试阶段

10.4.2β测试阶段

10.4.3预最终测试阶段

10.4.4最终完整性测试阶段

10.5验收测试案例

10.5.1项目概述

10.5.2系统简介

10.5.3测试内容

10.5.4测试结论

10.6小结

本章习题

第11章面向对象的软件测试

11.1面向对象概述

11.1.1面向对象的基本概念

11.1.2面向对象的开发方法

11.1.3面向对象的分析与设计

11.1.4面向对象模型

11.2面向对象软件的测试策略

11.2.1面向对象的单元测试

11.2.2面向对象的集成测试

11.2.3面向对象的系统测试

11.2.4面向对象系统的回归测试

11.2.5面向对象测试的相关模型

11.3面向对象软件的测试用例设计

11.3.1面向对象测试用例设计的基本概念

11.3.2面向对象编程对测试的影响

11.3.3基于故障的测试

11.3.4基于场景的测试

11.3.5表层结构和深层结构的测试

11.4面向对象的软件测试案例

11.4.1HelloWorld类的测试

11.4.2Date.increment方法的测试

11.5小结

本章习题

第四部分工具篇

第12章软件测试自动化

12.1软件自动测试概述

12.2手工测试与自动测试

12.2.1自动测试与手工测试的比较

12.2.2自动测试的优、缺点

12.3自动测试的原理和方法

12.3.1代码分析

12.3.2捕获回放

12.3.3录制回放

12.3.4脚本技术

12.3.5自动化比较

12.4软件自动测试的开展

12.4.1软件自动测试的引入原则

12.4.2软件自动测试的生命周期

12.4.3软件自动测试的成本

12.4.4软件自动测试的导入时机

12.4.5软件自动测试的人员要求

12.4.6软件自动测试在实施中存在的问题

12.5软件自动测试的方案选择

12.5.1确定自动测试的对象和范围

12.5.2选择自动测试的方案和脚本编写方法

12.6软件自动测试的工具

12.6.1自动测试工具的特征

12.6.2自动测试工具的作用和优势

12.6.3自动测试工具的选择

12.6.4自动测试工具的分类

12.6.5自动测试工具的局限性

12.7小结

本章习题

第13章单元测试工具JUnit

13.1JUnit概述

13.1.1JUnit简介

13.1.2JUnit框架组成

13.2JUnit测试过程

13.3JUnit测试用例

13.4JUnit安装与集成

13.4.1JUnit简单安装

13.4.2JUnit与IDE集成安装

13.5从JUnit 3到JUnit 4

13.5.1代码构成

13.5.2运行原理

13.5.3打包测试

13.5.4多线程测试

13.6JUnit实例

13.6.1实例介绍

13.6.2常规测试

13.6.3使用JUnit测试

13.7小结

本章习题

第14章负载测试工具LoadRunner

14.1LoadRunner综述

14.1.1LoadRunner简介

14.1.2LoadRunner主要特性

14.1.3LoadRunner组件和术语

14.1.4LoadRunner工作流程

14.2制定负载测试计划

14.2.1分析应用程序

14.2.2计划怎样执行

14.3创建测试脚本

14.3.1创建空白脚本

14.3.2VuGen界面介绍

14.3.3录制脚本

14.4设计运行场景

14.4.1新建场景

14.4.2负载生成器管理

14.4.3虚拟用户管理

14.4.4运行设置

14.5运行测试场景

14.6监视场景

14.7结果分析

14.8LoadRunner综合应用

14.9小结

本章习题

第五部分实战篇

第15章聚合文件管理工具测试

15.1案例概述

15.2测试计划

15.3测试用例

15.3.1单元测试用例

15.3.2功能测试用例

15.4测试分析报告

15.5小结

本章习题

第16章网上书店系统测试

16.1网站测试概述

16.1.1网站测试概念

16.1.2网站测试过程

16.1.3数据库测试

16.1.4用户界面测试

16.1.5构件级测试

16.1.6配置测试

16.1.7安全性测试

16.1.8系统性能测试

16.2案例概述

16.2.1用户简介

16.2.2项目的目的与目标

16.2.3目标系统功能需求

16.2.4目标系统性能需求

16.2.5目标系统界面需求

16.2.6目标系统的其他需求

16.2.7目标系统的假设与约束条件

16.3项目测试计划

16.3.1测试项目

16.3.2测试方案

16.3.3测试资源

16.4测试用例设计

16.4.1单元测试用例

16.4.2功能测试用例

16.4.3性能测试用例

16.5测试进度

16.5.1单元测试

16.5.2集成测试

16.5.3系统测试

16.5.4验收测试

16.6评价

16.6.1范围

16.6.2数据整理

16.6.3量度

16.7测试分析报告

16.7.1引言

16.7.2测试计划实施

16.7.3评价

16.8小结

本章习题

第17章手机视频播放软件测试

17.1手机软件测试概述

17.1.1移动终端介绍

17.1.2手机软件测试用例设计

17.1.3手机软件测试基本流程

17.2手机软件测试技术

17.2.1手机智能终端平台简介

17.2.2测试环境搭建实例

17.2.3业务应用软件测试

17.3案例概述

17.3.1项目概述

17.3.2功能需求

17.3.3性能需求

17.4测试计划

17.4.1测试目标

17.4.2测试方案

17.4.3测试资源

17.5测试用例

17.5.1功能测试用例

17.5.2性能测试用例

17.6测试过程

17.6.1单元测试

17.6.2集成测试

17.6.3系统测试

17.6.4验收测试

17.7测试分析报告

17.7.1引言

17.7.2测试概要

17.7.3测试结果及发现

17.7.4分析摘要

17.7.5测试资源消耗

17.8小结

本章习题

部分习题参考答案

附录A测试文档模板

参考文献

作者简介

编辑推荐

作者寄语

加入时,请写明:“学校+姓名”,并写明“加入教师群”,只限教师。

电子资料

www.luweidong.cn

下一个