批量上传,套装书可能不全,下单前咨询在线客服!有特殊要求,下单前请咨询客服!
¥ 41.75 4.7折 ¥ 89 全新
库存7件
作者张丙振、檀飞翔 等著
出版社机械工业出版社
ISBN9787111670049
出版时间2020-12
装帧平装
开本16开
定价89元
货号29177008
上书时间2024-11-02
我们曾经思考过这样一个问题,如何才能将自己积累的技术和知识进行抽象总结,将逐步解决问题的过程立体化、可视化地展现给大家,而不只是简单地介绍一个结果。我们技术团队之所以决定写这本书,就是希望通过介绍我们的实战经验和解决问题的思路,帮助大家在“质量与效率”的提升上打开新的思路。
“质量与效率”一直是我们关注的焦点。相对于软件开发,软件测试起步较晚,缺乏拥有专业知识的人才。即便是大学开设的软件工程专业,针对软件测试的介绍也只是涉及少量的概念和设计测试用例的方法。专业的测试并不是简单地翻译需求。目前有很多测试人员只是在简单地执行需求翻译的工作,没有结合业务实现、质量模型和测试用例,没有用科学的方法设计测试场景,这就导致测试用例质量低下,只能应用于单个特定点的测试场景。
有些人认为功能测试很低端(从效率、技术含量和市场反馈的价值综合得出如此结论),甚至有相当一部分测试人员也认为,功能测试意义不大,希望从事测试工具的开发工作,因为那样看上去更高端,更具有挑战性。
其实,功能测试、自动化测试、性能测试、安全测试、测试框架开发、平台研发等工作都是为了提高软件测试的质量,没有高低贵贱之分,都是必要的辅助手段。可以将软件测试类比为一个兵团,上述这些工作是不同的兵种,在面对一场战役的时候,我们需要考虑的是如何排兵布阵,以赢得战役,而不是排列兵种的等级。
不同的时代对测试人员有不同的要求。
起初是“保姆时代”,以发现Bug为荣,对测试人员的基本要求是具备良好的测试思维,测试人员主要利用系统测试方法进行测试。业内关注的焦点是黑盒测试,白盒测试和灰盒测试偏少,效率偏低。由于黑盒测试大部分是通过人工在系统界面中手动进行的,从而导致业界普遍认为测试就是“点点点”。
随着软件复杂度的不断提高,交付质量变得越来越重要,我们急需提升测试的效率,压力测试和安全测试等各种专项测试以及各种测试平台和工具随之出现。
时代的进一步发展对测试提出了更高的要求,从产品研发后期寻找Bug转变为提前预防Bug。
小步迭代、快速上线的敏捷开发时代,再次对测试提出了更高的要求,持续集成、快速验证、全方位监控线上质量,需要测试人员更早地介入产品研发的整个过程,以便更好、更全面地了解产品。测试左移到开发阶段进行代码评审、单元测试,右移到运维阶段进行持续部署、线上监控,从而可以更加立体地保障软件的质量。
如今是一个输出测试能力的时代,测试人员不仅要提升自己的效率,而且要赋能研发人员,帮助他们提升自己的自测水平。
本篇简要介绍了我们的业务背景、团队背景、测试的一般规律,以及我们团队在制定技术规划时是如何考虑的。
当团队从零开始的时候,QA(Quality Assurance,质量保证)基础设施落后、资源有限、技术改造频繁,应快速形成战斗力,以业务为先,保证产品的质量,此时QA团队的主要任务是发现产品中的Bug。本篇主要介绍了QA团队在功能测试、安全测试、兼容性测试等不同阶段的特点及不同之处。
当团队人员与业务基本稳定,而且功能迭代基本可以正常运行之后,我们就开始思考如何提高测试和研发的效率,例如,如何构建可用于提升效率的小工具和平台,如何实现API自动化,以及框架的搭建、分层思想、性能测试、环境的部署、CI(Continuous Integration,持续集成)流程的建立等,从而使得QA人员能够从大量的手工劳动中解放出来,提高工作效率,将更多的时间和精力投入到测试分析、发现Bug、预防Bug的工作中。
在提效之后,我们开始思考,软件质量是“构建”出来的,是由软件开发整个过程的质量所决定的。所以,QA人员的工作不能总是停留在后一个环节,在敏捷开发的大环境下,开发人员也要开始注重自测质量,作为QA人员,我们需要考虑如何赋能开发人员,使其能够对自己开发的产品进行自测。本篇主要从技术的角度(比如,可视化度量、自动化用例开放、工具开发,以及如何在流程上使用story_QA来使项目过程数据可视化)介绍了企业订餐业务的QA人员是如何赋能开发人员以提高软件质量的。
当前,业务开发周期越来越短,几乎每隔一天就有新版本发布。针对这种迭代速度快、回归量比较大的特点,自动化测试的稳定性正面临着巨大的挑战,除了传统的集成之外,我们还引入了契约测试、流量测试、探索性测试等辅助手段来提高测试质量,同时提高QA人员的工作效率。
本篇主要讲解了新型团队如何不拘泥于传统管理方法地勾勒团队画像,同时还介绍了技术分享的改革,以及如何让团队变成有格局、有原则、有自我认知、有凝聚力的健康团队。
】
本书适合各种水平的测试人员、测试开发人员、测试组长、测试经理、项目经理等,以及其他在软件质量保证的道路上持续进行修炼的读者阅读。
本书是饿了么企业订餐团队在软件质量保障方面的经验总结。它通过讲解该团队如何从0到1构建软件质量体系以及该体系如何逐步演进,分享了饿了么在软件质量保障方面的技术积累、实战经验、解决问题的思考过程,以及质量保障团队的建设与发展。
第壹篇 规划(第1章)
介绍了饿了么企业订餐业务的背景、团队背景、面临的挑战以及团队在制定技术规划时是如何考虑的。
第二篇 基础(第2~5章)
总结了QA团队在功能测试、安全测试、兼容性测试、线上问题治理等方面的技术见解和经验积累。
第三篇 提效(第6~9章)
介绍在团队人员与业务稳定之后,QA团队应如何提高测试和研发的效率。包括API测试框架、自动生成框架代码技术、框架代码场景化改造、FSM场景化代码动态组合技术等。
第四篇 赋能(第10~13章)
从持续集成、代码质量、Story QA等技术角度介绍了企业订餐QA团队是如何赋能研发人员以提高软件质量的。
第五篇 探索(第14~16章)
介绍了团队在契约测试、探索性测试、流量测试等方面的经验。
第六篇 管理(第17~18章)
分享了如何打造有实力、有格局和有凝聚力的团队,以及项目管理的关键问题和解决问题的思路。
张丙振
高级测试专家、企业订餐质量负责人,9年工作经验。擅长自动化测试、测试框架搭建、质量交付团队管理等。2017年入职饿了么中后台研发部,负责商家开放平台,多次参与公司S级别跨团队合作项目并担任测试总owner,曾担任上海站技术沙龙测试讲师。2019年转入阿里巴巴本地生活企业订餐团队,目前专注于QA团队建设、基础设施建设及质量交付。
檀飞翔
测试专家,从事测试行业7年,擅长测试框架开发、CI集成、自动化测试、功能测试以及大型项目测试管理。2016年加入饿了么,主要负责饿了么商家配送、商户订单、商家商品以及企业订餐等业务领域的QA工作,多次参与和负责公司级别项目,目前负责阿里巴巴本地生活企业订餐供给交易领域的QA工作,专注于测试提效和赋能工作。
侯佳刚
测试专家,一直积极探索正确的质量保障之道。从事质量工作多年,擅长测试自动化及测试工具开发。先后研发多个测试工具和质量平台,并将其应用在产品研发过程中。目前主要负责企业订餐质量平台研发及推广工作。
伍菊红
资深测试开发工程师,有较丰富的测试经验。曾参与多个公司级项目的业务测试,如企餐新零售入淘、覆盖率工具开发等,擅长自动化测试、工具开发。目前专注于测试前沿知识探索,如精准测试、流量回放等。
李京蓉
资深测试工程师,从事软件测试工作5年。2018年入职饿了么,负责饿了么商户端交易业务测试,转入企业订餐团队后负责供给交易领域的业务测试以及整个事业部的安全测试。
张晏婷
资深测试工程师。先后从事订单、财务等领域测试工作,功能测试、自动化测试经验丰富,参与多个提效工具、测试平台开发工作。
蔡辉
5年从业经验,资深测试工程师。有证券、金融、企业餐饮服务相关工作经验,擅长平台服务开发、质量交付。入职企业订餐后负责测试平台开发,自动化测试工具建设。
李南昊
高级测试工程师,主要负责企业订餐的业务测试、自动化测试、压测的工作。参与企业订餐三条业务线外卖、团餐、到店从0到1的搭建过程。
杨亮亮
资深测试工程师,负责企业订餐基础及到店相关领域QA工作。从事测试工作9年,曾独立负责多个大型项目(支付、基金、发票等)的测试工作。擅长后端自动化及测试工具、平台的搭建,具有丰富的行业知识背景及测试经验。
常娜
高级测试工程师。先后在阿里、百度、饿了么等企业工作,实战经验丰富。参与多个公司/BU级项目(广告、开放平台、订单等多领域)的测试工作,并协助完成多个测试平台的开发工作。
1.1 业务特点2
1.2 面临的挑战3
1.3 测试进程的演进4
1.4 绘制战略图5
1.5 本章小结7
2.1 业务梳理10
2.1.1 接手新业务的痛点11
2.1.2 业务梳理的构想11
2.1.3 过程实战13
2.2 用例设计16
2.2.1 用例设计面临的问题17
2.2.2 解决思路17
2.2.3 用例设计原则确立18
2.2.4 用例设计模板化19
2.2.5 设计用例框架20
2.3 用例评审23
2.3.1 评审的意义23
2.3.2 评审的价值24
2.3.3 思考与破局24
2.3.4 合格用例的特点24
2.3.5 用例评审的准则25
2.4 本章小结26
3.1 全面清扫当前漏洞27
3.2 团队安全知识赋能28
3.2.1 引入安全测试工具28
3.2.2 增强安全意识29
3.3 安全测试常态化29
3.3.1 下沉QA流程30
3.3.2 研发流程增设安全保障31
3.4 本章小结32
4.1 兼容性测试的挑战33
4.2 兼容性测试的步骤34
4.3 案例分析:性能测试对比36
4.3.1 案例背景36
4.3.2 测试策略及过程36
4.3.3 测试结论39
4.4 关于测试机器资源40
4.5 本章小结41
5.1 线上问题的现状42
5.2 工具的抉择43
5.3 线下反馈线上化44
5.3.1 钉钉机器人接入44
5.3.2 简化线上问题反馈45
5.4 线上问题数据沉淀及可视化46
5.5 FAQ 转化47
5.6 线上问题规约49
5.7 本章小结49
6.1 API测试基础知识52
6.1.1 RPC53
6.1.2 RESTful54
6.1.3 Thrift57
6.2 常见API测试手段58
6.2.1 cURL 59
6.2.2 常见工具分析61
6.3 测试框架的演进与分析62
6.3.1 什么是框架62
6.3.2 测试框架思想的变迁63
6.3.3 测试框架的特点66
6.4 测试框架搭建67
6.4.1 常见的框架结构设计68
6.4.2 框架的升级改造方案69
6.4.3 框架的分层解耦70
6.4.4 数据分类处理72
6.4.5 多协议的封装74
6.4.6 多环境的处理76
6.5 测试框架结果自动对比验证80
6.5.1 验收结果思路对比81
6.5.2 hook函数扩展82
6.5.3 数据库设计83
6.5.4 对比引擎设计84
6.6 API覆盖率统计86
6.6.1 覆盖率介绍86
6.6.2 覆盖统计的思考87
6.6.3 接口覆盖率统计实战87
6.7 本章小结91
7.1 底层框架代码自动生成92
7.1.1 传统自动化框架的痛点93
7.1.2 代码自动生成的解决方案94
7.1.3 代码自动生成实战95
7.2 手工用例自动转化代码97
7.2.1 接口用例撰写现状98
7.2.2 代码自动转化实战98
7.3 冒烟测试代码自动化生成101
7.3.1 冒烟测试的挑战与方案102
7.3.2 拼装请求102
7.3.3 构造参数数据103
7.4 本章小结105
8.1 Journey模式BDD106
8.1.1 Journey模式简介106
8.1.2 Journey模式原理107
8.2 问题与解决方案108
8.2.1 自动化问题109
8.2.2 解决方案109
8.3 过程实战110
8.3.1 梳理场景需求110
8.3.2 实例化用户故事110
8.3.3 转化为自动化验收代码110
8.4 框架与BDD的融合解析111
8.4.1 框架与BDD融合所面临的问题111
8.4.2 框架的设计思路113
8.4.3 过程实战113
9.1 订单代码组合的常态116
9.2 FSM 赋能方案117
9.3 业务建模118
9.4 动态绘制流程图119
9.4.1 Graphviz使用介绍119
9.4.2 使用简化模式绘图120
9.5 构建解析器122
9.5.1 解析器方案122
9.5.2 过程实战122
9.6 本章小结124
10.1 数据工厂迭代背景128
10.1.1 造数常见的场景128
10.1.2 数据工厂演变历史129
10.2 数据工厂脚本化129
10.2.1 脚本化面临的挑战129
10.2.2 从RESTful API转向SOA API130
10.3 数据工厂平台化131
10.3.1 平台化面临的挑战131
10.3.2 关于平台化的思考132
10.3.3 如何新增一个造数工具133
10.4 数据工厂服务化的思考137
10.5 本章小结137
11.1 持续集成是什么138
11.2 持续集成前后实践的对比139
11.3 持续集成全景141
11.3.1 研发模式143
11.3.2 代码准入144
11.3.3 自动化方案145
11.4 本章小结152
12.1 代码质量背景知识153
12.1.1 怎样衡量代码质量154
12.1.2 糟糕的代码156
12.2 构建代码质量体系158
12.2.1 为什么选择SonarQube159
本书是饿了么企业订餐团队在软件质量保障方面的经验总结。它通过讲解该团队如何从0到1构建软件质量体系以及该体系如何逐步演进,分享了饿了么在软件质量保障方面的技术积累、实战经验、解决问题的思考过程,以及质量保障团队的建设与发展。
第壹篇 规划(第1章)
介绍了饿了么企业订餐业务的背景、团队背景、面临的挑战以及团队在制定技术规划时是如何考虑的。
第二篇 基础(第2~5章)
总结了QA团队在功能测试、安全测试、兼容性测试、线上问题治理等方面的技术见解和经验积累。
第三篇 提效(第6~9章)
介绍在团队人员与业务稳定之后,QA团队应如何提高测试和研发的效率。包括API测试框架、自动生成框架代码技术、框架代码场景化改造、FSM场景化代码动态组合技术等。
第四篇 赋能(第10~13章)
从持续集成、代码质量、Story QA等技术角度介绍了企业订餐QA团队是如何赋能研发人员以提高软件质量的。
第五篇 探索(第14~16章)
介绍了团队在契约测试、探索性测试、流量测试等方面的经验。
第六篇 管理(第17~18章)
分享了如何打造有实力、有格局和有凝聚力的团队,以及项目管理的关键问题和解决问题的思路。
张丙振
高级测试专家、企业订餐质量负责人,9年工作经验。擅长自动化测试、测试框架搭建、质量交付团队管理等。2017年入职饿了么中后台研发部,负责商家开放平台,多次参与公司S级别跨团队合作项目并担任测试总owner,曾担任上海站技术沙龙测试讲师。2019年转入阿里巴巴本地生活企业订餐团队,目前专注于QA团队建设、基础设施建设及质量交付。
檀飞翔
测试专家,从事测试行业7年,擅长测试框架开发、CI集成、自动化测试、功能测试以及大型项目测试管理。2016年加入饿了么,主要负责饿了么商家配送、商户订单、商家商品以及企业订餐等业务领域的QA工作,多次参与和负责公司级别项目,目前负责阿里巴巴本地生活企业订餐供给交易领域的QA工作,专注于测试提效和赋能工作。
侯佳刚
测试专家,一直积极探索正确的质量保障之道。从事质量工作多年,擅长测试自动化及测试工具开发。先后研发多个测试工具和质量平台,并将其应用在产品研发过程中。目前主要负责企业订餐质量平台研发及推广工作。
伍菊红
资深测试开发工程师,有较丰富的测试经验。曾参与多个公司级项目的业务测试,如企餐新零售入淘、覆盖率工具开发等,擅长自动化测试、工具开发。目前专注于测试前沿知识探索,如精准测试、流量回放等。
李京蓉
资深测试工程师,从事软件测试工作5年。2018年入职饿了么,负责饿了么商户端交易业务测试,转入企业订餐团队后负责供给交易领域的业务测试以及整个事业部的安全测试。
张晏婷
资深测试工程师。先后从事订单、财务等领域测试工作,功能测试、自动化测试经验丰富,参与多个提效工具、测试平台开发工作。
蔡辉
5年从业经验,资深测试工程师。有证券、金融、企业餐饮服务相关工作经验,擅长平台服务开发、质量交付。入职企业订餐后负责测试平台开发,自动化测试工具建设。
李南昊
高级测试工程师,主要负责企业订餐的业务测试、自动化测试、压测的工作。参与企业订餐三条业务线外卖、团餐、到店从0到1的搭建过程。
杨亮亮
资深测试工程师,负责企业订餐基础及到店相关领域QA工作。从事测试工作9年,曾独立负责多个大型项目(支付、基金、发票等)的测试工作。擅长后端自动化及测试工具、平台的搭建,具有丰富的行业知识背景及测试经验。
常娜
高级测试工程师。先后在阿里、百度、饿了么等企业工作,实战经验丰富。参与多个公司/BU级项目(广告、开放平台、订单等多领域)的测试工作,并协助完成多个测试平台的开发工作。
互联网企业的发展离不开高质量的质量管理,而管理的精髓在于知行合一,持续不断地探索与创新,改变原有的流程、技术、管理方式。本书汇聚了饿了么的实战经验,从认知、思想和理念上对软件质量保证的过程进行了立体的剖析,同时给出了思考的过程,值得深入品读。
企业订餐系统复杂度很高,质量团队不仅要面对传统ToC、ToB的大部分业务挑战和技术挑战,还要面对新时代ToB场景中更高复杂度的综合挑战。既要高度抽象,又要个性化;要测试速度,更要测试质量,这对整个质量团队的挑战巨大。希望本书可以给相关企业、团队带来一定参考价值。
B端业务的强定制化特性决定了B端软件系统的代码复杂度难以控制,对应的软件测试工作因为逻辑分支的增多变得复杂。本书以极度抽象的测试理念,辅以高效的测试手段,结合自研的测试工具,将复杂问题简单化,解决了产品质量保障的难点和痛点,值得B端软件从业者一读。
测试环节作为上线前的重要关卡,值得大家慎重、严谨、用心地对待,每个人都应该为软件交付质量保驾护航。本书结合业务规划、研发项目管理流程详细讲解了企业订餐质量体系的搭建过程,发现问题、解决问题并沉淀方法,值得大家细细品读。
这是一本全面、立体、有深度的测试实践指南。如今B端已成为各个互联网巨头争夺的新高地,强烈推荐B端测试人员阅读本书。
互联网产品迭代迅速,如何在快速交付产品时保证软件质量是质量保障人员必须攻克的难题。本书是阿里巴巴本地生活企业订餐团队基于测试理论和互联网工程实践交出的答卷,内容详实,对志在从事互联网产品质量保证的读者应该会有启发。
本书从测试基础入手,讲述了公司发展过程中测试团队的演化过程,给读者
— 没有更多了 —
以下为对购买帮助不大的评价