软件测试:云服务测试方法与实践 郑炜 吴潇雪 刘中 等
定 价:69 元
- 作者:郑炜 吴潇雪 刘中 等
- 出版时间:2025/8/1
- ISBN:9787111786467
- 出 版 社:机械工业出版社
- 中图法分类:
- 页码:
- 纸张:胶版纸
- 版次:
- 开本:16开
-
商品库位:
随着云计算技术的快速发展和广泛应用,云服务已经成为现代信息系统的核心组成部分。然而,由于云服务的复杂性和高度动态性,测试云服务的质量和性能成为了一个重要的挑战。本书系统地介绍云服务测试的基本原理和实践方法,旨在帮助读者全面掌握云服务测试的理论基础和实践方法。本书分为基础篇和实践篇两部分:基础篇介绍云服务测试相关概念和方法;实践篇主要介绍云服务测试在现实中的具体实践应用,深入浅出地讲解云服务测试相比普通测试的优势与缺陷;希望读者通过本书的学习,能够全面掌云服务的原理和实践方法,提高利用云计算来解决问题与对软件进行测试的能力。
本书是一本前沿技术与工程实践紧密结合的优秀教材。全书以云服务测试为核心,系统地介绍了基础理论、测试方法与实践案例,内容全面且层次分明。书中融入了华为在云服务测试领域的丰富经验,尤其是CodeArts TestPlan等工具的实战应用,为学生提供了真实的行业视角。本书非常适合作为高等院校软件工程专业的教材,不仅能帮助学生掌握软件测试的基本原理,还能培养学生解决复杂产品测试问题的能力。特此推荐! —— 戚正伟 上海交通大学教授本书将经典软件测试方法与云服务技术深度融合,从基础原理到云服务专项测试,构建了系统的学习路径;本书的案例也与时俱进,极具代表性。此外,本书采用“理论-工具-实践”三位一体的编写范式,通过大量来自企业一线的工程案例和测试专家的实战经验,有效搭建了从课堂教学到工程应用的桥梁,为同类教材的编写提供了范本。—— 李必信 东南大学教授本书真实再现了产品测试的全流程场景,堪称 “实战指南”。从测试需求分析开始,到自动化测试实施的各个环节,都融入了华为云测试团队的实战经验。本书不仅适合作为高校人才培养的教材,还适合作为从事产品测试工作的技术人员的参考读物。—— 徐峰 华为云PaaS服务产品部部长本书创新性地将传统测试理论与云测试相结合,代表了当今云测试领域的前沿水平。书中贯穿了CodeArts测试平台的实践案例,为读者提供了宝贵的行业洞见。本书国际化视野和本地化实践相结合的特点尤为突出,非常适合中国高校的教学需求,其核心内容对全球软件测试教育也具有重要参考价值。强烈推荐给所有关注云测试发展的专业人士。 —— 闫守孟 蚂蚁密算CTO,蚂蚁技术研究院计算系统实验室主任
前 言随着云计算技术的快速发展和广泛应用,云服务已经成为现代信息系统的核心组成部分。然而,由于云服务的复杂性和高度动态性,云服务测试的质量和性能成为一个重要的挑战。本书以系统地介绍云服务测试的基本原理和实践方法为目标,旨在帮助读者全面掌握云服务测试的理论基础和实践方法。希望本书能够帮助读者加深对云服务测试的理解,培养读者软件开发全过程的安全意识,为读者的学业或职业生涯带来新的突破。本书分为基础篇和实践篇两部分。基础篇介绍云服务测试相关概念和方法。第1章介绍云服务与微服务的基本概念,同时介绍了两者之间的关系以及面对的挑战和解决方案。第2章介绍极限编程技术,包括快速迭代开发、团队协作和沟通、质量保障和风险管理、扩展应用和实践等,为读者奠定全面了解和掌握极限编程的基础。第3章详细介绍了软件测试基本原理,包括软件测试基础知识、软件需求与测试用例设计、黑盒测试与白盒测试技术等。读者通过学习这些软件测试基本原理,能够更好地学习后面的云服务测试方法。实践篇主要介绍云服务测试的具体实践应用,深入浅出地讲解云服务测试相比于普通测试的优势与缺陷。第4章介绍大规模测试管理,包括全生命周期追溯、团队多角色协作、敏捷测试、需求驱动测试和大规模测试管理实践案例。第5章介绍启发式测试策略与设计,包括根据需求分解测试场景、根据场景分解测试点、根据测试点生成草稿用例、形成整体测试方法和启发式测试策略与测试设计实践案例。第6章为测试执行,介绍功能测试实践、性能测试实践、可靠性和可用性测试实践、韧性测试实践、混沌/拨测等测试实践和测试执行实践案例。第7章为测试自动化,包括自动化测试概述、自动化测试流程和注意事项、自动化单元测试、自动化接口测试以及自动化UI测试。第8章为测试分析与评估,介绍了商用特性评估实践、产品商用评估实践、缺陷分析与管理实践、测试质量看板与质量评估实践案例。在本书的编写过程中,我们力求简明扼要地介绍云服务测试的各个方面,并结合实际案例详细进行讲解。希望通过本书的学习,读者能够全面掌握云服务测试的基本原理和实践方法,提高利用云服务来解决问题与对软件进行测试的能力,为软件行业的发展贡献力量。在此,我们要感谢华为云部门的大力支持,感谢夏青山、张运林、吴宇、李铂宇、郝毅等参与了本书的编写工作,感谢宿敏、万锐媛等测试专家的指导。同时,西北工业大学林丽丹、张永杰、苏涟漪以及扬州大学李天赐、翁诗雨、任涛、屈奕繁、姚晨等同学也参与了本书的编写工作,特别是李天赐同学进行了全书的统稿和校对,在此对以上同学表示感谢。另外,本书编写中借鉴了国内外一些学者的优秀研究成果,在此向他们表示诚挚的感谢和敬意!由于编者水平有限,书中难免存在疏漏,恳请读者批评指正,我们期待与您共同探讨和进步。编者
西北工业大学软件学院副教授、博士生导师。CCF高级会员,软件工程,系统软件、形式化方法专委会执行委员。主持、参与国家863,973、国家自然重大仪器项目,国家自然重点基金、国家重点研发项目等项目8项。主持多项航空、航天、中电,兵器研究所合作项目。在TOSEM,TSE,ICSE,FSE,软件学报等软件工程领域的顶会顶刊上发表论文80余篇,专利申请授权12项。主讲的《软件测试》课程在学堂在线、爱课程上选为精品课程,选课人数超过四万人。主讲的软件测试线上课程于2016年获首批国家级慕课立项,2017年上线“学堂在线”,2018年上线“中国大学慕课”,2019年获陕西省精品线上课程(金奖),2020年入选CMOOC联盟,2022年上线国家“智慧高校”平台。软件测试线上课程开课以来,选课人数超四万人。软件测试线上课程入选“西北工业大学一流本科课程”。软件测试实践教育模式改革获得“西北工业大学新工科建设经典案例”。主编的软件测试(慕课版)第二版获得工信部十四五规划教材,销售超过15600本,被复旦大学,上海交大等超过五十所学校选为教材。以实践育人为宗旨,深化实践教学改革,培养高质量应用型人才。主持西北工业大学教改项目4项,积极探索“五位一体”的软件测试研究生一流课程建设方法。本科生软件工程课程培养采用校企融合的软件工程实践教学方法,获国家教学成果奖二等奖。研究生培养课程大数据方向下的高级软件测试入选产学研协同育人项目。以赛促学,提高学生实践应用能力,共指导本科生和研究生参与7类高水平学科竞赛,获得专业竞赛国际一等奖1项,特等奖5项,国家一等奖10项,省级以上奖项超过200项。
目 录前言基础篇第1章 云服务与微服务 21.1 云服务 21.1.1 云计算基础 21.1.2 云服务模型 31.1.3 云服务的优势 41.1.4 云服务的核心功能 51.1.5 华为云和CodeArts 71.2 微服务 91.2.1 微服务架构的特点 91.2.2 微服务架构的优势 111.2.3 微服务架构的挑战 151.3 云服务与微服务的关系 151.3.1 云服务为微服务提供基础设施 161.3.2 微服务支持云原生应用 181.3.3 云服务与微服务的挑战与解决方案 191.4 小结 221.5 习题 22第2章 极限编程 232.1 极限编程的定义与起源 232.2 极限编程的核心原则 232.3 采用极限编程的原因 242.4 快速迭代开发 252.4.1 计划与迭代 252.4.2 用户故事 262.4.3 快速反馈和持续集成 272.5 团队协作和沟通 272.5.1 团队协作和常见角色定义 282.5.2 简单设计和持续改进 292.5.3 开放沟通和信息共享 302.6 质量保障和风险管理 312.6.1 质量保障和测试策略 322.6.2 风险管理和迭代计划 322.7 扩展应用和实践 332.7.1 过程改进和团队反思 342.7.2 极限编程实践在实际项目中的应用 342.7.3 极限编程的挑战和注意事项 352.8 小结 362.9 习题 36第3章 软件测试基本原理 373.1 软件测试基础知识 373.1.1 软件测试的目标 373.1.2 软件测试的分类 383.1.3 软件测试的原则 393.1.4 软件测试生命周期 393.1.5 软件测试和质量保证 403.2 软件需求与测试用例设计 413.2.1 软件需求分析与规约 413.2.2 测试用例设计原则 423.3 黑盒测试技术 423.3.1 等价类划分 433.3.2 边界值分析 463.3.3 错误推测 493.3.4 因果图 503.4 白盒测试技术 523.4.1 程序控制流图 523.4.2 语句覆盖 543.4.3 分支覆盖 563.4.4 条件覆盖 573.4.5 路径覆盖 583.4.6 基本路径测试 583.5 小结 603.6 习题 61实践篇第4章 大规模测试管理 644.1 全生命周期追溯 644.1.1 测试生命周期管理 644.1.2 需求追溯 664.1.3 设计追溯 664.1.4 开发追溯 674.1.5 缺陷追溯 684.1.6 审计和验证 694.2 团队多角色协作 704.2.1 角色定义 704.2.2 解决开发、测试的协作问题 704.2.3 沟通与协调 734.2.4 团队文化与价值观 744.2.5 协作工具与平台 744.3 敏捷测试 754.3.1 敏捷测试的定义、原则和特点 754.3.2 敏捷测试的方法和实践 764.3.3 敏捷测试团队的角色和责任 774.3.4 敏捷测试工具和自动化支持 774.3.5 敏捷测试的优势和挑战 794.4 需求驱动测试 814.4.1 需求定义与分析 814.4.2 测试规划与设计 814.4.3 测试执行与管理 824.4.4 测试评估与验证 824.4.5 需求变更管理 834.5 大规模测试管理实践案例 844.6 小结 884.7 习题 88第5章 启发式测试策略与设计 895.1 根据需求分解测试场景 895.1.1 需求分析与关键功能确定 895.1.2 基于需求新建思维导图 915.1.3 根据需求进行场景设计 935.2 根据场景分解测试点 945.2.1 场景描述 955.2.2 测试点分类 955.2.3 基于场景进行测试点设计 965.3 根据测试点生成草稿用例 975.3.1 确定测试点和目标 975.3.2 编写用例模板 985.3.3 设计草稿用例 985.3.4 生成草稿用例 1005.3.5 测试用例编写规范 1025.4 形成整体测试方法 1045.4.1 汇总测试点和草稿用例 1045.4.2 归档为测试用例 1055.4.3 测试计划 1065.4.4 测试策略 1115.5 启发式测试策略与测试设计实践案例 1135.6 小结 1175.7 习题 117第6章 测 试 执 行 1196.1 功能测试实践 1196.1.1 功能总览 1196.1.2 功能操作流程 1206.2 性能测试实践 1326.2.1 性能测试简介 1336.2.2 PerfTest应用场景 1346.2.3 约束与限制 1366.3 可靠性和可用性测试实践 1376.3.1 可靠性安全设计 1376.3.2 双向追溯链测试 1386.3.3 用户体验测试 1396.3.4 可访问性测试 1396.4 韧性测试实践 1406.4.1 服务韧性特性 1406.4.2 稳定性测试 1406.4.3 故障恢复测试 1416.5 混沌/拨测等测试实践 1426.5.1 搭建异常环境 1426.5.2 执行故障情况测试 1436.5.3 测试结果分析 1436.6 测试执行实践案例 1446.6.1 手工测试执行 1446.6.2 接口自动化测试执行 1476.6.3 性能自动化测试执行 1516.7 小结 1546.8 习题 154第7章 测试自动化 1557.1 自动化测试概述 1557.1.1 什么是自动化测试 1567.1.2 自动化测试的优势和局限性 1567.1.3 自动化测试的分类方式 1577.2 自动化测试流程和注意事项 1587.2.1 自动化测试的具体流程 1587.2.2 自动化测试流程中的注意事项 1597.3 自动化单元测试 1607.3.1 自动化单元测试需求收集与分析 1607.3.2 自动化单元测试设计 1617.3.3 自动化单元测试实现 1617.4 自动化接口测试 1637.4.1 自动化接口测试需求收集与分析 1647.4.2 自动化接口测试设计 1657.4.3 自动化接口测试实现 1667.5 自动化UI测试 1727.5.1 自动化UI测试需求收集与分析 1727.5.2 自动化UI测试设计 1727.5.3 自动化UI测试实现 1737.6 小结 1737.7 习题 174第8章 测试分析与评估 1758.1 商用特性评估实践 1758.1.1 定价模型评估 1758.1.2 可定制性评估 1768.1.3 可扩展性和弹性评估 1778.1.4 服务级别协议评估 1778.1.5 技术支持和客户服务能力评估 1788.2 产品商用评估实践 1788.2.1 市场需求评估 1798.2.2 产品定位评估 1798.2.3 商业模式评估 1808.2.4 市场推广策略评估 1818.3 缺陷分析与管理实践 1828.3.1 缺陷识别与记录 1828.3.2 缺陷分类与优先级评估 1838.3.3 缺陷解决与验证 1838.3.4 缺陷跟踪与管理 1848.3.5 缺陷分析与报告 1848.4 测试质量看板与质量评估实践案例 1858.4.1 测试质量看板 1858.4.2 测试质量评估 1878.5 小结 1908.6 习题 191参考文献 192