词条 | 软件测试与持续质量改进 |
释义 | 《软件测试与持续质量改进》(第二版)一书是一本专门提供给软件测试人员的指导书目,书中详细列举基本的软件测试技巧,方便技术工作人员的操作。 版权信息书 名: 软件测试与持续质量改进 作 者:(美国%Gunasekaran)WilliamE.Lewis 出版社: 人民邮电出版社 出版时间: 2008 ISBN: 9787115171610 开本: 16 定价: 55.00 元 内容简介本书旨在为软件测试过程提供一个质量框架,其目的是提出一个持续改进软件质量的途径,以提高测试效率。书中详细列举基本的软件测试技巧,并基于一种持续改进过程介绍Deming的质量概念,将“计划、执行、检查、改进”(Plan,Do,Check,Act,PDCA)这样一个“质量轮”引入软件测试过程,阐述现代质量保证理论及最佳实践方法。本书共分5个部分,分别从软件质量、生命周期测试、软件测试方法、测试项目管理、现代软件测试工具的角度展开。此外,附录中提供软件测试过程中可能涉及的各种文档的格式样本,非常便于查阅和参考。 本书适合作为计算机及相关专业软件测试课程的教材,也适合软件测试领域的专业技术人员作为参考手册。 目录第一部分 软件质量透视 第1章 质量保证框架 2 1.1 什么是质量 2 1.2 预防与检测 2 1.3 验证与确认 3 1.4 软件质量保证 4 1.5 质量保证的组成 5 1.6 软件测试 5 1.7 质量控制 5 1.8 软件配置管理 6 1.9 软件配置管理的要素 6 1.10 组件确定 7 1.11 版本控制 7 1.12 配置构建 8 1.13 变更控制 8 1.14 软件质量保证计划 8 1.15 开发和实施软件质量保证计划的步骤 9 1.15.1 步骤1:编写计划 9 1.15.2 步骤2:获得管理层认可 10 1.15.3 步骤3:获得开发人员认可 10 1.15.4 步骤4:准备编写SQA计划 10 1.15.5 步骤5:执行SQA计划 10 1.16 质量标准 10 1.16.1 ISO9000 11 1.16.2 能力成熟度模型 11 1.16.3 PCMM 13 1.16.4 CMMI 14 1.16.5 美国波多里奇国家质量奖 14 第2章 测试技术概述 16 2.1 黑盒测试(功能测试) 16 2.2 白盒测试(结构测试) 16 2.3 灰盒测试(功能与结构测试) 17 2.3.1 手工测试与自动测试 17 2.3.2 静态测试与动态测试 17 2.4 软件测试技术的分类 18 第3章 质量的持续改进过程 22 3.1 EdwardDeming的贡献 22 3.2 统计方法的角色 22 3.2.1 因果图 22 3.2.2 流程图 23 3.2.3 帕累托图 23 3.2.4 运行图 23 3.2.5 直方图 23 3.2.6 散布图 23 3.2.7 控制图 23 3.3 Deming的14条质量原则 23 3.3.1 第1条:树立始终如一的目标 23 3.3.2 第2条:采用新的质量观念 24 3.3.3 第3条:停止对大量检查的依赖 24 3.3.4 第4条:结束仅靠价签来激励企业的实践活动 24 3.3.5 第5条:坚持不懈地、永久地改进生产和服务系统 24 3.3.6 第6条:组织培训及再培训 25 3.3.7 第7条:确立领导职责 25 3.3.8 第8条:驱除恐惧 25 3.3.9 第9条:打破员工区域之间的栅栏 25 3.3.10 第10条:为员工解除口号、训词及目标 26 3.3.11 第11条:去除数字化目标 26 3.3.12 第12条:消除员工自豪感的障碍 26 3.3.13 第13条:组织有关教育和再培训方面的强有力的课程 26 3.3.14 第14条:采取行动完成转变 26 3.4 通过“计划、执行、检查、改进”实现持续改进 27 3.5 遵循PDCA循环 27 第二部分 生命周期测试概述 第4章 概述 30 4.1 瀑布式开发方法 30 4.2 “阶段化”持续改进方法 31 4.3 生命周期测试的心理学 31 4.4 将软件测试作为持续改进过程 31 4.5 测试的圣经:软件测试计划 33 4.6 制定测试计划的主要步骤 34 4.6.1 步骤1:定义测试目标 35 4.6.2 步骤2:确定测试方法 35 4.6.3 步骤3:定义测试环境 35 4.6.4 步骤4:制定测试规约 35 4.6.5 确定测试日程表 35 4.6.6 评审及批准测试计划 35 4.7 测试计划的组成 35 4.8 将技术评审作为持续改进过程 37 4.9 技术评审的动机 38 4.10 评审的类型 38 4.11 结构化走查 38 4.12 审查 38 4.13 参与者角色 40 4.14 有效评审的步骤 40 4.14.1 步骤1:规划评审过程 40 4.14.2 步骤2:安排评审进度 41 4.14.3 步骤3:制定评审议程 41 4.14.4 步骤4:创建评审报告 41 第5章 验证需求阶段 42 5.1 通过技术评审测试需求 43 5.2 审查和走查 43 5.3 检查表 43 5.4 方法检查表 43 5.5 需求可追溯性矩阵 44 5.6 制定系统/验收测试计划 44 第6章 验证逻辑设计阶段 46 6.1 数据模型、过程模型及其联系 46 6.2 通过技术评审测试逻辑设计 47 6.3 细化系统/验收测试计划 48 第7章 验证物理设计阶段 49 7.1 通过技术评审测试物理设计 49 7.2 创建集成测试用例 50 7.3 集成测试方法 50 7.3.1 步骤1:标识出单元接口 50 7.3.2 步骤2:全面协调接口 50 7.3.3 步骤3:创建集成测试条件 51 7.3.4 步骤4:评估集成测试条件的完整性 51 第8章 验证程序单元设计阶段 52 8.1 通过技术评审测试程序单元设计 52 8.2 顺序结构 52 8.3 选择结构 52 8.4 循环结构 52 8.5 编写单元测试用例 53 第9章 代码编写阶段的检验 54 9.1 用技术评审对代码编写进行测试 54 9.2 执行测试计划 55 9.3 单元测试 55 9.4 集成测试 55 9.5 系统测试 56 9.6 验收测试 56 9.7 缺陷记录 56 第三部分 软件测试方法 第10章 开发方法概述 60 10.1 生命周期开发的局限性 60 10.2 客户端/服务器架构的挑战 60 10.3 客户端/服务器架构中螺旋测试的心理学 61 10.3.1 新思想 61 10.3.2 对测试人员/开发人员的理解 62 10.3.3 项目的目标:把质量保证和开发结合起来 62 10.3.4 迭代/螺旋式开发方法 63 10.4 JAD的角色 64 10.5 原型的角色 65 10.6 开发原型的方法 66 10.6.1 开发原型 66 10.6.2 向管理层演示原型 67 10.6.3 向用户演示原型 67 10.6.4 修订并定稿规约 67 10.6.5 开发产品系统 68 10.7 持续改进螺旋测试方法 68 第11章 信息收集(计划) 71 11.1 步骤1:准备访谈 72 11.1.1 任务1:确定参加访谈的人 72 11.1.2 任务2:确定议程 72 11.2 步骤2:执行访谈 73 11.2.1 任务1:理解项目 73 11.2.2 任务2:理解项目的目标 73 11.2.3 任务3:理解项目的状态 74 11.2.4 任务4:理解项目的计划 75 11.2.5 任务5:理解项目的开发方法 75 11.2.6 任务6:确定高级业务需求 75 11.2.7 任务7:进行风险分析 76 11.3 步骤3:总结访谈成果 77 11.3.1 任务1:总结访谈 77 11.3.2 任务2:确认访谈成果 78 第12章 测试计划(计划) 79 12.1 步骤1:建立测试计划 80 12.1.1 任务1:准备引言部分 80 12.1.2 任务2:定义总体的功能需求 81 12.1.3 任务3:确定手动/自动测试的种类 82 12.1.4 任务4:确定测试结束标准 82 12.1.5 任务5:制定回归测试策略 83 12.1.6 任务6:定义测试交付物 84 12.1.7 任务7:组建测试团队 85 12.1.8 任务8:建立测试环境 86 12.1.9 任务9:定义依赖关系 86 12.1.10 任务10:创建测试进度表 87 12.1.11 任务11:选择测试工具 89 12.1.12 任务12:建立缺陷报告/跟踪规程 89 12.1.13 任务13:建立变更请求规程 90 12.1.14 任务14:建立版本控制规程 91 12.1.15 任务15:定义配置构建规程 91 12.1.16 任务16:定义项目问题解决规程 91 12.1.17 任务17:建立报告规程 92 12.1.18 任务18:定义批准规程 92 12.2 步骤2:定义度量目标 92 12.2.1 任务1:定义度量标准 93 12.2.2 任务2:定义度量要点 93 12.3 步骤3:评审与批准测试计划 95 12.3.1 任务1:评审的日程安排/执行 95 12.3.2 任务2:获得批准 96 第13章 测试用例设计(执行) 97 13.1 步骤1:设计功能测试 97 13.1.1 任务1:完善功能测试需求 97 13.1.2 任务2:建立功能/测试矩阵 102 13.2 步骤2:设计图形用户界面测试 103 13.2.1 任务1:确定应用程序图形用户界面组件 103 13.2.2 任务2:定义图形用户界面测试 104 13.3 步骤3:定义系统/验收测试 105 13.3.1 任务1:确定可能的系统测试 105 13.3.2 任务2:设计阶段性系统测试 105 13.3.3 任务3:确定潜在的验收测试 107 13.4 步骤4:测试设计的评审和批准 107 13.4.1 任务1:评审的日程安排/准备 107 13.4.2 任务2:获得批准 107 第14章 测试开发(执行) 108 14.1 步骤1:开发测试脚本 108 14.1.1 任务1:开发自动/手动图形用户界面测试和功能测试脚本 108 14.1.2 任务2:开发自动/手动的阶段性系统测试的脚本 109 14.2 步骤2:测试开发的评审和批准 109 14.2.1 任务1:评审的日程安排/准备 109 14.2.2 任务2:获得批准 109 第15章 通过可追溯性实现测试覆盖 111 15.1 用例和可追溯性 112 15.2 小结 113 第16章 测试执行/评价(执行/检查) 114 16.1 步骤1:组织测试内容并进行测试 114 16.1.1 任务1:回归测试上次螺旋过程中的缺陷 114 16.1.2 任务2:执行新螺旋测试中的手动/自动测试 115 16.1.3 任务3:记录螺旋测试中发现的缺陷 115 16.2 步骤2:测试评价 115 16.3 步骤3:发布中期报告 116 16.3.1 任务1:重新安排测试进度表 116 16.3.2 任务2:确定需求变更 116 第17章 准备下次螺旋测试(改进) 118 17.1 步骤1:更新测试内容 119 17.1.1 任务1:更新功能/图形用户界面测试内容 119 17.1.2 任务2:更新阶段性系统测试内容 119 17.1.3 任务3:更新验收测试内容 119 17.2 步骤2:重新评价测试队伍、规程、环境 119 17.2.1 任务1:评价测试队伍 119 17.2.2 任务2:评审测试控制规程 120 17.2.3 任务3:更新测试环境 120 17.3 步骤3:发布中期测试报告 121 第18章 进行系统测试 123 18.1 步骤1:完成系统测试计划 123 18.1.1 任务1:确定系统测试的类型 123 18.1.2 任务2:确定系统测试的日程安排 124 18.1.3 任务3:组建系统测试团队 126 18.1.4 任务4:建立系统测试环境 126 18.1.5 任务5:安装系统测试工具 127 18.2 步骤2:完成系统测试用例 127 18.2.1 任务1:设计/脚本化性能测试 127 18.2.2 任务2:设计/脚本化安全性测试 129 18.2.3 任务3:设计/脚本化容量测试 130 18.2.4 任务4:设计/脚本化压力测试 130 18.2.5 任务5:设计/脚本化兼容性测试 131 18.2.6 任务6:设计/脚本化转换测试 131 18.2.7 任务7:设计/脚本化易用性测试 131 18.2.8 任务8:设计/脚本化文档测试 132 18.2.9 任务9:设计/脚本化备份测试 133 18.2.10 任务10:设计/脚本化恢复性测试 133 18.2.11 任务11:设计/脚本化安装测试 133 18.2.12 任务12:设计/脚本化其他类型的系统测试 134 18.3 步骤3:系统测试的评审和批准 135 18.3.1 任务1:评审的日程安排/执行 135 18.3.2 任务2:获得批准 135 18.4 步骤4:执行系统测试 135 18.4.1 任务1:对系统测试中的修正进行回归测试 135 18.4.2 任务2:执行新的系统测试 135 18.4.3 任务3:记录系统测试中发现的缺陷 136 第19章 进行验收测试 137 19.1 步骤1:完成验收测试计划 138 19.1.1 任务1:确定验收测试的类型 138 19.1.2 任务2:确定验收测试的日程安排 138 19.1.3 任务3:组建验收测试团队 138 19.1.4 任务4:建立验收测试环境 139 19.1.5 任务5:安装验收测试工具 139 19.2 步骤2:完成验收测试用例 139 19.2.1 任务1:系统级别测试用例的子集 139 19.2.2 任务2:设计/脚本化附加的验收测试 140 19.3 步骤3:验收测试计划的评审和批准 140 19.3.1 任务1:评审的日程安排/执行 140 19.3.2 任务2:获得批准 140 19.4 步骤4:执行验收测试 140 19.4.1 任务1:对验收测试中的修正进行回归测试 140 19.4.2 任务2:执行新的验收测试 141 19.4.3 任务3:记录验收测试中发现的缺陷 141 第20章 总结/报告螺旋测试结果 142 20.1 步骤1:执行数据精简 142 20.1.1 任务1:确保所有的测试均已执行/解决 142 20.1.2 任务2:通过测试编号整理测试缺陷 143 20.1.3 任务3:将剩余的缺陷写入一个矩阵 143 20.2 步骤2:准备最终的测试报告 143 20.2.1 任务1:准备项目概述 143 20.2.2 任务2:总结测试活动 143 20.2.3 任务3:分析/创建度量图 144 20.2.4 任务4:总结测试成果/建议 148 20.3 步骤3:最终测试报告的评审和批准 149 20.3.1 任务1:评审的日程安排/执行 149 20.3.2 任务2:获得批准 150 20.3.3 任务3:发布最终的测试报告 150 第四部分 测试项目管理 第21章 项目管理概述 152 21.1 定义目标 152 21.2 定义项目范围 152 21.3 识别关键活动 153 21.4 正确地估算 153 21.5 设计 153 21.6 人员管理 153 21.6.1 领导力 153 21.6.2 沟通 154 21.6.3 解决问题 154 21.6.4 持续监控 154 21.6.5 变更管理 155 第22章 测试项目管理 156 22.1 理解需求 156 22.2 测试规划 157 22.3 测试执行 157 22.4 识别及改进过程 157 22.5 测试项目经理的基本特质 158 22.5.1 需求分析 158 22.5.2 差距分析 158 22.5.3 开发测试用例时要进行横向思考 158 22.5.4 避免重复 158 22.5.5 测试数据生成 158 22.5.6 确认测试环境 159 22.5.7 带着破坏目的去测试 159 22.5.8 分析测试结果 159 22.5.9 毫不犹豫地接受别人的帮助 159 22.5.10 出现问题时将它们转移 159 22.5.11 增强沟通 159 22.5.12 不断更新自身的业务知识 159 22.5.13 学习新的测试技术和工具 160 22.5.14 提交质量 160 22.5.15 过程改进 160 22.5.16 创建知识库 160 22.5.17 重获成功 160 第23章 测试评估 161 23.1 测试评估中的关键活动 163 23.1.1 测试范围文档 163 23.1.2 测试策略 163 23.1.3 测试条件 163 23.1.4 测试用例 164 23.1.5 测试脚本 164 23.1.6 执行/运行计划 164 23.2 影响测试评估的因素 164 23.3 测试计划评估 164 23.4 测试执行与控制工作量 165 23.5 测试结果分析 165 23.6 工作量估算——项目模型 166 第24章 缺陷监控及管理过程 169 24.1 缺陷报告 170 24.2 缺陷会议 170 24.3 缺陷分类 170 24.4 缺陷的优先级 171 24.5 缺陷的种类 171 第25章 测试与开发方法的整合 173 25.1 步骤1:组建测试团队 173 25.2 步骤2:确定将要整合的测试步骤及任务 174 25.3 步骤3:自定义测试步骤及任务 174 25.4 步骤4:选择整合要点 174 25.5 步骤5:修改开发方法 174 25.6 步骤6:合并缺陷记录 174 25.7 步骤7:对测试方法的使用进行培训 175 第26章 本土/离岸模型 176 26.1 步骤1:分析 176 26.2 步骤2:确定经济上的得失 176 26.3 步骤3:确定选择标准 177 26.4 项目管理和监控 177 26.5 外包方法 177 26.5.1 本土活动 178 26.5.2 离岸活动 178 26.6 实现本土/离岸模型 179 26.6.1 知识转移 179 26.6.2 详细设计 179 26.6.3 基于里程碑的转移过程 179 26.6.4 稳定状态 179 26.6.5 应用管理 179 26.6.6 关系模型 180 26.7 本土/离岸方法的收益 181 26.8 本土/离岸模型的未来 183 第五部分 现代软件测试工具 第27章 软件测试简史 186 27.1 自动测试工具的发展 188 27.1.1 静态录制/回放工具(不附带脚本语言) 189 27.1.2 静态录制/回放工具(具有脚本语言) 189 27.1.3 可变的录制/回放工具 189 27.2 软件测试和开发的历史比较 191 第28章 软件测试趋势 193 28.1 自动录制/回放测试工具 193 28.2 测试用例建立工具 193 28.3 领先的自动测试工具 194 28.4 领先的测试用例生成工具 195 28.5 必要条件和充分条件 195 28.6 测试数据/测试用例的生成 195 28.6.1 生产数据抽样 196 28.6.2 从零开始 196 28.6.3 数据播种 196 28.6.4 根据数据库生成数据 197 28.6.5 根据需求生成测试数据/测试用例 197 第29章 测试工具的分类 199 29.1 测试工具选择检查表 199 29.2 厂商工具描述 199 29.3 需要使用测试自动化的情况 205 29.4 不需要使用测试自动化的情况 205 第30章 自动测试工具的评价方法 207 30.1 步骤1:定义你的测试需求 207 30.2 步骤2:设定工具的目标 207 30.3 步骤3a:非正式采购模式下的选择活动 207 30.3.1 任务1:制定采购计划 207 30.3.2 任务2:定义选择标准 208 30.3.3 任务3:确定候选工具 208 30.3.4 任务4:进行候选工具评审 208 30.3.5 任务5:为候选工具打分 208 30.3.6 任务6:选择工具 208 30.4 步骤3b:正式采购模式下的选择活动 209 30.4.1 任务1:制定采购计划 209 30.4.2 任务2:创建技术需求文档 209 30.4.3 任务3:评审需求 209 30.4.4 任务4:生成请求建议 209 30.4.5 任务5:简化建议 209 30.4.6 任务6:进行技术评估 209 30.4.7 任务7:选择工具源 209 30.5 步骤4:采购测试工具 210 30.6 步骤5:制定评价计划 210 30.7 步骤6:制定工具经理计划 210 30.8 步骤7:创建培训计划 210 30.9 步骤8:接收工具 210 30.10 步骤9:执行验收测试 211 30.11 步骤10:召开推介会议 211 30.12 步骤11:实施修改 211 30.13 步骤12:培训工具的用户 211 30.14 步骤13:在操作环境中使用工具 211 30.15 步骤14:撰写评价报告 212 30.16 步骤15:确定目标是否实现 212 附录A 螺旋测试法 213 附录B 软件质量保证计划 221 附录C 需求规约 222 附录D 变更请求表 224 附录E 测试模板 225 附录F 检查表 251 附录G 软件测试技术 281 参考文献 325 术语表 331 索引 334 …… |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。