发表于2024-11-23
“质量保障”贯穿本书始终,也是本书的灵魂之所在。本书从完善的业务质量保障流程制定,到前后端自动化测试框架的搭建,从代码扫描使质量保障前置,到持续集成的逐步落地,从测试环境的集中化管理,到安全测试理论及安全工具的使用,从数据化的精细团队管理到以人为本的团队提升策略应用,都是本书所关注的内容。
在互联网飞速发展的今天,系统的复杂度及迭代速度都在不断提升,这对质量保障工作提出巨大挑战。那么如何在快速迭代发布下保障系统质量呢?阅读《京东系统质量保障技术实战》或许会找到一些答案。《京东系统质量保障技术实战》由京东商城研发 POP 平台—测试与质量管理团队倾力打造,开篇从基础业务测试、测试过程管理及 SOA 架构下的软件测试等基本质量保障内容入手,逐步展开讨论了自动化测试、测试环境管理等提升质量保障效能的实践内容,实现将质量保障从手工测试推向自动化的进阶。《京东系统质量保障技术实战》中间篇章聚焦于持续集成及静态代码扫描实战经验的总结和质量保障提效工具的开发实践。此外,《京东系统质量保障技术实战》还介绍了大量安全测试的实战经验。《京东系统质量保障技术实战》内容的最后部分深入描述了如何有效管理质量团队,从质量保障流程的制定到推行再到优化,从打造靠谱团队到团队成长等方面来向读者分享管理团队过程中这些必须面对的问题。《京东系统质量保障技术实战》内容涉猎广泛以实战为主线, 是近年来质量保障领域不可多得的图书, 适合关心互联网质量保障领域技术及发展的各类读者。
商城研发POP平台部专注于POP开放平台的系统建设,致力于为京东第三方商家提供丰富的合作模式、优秀的电商系统和工具,打造健康开放的智慧生态。团队有店铺运营、市场营销、数据产品经理等方面的资深专家。他们熟悉京东开放平台营销工具,有丰富的电商运营经验,致力于运用全平台营销的方法和理念指导店铺运营,提高运营效率,提升店铺业绩和服务水平。
当软件研发处在快速迭代、持续交付的时代,只有质量保障体系成为坚强后盾,才能助研发一臂之力,而不是让质量成为瓶颈。京东POP 平台质量团队给我们呈现的《京东系统质量保障技术实战》一书乃雪中送炭。本书不仅在自动化测试、CI、持续静态分析、安全性测试等各个方面分享团队的实战经验和优秀实践,而且强调全过程的质量保障和团队协作,理顺测试流程,突出基于接口的测试和分层测试,将需求管理、开发、测试、环境维护等融为一体,相信这是一本难得的好书。
——同济大学软件学院教授 知名软件质量专家 朱少民
这本书来自京东测试人的实践、思考与创新。我在阅读此书时,感觉像是有多位资深“老司机”带路,他们带我领略电商测试之博大精深。在电商测试领域中,他们不断摸索、沉淀、反思,并把精华集结成书。这本书能够帮助工程师提升Devops 意识,帮助公司建立质量文化,是近年来测试领域难得的实践派之佳作。
——品友互动CTO 欧阳辰
本书作者以亲身经历的电商行业项目为例,介绍了项目各个阶段质量保障的实战经验,不仅有详尽的软件测试和持续交付相关技术,还有团队管理方面的内容,是一套非常全面的项目质量保障方案,值得软件质量保障人员借鉴和学习。
——ThoughtWorks 中国QA Lead BQConf 负责人 林冰玉
第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
1.1电商行业项目的特点
近年来,中国电子商务蓬勃发展,电子商务与日常百姓生活关系越来越密切,购物消费、上门服务、订购机票、预订酒店、旅游门票、手机充值等覆盖了生活的方方面面。笔者一直在电子商务类公司做软件质量团队的相关管理工作,参与了不少电商项目的测试。下面笔者根据观察到的一些现象,站在测试的角度对电商行业项目的特点进行如下总结。
(1)注重易用性
电子商务作为市场热门行业,激烈的市场竞争是必须面对的事实。大家都想吸引更多的用户,对于用户而言方便易用的软件更受欢迎。软件的易用性是软件质量中重要的特性,简单地说就是用户在使用过程中是否感觉方便舒适。在2003年颁布的GB/T16260-2003(ISO9126-2001)《软件工程产品质量》质量模型中,提出易用性包含易理解性、易学习性和易操作性。关于易用性,在具体的项目测试中我们通常首先要关注UI(用户界面,UserInterface)。用户在接触软件时首先看到的就是UI,为了给用户留下良好的第一印象,重要系统都有自己的UI规范,其定义了界面细致的标准,如导航、表单、表格、标签、按钮、翻页、进度条、文字错误提示等。除了符合规范,我们还要关注是否舒适直观、洁净、不唐突。易用性方面还要关注产品功能是否容易理解,操作是否简单不繁杂等。在实际项目中,这些内容往往是产品部门的同事做的工作比较多,但是作为测试工程师在测试过程中要有这方面的意识。
(2)注重安全性
据统计,电商企业在营销过程中,有90%的客户会因为缺乏安全感和对网络信任度低而流失,安全问题是电子商务的核心问题。据2016年京东财报显示,京东年度活跃用户数已经达到2.266亿,如此庞大的用户量如果安全没有保障,则将带来巨大的损失。京东有专门的网络安全团队,对重要系统上线前都会进行安全扫描,也会定期对线上运行的系统进行安全检查。如果发现有安全漏洞,则会第一时间联系对应系统负责人解决处理。但是京东的系统和业务数量非常庞大,有些业务上的业务质量保障介绍安全问题全部依靠有限的安全部门同事检查并不够。所以在各系统功能测试阶段,测试工程师需要首先进行一轮安全测试。
(3)项目周期短,需求变化快
在传统的软件项目中,需求一般是十分确定的,交付时只要与需求一致即可,往往采用瀑布模式,项目周期相对较长。电子商务行业作为市场热门行业,激烈的市场竞争是必须面对的事实。电子商务项目相比传统项目需求变化快,当一个需求提出后,如果项目周期太长,那么交付时可能已经不适用当前的环境了。所以一个需求或项目从提出到上线交付根据功能复杂程度一般周期为几天到几个月。作为测试工程师在保障软件质量的同时应尽力通过技术和工作方法提高效率,缩短测试时间从而缩短整个项目的周期。
……
背景
本书成书之时,正值京东618年中大促之际,一场红色的备战浪潮牵动着线上线下的每一个京东人。六月的经海路(京东集团总部所在地),即使在凌晨依旧车水马龙,热闹非凡,每一盏亮起的明灯都在述说着京东人奋斗的故事,每一个在此奋斗的兄弟姐妹都承载着为大促保障的荣耀使命。笔者所在质量保障团队已经不知经历了多少次这样紧张刺激的奋战,此时用户的每一次点击都牵动着质量保障人员的心,保障系统稳定地为客户提供服务是我们始终不移的追求。
全面
质量保障体系的搭建,是一个复杂且长久的过程,是在千百次实践中不断打磨并积累出来的。因此本书着重体现“实战”性,向读者展示真实电商系统保障技术的实践经验,内容涵盖了POP测试与质量管理团队工作的各个方面:主要包含业务质量保障介绍、SOA架构下的软件质量保障、自动化测试实战、测试环境管理实战、持续集成及持续代码扫描工程实践实战、质量保障工具开发实战、Web安全测试技术实战及质量团队管理实战等。笔者列举大量详实的案例从质量保障的各个维度进行了深入介绍,相信不论读者身处质量保障团队的何种角色,都能够在本书中找到对自己有益的知识或经验。
致谢
本书从选题到定稿都得到了公司领导及编委会成员的大力支持,大家在工作之余将各自在质量保障实践中最具代表性的案例选取出来并经过编委会评审后作为本书的实战案例向大家分享,感谢编委会成员的辛勤付出,同时感谢所有参与本书创作的人员。本书的精彩源于你们辛勤的付出与智慧的结晶。
商城研发POP平台
作者序言:
质效合一,构建全程质量保障机制
商城研发POP平台负责人王彪
京东十三年,风华正茂。刚刚过去的618大促,已经由京东的生日演变成了一个全民购物狂欢节。“技术引领、正道成功”是2017年618的主题,更是未来京东长期坚持的战略。随着业务的高速发展,京东的系统越来越多,架构也越来越复杂。如何在业务高速增长的过程中做好系统的质量保障工作,是我们需要解决的难题。正是京东人不断拼搏的精神一直鼓舞着我们去不断尝试与探索,逐渐在系统研发过程中实现了质量与效率的双重保障。
在传统的系统研发过程中需要投入大量的测试资源,并且经过较长的时间才能够完成质量保障工作。而互联网企业要求快速的响应变化,那就必须缩短交付周期。这时候持续集成和自动测试就能够很好地发挥其作用。通过质量过程的前置,在软件开发阶段就能够通过自动代码扫描来尽早发现代码中的缺陷,从而保障开发阶段的系统质量。到了提交测试阶段,又可以通过持续的自动化测试来极大节省手工测试的时间成本,并且能够及时反馈结果,从而让研发团队成员在第一时间了解到系统的质量情况,并不断优化调整。系统部署上线后,还可以通过自动化的核心功能验证来确保交付给用户使用的系统是一个高质量的系统。经过这样全流程的系统质量保证过程,不但实现了快速交付,而且很好地保障了系统质量。
整套质量保障体系的形成,是质量团队在成熟的理论基础上结合工作中系统不断快速迭代的特征,并通过大量的实践与总结,最终建立起来的。当然,所有的体系和方法都不是一成不变的,要随着业务和技术复杂度的变化而不断去调整和优化,期望本书中介绍的一些关于质量保障的实践和方法能够给广大读者提供一些思路和启发。
京东系统质量保障技术实战 下载 mobi pdf epub txt 电子书 格式 2024
京东系统质量保障技术实战 下载 mobi epub pdf 电子书发货快,产品很不错,派件员态度很好!
评分非常不错的一本书,值得一读,京东物流快!
评分很薄的书,技术图书价格高些,支持一下!
评分很好好好,值得拥有,下次再来
评分货品很好啊,物流也很快!
评分折扣买的,很好,很实惠!!!快递小哥很好,每次在家时间送,门口结果方便!会持续买下去
评分送货很快 包装的很好 买书一直都在京东上 非常好 价格也划算
评分物流很快,买了还没看,看完再来评价
评分还不错啦,做活动买的,便宜呢
京东系统质量保障技术实战 mobi epub pdf txt 电子书 格式下载 2024