描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121303852
第1章 软件测试的道法术器 //3
一、软件测试之道 //4
二、软件测试之法 //9
三、软件测试之术 //12
四、软件测试之器 //14
第二篇 测试技术 //17
第2章 淘宝性能测试的演化 //19
一、淘宝网性能测试的演变 //20
二、性能测试评估和流程 //22
三、基于云产品的门户网站性能优化案例 //31
第3章 基于图像识别测试手机浏览器打开网页首屏时间的方法 //47
一、首屏加载时间对用户体验至关重要 //48
二、基于图像识别测试手机网页首屏打开时间 //48
三、关于STF的简介 //50
四、Minicap介绍 //51
五、关于流畅程度 //51
六、STF安装依赖的环境 //52
七、STF运行 //53
八、STF的其他特性 //55
九、Sikuli //56
十、Sikuli的安装步骤 //57
第4章 移动APP性能专项分析云实践 //60
一、性能专项之痛 //61
二、静态VS动态 //62
三、如何做“动态检查” //63
四、动态检查 //67
五、“解痛”的效果 //68
第5章 APP专项性能测试和监控 //70
一、APP性能维度分析 //71
二、APP性能测试平台 //71
三、APP性能测试落地 //72
四、APP性能指标获取手段 //73
第6章 基于Android Hook技术实践 //77
一、项目挑战 //78
二、基于hook的解决方案 //78
三、基于hook的java解决方案 //81
四、小结 //81
第7章 这么建模,你就错了——富士通教你正确建模之术 //83
一、建模工作如何快速响应变化的业务需求 //84
二、数据中心建模工作实践 //84
三、如何高效地做好业务需求分析 //87
四、维度建模的技巧 //89
五、结合应用,设计好维的层次 //93
六、经验教训 //93
七、案例ROI分析 //94
八、面向需求进行系统建模 //95
第三篇 测试管理 //97
第8章 360手机卫士敏捷测试模型及实践 //99
一、360手机卫士的开发模型及测试特点 //100
二、面向质量生成全过程的敏捷测试模型 //103
三、移动端应用的专项测试及实践 //107
四、测试在工程卓越性方面的实践心得 //109
第9章 用测试策略来进行刚刚好的测试 //110
一、测试的“核心”是“测试策略” //111
二、四步测试策略制定法 //112
三、在项目中使用四步测试策略制定法 //120
四、效果评价和总结回顾 //129
第10章 移动游戏的质量追踪方案 //130
一、Crasheye项目的起源 //131
二、移动平台的挑战 //131
三、解决思路 //132
四、Crasheye项目的实践过程 //133
五、Crasheye项目的实践项目 //139
六、Crasheye项目的现状 //143
第11章 第三方舆情收集与质量闭环建设 //144
一、案例背景 //145
二、解决方案 //145
三、应用场景 //150
四、测试新方向:构建质量闭环 //150
第四篇 运维相关 //151
第12章 从部署看DevOps的实施 //153
一、DevOps受到广泛关注,然而定义仍未定型 //154
二、DevOps成为新软件生命周期不可或缺的命题 //154
三、实施过程中,行业对DevOps的尝试 //155
四、持续部署,让开发运维成为一个统一的生态系统 //156
五、软件包让配置管理和部署逻辑得到简化 //163
六、部署系统实现后需要进一步抽象 //166
七、面向业务,结合工具坚持DevOps //168
八、真正的DevOps是建立适合自己的研发生态系统 //169
第13章 MongoDB在58同城的应用实践 //170
一、MongoDB在58同城的架构设计与实践 //171
二、为什么要使用MongoDB //172
三、如何使用MongoDB //172
四、MongoDB集群部署 //173
五、 针对业务场景我们在MongoDB中如何设计库和表 //175
六、 数据量、并发量增大,遇到问题及其解决方案 //179
第14章 1号店发布系统实战 //183
一、案例背景 //184
二、实践过程 //185
三、效果评价 //198
四、推广建议 //199
第15章 微软Azure SQL云服务中基于大数据的运维和管理 //200
一、两代不同系统的比较 //201
二、大数据在运维方面的应用 //203
三、运维方面的文化 //205
第16章 腾讯DevOps自动化运维平台“织云”技术架构实践 //207
一、“织云”轻松应对海量运维需求 //208
二、为什么要做“织云” //208
三、“织云”的工作原理 //209
四、“织云”的技术架构 //210
五、运维自动化经验总结 //219
第17章 使用Docker构建数人云实践 //220
一、下一代企业级IT解决方案的标准——基于云的IT架构 //221
二、数人云是什么 //221
三、数人云核心技术介绍 //223
四、数人云的技术架构设计 //225
五、数人云为企业应用平台提供更简便的实践 //228
序言
preface
近几年来,随着中国互联网产业的高速发展,全球科技界的目光逐渐被北京、杭州、深圳所吸引,无论是科技创新成果还是软件研发团队的标准,都在大跨步地向硅谷看齐。中国软件研发团队的规模不断壮大,水平日益提高,与开源分享的思潮密不可分。过去,我们都在使用国外互联网公司分享的开源软件,而近几年来,越来越多的国内互联网行业领先企业,开始开放自己的开源产品。
其实,除了将软硬件系统开源分享之外,互联网圈更加注重思想交流与理念互换。不像互联网刚刚起步的那个时期,每家企业都在闭门造车,把每一个新的想法都纳入“保密条例”,生怕被同行业者抢了先机。现在的软件研发团队愈发重视分享的重要性,这一转变在中国的IT行业尤为明显。如同研发创新圣地硅谷,在北京、上海、深圳甚至中国的二三线城市,基本每周都可以参加各种类型的技术沙龙,主讲人将自己的从业经验、实践心得分享出来,在相互讨论中收获新的启迪。
交流与分享是行业思维革新的助推器,曾经有一个时期,中国的互联网行业大多数依靠模仿国外的产品,而现在我们开始深入研究,研究国外及国内优秀软件研发团队的技术与管理案例,在研究与分享中获得新知。“授人以鱼不如授人以渔”,这句话出自《淮南子?说林训》,原文说:“临河而羡鱼,不如归家织网。”依靠模仿我们可以获得新产品的外壳,而通过对优秀软件研发团队的案例研究,可以逐渐掌握技术理念,养成创新意识。
时至今日,全球软件案例研究峰会(以下简称“top100summit”)已举办4届,累计分享了来自全球一线互联网企业研发团队的400个软件研发优秀案例,参会者超过万人。在峰会的组织筹备阶段,越来越多的软件研发团队愿意将自己的行业经验与心得分享出来,业界同仁的精神让我们感到欣慰与感动。在第4届top100summit筹备期间,艰难的事是如何在上千个案例中挑选出100个,而每一个案例背后都凝聚着一个团队的付出与心血。我们没有资格评判任何一个案例的优劣,但是又不得不优中选优地甄选出行业代表性的100个案例。后,我们决定把选择权交给这个行业,让每一位软件研发从业者都有资格评选出自己认为优秀的案例。
终评选出的每一个案例都是一笔宝贵的财富,作为top100summit的主办方,我们不能让这些案例沉默,不能让这些软件研发团队的实战经验和精髓理念只绽放两天的光彩。这些案例是对这一年IT行业发展的年度总结,每年的峰会结束之后,我们都会再次梳理案例分享的文稿,将这些精髓理念整理出版,与更多人分享。
作为软件研发行业的一名“老兵”,一路走来,我深深地感觉到互联网特别是中国互联网行业发展的不易,腾讯、阿里、华为等中国企业让硅谷为之侧目,而现如今中国在大数据、云计算、虚拟现实、人工智能等产业技术的发展已经成为全球技术探索的梯队。我们也更加相信,在分享创新思潮的推动下,中国的软件研发团队会不断涌现新技术、新理念。
后,我要对这些分享者表示感谢,正是因为有你们的无私奉献,才有这本书的诞生,才有技术思维及经验的交流与传递,让整个行业不断前行。
全球软件案例研究峰会组委会主席
msup创始人兼CEO
刘付强
前言
preface
从经典案例中学习软件测试之道
朱少民
受麦思博(msup)有限公司的邀请,担任《软件测试之道:那些值得借鉴的实践案例》的副主编,想利用这个机会把软件测试的一些基本问题阐述清楚,而不是对每一个测试案例进行点评。这些案例来自淘宝、腾讯、百度、奇虎360、蚂蚁金服等公司的一线测试工程师,他们在各自工作的具体某个领域都辛勤耕耘多年。在这些领域,他们即便不能把工作做到极致,也已经做得很好了,值得我们学习。在这些具体方面,我也要向他们学习,要进行点评不是一件轻松的事情。只是在这里提醒大家在阅读这些案例的时候,不仅要多问几个为什么,知其所以然;而且要了解案例发生的背景、上下文,分析它是否适合自己公司所处的环境,做到因地制宜——根据自己公司所采取的开发模型、产品特点、应用领域、团队规模、工程师能力水平等等,借鉴案例所提出的解决方案。当然,如果是纯技术问题解决的案例,其学习会比较简单,可以直接加以实践。
回到软件测试的基本问题,如果用通俗易懂的方式来表达,就是下面这些基本问题:
? 为什么要测?
简单理解为质量保证的需要。
? 测什么?
简单理解为测试范围分析、测试需求分析。
? 如何测?
简单理解为测试的方法。
? 谁来测试?
简单理解为测试的人力资源。
? 何时测?
简单理解为测试进度。
? 用什么测试?
简单理解为手工测试,或是采用什么工具进行测试。
? 交付什么结果?
简单理解为提交缺陷分析报告等。
但是如果深入下去,这些基本问题的理解就不那么简单了。例如,为什么测?看起来是一个简单的问题,即保证质量的需要。但这样的答案比较含糊,对测试工作缺乏指导意义。首先,质量是构建出来的,不是测试测出来的;其次,测试如何保证质量,是对软件系统所实现的功能一项一项去验证、像守门员那样去保证质量呢?还是从项目开始,就介入其中,自始至终不断揭示产品的质量风险呢?对软件测试有不同的理解,给出的回答就会不一样。“为什么要测?”这个问题深入下去,就是对“软件测试”解释的探讨,会触及软件测试思想、测试理念、测试价值观,甚至包括测试思维方式(Mindset)——就是我们这里说的测试之“道”。
如在我写的测试教程《软件测试方法和技术(第3版)》中,对软件测试的具体方法和技术有详细的介绍。本书的重点,则是让大家通过案例学习,更直观地学习测试之道。
软件测试的具体方法和技术,如我写的测试教程《软件测试方法和技术(第3版)》中有详细的介绍。而本书的重点,则是通过案例学习,让大家更直观地学习测试之道。
道可道,非常道。道,是适应环境、不断变化的道,是人们选择、亲近的道。我们首先要结合自己公司或团队所处的环境,对软件测试之道有一个正确的把握,然后基于已建立的软件测试之道,进一步确定测试的原则、测试的流程、测试的方法和技术、测试工具等。
朱少民
2016.12
评论
还没有评论。