请输入您要查询的百科知识:

 

词条 软件测试与持续质量改进-第3版
释义

基本信息

作者:

(美)William E. Lewis

David Dobbs

Gunasekaran Veerapillai

[作译者介绍]

译者:

陈绍英

张河涛

刘建华

金成姬

丛书名: 图灵程序设计丛书

出版社:人民邮电出版社

ISBN:9787115255402

上架时间:2011-7-4

出版日期:2011 年7月

开本:16开

页码:1

版次:3-1

内容简介

《软件测试与持续质量改进:第3版》为软件测试过程提供了一个质量框架,目的是提出一个持续改进软件质量的途径,以提高测试效率。书中详细列举基本的软件测试技巧,并基于一种持续改进过程介绍deming 的质量概念,将“计划、执行、检查、改进”(plan, do, check, act, pdca)这样一个质量循环引入软件测试过程,阐述现代质量保证理论及最佳实践方法。此外,附录中提供软件测试过程中可能涉及的各种文档的格式样本,非常便于查阅和参考。

《软件测试与持续质量改进:第3版》既适合软件测试领域的专业技术人员作为参考手册,又适合作为计算机及相关专业软件测试课程的教材。

作者译

本书提供作译者介绍 William E. Lewis享誉世界的软件测试与质量保证领域的专家,有近40年计算机行业的从业经验,是Smartware技术公司的创始人,现任该公司董事长和 CEO。专利软件测试工具Test Smart的发明人。他曾先后供职于花旗集团、安永、IBM等国际知名企业,一直负责软件测试、质量管理方面的工作。从IBM退休后,他在世界各地从事与 软件测试相关的教学和咨询工作。Gunasekaran Veerapillai 本书的技术合著者,美国PMI认证的软件质量分析师(CSQA),和PMP。他曾供职于Canara、Thinksoft、HCL和Covansys等公 司,负.. <<

编辑推荐

软件测试与质量保证圣经

目录

《软件测试与持续质量改进:第3版》

第一部分 软件质量透视

第1 章 软件测试简史 2

1.1 历史上软件测试和开发并行 4

1.2 极限编程 5

1.3 自动化测试工具的发展 6

1.3.1 静态捕获/回放工具(不附带脚本语言) 7

1.3.2 静态捕获/回放工具(具有脚本语言) 7

1.3.3 可变的捕获/回放工具 7

第2 章 质量保证框架 9

2.1 什么是质量 9

2.2 预防与检测 10

2.3 验证与确认 10

2.4 软件质量保证 11

2.5 质量保证的组成 12

2.5.1 软件测试 12

2.5.2 质量控制 13

2.5.3 软件配置管理 14

2.6 软件质量保证计划 16

2.7 质量标准 18

.2.7.1 萨班斯—奥克斯利法案 18

2.7.2 iso9000 19

2.7.3 能力成熟度模型 20

2.7.4 pcmm 23

2.7.5 cmmi 23

2.7.6 美国波多里奇国家质量奖 23

2.8 注释 25

第3 章 测试技术概述 26

3.1 黑盒测试(功能测试) 26

3.2 白盒测试(结构测试) 27

3.3 灰盒测试(功能与结构测试) 27

3.4 手工测试与自动化测试 27

3.5 静态测试与动态测试 27

3.6 软件测试技术的分类 28

第4 章 将需求转换成可测试的测试用例 33

4.1 概述 33

4.2 将软件需求作为测试的基础 33

4.3 需求质量因素 34

4.3.1 可理解 34

4.3.2 必需 34

4.3.3 可修改 34

4.3.4 非冗余 34

4.3.5 简洁 35

4.3.6 可测试 35

4.3.7 可跟踪 35

4.3.8 在范围内 35

4.4 评估需求质量的数值方法 35

4.5 根据好的需求创建测试用例的过程 36

4.5.1 步骤1:评审需求 36

4.5.2 步骤2:编写测试计划 38

4.5.3 步骤3:确定测试套件 38

4.5.4 步骤4:命名测试用例 40

4.5.5 步骤5:编写测试用例描述及目标 41

4.5.6 步骤6:创建测试用例 41

4.5.7 步骤7:评审测试用例 42

4.6 将用例转换为测试用例 42

4.6.1 步骤1:绘制用例图 42

4.6.2 步骤2:编写详细的用例文本 43

4.6.3 步骤3:确定用例场景 44

4.6.4 步骤4:生成测试用例 45

4.6.5 步骤5:生成测试数据 45

4.6.6 小结 46

4.7 需求不存在或编写粗劣时怎么办 46

4.7.1 即兴测试 46

4.7.2 探索性测试 47

第5 章 质量的持续改进过程 49

5.1 edward deming的贡献 49

5.2 统计方法扮演的角色 49

5.2.1 因果图 50

5.2.2 流程图 50

5.2.3 帕累托图 50

5.2.4 运行图 50

5.2.5 直方图 50

5.2.6 散布图 50

5.2.7 控制图 50

5.3 deming的14条质量原则 50

5.3.1 第1条:树立始终如一的目标 51

5.3.2 第2条:采用新的质量观念 51

5.3.3 第3条:停止对大量审查的依赖 51

5.3.4 第4条:结束仅靠价签来激励企业的实践活动 51

5.3.5 第5条:坚持不懈地、永久地改进生产和服务系统 52

5.3.6 第6条:组织培训及再培训 52

5.3.7 第7条:确立领导职责 52

5.3.8 第8条:驱除恐惧 53

5.3.9 第9条:打破员工区域之间的壁垒 53

5.3.10 第10条:解除工作口号、训词及目标 53

5.3.11 第11条:去除数字化目标 53

5.3.12 第12条:消除阻碍员工自豪感的壁垒 54

5.3.13 第13条:开设有关教育和再培训方面的强有力的课程 54

5.3.14 第14条:采取行动完成转变 54

5.4 通过“计划、执行、检查、改进”实现持续改进 54

5.5 遵循pdca循环 55

第二部分 瀑布测试概述

第6 章 概述 58

6.1 瀑布式开发方法 58

6.2 “阶段化”持续改进方法 58

6.3 生命周期测试的心理学 59

6.4 将软件测试作为持续改进过程 59

6.5 测试的圣经:软件测试计划 61

6.6 制定测试计划的主要步骤 63

6.6.1 步骤1:定义测试目标 63

6.6.2 步骤2:确定测试方法 63

6.6.3 步骤3:定义测试环境 63

6.6.4 步骤4:制定测试规约 63

6.6.5 步骤5:确定测试日程表 63

6.6.6 步骤6:评审及批准测试计划 64

6.7 测试计划的组成 64

6.8 将技术评审作为持续改进过程 66

6.9 技术评审的动机 66

6.10 评审的类型 67

6.10.1 结构化走查 67

6.10.2 审查 67

6.11 参与人员角色 69

6.12 有效评审的步骤 70

6.12.1 步骤1:规划评审过程 70

6.12.2 步骤2:安排评审进度 70

6.12.3 步骤3:制定评审议程 70

6.12.4 步骤4:创建评审报告 70

第7 章 需求的静态测试 72

7.1 通过歧义性评审测试需求 73

7.2 通过技术评审测试需求 73

7.3 审查和走查 73

7.4 检查表 74

7.5 需求可追溯性矩阵 74

7.6 制定系统/验收测试计划 74

第8 章 逻辑设计的静态测试 77

8.1 数据模型、过程模型及其联系 77

8.2 通过技术评审测试逻辑设计 78

8.3 细化系统/验收测试计划 79

第9 章 物理设计的静态测试 80

9.1 通过技术评审测试物理设计 80

9.2 创建集成测试用例 81

9.3 集成测试方法 81

9.3.1 步骤1:标识出单元接口 81

9.3.2 步骤2:全面协调接口 81

9.3.3 步骤3:创建集成测试条件 82

9.3.4 步骤4:评估集成测试条件的完整性 82

第10 章 程序单元设计的静态测试 83

10.1 通过技术评审测试程序单元设计 83

10.1.1 顺序结构 83

10.1.2 选择结构 83

10.1.3 循环结构 83

10.2 编写单元测试用例 84

第11 章 代码的静态测试与动态测试 85

11.1 用技术评审测试编码 85

11.2 执行测试计划 86

11.3 单元测试 86

11.4 集成测试 87

11.5 系统测试 87

11.6 验收测试 87

11.7 缺陷记录 88

第三部分 螺旋(敏捷)软件测试方法:计划、执行、检查、改进第12 章 开发方法概述 91

12.1 生命周期开发的局限性 91

12.2 客户/服务器架构的挑战 92

12.3 客户/服务器架构中螺旋测试的心理学 93

12.3.1 新思想 93

12.3.2 对测试人员/开发人员的理解 93

12.3.3 项目的目标:把质量保证和开发结合起来 94

12.3.4 迭代/螺旋式开发方法 94

12.4 jad的角色 96

12.5 原型法的角色 96

12.6 开发原型的方法 97

12.6.1 步骤1:开发原型 97

12.6.2 步骤2:向管理层演示原型 98

12.6.3 步骤3:向用户演示原型 98

12.6.4 步骤4:修订并定稿规约 99

12.6.5 步骤5:开发产品系统 99

12.7 持续改进螺旋测试方法 100

第13 章 信息收集(计划) 103

13.1 步骤1:准备访谈 104

13.1.1 任务1:确定参加访谈的人 104

13.1.2 任务2:确定议程 104

13.2 步骤2:执行访谈 104

13.2.1 任务1:理解项目 105

13.2.2 任务2:理解项目目标 105

13.2.3 任务3:理解项目状态 106

13.2.4 任务4:理解项目计划 107

13.2.5 任务5:理解项目开发方法 107

13.2.6 任务6:确定总体业务需求 108

13.2.7 任务7:进行风险分析 108

13.3 步骤3:总结访谈成果 110

13.3.1 任务1:总结访谈 110

13.3.2 任务2:确认访谈成果 110

第14 章 测试计划(计划) 111

14.1 步骤1:建立测试计划 112

14.1.1 任务1:准备引言部分 112

14.1.2 任务2:定义总体功能需求 113

14.1.3 任务3:确定手动/自动化测试的类型 114

14.1.4 任务4:确定测试退出标准 114

14.1.5 任务5:制定回归测试策略 115

14.1.6 任务6:定义测试可交付物 117

14.1.7 任务7:组建测试团队 117

14.1.8 任务8:搭建测试环境 118

14.1.9 任务9:定义依赖关系 119

14.1.10 任务10:创建测试进度表 119

14.1.11 任务11:选择测试工具 122

14.1.12 任务12:建立缺陷报告/跟踪规程 122

14.1.13 任务13:建立变更请求规程 123

14.1.14 任务14:建立版本控制规程 124

14.1.15 任务15:定义配置构建规程 125

14.1.16 任务16:定义项目问题解决规程 125

14.1.17 任务17:建立报告规程 125

14.1.18 任务18:定义批准规程 126

14.2 步骤2:定义度量目标 126

14.2.1 任务1:定义度量标准 126

14.2.2 任务2:定义度量要点 127

14.3 步骤3:测试计划的评审和批准 129

14.3.1 任务1:评审的日程安排/执行 129

14.3.2 任务2:获得批准 129

第15 章 测试用例设计(执行) 131

15.1 步骤1:设计功能测试 131

15.1.1 任务1:完善功能测试需求 131

15.1.2 任务2:建立功能/测试矩阵 136

15.2 步骤2:设计图形用户界面测试 137

15.2.1 任务1:确定应用程序图形用户界面组件 137

15.2.2 任务2:设计图形用户界面测试 138

15.3 步骤3:定义系统/验收测试 139

15.3.1 任务1:确定可能的系统测试 139

15.3.2 任务2:设计阶段性系统测试 140

15.3.3 任务3:确定可能的验收测试 141

15.4 步骤4:测试设计的评审和批准 141

15.4.1 任务1:评审的日程安排/准备 141

15.4.2 任务2:获得批准 142

第16 章 测试开发(执行) 143

16.1 步骤1:开发测试脚本 143

16.1.1 任务1:开发手工/自动化图形用户界面/功能测试脚本 143

16.1.2 任务2:开发手工/自动化的阶段性系统测试脚本 144

16.2 步骤2:测试开发的评审和批准 144

16.2.1 任务1:评审的日程安排/准备 144

16.2.2 任务2:获得批准 145

第17 章 通过可追溯性实现测试覆盖 146

17.1 用例和可追溯性 147

17.2 小结 148

第18 章 测试执行/评价(执行/检查) 149

18.1 步骤1:组织测试内容并进行测试 149

18.1.1 任务1:回归测试手工/自动化修复上次螺旋过程中的缺陷 149

18.1.2 任务2:执行新的螺旋测试中的手工/自动化测试 150

18.1.3 任务3:记录螺旋测试中发现的缺陷 150

18.2 步骤2:测试评价 150

18.3 步骤3:发布中期报告 151

18.3.1 任务1:细化测试进度表 151

18.3.2 任务2:确定需求变更 151

第19 章 准备下一次螺旋测试(改进) 153

19.1 步骤1:细化测试 154

19.1.1 任务1:更新功能/图形用户界面测试 154

19.1.2 任务2:更新阶段性系统测试 154

19.1.3 任务3:更新验收测试 154

19.2 步骤2:重新评价测试团队、规程和环境 155

19.2.1 任务1:评价测试团队 155

19.2.2 任务2:评审测试控制规程 155

19.2.3 任务3:更新测试环境 156

19.3 步骤3:发布中期测试报告 156

第20 章 进行系统测试 158

20.1 步骤1:完成系统测试计划 158

20.1.1 任务1:确定系统测试类型 158

20.1.2 任务2:确定系统测试的日程安排 160

20.1.3 任务3:组建系统测试团队 161

20.1.4 任务4:搭建系统测试环境 162

20.1.5 任务5:安装系统测试工具 162

20.2 步骤2:完成系统测试用例 162

20.2.1 任务1:设计/脚本化性能测试 163

20.2.2 任务2:设计/脚本化安全性测试 164

20.2.3 任务3:设计/脚本化容量测试 165

20.2.4 任务4:设计/脚本化压力测试 166

20.2.5 任务5:设计/脚本化兼容性测试 167

20.2.6 任务6:设计/脚本化转换测试 167

20.2.7 任务7:设计/脚本化易用性测试 168

20.2.8 任务8:设计/脚本化文档测试 168

20.2.9 任务9:设计/脚本化备份测试 169

20.2.10 任务10:设计/脚本化恢复性测试 169

20.2.11 任务11:设计/脚本化安装测试 170

20.2.12 任务12:设计/脚本化其他类型的系统测试 170

20.3 步骤3:系统测试的评审和批准 171

20.3.1 任务1:评审的日程安排/执行 171

20.3.2 任务2:获得批准 171

20.4 步骤4:执行系统测试 172

20.4.1 任务1:对系统测试中的修正进行回归测试 172

20.4.2 任务2:执行新的系统测试 172

20.4.3 任务3:将系统缺陷记录在文档中 172

第21 章 进行验收测试 173

21.1 步骤1:完成验收测试计划 173

21.1.1 任务1:确定验收测试类型 173

21.1.2 任务2:确定验收测试的日程安排 174

21.1.3 任务3:组建验收测试团队 174

21.1.4 任务4:建立验收测试环境 174

21.1.5 任务5:安装验收测试工具 175

21.2 步骤2:完成验收测试用例 175

21.2.1 任务1:确定系统级测试用例的子集 175

21.2.2 任务2:设计/脚本化附加的验收测试 175

21.3 步骤3:验收测试计划的评审和批准 176

21.3.1 任务1:评审的日程安排/执行 176

21.3.2 任务2:获得批准 176

21.4 步骤4:执行验收测试 176

21.4.1 任务1:对验收测试中的修正进行回归测试 176

21.4.2 任务2:执行新的验收测试 177

21.4.3 任务3:将验收测试缺陷记录在文档中 177

第22 章 总结/报告测试结果 178

22.1 步骤1:执行数据精简 178

22.1.1 任务1:确保所有的测试均已执行/解决 178

22.1.2 任务2:通过测试编号整理测试缺陷 178

22.1.3 任务3:将剩余的缺陷写入一个矩阵 179

22.2 步骤2:准备最终的测试报告 179

22.2.1 任务1:准备项目概述 179

22.2.2 任务2:总结测试活动 179

22.2.3 任务3:分析/创建度量图 179

22.2.4 任务4:总结测试成果/建议 184

22.3 步骤3:最终测试报告的评审和批准 185

22.3.1 任务1:评审的日程安排/执行 185

22.3.2 任务2:获得批准 186

22.3.3 任务3:发布最终测试报告 186

第四部分 项目管理方法

第23 章 项目管理框架 188

23.1 项目框架 188

23.2 产品质量与项目质量 188

23.3 项目框架的组成 188

23.4 项目框架与持续质量改进 189

23.5 项目框架的各个阶段 189

23.5.1 启动阶段 189

23.5.2 计划阶段 190

23.5.3 执行、监视和控制阶段 190

23.5.4 收尾阶段 191

23.6 划定项目范围以确保产品质量 191

23.7 产品范围和项目范围 191

23.8 项目规章 191

23.9 范围陈述 192

23.10 项目经理在质量管理中的作用 192

23.11 测试经理在质量管理中的作用 193

23.11.1 分析需求 193

23.11.2 进行差距分析 193

23.11.3 避免重复 193

23.11.4 定义测试数据 194

23.11.5 确认测试环境 194

23.11.6 分析测试结果 194

23.11.7 提交质量 194

23.12 给测试经理的建议 194

23.12.1 请求别人的帮助 194

23.12.2 出现问题时及时沟通 194

23.12.3 不断更新自身的业务知识 195

23.12.4 学习新的测试技术和工具 195

23.12.5 改进过程 195

23.12.6 创建知识库 195

23.13 质量项目管理和项目框架的好处 195

第24 章 项目质量管理 197

24.1 项目质量管理过程 197

24.2 质量计划 197

24.3 确定高级项目活动 197

24.4 测试工作量估算 198

24.5 测试计划 198

24.6 工作量估算:项目建模 200

24.7 质量标准 202

第25 章 缺陷管理过程 203

25.1 质量控制与缺陷管理 203

25.2 缺陷发现与分类 203

25.3 缺陷的优先级 204

25.4 缺陷的种类 204

25.5 缺陷跟踪 205

25.6 缺陷报告 205

25.7 缺陷总结 206

25.8 缺陷会议 206

25.9 缺陷度量 206

25.10 质量标准 207

第26 章 测试与开发的整合 208

26.1 质量控制与测试整合 208

26.2 测试整合 208

26.2.1 步骤1:组建测试团队 208

26.2.2 步骤2:确定将要整合的任务 209

26.2.3 步骤3:定制测试步骤及任务 209

26.2.4 步骤4:选择整合时间点 209

26.2.5 步骤5:修改开发方法 209

26.2.6 步骤6:对测试方法进行培训 209

26.2.7 步骤7:合并缺陷记录 210

26.3 整合后的团队 210

第27 章 测试管理的约束 211

27.1 组织架构 211

27.2 已建立得很好的质量保证部门的特征 211

27.3 职责划分 211

27.4 组织关系 212

27.5 在质量基础设施不存在的情况下使用项目框架 213

27.6 即兴测试和项目框架 213

27.7 使用可追溯性/确认矩阵 213

27.8 进度报告 214

第五部分 软件测试中的新兴专业领域第28 章 测试过程评估和自动化评估 216

28.1 测试过程评估 216

28.2 过程评估方法 217

28.2.1 步骤1:标识关键元素 217

28.2.2 步骤2:收集和分析信息 218

28.2.3 步骤3:分析测试成熟度 218

28.2.4 步骤4:记录和呈现结果 221

28.3 测试自动化评估 221

28.3.1 标识需要自动化的应用 222

28.3.2 确定最佳测试自动化工具 223

28.3.3 编写测试脚本的方法 223

28.3.4 测试执行的方法 224

28.3.5 测试脚本维护 224

28.4 测试自动化框架 224

28.4.1 自动化框架的基本特性 225

28.4.2 标准自动化框架 227

第29 章 非功能测试 231

29.1 性能测试 231

29.2 负载测试 231

29.3 压力测试 231

29.4 容量测试 231

29.5 性能监视 232

29.6 性能测试的方法 232

29.7 知识获取过程 232

29.8 测试开发 233

29.9 性能测试可交付物 237

29.10 安全性测试 237

29.10.1 步骤1:确定安全性测试的范围 238

29.10.2 步骤2:生成测试用例并执行 238

29.11 安全性测试的类型 239

29.11.1 网络扫描 239

29.11.2 漏洞扫描 239

29.11.3 密码破译 240

29.11.4 日志评审 240

29.11.5 文件完整性检查器 241

29.11.6 病毒检测器 241

29.11.7 渗透测试 242

29.12 易用性测试 242

29.13 易用性测试的目的 243

29.13.1 方法和执行 243

29.13.2 易用性测试的原则 244

29.13.3 可访问性测试和《康复法案》第508条 244

29.14 合规性测试 246

第30 章 soa 测试 248

第31 章 敏捷测试 250

31.1 敏捷用户故事与正式需求对比 250

31.2 什么是用户故事 250

31.3 敏捷计划 251

31.4 敏捷测试的类型 251

第32 章 测试卓越中心 254

32.1 行业最佳过程 256

32.2 测试度量 257

32.3 运营模型 257

32.4 测试自动化框架 257

32.5 能力的持续提升 258

第33 章 本土/离岸模型 259

33.1 步骤1:分析 259

33.2 步骤2:确定经济上的得失 260

33.3 步骤3:确定选择标准 260

33.4 项目管理和监控 260

33.5 外包方法 260

33.5.1 本土活动 261

33.5.2 离岸活动 261

33.6 实现本土/离岸模型 262

33.6.1 知识转移 262

33.6.2 详细设计 262

33.6.3 基于里程碑的转移 263

33.6.4 稳定状态 263

33.6.5 应用管理 263

33.7 先决条件 263

33.7.1 关系模型 263

33.7.2 标准 264

33.8 本土/离岸方法的收益 265

33.9 本土/离岸模型的未来 267

第六部分 现代软件测试工具第34 章 软件测试趋势 270

34.1 自动捕获/回放测试工具 270

34.2 测试用例构建工具 270

34.3 必要条件和充分条件 271

34.4 测试数据生成策略 271

34.4.1 生产数据抽样 271

34.4.2 从零开始 272

34.4.3 数据播种 272

34.4.4 根据数据库生成数据 273

34.4.5 一种基于需求的有效测试用例生成器 273

第35 章 软件测试工具的分类 278

35.1 测试工具选择检查表 278

35.2 商业厂商工具描述 279

35.3 开源自由件厂商工具 285

35.4 应该考虑使用测试自动化的情况 290

35.5 不应该考虑测试自动化的情况 291

第36 章 自动化测试工具的评价方法 293

36.1 步骤1:定义测试需求 293

36.2 步骤2:设定工具目标 293

36.3 步骤3a:非正式采购模式下的选择活动 293

36.3.1 任务1:制定采购计划 293

36.3.2 任务2:定义选择标准 294

36.3.3 任务3:确定候选工具 294

36.3.4 任务4:进行候选工具评审 294

36.3.5 任务5:为候选工具打分 294

36.3.6 任务6:选择工具 294

36.4 步骤3b:正式采购模式下的选择活动 295

36.4.1 任务1:制定采购计划 295

36.4.2 任务2:创建技术需求文档 295

36.4.3 任务3:评审需求 295

36.4.4 任务4:生成请求建议 295

36.4.5 任务5:简化建议 295

36.4.6 任务6:进行技术评估 295

36.4.7 任务7:选择工具来源 296

36.5 步骤4:采购测试工具 296

36.6 步骤5:制定评价计划 296

36.7 步骤6:制定工具经理的计划 296

36.8 步骤7:创建培训计划 297

36.9 步骤8:接收工具 297

36.10 步骤9:执行验收测试 297

36.11 步骤10:召开推介会议 297

36.12 步骤11:实施修改 297

36.13 步骤12:培训工具的使用户 298

36.14 步骤13:在操作环境中使用工具 298

36.15 步骤14:撰写评估报告 298

36.16 步骤15:确定目标是否实现 298

第七部分 附录

附录a 螺旋(敏捷)测试法 300

附录b 软件质量保证计划 308

附录c 需求规约 310

附录d 变更请求表 312

附录e 测试模板 313

附录f 检查表 341

附录g 软件测试技术 375

术语表 425

参考文献 430

索引 434

媒体评论

“一部全面、实用的软件测试技巧大全。除了循序渐进的测试指导外,对软件质量的讨论也非常深入。”

——Software Testing, Verification & Reliability杂志

“我认为本书是最权威的质量保证和软件测试著作。定义清晰的框架、过程和规程,使本书远远超出了同类图书。书中丰富的信息将使你不再需要在网络和图书馆中费时查询。”

——Mike Tarrani ,资深IT经理

“如果你只买一本软件测试与质量保证方面的著作,那就选择本书吧。”

——Daniel Crowley,,亚马逊读者评论

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/27 7:53:41