软件测试

当前位置:首页 > 计算机网络 > 软件工程/开发项目管理 > 软件测试

出版社:人民邮电出版社
出版日期:2011-3
ISBN:9787115238078
页数:318页

章节摘录

版权页:插图:7.1.1 测试需求分析和计划1.什么是测试需求软件测试需求是根据程序文件和质量目标对软件测试活动所提的要求,也就是在项目中要测试哪些内容和测试到什么程度。在测试活动中,首先需要明确测试需求,才能决定需要多少人、怎么测、测试多长时间、测试的环境、需要的技能、工具、相应的背景知识以及可能遇到的风险等,以上所有的内容结合起来就构成了测试计划的基本要素。测试需求是测试计划的基础与重点。像软件的需求一样,根据不同的公司环境、不同的专业水平、不同的要求和详细程度,测试需求也是不同的。但是,对于一个全新的项目或产品,测试需求力求详细明确,以避免测试遗漏与误解。测试需求是测试人员根据用户需求说明书和开发设计说明书编写的,测试需求分析要检查用户需求的正确性,保证需求的描述能够得出一个实际结果;还要根据用户需求和设计需求分析软件各个模块所要实现的功能点、潜在的业务约束以及一些常识性的软件设计规格。测试需求可从系统的需求报告或软件规格说明书中获得,针对测试过程而言,可以理解为测试目标。测试需求越详细,功能点就越清晰,这样就可以更好地编写测试计划和用例。因为在测试过程中要验证是否实现需求提出的功能,测试需求与测试用例具有对应关系,例如一个管理系统,其中有一个测试需求是用户正常登录,对应设计的测试用例就应根据此需求进行设计。2.为什么要做测试需求分析要成功地完成一个测试项目,必须了解测试的规模、复杂程度以及可能存在的风险,这些都需要通过详细的测试需求来了解。测试需求详细、精准,表明对所测软件了解得深入,对所要进行的任务内容有清晰的认识,因而保证测试的质量与进度就更有把握。如果把测试活动类比于整个软件生命周期,我们把“软件”两个字全部替换成“测试”,则测试需求就相当于软件的需求规格,测试策略相当于软件的设计架构,测试用例相当于软件的详细设计,测试执行相当于软件的编码过程。这样,我们就可以明白整个测试活动的依据来源于测试需求。

内容概要

郑人杰,清华大学教授。清华大学毕业后留校任计算数学专业、软件专业教师及清华大学软件中心副主任、清华同方公司副总工程师及顾问:现任中国软件行业协会理事、软件过程改进分会常务副会长。2009年“推动中国软件产业发展杰出人物”奖。多年来在软件工程、软件质量及测试、软件过程改进方面从事教学、研究和开发工作,编写《实用软件工程》、《计算机软件测试技术》、《基于软件能力成熟度模型的软件过程改进》等书。许静,南开大学信息技术科学学院计算机与信息安全系教授、博士生导师,中国计算机学会软件工程专委会委员,天津市软件评测中心兼职副主任。曾从事军工软件的开发与测试多年。目前从事软件工程、软件测试的教学和科研工作。主讲本科生“软件工程”、硕士生“软件测试”课程。参与和主持国家级、省部级科研项目多项,发表学术论文40余篇。

书籍目录

第1章 绪论 
 1.1 软件危机和软件生存期 
 1.2 软件测试的意义 
 1.3 什么是软件测试 
 1.4 应该怎样认识软件测试 
 1.5 软件测试发展的历史回顾 
  1.5.1 历史回顾 
  1.5.2 与软件测试相关课题的发展 
 习题 
第2章 软件测试策略 
 2.1 测试的生命周期 
 2.2 测试步骤 
  2.2.1 单元测试 
  2.2.2 集成测试 
  2.2.3 确认测试 
  2.2.4 系统测试?
 2.3 静态方法与动态方法 
 2.4 黑盒测试与白盒测试 
  2.4.1 黑盒测试 
  2.4.2 白盒测试 
  2.4.3 黑盒测试与白盒测试的比较 
 2.5 回归测试方法 
 2.6 人工测试与自动测试 
  2.6.1 人工测试技术概述 
  2.6.2 软件审查 
  2.6.3 软件审查的作用 
  2.6.4 自动测试 
 习题 
第3章 黑盒测试 
 3.1 等价类划分 
  3.1.1 方法简介 
  3.1.2 应用等价类划分方法进行测试用例设计的实例 
 3.2 因果图 
 3.3 正交实验设计法 
  3.3.1 提取功能说明,构造因子——状态表 
  3.3.2 加权筛选,生成因素分析表 
  3.3.3 利用正交表构造测试数据集 
  3.3.4 方法评价 
 3.4 边值分析 
  3.4.1 单变量边界值的选取 
  3.4.2 多个变量组合情况下边界值的选取 
 3.5 判定表驱动测试 
  3.5.1 什么是判定表 
  3.5.2 判定表在功能测试中的应用 
 3.6 功能测试 
  3.6.1 功能测试的系统化 
  3.6.2 模块功能的分解测试 
 习题 
第4章 白盒测试 
 4.1 程序结构分析 
  4.1.1 控制流分析 
  4.1.2 数据流分析 
  4.1.3 信息流分析 
 4.2 逻辑覆盖 
  4.2.1 几种常用的逻辑覆盖测试方法 
  4.2.2 最少测试用例数计算 
  4.2.3 测试覆盖准则 
 4.3 域测试 
 4.4 符号测试 
 4.5 路径分析 
  4.5.1 程序路径表达式 
  4.5.2 程序中路径数的计算 
  4.5.3 程序路径?树表示及路径编码 
  4.5.4 测试路径枚举 
  4.5.5 路径测试系统 
 4.6 程序插装 
  4.6.1 方法简介 
  4.6.2 断言语句 
 4.7 程序变异 
  4.7.1 程序强变异 
  4.7.2 程序弱变异 
 习题 
第5章 集成测试 
第6章 系统测试 
第7章 测试组织和管理 
第8章 测试工具 
第9章 软件评审 
第10章 软件质量与软件质量管理 
第11章 测试可靠性与软件可靠性 
第12章 程序正确性证明 
参考文献 

编辑推荐

《软件测试》从测试技术:测试管理、测试工具3个方面总结已有的成果,力求全面、系统地介绍软件测试方面的内容。《软件测试》特点:·系统性:结合软件工程的方法,以软件开发的过程为基础,系统介绍每一阶段的测试方法,并插入实例具体分析。·实用性:注重理论与实践的结合,通过提供的测试案例和测试工具介绍,使学生了解工程化的测试过程,并学会测试文档的编写和测试工具的使用。·先进性:全面介绍本学科的发展,系统总结理论方法,完整讲解软件测试与软件开发的依托发展关系,特别融入各个专项测试技术,全面介绍测试工具的使用,使《软件测试》具有先进性。系统讲解理论方法,突出实践练习分析,专项技术先进实用。

作者简介

《软件测试》作者由清华大学、南开大学计算机系、清华同方公司软件研究院的人员组成。作者总结了多年在软件工程、软件测试教学经验的基础上,系统回顾了测试发展与概念的定义,深入讲解了测试方法与测试过程,全面介绍了测试管理与主流测试工具。
《软件测试》可以作为计算机、软件工程、软件测试及相关专业的本科、硕士研究生教材,也可以作为测试工程师培训用书。
随着软件测试技术从简单的查错、排错,发展到贯穿软件开发的各个阶段,高级的测试方法和测试管理越来越重要,《软件测试》旨在全面系统地介绍软件测试技术。

图书封面


 软件测试下载 更多精彩书评



发布书评

 
 


精彩书评 (总计1条)

  •     第一章 绪论1.软件的生存期:计划、需求分析、设计、程序编写、测试、运行和维护2.软件测试的定义与目的:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。3.软件测试的六条基本原则:(1)穷尽测试是不可能的;(2)测试工作具有创造性,但很困难;(3)测试旨在防止错误的发生;(4)测试是有风险的;(5)测试需要有计划性;(6)测试需要有独立性4.软件测试的局限性:(1)输入/状态空间的无限性;(2)故障巧合性(3)系统缺陷的不确定性5软件测试分为模块测试、集成测试、确认测试和系统测试。模块测试检验每个模块是否能单独工作,从而发现模块的编码问题和算法问题;集成测试将多个模块连接起来以检验概要设计中对模块之间接口设计的问题;确认测试则应以需求规格说明书中的规定作为检验尺度,发现需求分析的问题;系统测试将开发的软硬件和其他因素综合起来进行全面的检验第二章 软件测试策略1.软件测试的生命周期,各阶段的任务:(1)计划阶段:安排进度、分配资源、人员及确认测试的起始点和结束点;(2)设计阶段:尽可能发现系统的Bug,评估系统的性能(3)开发阶段:准备测试脚本、测试数据自动生成、测试流程自动化(4)执行阶段:执行测试用例(5)评估阶段:对测试结果和预期输出进行比较,通过各种量化方法,对测试的有效性及结果的可信度提供量化的依据2.在软件测试中,我们将测试输入数据的定义和对预期测试结果的描述称为测试用例,测试用例分为:纯数据型测试用例、文件型测试用例、操作序列型测试用例、程序型测试用例3.黑盒测试:又称功能测试、数据驱动测试或基于规格说明的测试,被测程序被当作打不开的黑盒,无法了解其内部结构和内部特性,测试者只知道该程序输入和输出之间的关系,或是程序的功能,他必须依靠能够反应这一关系和程序功能的需求规格说明书考虑确定测试用例和推断测试结果的正确性。白盒测试:又称结构测试。逻辑驱动测试或基于程序的测试。测试者可以看到被测的源程序,他可利用分析程序的内部构造,并且依据其内部结构设计测试用例,此时测试者完全不顾程序的功能。在进行单元测试时大多采用白盒测试,在确认测试或系统测试时大多采用黑盒测试4.回归测试将已经测试过的测试用例拿来重新进行测试,以检查错误是否真的修改以及是否引入新的错误。分为改错性回归测试和增量性回归测试。回归测试在重用已有的测试用例时有两种方案:Retest-all Strategy和 Selective Retest Strategy5.软件审查的步骤:制定计划、预审、准备、审查会、审查返工和终审。6.自动测试就是通过计算机来进行测试,过程如下:(1)选择测试用例(2)准备测试数据+选择测试步骤,设计测试脚本(3)设置测试环境(4)重复执行测试用例(5)清除测试环境(6)总结测试结果第五章 集成测试1.在每个模块完成单元测试后,需要按照设计时做出的结构图把他们连接起来,进行集成测试以检验概要设计中对模块之间接口设计的问题。集成测试又称灰盒测试,集成测试两种常用的辅助模块是驱动模块和桩模块2.集成测试的十种方法:一次性测试、自顶向下测试、自底向上测试、协作测试、基干集成、层次集成、客户/服务器集成、分布服务集成、高频集成、基于调用图集成3.增式测试:自顶向下测试和自底向上测试第六章 系统测试1.系统测试:通过确认测试的软件作为整个基于计算机系统的一个元素,与计算机硬件。外设。某些支持软件、数据和人员等其他系统因素结合在一起,在实际运行环境下,对计算机系统进行一系列的集成测试和确认测试2.系统测试包括:功能测试、非功能测试(安装测试、兼容性测试、安全性测试。、恢复测试)、性能测试(负载测试、容量测试、压力测试)、其他测试(Alpha测试、Beta测试、文档测试、界面测试)3.安装测试是确保应用软件在正常情况和异常情况下都不丢失数据或者功能,具体工作可以包括首次安装、升级、卸载、完全安装和自定义安装等测试活动,测试对象包括了安装代码以及安装手册4.安装测试的目的:确保该软件在正常情况和异常情况下都能进行安装,核实软件在安装后可以立即正常运行5.兼容性测试是验证软件之间能否正确地交互和共享信息,从而确认软件的说明书对硬件环境的描述是否正确、合理6.安全性测试是指有关验证应用程序的安全等级和识别潜在安全性缺陷的过程。应用程序级安全测试的主要目的是查找软件自身程序设计中存在的安全隐患,并检查应用程序对非法侵入的防范能力,根据安全指标不同,测试策略也不同7.恢复测试是测试一个系统从灾难或出错中能否很好地恢复的过程,一般是通过人为的强制性手段让软件或硬件出现故障,然后检测系统能否正确地恢复8.负载测试是通过改变系统负载方式、增加负载等来发现系统中所存在的性能问题9.压力测试(强度测试)是对系统不断施加压力的测试,通过确定一个系统的瓶颈或者不能接收的性能点。可分为稳定性压力测试和破坏性压力测试容量测试是在使系统的全部资源达到满负载的情况下,测试系统的承受能力,其目的是检查被测试系统处理大数据的能力10.Alpha测试是指软件开发公司组织内部人员模拟各类用户对即将面市的软件产品进行测试,试图发现错误并修正;Beta测试是由软件的多个用户在实际使用环境下进行的测试,这些用户返回有关错误信息给开发者11.文档测试中需要测试的文档可分为三大类:用户文档、开发文档、管理文档12.界面测试有哪些方面:一致性测试、图形测试、文字测试、浏览器兼容测试、操作测试第七章 测试组织和管理1.测试组织和管理:测试准备(测试需求分析、测试计划、测试环境搭建、测试用例选取)、测试实施(测试用例的执行、测试数据记录、测试沟通、测试用例验证)、测试总结(测试数据整理、测试用例修订、用例库的维护、配置管理)、缺陷管理(缺陷描述、测试缺陷跟踪、缺陷统计分析、寻找薄弱环节)、测试度量2.软件测试需求是根据程序文件和质量目标对软件测试活动所提的要求,也就是在项目中要测试哪些内容和测试到什么程度3.为什么要做测试需求分析:要成功地完成一个测试项目,必须了解测试的规模、复杂程度以及可能存在的风险,这些都需要通过详细的测试需求来了解。测试需求详细、精确,表明对所测试软件了解得深入,对所要进行的任务内容有清晰的了解,因而保证测试的质量与进度就更有把握。4.测试需求收集的途径:与待测软件相关的各种文档资料、与客户或系统分析员的沟通、业务背景资料、正式或非正式的培训。5.测试计划的内容一般包含测试概要、测试目标、测试范围、测试策略、重点事项、测试配置、人员组织、沟通方法、测试进度、测试标准、发布/提交产物、风险分析等6.测试主环境的搭建可遵循的原则:尽可能地模拟真实环境、符合软件运行的最低要求,保证能支撑软件正常运行、选用比较普及的操作系统和软件平台、营造相对简单对立的测试环境、无毒的环境7.测试用例通常是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本•等,并形成文档。测试用例是为某个特殊目标而编制的一组测试输入、执行条件及预期结果,以便测试某个程序路径或核实是否满足某个特定需求8.测试实施前应确定需要进行那些测试内容、测试时间计划、测试的软硬件环境以及测试方法和测试工具9.软件缺陷跟踪管理的两个目标:确保每个被发现的缺陷都能呗解决,收集缺陷数据并根据缺陷趋势曲线识别和预防缺陷的频繁发生10.测试资产是被质量保证或测试团队开发的任何一种工作产品。配置管理和变更管理的任务就是管理谁变更了资产,以及何时变更了资产和为什么变更资产。此外,配置管理支持追踪工作产品的版本,创造和重新产生产品基线,并且支持并行的和多地域的开发11.软件测试能力成熟度模型TMM的分级:初始级、定义级、集成级、管理和度量级、优化级第八章 测试工具常用的测试工具:白盒测试工具JUnit、黑盒测试工具LoadRunner、测试管理工具TestDirector、Web应用负载测试工具WAST2.测试管理工具的作用:有效整合测试过程,便于管理第九章 软件评审软件评审:一种对软件元素所作的正式的、同行间的评审活动。目的:验证软件元素满足其规格说明,并能符合标准的要求。特点:目的在于发现隐藏的软件缺陷、参与评审的人员同行为主、被评审的对象是指软件开发中的各种技术产品(需求规格说明、用户手册、系统设计文档、源程序或测试计划)、评审有多种形式意义:及时排除软件开发过程中引入的缺陷、提高软件生产率、抵消清除缺陷的成本、为项目监控提高信息、找出测试无法发现的缺陷 第十章 软件质量和软件质量管理1.从软件错误的性质来给软件错误分类:软件需求错误、功能和性能错误、软件结构错误、数据错误、软件实现和编码错误、软件集成错误、软件系统结构错误、测试定义与测试执行错误2.软件质量分类:内部质量、外部质量、使用质量3.内部质量和外部质量的属性:功能性、可靠性、易用性、效率、维护性、可移植性4.使用质量的属性:有效性、生产性、安全性、满意度 第十一章 测试可靠性和软件可靠性1.一般来说,系统或产品可靠与否是指系统或产品在所规定的时间内处于使用状态时是否处于完满状态2.软件可靠性度量参数:故障率、维修率、平均失效间隔、平均维护时间、有效度、可靠性

精彩短评 (总计2条)

  •     不错,大家可以看看,可以
  •     大学教材,值得一读。内容参考了《软件测试的艺术》,内容更充实些。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024