新書推薦:
《
中国王朝内争实录:宠位厮杀
》
售價:HK$
61.6
《
凡事发生皆有利于我(这是一本读了之后会让人运气变好的书”治愈无数读者的心理自助经典)
》
售價:HK$
44.6
《
未来特工局
》
售價:HK$
55.8
《
高术莫用(十周年纪念版 逝去的武林续篇 薛颠传世之作 武学尊师李仲轩家世 凸显京津地区一支世家的百年沉浮)
》
售價:HK$
54.9
《
英国简史(刘金源教授作品)
》
售價:HK$
98.6
《
便宜货:廉价商品与美国消费社会的形成
》
售價:HK$
77.3
《
读书是一辈子的事(2024年新版)
》
售價:HK$
77.3
《
乐道文库·什么是秦汉史
》
售價:HK$
80.6
|
編輯推薦: |
在国家大力推进信息化与工业化融合之际,信息软件及工业软件的质量保证决定了两化融合的成败。软件质量保证的*重要手段之一就是软件测试。《软件测试技术与实践》作为航天中认推出支持两化软件测试的系列教材《软件测试技术与实践》、《信息软件系统测试与实践》及《嵌入式软件测试与实践》的基础,就显得非常重要。软件测试集技术、工程及实践于一身,如果没有好的技术基础和工程意识,眼高手低,那么在开展信息软件测试或工业软件测试时就会力不从心,多走弯路,无法把好质量关。蔡建平教授长年从事软件工程、软件测试以及软件质量保证的研究、实践和教学,并为编写此书做了较长时间的准备,也出版了多本这方面的教材。特别是《软件测试方法与技术》被评为全国工程硕士专业学位教育指导委员会推荐教材和软件工程专业核心课程系列教材。《软件测试技术与实践》是在《软件测试方法与技术》和《软件测试实践教程》基础上改编而成的,具有如下主要特点:1 该教材重要知识点的组织和讲述满足国内企业,特别是国内各种评测机构或组织对现代软件测试人才培养的要求;2 该教材在传统软件测试技术和方法的基础上,特别强调软件测试是质量把控的重要手段之一,必须要与软件质量度
|
內容簡介: |
《软件测试技术与实践》共分为软件测试基础、软件测试管理、软件测试方法与技术三部分,覆盖了软件测评的各个环节和知识点,内容包括软件及软件测试的基本概念、软件测试分类与分级、软件缺陷管理、软件全生命周期测试、软件测试及其过程管理、软件静态测试与动态测试,以及面向对象软件测试的方法等。对于其中的一些重要环节,设计了基于案例驱动,利用典型开源工具进行软件测试实践的教学内容,如缺陷管理、测试管理、静态测试、单元测试、集成测试、系统测试包括功能测试及性能测试等。 《软件测试技术与实践》可作为高等院校计算机相关专业的教材和参考书籍,还可作为软件测试应用型人才的培训教材,也可供软件测试、软件质量保证及软件开发和软件项目管理从业人员参考。
|
關於作者: |
蔡建平,在军队从事教学与全军军用共性软件、软件工程、软件质量保证等项目的论证及研究工作20多年,获军队科技进步一等奖一项、二等奖两项、三等奖两项,编著《Ada程序设计语言高级教程》,发表各类学术文章20多篇。在企业工作期间,主持开发了嵌入式软件工程和软件测试工具,这些工具已成功地用于航空、航天等国防项目的测试和软件工程化,极大地保证了这些项目的质量。在北京工业大学工作期间,在软件学院的学科、专业、实验室、211工程、教育部和北京市特色专业、科技创新平台以及学科交叉等建设方面做了大量的工作,取得了突出成果。获国家教育教学成果二等奖。软件测试及高级软件编程技术分别评为学校精品课程和研究生重点建设课程,《软件测试大学教程》、《软件测试实验指导教程》、《嵌入式软件测试实用技术》、《软件综合开发案例教程》4部教材和专著已在清华大学出版社出版发行。其中《软件测试大学教程》于2013年被评为全国工程硕士专业学位教育指导委员会推荐教材。 科研上,发表各类论文20多篇,申请专利、软著多项,指导的学生科技活动成果获第十二届挑战杯全国大学生课外学术科技作品竞赛三等奖,指导的两篇硕士论文被评为校优秀论文。作为惠普国际软件人才及产业基地的学术总监,负责全国各高校共建专业合作论证及顶层策划与设计,培养方案、课程体系、实训方案的设计与制定,与实训课程配套教材的研发组织及各门课程的研发组织,基地师资队伍及课程团队建设,以及1000多名学生实习实训的组织与实施。目前,在航天中认负责公司的咨询、研究及对内和对外的技术培训等业务,负责和参与了交通部、体育总局、中海油、大连理工大学、浪潮、长虹、美的、小天鹅、格力、轨道交通、国家电网、中国质量认证中心、汽车电子、医疗电子、家用电器等信息化建设项目及嵌入式系统项目的软件工程化、软件质量保证、软件测试以及配套实验室建设的咨询与培训。蔡建平教授还是国家科学技术奖励、国家专利奖励、山东省科学技术奖励、北京市科学技术奖励、海淀区科学技术奖励、北京市文化创意产业、海淀区文化创意产业等专家库成员。
|
目錄:
|
目 录
第Ⅰ部分 软件测试基础篇
第1章 软件与软件危机 2
1.1.1 软件特性 2
1.1.2 软件种类 4
1.2 软件危机 4
1.2.1 软件危机的分析 4
1.2.2 软件危机现象 7
1.2.3 避免软件危机的方法 8
1.3 软件工程 8
1.3.1 软件工程定义 8
1.3.2 软件生命周期 12
1.3.3 敏捷开发过程 18
习题和思考题 22
第2章 软件测试基础 23
2.1 软件测试基本概念 23
2.1.1 软件测试发展史 23
2.1.2 软件测试的定义 25
2.1.3 软件测试的目的 27
2.1.4 软件测试的原则 28
2.1.5 软件测试质量度量 32
2.1.6 软件测试与软件开发各
阶段的关系 33
2.2 软件测试工作 33
2.2.1 软件测试工作的流程 34
2.2.2 软件测试工具对测试
工作的支持 35
2.2.3 软件测试工作的几个
认识误区 36
2.3 软件测试职业 40
2.3.1 软件测试职业发展 40
2.3.2 软件测试人员应具备的
素质 44
2.3.3 软件测试的就业前景 47
习题和思考题 48
第3章 软件测试分类与分级 50
3.1 软件测试分类 50
3.1.1 计算机软件配置项 50
3.1.2 基于CSCI的软件
测试分类 51
3.2 软件测试分级 56
3.2.1 软件生命周期的测试
分级 56
3.2.2 软件测试中的错误分级及
其应用 59
习题和思考题 62
第Ⅱ部分 软件测试过程篇
第4章 软件缺陷管理 64
4.1 软件缺陷 64
4.1.1 软件缺陷的定义 64
4.1.2 软件缺陷描述 67
4.1.3 软件缺陷的分类 69
4.1.4 软件缺陷管理 75
4.2 软件缺陷度量、分析与
统计 77
4.2.1 软件缺陷度量 77
4.2.2 软件缺陷分析 81
4.2.3 软件缺陷统计 83
4.3 软件缺陷报告 87
4.3.1 缺陷报告的主要内容 87
4.3.2 缺陷报告撰写标准 89
4.4 缺陷管理工具 91
4.4.1 缺陷管理工具介绍 91
4.4.2 缺陷管理工具Mantis
及其应用 93
4.4.3 Mantis应用举例 115
习题和思考题 123
第5章 基于生命周期的软件
测试方法 124
5.1 生命周期测试概念 124
5.1.1 生命周期测试的
工作划分 124
5.1.2 生命周期测试的
主要任务 125
5.1.3 基于风险的软件
测试方法 130
5.2 生命周期各个阶段的
测试要求 133
5.2.1 需求阶段测试 133
5.2.2 设计阶段测试 134
5.2.3 编码阶段测试 135
5.2.4 测试阶段 135
5.2.5 安装阶段测试 136
5.2.6 验收阶段测试 137
5.2.7 维护阶段 138
5.3 生命周期软件测试
案例分析 138
5.3.1 被测样例系统需求说明 138
5.3.4 被测样例系统设计说明 140
习题和思考题 144
第6章 软件测试过程及测试
过程管理 145
6.1 软件测试过程 145
6.1.1 软件测试过程模型 146
6.1.2 软件测试过程中的
活动及内容 149
6.1.3 软件测试过程度量 151
6.1.4 软件测试过程成熟度 154
6.1.5 软件测试过程改进 157
6.2 软件测试过程管理 160
6.2.1 软件测试过程管理的
理念 162
6.2.2 软件测试计划与测试
需求 163
6.2.3 软件测试设计和开发 169
6.2.4 软件测试的执行 172
6.2.5 软件测试文档 174
6.2.6 软件测试用例、测试数据
与测试脚本 179
6.2.7 软件测试过程中的
配置管理 183
6.2.8 软件测试过程中的
组织管理 186
6.3 软件测试管理工具 191
6.3.1 软件测试管理工具应
具备的功能 192
6.3.2 软件测试管理工具的
选择 192
6.3.3 常用软件测试管理
工具介绍 193
6.3.4 应用软件测试管理工具
TestLink 195
6.3.5 TestLink应用举例 199
习题和思考题 219
第Ⅲ部分 软件测试方法与技术篇
第7章 软件静态测试 222
7.1 各阶段评审 222
7.1.1 同行评审 222
7.1.2 测试需求规格说明书 225
7.2 代码检查 226
7.2.1 代码检查方法 228
7.2.2 代码编程规范检查 231
7.2.3 代码的自动分析 235
7.2.4 代码结构分析 236
7.2.5 代码安全性检查 239
7.3 软件复杂性分析 241
7.3.1 软件复杂性度量与控制 241
7.3.2 软件复杂性度量元 245
7.3.3 面向对象的软件
复杂性度量 251
7.4 软件质量模型 254
7.4.1 软件质量的概念 255
7.4.2 软件质量分层模型 257
7.4.3 软件质量度量与评价 263
7.5 代码静态分析工具 269
7.5.1 编程规则检查工具
CheckStyle 269
7.5.2 代码缺陷分析工具PMD 274
7.5.3 代码质量分析工具
SourceMonitor 284
习题和思考题 290
第8章 软件动态测试 292
8.1 白盒测试 292
8.1.1 逻辑覆盖 293
8.1.2 路径测试 296
8.1.3 数据流测试 300
8.1.4 信息流分析 304
8.1.5 覆盖率分析及测试
覆盖准则 304
8.2 黑盒测试 308
8.2.1 等价类划分 309
8.2.2 边界值分析 312
8.2.3 因果图 313
8.2.4 随机测试 316
8.2.5 猜错法 316
8.3 测试用例设计 317
8.3.1 测试用例设计概念 317
8.4.2 测试用例编写要素与
模板 320
8.4.3 测试用例的设计步骤 325
8.4.4 测试用例分级 326
8.4.5 软件测试用例设计的
误区 328
8.4.6 软件测试用例设计举例 330
习题和思考题 332
第9章 软件单元测试 333
9.1 单元测试概述 334
9.1.1 单元测试的意义 334
9.1.2 单元测试的内容 336
9.2 单元测试方法和步骤 340
9.2.1 单元测试方法 340
9.2.2 单元测试步骤 341
9.3 单元测试工具与实践 342
9.3.1 单元测试工具JUnit 342
9.3.2 JUnit下的覆盖测试工具
EclEmma 355
习题和思考题 367
第10章 软件集成测试和确认测试 368
10.1 集成测试 368
10.1.1 集成测试的概念 368
10.1.2 传统的集成测试方法 372
10.1.3 基于McCabe的设计
复杂性与集成复杂性
的集成测试方法 377
10.1.4 集成测试过程 380
10.2 确认测试 382
10.2.1 确认测试的基本概念 382
10.2.2 确认测试的过程 383
10.3 集成测试应用举例 385
习题和思考题 388
第11章 软件系统测试 389
11.1 系统测试 389
11.1.1 系统测试的概念 389
11.1.2 系统测试中关注的
重要问题 390
11.1.3 系统测试的要求和
主要内容 394
11.1.4 系统测试设计 398
11.1.5 系统测试手段 400
11.2 系统测试工具 407
11.2.1 功能自动化测试工具
Selenium及其应用 407
11.2.2 性能自动化测试工具
JMeter及其应用 416
习题和思考题 432
第12章 面向对象软件测试 433
12.1 面向对象程序设计语言对
软件测试的影响 434
12.1.1 信息隐蔽对测试的
影响 434
12.1.2 封装和继承对测试的
影响 434
12.1.3 集成测试 434
12.1.4 多态性和动态绑定对
测试的影响 435
12.2 面向对象测试模型 436
12.2.1 面向对象分析的测试
OOA Test 437
12.2.2 面向对象设计的测试
OOD Test 439
12.2.3 面向对象编程的测试
OOP Test 440
12.2.4 面向对象的单元测试
OO Unit Test 441
12.2.5 面向对象的集成测试
OO Integrate Test 443
12.2.6 面向对象的系统测试
OO System Test 444
12.2.7 面向对象软件的回归
测试 445
12.2.8 基于UML的面向对象
软件测试 445
12.3 面向对象软件测试用例的
设计 447
12.3.1 基于故障的测试 447
12.3.2 基于脚本的测试 447
12.3.3 面向对象类的随机
测试 447
习题和思考题 448
参考文献 449
|
內容試閱:
|
前 言
当前,软件测试已从传统的软件工程瀑布模型中测试阶段的软件测试变化为覆盖包括需求分析、系统设计、详细设计、程序编码、内部测试、系统测试、系统安装、确认验收以及系统维护整个软件工程生命周期的软件测试;从过去单纯的测试概念发展到包括静态分析、质量度量与评价在内的评测结合的软件评测思想;从传统的测试内容分类到基于质量特性、子特性的测试内容分类;从传统的结构化程序测试方法到面向对象的软件测试方法;从早期的单机或桌面测试到网络应用测试及嵌入式应用测试;从以手工测试为主发展到离不开测试工具支持的测试及管理。事实上,软件测试也成为耗费人力、财力和时间的一项复杂的工作,对测试人员提出了高素质、专业化的要求。对软件测试人员不但要求精通各种软件测试技术和方法,有一定的软件测试工程实践经验;还要求他们熟悉软件开发技术和软件开发流程,具有快速学习专业知识或领域知识、掌握新技术和应用新工具的能力;另外,软件测试人员要有团队合作意识,善于和人沟通与交流,并能承受被人误解和指责的心理素质。
随着计算机技术的快速发展,软件越来越普遍地应用到各个领域和各个方面,且应用规模越来越大,应用形式越来越复杂,软件质量要求越来越高,软件测试越来越重要。对于高等院校而言,人才的培养是其核心的工作,鉴于高素质的软件测试专业人才越来越奇缺,航天中认积极开展校企合作,与大连理工大学软件学院共建软件测试课程和实验室,大力开展教学实践、教学改革的探索和实践,编写专业教材,凝练软件测试人才培养的成果。
《软件测试技术与实践》是在《软件测试方法与技术》和《软件测试实践教程》基础上改编而成,将两《软件测试技术与实践》的内容压缩、整合和完善,并试图将《软件测试技术与实践》重点突出在两方面:软件测试技术与软件测试实践。本教材既包括成熟的理论基础,也包括软件测试工具的使用,同时还可以通过书中案例实践的学习巩固学习成果。《软件测试技术与实践》是作者多年从事软件测试技术研究、软件测试课程教学及软件项目测试成果和经验的总结。全书共分12章,分为3部分:第Ⅰ部分第1至第3章是软件测试基础,涉及软件测试的一些基本概念和基础知识,如软件与软件危机、软件测试基本概念、软件测试分类与分级;第Ⅱ部分第4至第6章是《软件测试技术与实践》的重点内容之一,详细讲述生命周期的软件测试方法与技术,包括软件缺陷与缺陷管理、软件测试及其过程管理、软件测试管理工具的使用及案例实践;第Ⅲ部分第7至第12章也是《软件测试技术与实践》的重点内容之一,详细讲述软件测试的方法与技术,包括软件静态测试及软件动态测试。其中,基于McCabe设计与集成复杂性的集成测试方法解决了集成覆盖测试的理论问题。
《软件测试技术与实践》系统全面地从软件测试基础理论到软件测试全生命周期实践角度,系统地为读者解决从事软件测试工作的问题。另外,《软件测试技术与实践》几乎在各章对支撑该章软件测试方法和技术应用的开源软件测试工具详细地进行了应用介绍,并配有具体测试案例。这些工具及案例的应用对于支持高校软件测试课程实践是有意义的。最后,《软件测试技术与实践》取材新颖、内容翔实、通俗易懂、技术实用、覆盖面广、指导性强,既可作为软件测试相关课程的研究生特别是工程硕士专业学位研究生与本科生的教材,同时还可供软件测试培训和软件测试人员自学的书籍。
致谢,再一次感谢《软件测试方法与技术》和《软件测试实践教程》中提到的人员,感谢取材互联网上的有关原创作者,感谢清华大学出版社的大力支持和帮助。
2017年8月28日于北京
|
|