由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
[正版]测试工程师全栈技术进阶与实践 茹炳晟著 架构师理念技术GUI自动化测试原理 软件测试自动化移动应用测试数据基础
¥ ×1
店铺公告
为保障消费者合理购买需求及公平交易机会,避免因非生活消费目的的购买货囤积商品,抬价转售等违法行为发生,店铺有权对异常订单不发货且不进行赔付。异常订单:包括但不限于相同用户ID批量下单,同一用户(指不同用户ID,存在相同/临近/虚构收货地址,或相同联系号码,收件人,同账户付款人等情形的)批量下单(一次性大于5本),以及其他非消费目的的交易订单。
温馨提示:请务必当着快递员面开箱验货,如发现破损,请立即拍照拒收,如验货有问题请及时联系在线客服处理,(如开箱验货时发现破损,所产生运费由我司承担,一经签收即为货物完好,如果您未开箱验货,一切损失就需要由买家承担,所以请买家一定要仔细验货)。
关于退货运费:对于下单后且物流已发货货品在途的状态下,原则上均不接受退货申请,如顾客原因退货需要承担来回运费,如因产品质量问题(非破损问题)可在签收后,联系在线客服。
商品基本信息,请以下列介绍为准 | |
图书名称: | 测试工程师全栈技术进阶与实践 |
作者: | 茹炳晟 |
定价: | 79.00 |
ISBN号: | 9787115513281 |
出版社: | 人民邮电出版社 |
编辑推荐 | |
朱少民、周震漪、周枫,以及百度、阿里、腾讯、字节跳动、eBay、网易、美团、ThoughtWorks、*、谷歌、华为等公司测试专家推荐 极客时间"软件测试52讲-从小工到专家的实战心法"专栏增补版图书 一本适合新时代的合格测试架构师和优秀测试工程师必读的全栈图书,通过阅读本书,你能够有以下收获。 ·深入理解GUI自动化测试的核心原理,能够独立完成GUI自动化测试策略设计,并能够将高效率、低维护成本的测试用例设计思路应用到实际工作中。 ·掌握API测试工具的基本原理和测试方法,能够在微服务项目中应用契约测试方法。 ·掌握移动应用的测试技术与方法,能够将传统的软件测试方法熟练应用到移动应用的测试中,同时掌握移动应用的专项测试方法。 ·全面掌握人工动态、人工静态、自动动态和自动静态这4种代码级测试方法,并且能够从测试架构师的视角完成实际单元测试工作。 ·能够按照书中介绍的思路,设计出符合自己公司需求的测试数据平台,解决准备测试数据方面的难题。 ·掌握前后端性能测试的基本原理和方法,深入理解性能测试各项指标的内在含义,能够掌握基于LoadRunner和JMeter开发并执行企业级性能测试的主要步骤与方法。 ·深入理解测试基础架构的概念,了解大型电商网站的测试基础架构设计技术,并能够有所取舍地应用到项目中。 ·掌握互联网架构设计的核心知识,包括高性能、高可用性、可伸缩性和可扩展性,以便更好地进行测试设计。 ·了解前沿的测试新技术,能够在实际项目中“有的放矢”地应用。 ·初步了解人工智能、大数据和云计算技术在测试领域的应用场景。 |
内容简介 | |
本书全面讲解了软件测试人员必知必会的测试知识、技术和工具。 全书分为12章。第1章和第2章用“用户登录”测试实例,讲解了软件测试基础知识,让读者快速学习关键的基础知识;第3章讲解了GUI测试框架设计、框架在大型电商网站的具体实践,梳理了影响GUI自动化测试稳定性的关键因素,并给出了切实可行的解决方案;第4章介绍了3类移动应用的测试方法与技术,以及如何在移动测试中应用Appium来帮助测试人员更好地实现自动化测试;第5章以循序渐进的方式,讲解了API测试的关键技术、微服务架构下的API测试挑战等;第6章讲解了代码级测试的基础知识、静态测试方法、动态测试方法、静态扫描工具Sonar、单元测试框架TestNG、代码覆盖率工具等内容;第7章和第8章系统地对性能测试的方法以及应用领域进行阐述,并基于LoadRunner讲解大型企业性能测试的规划、设计、实现的具体实例,还介绍了大型互联网产品的全链路压测的行业实践;第9章探讨了测试数据准备的技术,并讨论了很多准备测试数据的新方法;第10章结合主流的DevOps和CI CD,深入剖析了大型互联网企业的测试基础架构设计;第11章和第12章讲解了软件测试新技术,如探索式测试、测试驱动开发、精准测试、渗透测试、基于模型的测试,以及人工智能在测试领域的应用。 本书适合测试人员、开发人员、运维人员、测试经理和软件质量保证人员学习,也可以作为大专院校相关专业师生的学习用书和培训学校的教材。 |
目录 | |
目 录 第 1章 软件测试基础知识精要(上) 1 1.1 从“用户登录”测试谈起 2 1.1.1 功能测试用例 2 1.1.2 更多的测试用例 3 1.1.3 功能性需求与非功能性需求 3 1.1.4 测试的不可穷尽性 5 1.2 设计“好的”测试用例 5 1.2.1 “好的”测试用例的定义 6 1.2.2 “好的”测试用例具备的特征 6 1.2.3 常用测试用例的设计方法 6 1.2.4 “好的”测试用例的设计方法 8 1.2.5 测试用例设计的其他经验 10 1.3 单元测试的基础知识 10 1.3.1 单元测试的定义 10 1.3.2 单元测试的最佳实践 11 1.3.3 单元测试用例详解 12 1.3.4 单元测试在实际项目中的最佳实践 14 1.4 自动化测试的原始驱动力和使用场景 15 1.4.1 自动化测试的基本概念 15 1.4.2 自动化测试的优势与劣势 16 1.4.3 自动化测试的使用场景 17 1.5 软件开发各阶段的自动化测试技术 18 1.5.1 单元测试的自动化技术 19 1.5.2 代码级集成测试的自动化技术 21 1.5.3 Web Service测试的自动化技术 21 1.5.4 GUI测试的自动化技术 24 1.6 测试覆盖率 25 1.6.1 需求覆盖率 25 1.6.2 代码覆盖率 25 1.6.3 代码覆盖率的价值 26 1.6.4 代码覆盖率的局限性 27 1.6.5 关于代码覆盖率的报告 27 1.6.6 代码覆盖率工具的实现技术 29 第 2章 软件测试基础知识精要(下) 31 2.1 高效撰写软件缺陷报告 32 2.1.1 缺陷标题 32 2.1.2 缺陷概述 33 2.1.3 缺陷影响 33 2.1.4 环境配置 33 2.1.5 前置条件 34 2.1.6 缺陷重现步骤 34 2.1.7 期望结果和实际结果 34 2.1.8 优先级和严重程度 34 2.1.9 变通方案 35 2.1.10 根原因分析 35 2.1.11 附件 35 2.2 以终为始,做好测试计划 36 2.2.1 没有测试计划会怎么样 36 2.2.2 测试范围 37 2.2.3 测试策略 37 2.2.4 测试资源 38 2.2.5 测试进度 39 2.2.6 测试风险预估 40 2.3 软件测试工程师的核心竞争力 40 2.3.1 两个实际面试案例 40 2.3.2 传统测试工程师的核心竞争力 41 2.3.3 测试开发工程师的核心竞争力 43 2.4 软件测试工程师需要掌握的非测试知识 44 2.4.1 迷你版的系统架构师 44 2.4.2 网站架构的核心知识 44 2.4.3 容器技术 45 2.4.4 云计算技术 46 2.4.5 DevOps思维 46 2.4.6 前端开发技术 47 2.5 互联网产品的测试策略设计 47 2.5.1 研发流程的不同决定了测试策略的不同 47 2.5.2 传统软件产品的测试策略——金字塔模型 48 2.5.3 互联网产品的测试策略——菱形模型 49 第3章 GUI自动化测试精要 52 3.1 从0到1:GUI自动化测试初探 53 3.1.1 示例:构建一个Selenium自动化测试用例 53 3.1.2 Selenium的实现原理 55 3.2 效率为王:测试脚本和测试数据的解耦 58 3.2.1 测试脚本和测试数据的解耦 59 3.2.2 数据驱动测试 59 3.3 效率为王:页面对象模型 60 3.3.1 早期GUI测试脚本的结构 60 3.3.2 基于模块化思想实现GUI测试用例 61 3.3.3 基于页面对象模型实现GUI测试用例 63 3.4 更接近业务的抽象:让自动化测试脚本更好地描述业务 63 3.4.1 操作函数的粒度把控 63 3.4.2 衔接两个操作函数之间的页面 64 3.4.3 业务流程抽象 64 3.5 过不了的坎:GUI自动化过程中的测试数据 66 3.5.1 基于API调用创建测试数据 67 3.5.2 基于数据库操作创建测试数据 68 3.5.3 综合运用API调用和数据库操作创建测试数据 68 3.5.4 实时创建测试数据 69 3.5.5 事先创建测试数据 69 3.5.6 实时创建测试数据和事先创建测试数据的互补 70 3.6 GUI测试还能这么“玩” 70 3.6.1 自动生成页面对象 70 3.6.2 自动生成GUI测试数据 71 3.6.3 无头浏览器简介 72 3.6.4 Headless Chrome与Puppeteer的使用 73 3.7 精益求精:提高GUI测试稳定性的关键技术 74 3.7.1 非预计的弹出对话框 75 3.7.2 页面控件属性的细微变化 76 3.7.3 被测系统的A B测试 76 3.7.4 随机的页面延迟造成控件识别失败 77 3.7.5 测试数据问题 77 3.8 眼前一亮:带你玩转GUI自动化的测试报告 77 3.8.1 早期基于视频的GUI测试报告 78 3.8.2 开源GUI测试框架的测试报告实现思路 78 3.8.3 全球化GUI测试报告的创新设计 80 3.9 真实的战场:大型全球化项目中GUI自动化测试策略的设计 82 3.9.1 大型全球化电商网站的前端模块划分 82 3.9.2 大型全球化电商网站的GUI自动化测试策略设计 82 3.9.3 大型全球化电商网站的GUI自动化测试脚本管理 85 第4章 移动应用测试技术 87 4.1 移动应用的种类和特点 88 4.1.1 Web应用 88 4.1.2 原生应用 89 4.1.3 混合应用 89 4.2 移动应用测试方法概论 89 4.2.1 Web应用的测试 90 4.2.2 原生应用的测试 90 4.2.3 混合应用的测试 90 4.2.4 移动应用的测试难点 91 4.3 移动应用的专项测试 92 4.3.1 安装测试 92 4.3.2 卸载测试 94 4.3.3 特殊操作测试 95 4.3.4 交互测试 96 4.3.5 通知测试 96 4.3.6 交叉事件测试 96 4.3.7 兼容性测试 97 4.3.8 流量测试 98 4.3.9 耗电量测试 98 4.3.10 弱网络测试 99 4.3.11 边界测试 99 4.4 移动应用测试工具:Appium使用入门 100 4.4.1 移动应用的自动化测试需求 100 4.4.2 iOS开发环境的搭建 101 4.4.3 Android开发环境的搭建 102 4.4.4 Appium测试环境的搭建 103 4.4.5 Appium Inspector的使用 105 4.5 Appium实战(iOS篇) 107 4.5.1 基于iOS开发第 一个原生应用的测试用例 107 4.5.2 基于iOS开发第 一个Web应用的测试用例 110 4.5.3 在iOS真机上执行Web应用测试 111 4.5.4 在iOS真机上执行原生应用测试 114 4.6 Appium实战(Android平台) 114 4.6.1 基于Android模拟器的Web应用测试 114 4.6.2 基于Android真机的Web应用测试 115 4.6.3 Web应用的测试:温故而知新 115 4.6.4 底层自动化驱动引擎 116 4.6.5 基于Android模拟器的原生应用测试 116 4.6.6 基于Android真机的原生应用测试 118 4.6.7 原生应用的测试:温故而知新 119 4.7 Appium的实现原理 120 4.7.1 Appium服务器 120 4.7.2 Appium客户端 121 4.8 企业级移动应用测试框架的设计思路与实践 121 4.8.1 移动应用测试框架的设计思路 121 4.8.2 移动应用测试框架的实现与实践 122 4.9 搭建企业级移动测试私有云的实践 123 4.9.1 基于Selenium Grid的移动测试私有云 124 4.9.2 基于Open STF的移动测试私有云 126 4.10 移动应用云测试服务简介 128 4.10.1 Sauce Labs 128 4.10.2 Testin 129 4.10.3 MTC 131 第5章 API自动化测试技术 132 5.1 从0到1:API测试初探 133 5.1.1 API测试的基本步骤 133 5.1.2 基于Spring Boot构建被测API 133 5.1.3 使用cURL 135 5.1.4 使用Postman 137 5.2 复杂场景的API测试 140 5.2.1 被测业务操作由多个API调用协作完成 141 5.2.2 API测试过程中的第三方依赖 141 5.2.3 异步API的测试 141 5.3 API自动化测试框架的技术演进与创新 142 5.3.1 早期基于Postman的API测试 142 5.3.2 基于Postman和Newman的API测试 142 5.3.3 基于代码的API测试 142 5.3.4 自动生成API测试代码 144 5.3.5 当响应结果发生变化时的自动识别 145 5.4 微服务模式下的API测试 146 5.4.1 单体架构 146 5.4.2 微服务架构 147 5.4.3 微服务架构下的测试挑战 148 5.4.4 基于消费者契约的API测试 150 5.4.5 微服务测试的依赖解耦和模拟服务 151 5.4.6 代码实例 152 第6章 代码级软件测试技术基础与进阶 153 6.1 代码级测试的基本理念与方法 154 6.1.1 常见的代码错误类型 154 6.1.2 代码级测试常用方法 156 6.2 静态测试方法 158 6.2.1 人工静态方法 158 6.2.2 自动静态方法 159 6.2.3 使用自动静态方法的实例 160 6.3 动态测试方法 161 6.3.1 人工动态方法 161 6.3.2 自动动态方法 166 6.4 代码静态扫描工具Sonar的使用 167 6.4.1 基于Sonar的实例 167 6.4.2 SonarLint的使用 170 6.5 单元测试框架TestNG的使用 171 6.5.1 TestNG的基本用法 172 6.5.2 TestNG的高级用法 175 6.6 代码覆盖率工具JaCoCo的使用 177 6.6.1 JaCoCo简介 177 6.6.2 JaCoCo的使用 178 第7章 性能测试基础 180 7.1 不同视角下的软件性能与性能指标 181 7.1.1 终端用户眼中的软件性能 181 7.1.2 系统运维人员眼中的软件性能 182 7.1.3 软件设计开发人员眼中的软件性能 182 7.1.4 性能测试人员眼中的软件性能 184 7.1.5 并发用户数 184 7.1.6 响应时间 185 7.1.7 系统吞吐量 186 7.1.8 并发用户数、响应时间、系统吞吐量之间的关系 187 7.2 常用的性能测试与应用领域 188 7.2.1 常用的7种性能测试 189 7.2.2 性能测试的四大应用领域 192 7.3 后端性能测试工具原理与行业常用工具简介 193 7.3.1 后端性能测试和后端性能测试工具之间的关系 193 7.3.2 后端性能测试工具和GUI自动化测试工具的区别 194 7.3.3 后端性能测试工具的原理 194 7.3.4 后端性能测试场景设计和具体内容 196 7.3.5 业内主流的后端性能测试工具 197 7.4 前端性能测试工具原理 197 7.4.1 Performance TimingAPI 198 7.4.2 Profile工具 200 7.4.3 页面埋点计时 200 7.4.4 资源加载时序图 201 第8章 性能测试实战 202 8.1 前端性能测试工具WebPagetest 203 8.1.1 WebPagetest功能简介 203 8.1.2 使用WebPagetest测试某网站的首页 203 8.1.3 前端性能评估结果评分分析 204 8.1.4 其他前端性能指标解读 210 8.1.5 WebPagetest实际使用中需要解决的问题 212 8.2 后端性能测试主流商业工具LoadRunner 215 8.2.1 LoadRunner的基本原理 216 8.2.2 LoadRunner的主要模块 217 8.2.3 基于LoadRunner的性能测试实战 218 8.3 后端性能测试主流开源工具JMeter 226 8.3.1 JMeter简介 227 8.3.2 JMeter的主要概念 228 8.3.3 JMeter的使用 228 8.4 企业级实际性能测试案例与经验 238 8.4.1 性能基准测试 238 8.4.2 稳定性测试 239 8.4.3 并发测试 240 8.4.4 容量规划测试 240 8.5 大型互联网产品的全链路压测 241 8.5.1 全链路压测的定义 241 8.5.2 单系统的独立压测 242 8.5.3 海量并发请求的发起 242 8.5.4 全链路压测流量和数据的隔离 243 8.5.5 实际业务负载的模拟 244 8.5.6 真实交易和支付的撤销以及数据清理 244 第9章 准备测试数据 245 9.1 准备测试数据的基本方法 246 9.1.1 基于GUI操作生成测试数据 246 9.1.2 通过API调用生成测试数据 247 9.1.3 通过数据库操作生成测试数据 248 9.1.4 综合运用API和数据库生成测试数据 248 9.2 创建测试数据的方法 249 9.2.1 实时创建方法 250 9.2.2 事先创建方法 251 9.2.3 综合运用实时创建方法和事先创建方法 252 9.3 测试数据的“银弹”——统一测试数据平台 252 9.3.1 测试数据准备的1.0时代 253 9.3.2 测试数据准备的2.0时代 256 9.3.3 测试数据准备的3.0时代 258 9.3.4 测试数据准备的4.0时代 260 9.3.5 大数据技术在测试数据准备中的应用 261 第 10章 自动化测试基础架构的建设与实践 262 10.1 从小作坊到工厂:Selenium Grid简介 263 10.1.1 测试基础架构的基本概念 263 10.1.2 早期测试执行环境的问题 263 10.1.3 Selenium Grid简介 264 10.1.4 传统Selenium Grid的搭建方法 265 10.1.5 基于Docker的SeleniumGrid的搭建方法 268 10.2 从小工到专家:测试执行环境架构设计基础 268 10.2.1 测试执行环境概述 269 10.2.2 测试基础架构的设计 270 10.2.3 早期的测试基础架构 270 10.2.4 经典的测试基础架构 271 10.3 从小工到专家:测试执行环境架构设计进阶 272 10.3.1 基于Docker实现的Selenium Grid测试基础架构 272 10.3.2 引入统一测试执行平台的测试基础架构 274 10.3.3 基于Jenkins集群的测试基础架构 275 10.3.4 测试负载自适应的测试基础架构 276 10.3.5 测试基础架构的选择 277 10.4 实战案例:大型全球化电商网站的测试基础架构设计 277 10.4.1 统一测试执行服务 278 10.4.2 统一测试数据服务 279 10.4.3 测试执行环境准备服务 279 10.4.4 被测系统部署服务 279 10.4.5 测试报告服务 280 10.4.6 全局测试配置服务 280 10.4.7 大型全球化电商网站测试基础架构的使用示例 282 第 11章 软件测试新技术 284 11.1 发挥人的潜能——探索式测试 285 11.1.1 软件测试与招聘面试的类比 285 11.1.2 探索式测试的定义 285 11.1.3 探索式测试与即兴测试的区别和联系 287 11.1.4 探索性测试的开展 287 11.2 测试先行——TDD 288 11.2.1 TDD的核心理念 288 11.2.2 TDD的优势 289 11.2.3 TDD的实施过程 290 11.2.4 TDD进阶 294 11.3 打蛇打七寸——精准测试 294 11.3.1 传统软件测试的主要短板 295 11.3.2 精准测试的核心思想 296 11.3.3 精准测试的具体方法 297 11.4 安全第 一——渗透测试 299 11.4.1 渗透测试的定义 299 11.4.2 渗透测试的常用方法 300 11.4.3 执行渗透测试的步骤 301 11.4.4 渗透测试的常用工具 302 11.4.5 渗透测试的收益 303 11.5 用机器设计测试用例——基于模型的测试 303 11.5.1 MBT的基本原理 304 11.5.2 常用模型简介 305 11.5.3 常用MBT工具 305 11.5.4 MBT的优势 306 11.5.5 MBT的劣势 307 11.6 人工智能在测试领域的应用 308 11.6.1 人工智能概述 308 11.6.2 人工智能在软件测试领域的应用 309 11.6.3 基于人工智能的测试工具 310 第 12章 测试人员的互联网架构核心知识 312 12.1 测试工程师掌握大型网站架构知识的必要性 313 12.1.1 基于消息队列的分布式系统测试设计 313 12.1.2 缓存的示例 314 12.1.3 架构知识的学习方法 314 12.2 大型网站架构介绍 315 12.2.1 最简单的网站架构 315 12.2.2 应用和数据分离的网站架构 316 12.2.3 引入本地缓存和分布式缓存的网站架构 316 12.2.4 引入应用服务器集群的网站架构 317 12.2.5 引入主从分离的数据库 317 12.2.6 引入CDN服务器和反向代理服务器的网站架构 318 12.2.7 引入分布式文件系统和分布式数据库系统的网站架构 319 12.2.8 基于业务拆分和消息队列的网站架构 319 12.2.9 基于分布式服务的网站架构 321 12.2.10 微服务架构 321 12.2.11 下一代微服务架构——服务网格 322 12.3 网站高性能架构设计 322 12.3.1 前端的高性能架构 323 12.3.2 后端服务器的高性能架构 323 12.4 网站高可用架构设计 325 12.4.1 造成网站不可用的主要原因 326 12.4.2 网站高可用架构设计 327 12.5 网站可伸缩性架构设计 328 12.5.1 可伸缩性和可扩展性的区别 329 12.5.2 分层的可伸缩性架构 329 12.5.3 应用服务器的可伸缩性设计 330 12.5.4 缓存集群的可伸缩性设计 331 12.5.5 数据库的可伸缩性设计 332 12.6 网站可扩展性架构设计 333 12.6.1 网站可扩展性架构设计的案例 333 12.6.2 事件驱动架构与消息队列 334 12.6.3 引入消息队列后的测试关注点 335 |
作者简介 | |
茹炳晟 硕士,现任Dell EMC资深架构师,负责VxRail产品线的全面质量保障工作。历任eBay中国研发中心测试基础架构技术主管,HP中国研发中心资深测试架构师、性能测试专家,Alcatel-Lucent高级测试主管,Cisco中国研发中心资深测试工程师等职位,具有超过15年的软件测试开发以及管理经验,具有丰富的测试框架设计与自动化测试经验。曾负责建立全球大型电商网站的测试基础架构和和自动化测试方案,主持搭建DevOps持续集成测试生态体系,并负责主导无线路由产品的整体自动化测试方案、金融平台产品SDK测试框架设计、系统开发平台的白盒测试方案、DSP平台自动化测试方案、轨道交通安全软件平台测试、大规模产品链的自动化部署和多个大型电子商务网站的自动化功能测试,API测试与性能测试。作者曾在国际和国内技术期刊发表多篇技术和管理类论文,同时受邀在国际(美国, 俄罗斯, 日本)与国内顶级技术大会(Arch Summit, CNUTCon,Tid, GITC等 )上多次发表软件测试和DevOps相关的技术演讲。另外,茹炳晟还是极客时间“软件测试52讲-从小工到专家的实战心法”的专栏作者。 |
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格