51Testing独家连载:京东系统质量保障技术实战

发表于:2017-11-02 16:45

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:商城研发POP平台    来源:电子工业出版社

分享:
  【编辑推荐】
  “质量保障”贯穿本书始终,也是本书的灵魂之所在。本书从完善的业务质量保障流程制定,到前后端自动化测试框架的搭建,从代码扫描使质量保障前置,到持续集成的逐步落地,从测试环境的集中化管理,到安全测试理论及安全工具的使用,从数据化的精细团队管理到以人为本的团队提升策略应用,都是本书所关注的内容。
  【前言】
  背景
  本书成书之时,正值京东618年中大促之际,一场红色的备战浪潮牵动着线上线下的每一个京东人。六月的经海路(京东集团总部所在地),即使在凌晨依旧车水马龙,热闹非凡,每一盏亮起的明灯都在述说着京东人奋斗的故事,每一个在此奋斗的兄弟姐妹都承载着为大促保障的荣耀使命。笔者所在质量保障团队已经不知经历了多少次这样紧张刺激的奋战,此时用户的每一次点击都牵动着质量保障人员的心,保障系统稳定地为客户提供服务是我们始终不移的追求。
  全面
  质量保障体系的搭建,是一个复杂且长久的过程,是在千百次实践中不断打磨并积累出来的。因此本书着重体现“实战”性,向读者展示真实电商系统保障技术的实践经验,内容涵盖了POP测试与质量管理团队工作的各个方面:主要包含业务质量保障介绍、SOA架构下的软件质量保障、自动化测试实战、测试环境管理实战、持续集成及持续代码扫描工程实践实战、质量保障工具开发实战、Web安全测试技术实战及质量团队管理实战等。笔者列举大量详实的案例从质量保障的各个维度进行了深入介绍,相信不论读者身处质量保障团队的何种角色,都能够在本书中找到对自己有益的知识或经验。
  致谢
  本书从选题到定稿都得到了公司领导及编委会成员的大力支持,大家在工作之余将各自在质量保障实践中最具代表性的案例选取出来并经过编委会评审后作为本书的实战案例向大家分享,感谢编委会成员的辛勤付出,同时感谢所有参与本书创作的人员。本书的精彩源于你们辛勤的付出与智慧的结晶。
  商城研发POP平台
  作者序言:
  质效合一,构建全程质量保障机制
  商城研发POP平台负责人王彪
  京东十三年,风华正茂。刚刚过去的618大促,已经由京东的生日演变成了一个全民购物狂欢节。“技术引领、正道成功”是2017年618的主题,更是未来京东长期坚持的战略。随着业务的高速发展,京东的系统越来越多,架构也越来越复杂。如何在业务高速增长的过程中做好系统的质量保障工作,是我们需要解决的难题。正是京东人不断拼搏的精神一直鼓舞着我们去不断尝试与探索,逐渐在系统研发过程中实现了质量与效率的双重保障。
  在传统的系统研发过程中需要投入大量的测试资源,并且经过较长的时间才能够完成质量保障工作。而互联网企业要求快速的响应变化,那就必须缩短交付周期。这时候持续集成和自动测试就能够很好地发挥其作用。通过质量过程的前置,在软件开发阶段就能够通过自动代码扫描来尽早发现代码中的缺陷,从而保障开发阶段的系统质量。到了提交测试阶段,又可以通过持续的自动化测试来极大节省手工测试的时间成本,并且能够及时反馈结果,从而让研发团队成员在第一时间了解到系统的质量情况,并不断优化调整。系统部署上线后,还可以通过自动化的核心功能验证来确保交付给用户使用的系统是一个高质量的系统。经过这样全流程的系统质量保证过程,不但实现了快速交付,而且很好地保障了系统质量。
  整套质量保障体系的形成,是质量团队在成熟的理论基础上结合工作中系统不断快速迭代的特征,并通过大量的实践与总结,最终建立起来的。当然,所有的体系和方法都不是一成不变的,要随着业务和技术复杂度的变化而不断去调整和优化,期望本书中介绍的一些关于质量保障的实践和方法能够给广大读者提供一些思路和启发。
  【目录】
  第1章业务质量保障介绍 1
  1.1 电商行业项目的特点 2
  1.2 测试流程中的重点工作 3
  1.2.1 测试前的工作 3
  1.2.2 测试中的工作 6
  1.2.3 上线后的工作 10
  1.3 小结 10
  第 2 章 SOA 架构下的软件质量保障 11
  2.1 功能模块测试 12
  2.1.1 接口测试 12
  2.1.2 接口自动化测试 14
  2.1.3 UI 测试 15
  2.1.4 UI 自动化测试 16
  2.2 联调测试 17
  2.2.1 联调测试的意义 17
  2.2.2 如何开展联调测试 17
  2.3 小结 19
  第 3 章 自动化测试实战 20
  3.1 WebUI 实战 21
  3.1.1 Selenium 21
  3.1.2 PageFactory 26
  3.1.3 构建一款基于 Selenium 的易用 WebUI 框架 30
  3.2 接口测试实战 32
  3.2.1 HTTP 接口实战 32
  3.2.2 自研 RPC 接口实战 34
  3.2.3 一款简单易用的接口测试框架 35
  3.3 Mock 实战 39
  3.3.1 对象 Mock 实战 39
  3.3.2 接口 Mock 实战 40
  3.4 分层测试的思考 42
  3.4.1 分层测试的理解 42
  3.4.2 京东怎么做分层测试 43
  3.4.3 收益可视化 44
  3.5 小结 45
  第 4 章 测试环境管理 46
  4.1 软件构建工具介绍及使用 47
  4.1.1 Ant 47
  4.1.2 Maven 49
  4.1.3 Gradle 52
  4.1.4 Jenkins 54
  4.2 互联网系统运行环境及软件介绍 55
  4.2.1 Nginx 55
  4.2.2 Docker 56
  4.3 测试环境分层 57
  4.4 测试环境搭建 59
  4.5 测试环境自动化运维 62
  4.5.1 测试环境管理平台 62
  4.5.2 测试服务器管理 65
  4.5.3 稳定环境每日自动部署 65
  4.5.4 日常测试自动部署 67
  4.6 小结 69
  第 5 章 持续集成实践 70
  5.1 持续集成介绍 71
  5.1.1 持续集成的起源与发展 71
  5.1.2 持续集成常用工具 73
  5.2 为什么要做持续集成 73
  5.2.1 避免集成地狱 74
  5.2.2 如何做到快速交付 74
  5.3 如何实施持续集成 75
  5.3.1 从零开始构建持续集成 76
  5.3.2 持续集成演进 77
  5.3.3 工程师文化的重要性 80
  5.3.4 持续集成流程优化 80
  5.3.5 小团队的成功因素 81
  5.3.6 规模化实施持续集成的一些困境 81
  5.3.7 分步骤实现持续集成 82
  5.4 小结 82
  第 6 章 持续代码扫描实践 83
  6.1 如何构建高质量的软件系统 84
  6.1.1 质量是测试出来的吗 84
  6.1.2 关注开发质量 85
  6.1.3 测试人员如何参与代码评审 86
  6.1.4 常见代码扫描工具介绍 87
  6.2 从 0 到 1 实现持续代码扫描 89
  6.2.1 SonarQube 的应用 89
  6.2.2 从最简单的维度开始关注代码质量 92
  6.2.3 测试人员的职责扩展 94
  6.2.4 小团队的优秀案例 94
  6.3 基于 SonarQube 的持续代码扫描方案演进 95
  6.3.1 大规模应用代码扫描遇到的一些瓶颈 95
  6.3.2 由人工驱动向技术驱动的转变 96
  6.3.3 由目标驱动向以服务研发为主的转变 97
  6.3.4 由统一化向多样化的转变 97
  6.3.5 规模化持续代码扫描的成功案例 98
  6.4 小结 98
  第 7 章 质量保障工具开发实战 99
  7.1 质量保障工具开发技术栈 100
  7.1.1 建站(Spring+SpringMVC+MyBatis+Velocity+JQuery+
  Bootstrap) 100
  7.1.2 Spring 100
  7.1.3 Spring MVC 103
  7.1.4 MyBatis 107
  7.1.5 前端技术 112
  7.1.6 框架搭建 119
  7.2 如何快速构建一个质量保障工具 124
  7.2.1 需求调研 124
  7.2.2 设计 127
  7.2.3 任务管理 131
  7.2.4 效果度量 135
  7.3 小结 136
  第 8 章 Web 安全测试技术实战 138
  8.1 Web 安全概述 139
  8.2 客户端绕过实战 139
  8.2.1 HTML 绕过 139
  8.2.2 URL 参数绕过 141
  8.2.3 Http-Cookie 绕过 142
  8.2.4 隐藏表单绕过 143
  8.3 SQL 注入(SQL Injection)实战 144
  8.3.1 注入原理剖析 144
  8.3.2 注入产生条件 147
  8.3.3 注入方法实战 148
  8.3.4 Java+JDBC 代码注入检测 149
  8.3.5 MyBatis 框架代码注入检测 151
  8.3.6 手工注入实战渗透 151
  8.3.7 工具注入实战渗透 159
  8.3.8 注入预防措施 163
  8.4 文件上传实战 165
  8.4.1 解析漏洞 165
  8.4.2 上传渗透实战 167
  8.5 跨站脚本攻击(XSS) 170
  8.5.1 XSS 概述 170
  8.5.2 XSS 原理分析 170
  8.5.3 XSS 类型分类 172
  8.5.4 探测方法实战 172
  8.5.5 工具实战演练 176
  8.5.6 BEEF 平台实战攻击利用 177
  8.5.7 XSS 防御措施 180
  8.6 跨站请求伪造(CSRF) 183
  8.6.1 CSRF 原理分析 183
  8.6.2 CSRF 预防 183
  8.7 小结 184
  第 9 章 测试团队管理实战 185
  9.1 测试流程制定与效率提升 186
  9.1.1 测试流程的制定 186
  9.1.2 工作流程的推行 187
  9.1.3 流程优化与提效 188
  9.2 打造一支靠谱的团队 188
  9.2.1 时刻让团队清楚目标 189
  9.2.2 目标的衡量 190
  9.2.3 目标达成的核心所在 191
  9.2.4 言行合一,数据说话 192
  9.2.5 互信合作,分享共赢 193
  9.2.6 团队文化与正能量打造 194
  9.3 团队成长 195
  9.3.1 改变团队的行为习惯 195
  9.3.2 建立团队技能模型 197
  9.3.3 建立团队分享机制 200
  9.3.4 业务能力提升 201
  9.3.5 技术能力提升 202
  9.3.6 有效利用绩效这把利剑 202
  9.4 团队管理漫谈 203
  9.4.1 团队管理要“千人千法” 204
  9.4.2 承认不足,方能更近一步 205
  9.4.3 关于问责 206
  9.5 小结 208
  【书评】
  当软件研发处在快速迭代、持续交付的时代,只有质量保障体系成为坚强后盾,才能助研发一臂之力,而不是让质量成为瓶颈。京东POP 平台质量团队给我们呈现的《京东系统质量保障技术实战》一书乃雪中送炭。本书不仅在自动化测试、CI、持续静态分析、安全性测试等各个方面分享团队的实战经验和优秀实践,而且强调全过程的质量保障和团队协作,理顺测试流程,突出基于接口的测试和分层测试,将需求管理、开发、测试、环境维护等融为一体,相信这是一本难得的好书。
  ——同济大学软件学院教授 知名软件质量专家 朱少民
  这本书来自京东测试人的实践、思考与创新。我在阅读此书时,感觉像是有多位资深“老司机”带路,他们带我领略电商测试之博大精深。在电商测试领域中,他们不断摸索、沉淀、反思,并把精华集结成书。这本书能够帮助工程师提升Devops 意识,帮助公司建立质量文化,是近年来测试领域难得的实践派之佳作。
  ——品友互动CTO 欧阳辰
  本书作者以亲身经历的电商行业项目为例,介绍了项目各个阶段质量保障的实战经验,不仅有详尽的软件测试和持续交付相关技术,还有团队管理方面的内容,是一套非常全面的项目质量保障方案,值得软件质量保障人员借鉴和学习。
  ——ThoughtWorks 中国QA Lead BQConf 负责人 林冰玉


51Testing软件测试网将在近期对本书部分章节进行独家连载,敬请关注

查看更多《51Testing软件测试网作品系列》书籍:http://www.51testing.com/html/36/category-catid-136.html

22/2<12
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号