第1章 计算机系统构成及硬件基础知识 1
1.1 中央处理器 1
1.1.1 中央处理器简介 1
1.1.2 时序产生器和控制方式 3
1.2 输入/输出及其控制 4
1.2.1 输入/输出设备一览 4
1.2.2 输入/输出控制器 5
1.2.3 外设的识别 5
1.2.4 外设的访问 6
1.2.5 常见输入/输出接口 10
1.2.6 联机、脱机和假脱机 11
1.3 总线结构、指令流和数据流 12
1.3.1 三态门 12
1.3.2 总线 12
1.3.3 常见的个人计算机系统总线的比较 13
1.3.4 总线仲裁 14
1.3.5 指令流、数据流和计算机的分类 16
1.4 存储器系统 17
1.4.1 主存储器 18
1.4.2 辅助存储器 18
1.4.3 Cache存储器 21
1.5 例题分析 22
第2章 程序语言基础知识 31
2.1 汇编系统基本原理 31
2.1.1 汇编程序 32
2.1.2 装配程序 33
2.1.3 宏指令 34
2.2 编译系统基本原理 34
2.2.1 形式语言基本知识 35
2.2.2 词法分析 38
2.2.3 语法分析 41
2.2.4 语法制导翻译 46
2.2.5 代码生成 49
2.3 解释系统基本原理 51
2.4 程序语言的数据类型 53
2.4.1 基本数据类型 53
2.4.2 结构化数据类型 55
2.4.3 抽象的数据类型 57
2.4.4 类型和错误检查 58
2.5 程序语言的控制结构 59
2.5.1 表达式 59
2.5.2 语句间的顺序控制 61
2.5.3 过程控制 63
2.6 程序语言的种类、特点及适用范围 65
2.7 例题分析 68
第3章 操作系统基础知识 75
3.1 操作系统概述 75
3.1.1 操作系统的定义 75
3.1.2 操作系统分类和功能 76
3.1.3 操作系统的结构设计模式 76
3.2 处理机管理 76
3.2.1 进程的概念 76
3.2.2 进程的状态转换与控制 77
3.2.3 进程互斥与同步 78
3.2.4 进程通信与管程 79
3.2.5 进程调度与死锁 80
3.2.6 线程 80
3.3 存储管理 81
3.4 设备管理 83
3.4.1 设备管理的概念 83
3.4.2 数据传输控制方式 84
3.4.3 设备的分配 84
3.4 4 磁盘调度算法 84
3.4.5 虚拟设备与Spooling技术 84
3.5 文件管理 85
3.5.1 文件和文件系统的概念 85
3.5.2 文件的结构和存取方式 86
3.5.3 文件存储设备管理 86
3.5.4 文件控制块和文件目录 86
3.5.5 文件的操作与使用 86
3.6 作业管理 87
3.6.1 作业状态与作业管理 87
3.6.2 作业调度及其常用调度算法 88
3.6.3 用户接口 88
3.7 网络操作系统 89
3.7.1 UNIX系统 89
3.7.2 Windows NT系统 90
3.8 嵌入式操作系统 91
3.8.1 嵌入式操作系统概述 91
3.8.2 常用的嵌入式操作系统 92
3.9 例题分析 94
第4章 数据库系统 105
4.1 数据库管理系统的功能和特征 105
4.2 数据库模型 106
4.2.1 数据库系统的三级结构 106
4.2.2 数据库系统的三级模式 107
4.2.3 数据库系统两级独立性 108
4.3 数据模型 108
4.3.1 数据模型的分类 108
4.3.2 关系模型 109
4.3.3 关系规范化理论 110
4.4 数据操作 112
4.4.1 集合运算 112
4.4.2 关系运算 114
4.5 数据库语言 116
4.5.1 数据定义 116
4.5.2 数据查询 117
4.5.3 数据更新 121
4.5.4 视图 121
4.5.5 数据控制 123
4.6 例题分析 124
第5章 计算机网络基础知识 131
5.1 网络的功能、分类与组成 131
5.1.1 计算机网络的分类 131
5.1.2 按工作模式分类 133
5.1.3 计算机网络的组成 134
5.2 网络协议与标准 140
5.2.1 OSI网络层次模型 140
5.2.2 局域网协议 145
5.2.3 广域网协议 148
5.2.4 互联网协议 150
5.3 网络结构与通信 151
5.3.1 总线型拓扑结构 151
5.3.2 星型拓扑结构 151
5.3.3 环型拓扑结构 152
5.3.4 其他拓扑结构 153
5.3.5 拓扑结构的选择 153
5.4 三层结构 153
5.4.1 主机模式 153
5.4.2 客户端/服务器模式 154
5.4.3 三层结构与B/S模式 154
5.5 Internet和Intranet初步 156
5.5.1 Internet网络协议 156
5.5.2 Internet应用 160
5.5.3 Intranet初步 161
5.6 网络管理初步 162
5.6.1 网络管理标准 162
5.6.2 网络管理系统 163
5.7 例题分析 164
第6章 软件工程基础知识 171
6.1 软件工程与软件生存周期 171
6.1.1 软件工程概念 172
6.1.2 软件生存周期 173
6.2 软件开发方法及过程 176
6.2.1 结构化开发方法 176
6.2.2 面向对象的开发方法 183
6.2.3 软件开发模型 192
6.3 软件质量管理 194
6.3.1 软件质量 194
6.3.2 软件质量管理 195
6.3.3 软件质量管理体系 196
6.4 软件过程管理 197
6.4.1 软件能力成熟度模型 197
6.4.2 软件过程与软件能力成熟度评估 198
6.4.3 软件过程改进 199
6.4.4 能力成熟度模型集成 201
6.5 软件配置管理 202
6.5.1 软件配置的基本概念 202
6.5.2 软件配置管理过程 203
6.6 软件开发风险基础知识 204
6.7 例题分析 205
第7章 软件构件与中间件 215
7.1 构件模型及实现 215
7.2 构件获取 216
7.3 构件管理 217
7.3.1 构件描述 217
7.3.2 构件分类与组织 217
7.3.3 人员及权限管理 220
7.4 构件重用 220
7.4.1 检索与提取构件 221
7.4.2 理解与评价构件 222
7.4.3 修改构件 222
7.4.4 构件组装 222
7.5 常用构件标准 225
7.5.1 公共对象请求代理体系结构 225
7.5.2 EJB基础知识 227
7.5.3 DCOM基础知识 228
7.6 中间件技术 228
7.6.1 中间件的定义 229
7.6.2 中间件的功能 230
7.6.3 中间件的分类 231
7.6.4 中间件技术在集成中的应用 232
7.6.5 中间件的发展趋势 233
7.7 例题分析 233
第8章 信息安全知识 235
8.1 保密性和完整性 235
8.1.1 私钥和公钥加密标准 235
8.1.2 认证 237
8.1.3 完整性 239
8.1.4 访问控制 240
8.2 非法入侵和病毒的防护 242
8.2.1 防火墙 242
8.2.2 入侵检测 244
8.2.3 安全协议 245
8.2.4 硬件安全性 250
8.2.5 计算机病毒保护 251
8.3 安全保护 253
8.3.1 个人信息控制 253
8.3.2 匿名 254
8.3.3 不可跟踪性 254
8.4 例题分析 255
第9章 软件的知识产权保护 261
9.1 著作权法及实施条例 261
9.1.1 著作权法客体 261
9.1.2 著作权法主体 262
9.1.3 著作权 262
9.2 计算机软件保护条例 263
9.2.1 条例保护对象 264
9.2.2 著作权人确定 264
9.2.3 软件著作权 264
9.3 商标法及实施条例 266
9.3.1 注册商标 266
9.3.2 注册商标专用权保护 267
9.3.3 注册商标使用的管理 267
9.4 专利法及实施细则 267
9.4.1 专利法的保护对象 267
9.4.2 确定专利权人 268
9.4.3 专利权 268
9.5 反不正当竞争法 269
9.5.1 什么是不正当竞争 269
9.5.2 商业秘密 270
9.6 例题分析 271
第10章 标准化基础知识 273
10.1 标准化概述 273
10.1.1 标准化的基本概念 273
10.1.2 标准化的发展 275
10.1.3 标准化机构 277
10.1.4 标准的层次 280
10.1.5 标准的类别 282
10.1.6 标准的生命周期 283
10.2 软件评测标准 283
10.2.1 软件产品质量标准 283
10.2.2 软件产品评价标准 286
10.3 软件工程标准 287
10.3.1 软件工程标准综述 287
10.3.2 软件生存周期过程 289
10.3.3 计算机软件配置管理计划规范 290
10.3.4 计算机软件质量保证计划规范 293
10.3.5 计算机软件产品开发文件编制指南 296
10.3.6 计算机软件需求说明编制指南 298
10.3.7 计算机软件测试文件编制规范 300
10.3.8 软件工程的其他标准 304
10.4 例题分析 308
第11章 信息化基础知识 311
11.1 信息与信息化 311
11.1.1 信息的定义及其特性 311
11.1.2 信息化 312
11.2 政府信息化与电子政务 313
11.2.1 政府信息化的概念、作用及意义 313
11.2.2 我国政府信息化的历程和策略 314
11.2.3 电子政务的概念、内容和技术形式 317
11.2.4 电子政务的应用领域 320
11.2.5 电子政务建设的过程模式和技术模式 320
11.3 企业信息化与电子商务 323
11.3.1 企业信息化的概念、目的、规划、方法 323
11.3.2 企业资源规划的结构和功能 326
11.3.3 客户关系管理在企业的应用 328
11.3.4 企业门户 331
11.3.5 企业应用集成 333
11.3.6 供应链管理的思想 335
11.3.7 商业智能 337
11.3.8 电子商务的类型、标准 340
11.4 信息资源管理 342
11.5 信息化的有关政策、法规和标准 344
11.6 例题分析 345
第12章 专业英语 347
12.1 综述 347
12.2 试卷分析 348
12.3 例题详解 348
第13章 软件评测师职业素质要求 351
13.1 软件评测师的目标和任务 351
13.2 软件评测师的职业特点 352
13.3 软件评测师行为准则与职业道德要求 354
13.3.1 公共行为准则 354
13.3.2 职业行为准则 354
13.3.3 软件评测师的职业道德要求 354
13.4 软件评测师的能力要求 355
13.4.1 基本能力 355
13.4.2 沟通能力 356
13.4.3 技术能力 356
13.4.4 管理能力 357
13.4.5 文档能力 357
13.5 例题分析 358
第14章 软件评测基础知识 361
14.1 软件测试基本概念 361
14.1.1 软件测试与软件质量 362
14.1.2 软件测试的目的 363
14.1.3 软件测试的基本原则 363
14.1.4 软件测试的对象 364
14.1.5 软件测试的过程 365
14.2 软件测试过程模型 366
14.2.1 V模型 366
14.2.2 W模型 367
14.2.3 H模型 368
14.2.4 X模型 369
14.2.5 前置测试模型 370
14.2.6 测试模型的使用 372
14.3 软件测试类型 373
14.3.1 按阶段划分 373
14.3.2 按照测试实施组织划分 374
14.3.3 按照测试方式划分 374
14.3.4 按照测试技术划分 375
14.4 软件生命周期测试策略 375
14.4.1 软件测试策略概述 375
14.4.2 软件定义与设计阶段的评审 378
14.4.3 软件开发阶段的测试策略 382
14.5 软件问题的分类与管理 387
14.5.1 软件问题的概念与分类 387
14.5.2 软件缺陷与错误的分布 389
14.5.3 软件错误的跟踪管理 390
14.6 例题分析 393
第15章 软件评测现状与发展 401
15.1 国内外现状 401
15.1.1 国内软件评测逐步受到重视,国外基本形成市场 401
15.1.2 评测技术不断提高 403
15.1.3 第三方评测方兴未艾 404
15.2 软件评测发展趋势 405
15.2.1 测试与质量保证体系的融合 405
15.2.2 测试技术会细分 406
15.2.3 测试工具和测试自动化 407
15.2.4 测试将走向专业化道路 408
第16章 测试用例设计方法 409
16.1 白盒测试用例设计方法 409
16.1.1 白盒测试基本技术 409
16.1.2 白盒测试方法 423
16.2 黑盒测试用例设计方法 428
16.2.1 等价类划分法 428
16.2.2 边值分析法 430
16.2.3 错误猜测法 430
16.2.4 因果图法 431
16.2.5 判定表驱动法 434
16.2.6 正交试验法 435
16.2.7 功能图法 439
16.2.8 场景法 440
16.3 面向对象测试用例设计方法 441
16.3.1 基于故障的测试 442
16.3.2 基于场景的测试 443
16.3.3 OO类的随机测试 443
16.3.4 类层次的分割测试 444
16.3.5 由行为模型导出的测试 444
16.4 测试用例设计方法的选择策略 445
16.4.1 白盒测试方法选择策略 445
16.4.2 黑盒测试方法选择策略 447
16.4.3 面向对象软件的测试策略 448
16.5 测试用例的编写 448
16.5.1 测试用例的计划 448
16.5.2 测试设计的说明 449
16.5.3 测试用例的格式 449
16.5.4 测试程序的说明 451
16.5.5 测试用例的产生方法 452
16.5.6 测试用例编写时的注意事项 452
16.6 例题分析 453
第17章 软件自动化测试 465
17.1 软件自动化测试基本概念 465
17.2 选择自动化测试工具 466
17.3 分析自动化 467
17.4 功能自动化测试 468
17.4.1 模拟工具 468
17.4.2 单元测试框架 470
17.5 负载压力自动化测试 470
17.6 例题分析 472
第18章 面向对象软件的测试 475
18.1 面向对象的开发简介 475
18.1.1 面向对象的概念 475
18.1.2 面向对象的开发模型 476
18.1.3 统一建模语言 476
18.2 面向对象测试模型 477
18.2.1 测试模型的划分 477
18.2.2 面向对象测试的过程 478
18.3 面向对象分析的测试 478
18.3.1 面向对象的分析 479
18.3.2 OOA测试的范围 479
18.4 面向对象设计的测试 480
18.4.1 面向对象的设计 480
18.4.2 OOD测试的范围 480
18.4.3 OOD测试的方法 481
18.5 面向对象编程的测试 481
18.6 面向对象的单元测试 482
18.6.1 单元测试介绍 482
18.6.2 面向对象单元测试 482
18.6.3 类测试 483
18.6.4 构造测试驱动 484
18.6.5 单元测试自动化 484
18.7 面向对象的集成测试 484
18.7.1 集成测试的工作模式 484
18.7.2 面向对象集成测试策略 485
18.8 面向对象的系统测试 485
18.8.1 面向对象系统测试的目的 485
18.8.2 面向对象系统测试的范围 486
第19章 负载压力测试 487
19.1 性能测试的概念 487
19.2 压力测试的目标和内容 488
19.3 性能测试的指标 489
19.4 性能测试的实施与分析 490
19.5 例题分析 492
第20章 Web应用测试 501
20.1 Web应用测试概述 501
20.1.1 Web应用软件测试概述 501
20.1.2 Web应用软件的特点 501
20.1.3 Web应用软件测试技术 502
20.2 Web应用的测试策略 506
20.2.1 测试策略 506
20.2.2 测试策略原则 506
20.2.3 Web测试策略 507
20.2.4 测试策略文档 508
20.3 Web应用设计测试 509
20.3.1 计划测试 509
20.3.2 测试需求 511
20.4 Web应用开发测试 512
20.4.1 静态测试 512
20.4.2 黑盒测试的测试用例设计方法 513
20.4.3 Web应用性能测试 513
20.4.4 测试工具介绍 514
20.5 Web应用运行测试 515
20.5.1 Web应用压力测试 515
20.5.2 压力测试工具 517
20.5.3 测试结果的度量和分析 518
20.6 例题分析 519
第21章 网络测试 521
21.1 网络系统全生命周期测试策略 521
21.1.1 网络规划设计阶段的测试 521
21.1.2 网络实施阶段的测试 521
21.1.3 网络与应用系统集成阶段的测试 522
21.2 网络仿真技术 522
21.2.1 网络仿真的流模型和包模型 522
21.2.2 网络仿真在网络测试中的应用 523
21.2.3 网络仿真软件 523
21.3 网络性能测试 526
21.3.1 网络性能测试的主要内容 526
21.3.2 网络性能测试分类 527
21.3.3 网络性能测试的对象 528
21.4 网络应用测试 528
21.4.1 网络应用测试的主要内容 528
21.4.2 网络应用性能与负载测试工具 529
第22章 安全测试 531
22.1 测试内容 531
22.1.1 用户认证机制 531
22.1.2 加密机制 532
22.1.3 安全防护策略 533
22.1.4 数据备份与恢复 533
22.1.5 防病毒系统 534
22.2 测试策略 535
22.2.1 安全防护体系 535
22.2.2 安全保护国家标准 536
22.2.3 基本安全防护系统测试 537
22.3 测试方法 538
22.3.1 功能验证 539
22.3.2 漏洞扫描 539
22.3.3 模拟攻击 540
22.3.4 侦听技术 545
22.4 例题分析 546
第23章 兼容性测试 553
23.1 硬件兼容性测试 553
23.1.1 主机兼容性测试 553
23.1.2 板卡、配件及外设的兼容性测试 554
23.2 软件兼容性测试 554
23.2.1 操作系统兼容性测试 554
23.2.2 数据库兼容性测试 556
23.2.3 中间件兼容性测试 557
23.2.4 与其他软件的兼容性测试 557
23.3 数据兼容性测试 557
23.3.1 编码体系测试 558
23.3.2 数据标准符合性测试 560
23.3.3 新旧系统数据兼容和数据迁移测试 561
23.4 平台软件兼容性测试 562
23.4.1 平台软件的硬件兼容性测试 563
23.4.2 平台软件的操作系统兼容性测试 563
23.4.3 平台软件的数据库兼容性测试 564
23.4.4 平台软件的数据兼容性测试 564
23.4.5 平台软件的文种兼容性测试 564
第24章 易用性测试 565
24.1 概述 565
24.1.1 易用性概念 565
24.1.2 易用性测试 565
24.1.3 易用性与其他质量特性的关系 567
24.2 安装测试 567
24.3 功能易用性测试 568
24.4 用户界面测试 568
24.4.1 界面整体测试 569
24.4.2 界面元素测试 571
24.5 图形用户界面(GUI)测试用例 572
24.5.1 遵从窗口标准 572
24.5.2 屏幕元素确认列表 575
24.6 例题分析 579
第25章 文档测试 583
25.1 软件项目文档 583
25.2 用户文档 585
25.2.1 用户文档分类 585
25.2.2 用户文档的作用 585
25.3 用户文档测试 586
25.3.1 测试方法 586
25.3.2 测试要点 586
25.3.3 用户手册、操作手册的测试 587
25.3.4 联机帮助的测试 588
25.4 例题分析 588
第26章 测试项目管理 593
26.1 软件测试与配置管理 593
26.1.1 软件配置管理的作用 593
26.1.2 配置管理内容 594
26.1.3 单元测试管理活动 594
26.2 测试的组织与管理 595
26.3 测试文档 596
26.4 软件测试风险分析 597
26.4.1 软件风险分析 598
26.4.2 软件测试风险 604
26.5 例题分析 604