本书分为两大部分:*部分 技术篇:以全新的角度来解释什么是性能测试和自动化测试,不仅以实际案例讲解了LoadRunner、Jmeter、Soapui、Appium、移动端APP测试、前端性能等内容,也讲解了大家*为头疼的两大难题,性能测试通用分析思路和报告编写,同时也介绍了如何设计和开发轻量级自动化测试框架。第二部分 管理篇:目前市面上缺少测试管理方面的内容,而本部分内容以作者本人的亲身经历来分享对测试行业的看法以及如何进行测试团队的建设、管理、绩效考核等,没有高大上的概念,以通俗易懂的语言体现,是管理者的必读内容。
全书以作者的亲身经历来贯穿整个知识点的讲解,以性能测试、自动化测试在企业级的应用为主,并给出自己多年的经验。帮助读者掌握并运用好性能测试和自动化测试技术,不涉及太基础的知识,一切以实际为主,摆脱假大空。本书也介绍了流行的测试工具与实用技巧,并在大部分人关心的职业发展上做提点,让读者更加清晰地认识规划现状与未来。全方位解决读者学而无法致用的现象。本书适合所有的测试工程师、测试经理、开发工程师、运维工程师、项目经理以及所有涉及软件性能、自动化的各行业工作者阅读。
前言因为不是天生丽质,所以必须天生励志。这句话是我特别喜欢的一句话,我们大部分人天生并没有什么出众的天赋,只能靠后天不断的努力才行,这是一个痛苦甚至让人绝望的过程,但是如果你换个心态来体会也许另有一番滋味。写书也一样,不是为了说明自己有多牛,而是知识经验的总结、梳理与分享,把想法用书写的形式表现出来而已,对于自己是一个很好的梳理过程,对于亲爱的读者来说也是很好的学习过程。本书并不是一本纯技术书籍,它更像是一本系统性的参考书,能帮助大部分读者朋友深入理解性能测试和自动化测试的意义,也能帮助有多年工作经验正处于迷茫阶段的朋友排忧解难,还能给那些刚刚步入管理岗位的菜鸟们提供指导(尤其是其中的团队建设、绩效管理等是很多朋友经常问我的问题,以后我就不用再一遍遍重复啦),可以说是测试工程师必读的一本书籍。当然,如果你是高手、大牛、大神等级别的请自动忽略本书吧。为什么要写这本书2016年以来我一直以小强软件测试独立品牌进行运营,和其他机构无任何关系,可以更加纯粹、专心地做一些学习和研究。写本书纯属是突发奇想,写书的过程极其累,费神费脑,可能大家看到的短短一章也许是花了3天时间写出来的,字数和时间往往不是正比的关系,如果你亲自写一次你就能明白我所说的痛苦: 太!累!了!但为什么还要写呢?主要是因为自己接触了太多的朋友,不论是在活动中、交流中还是在我的培训班中,绝大部分新手朋友对性能测试和自动化测试没有什么了解,有了解的也基本都是不完善甚至错误的,这就造成了学习时的困难,效率极其低下,再加上有不少朋友咨询我这些方面的问题并强烈要求我再写一本书出来,索性满足大家的愿望,整理了这方面的经验写成书籍和大家一起交流分享。这里请允许我无耻地炫耀一下,我的不少学员已经步入了管理岗位。但是他们在初次接触管理、带领团队方面经验上比较欠缺,而软件测试方面的管理书籍极其匮乏,大家问我的问题也有很多共性,所以也在本书的后几章节中把自己带团队、管理团队方面的经验写出来和大家分享,希望能给大家带来一点帮助和启发。很多朋友之所以会步入性能测试、自动化测试领域,也是因为职业发展到了一个瓶颈期,同时感觉迷茫无助,本书最后以真实的人物经历以及职业发展指导两个方面来帮助读者解答疑问,相信你一定会有不少收获。最后总结一下,本书不会涉及基础的知识,所以在阅读技术类章节之前要求读者最好有一定的基础,无基础的朋友参考附录中的资料来学习。不论之前大家是否了解性能测试和自动化测试,请耐心读完本书,你一定会有非常大的收获。本书面向的读者对象在阅读技术类章节时最好有一定的基础,这样理解起来会比较容易。非技术类章节任何人都可以阅读。不过即使你没有性能测试和自动化测试的经验,抑或你刚接触它们,本书都会对你有所帮助,至少在认知以及学习方法上会给你带来很大的帮助。读者对象包括但不限于对性能测试、自动化测试感兴趣的测试工程师、开发工程师、运维工程师、测试经理以及希望了解性能测试、自动化测试的各行业工作者,本书特别适合具有以下需求的读者:希望了解并学习性能测试和自动化测试者已有一定基础,想继续深入学习性能测试和自动化测试者希望真正了解企业级性能测试和自动化测试的应用者想寻找指导性能测试和自动化测试过程方法的测试经理想从别人的经验中得到学习与启发者正在带领团队的管理者想获取一些正能量者最后,我必须再次声明一点: 如果你是高手、大牛、大神级别的人物,请自行绕开,本书不适合你!人的成长本身就要经历不同的阶段,每个阶段大家需要的都是不一样的,也许你现在认为九九乘法表是非常幼稚低级的,但对于一个孩子来说九九乘法表就非常难,他需要学习,需要有资料帮助他,一本书的好坏不能简单地以内容的高级还是低级来区分,而应该是以它给多少人带来了价值!如何阅读本书本书将从性能测试和自动化测试的方方面面以及测试团队建设、职业发展等热门话题和大家进行分享,大致内容如下:第1章以全新的角度来解释什么是性能测试和自动化测试;第2章以实际案例来讲解性能测试工具LoadRunner在业务级和接口级如何完成性能测试;第3章以实际案例来讲解Jmeter在业务级和接口级如何完成性能测试、自动化测试;第4章通俗地讲解大家最为头疼的两大难题,性能测试通用分析思路和报告编写;第5章以实际案例来讲解接口测试工具SoapUI在接口级如何完成性能测试、自动化测试;第6章以实际案例来讲解移动端自动化测试框架Appium的快速入门;第7章对移动APP的非功能测试进行了系统化讲解;第8章因为前端性能测试方面的资料较少,所以本章详细讲解了这方面的知识;第9章以本人的亲身经历来分享如何进行测试团队的建设和绩效考核;第10章分析测试行业的现状,并针对现状来分析测试人员的职业发展;第11章以真实的在职人物描述学习历程、心得以及方法,再次以事实指导读者,回归读者的内心深处。勘误和支持由于本人的水平、能力有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。你可以将书中的错误发布在http://xqtesting.blog.51cto.com,同时如果你遇到任何问题,也可以加入我们的QQ群: 229390571(扫描下方二维码),或加我的个人QQ: 2423597857,我们将尽量在线上为读者提供最满意的解答。如果你有更多宝贵的意见和建议,可以发送到邮箱: xiaoqiangtest@vip.qq.com,期待能够得到你们的真挚反馈。
致谢感谢黄芝美女,在这段时间中始终支持我的写作,你们的鼓励和帮助引导使得我能顺利完成全部书稿。特别感谢广大小强粉们、挨踢脱口秀听众以及小强性能测试、自动化测试培训班的学员,你们的支持与热情是我写本书的最大动力。最后还要感谢我的老婆,我大部分时间都用在了和学员交流、备课、上课、写作、宣讲上,留给你的时间非常的少,几乎没有周末来陪你,但你仍然没有怨言,所以本书也是为你而写。赵强(小强)2017年1月
赵强(网络昵称:小强)获得国际CSTE-QAI认证、中国软件评测师认证、人力资源管理师认证。有多年的IT从业经验,曾在新浪、搜狐、聚美优品、人民网等知名互联网公司从事过开发、测试、产品、管理方面的工作。曾从零组建过多个测试团队并主导完成过多个大型项目的性能测试、自动化测试以及测试管理工作。2016年创办互联网音频节目挨踢(IT)脱口秀,短短时间在荔枝FM上的播放量已超过100万。同时继续在教育领域深耕,以小强测试独立品牌运营,在线教育平台学员数超过65万,并获得51CTO学院*人气讲师、特级讲师等荣誉。代表作《小强系列高级测试课程》获得中国版权认证,也被多家机构、大学院校、企业公司作为视频教材,是互联网教育的先驱者。
目录
第1章全新认识性能测试和自动化测试
1.1性能测试到底是什么
1.2性能测试分层模型
1.2.1前端层
1.2.2网络层
1.2.3后端层
1.3自动化测试到底是什么
1.4自动化测试是否万能
1.5自动化测试分层模型
1.5.1UI层
1.5.2接口层
1.5.3单元层
1.6初学者如何选择学习哪种测试技术
1.7本章小结
第2章LoadRunner脚本开发实战精要
2.1LoadRunner介绍
2.2使用LoadRunner完成业务级脚本开发
2.2.1项目介绍
2.2.2需求分析
2.2.3脚本开发
2.3使用LoadRunner完成H5网站的脚本开发
2.4Mock实战精要
2.5使用LoadRunner完成接口级脚本开发
2.5.1单接口的测试方法
2.5.2接口依赖的测试方法
2.6使用LoadRunner完成移动APP的脚本开发
2.7使用LoadRunner完成MMS视频流媒体测试
2.8场景设计精要
2.9去并发数
2.10使用LoadRunner完成接口级功能自动化测试
2.11本章小结
第3章Jmeter脚本开发实战精要
3.1Jmeter介绍
3.2使用Jmeter完成业务级脚本开发
3.3使用Jmeter完成接口级脚本开发
3.3.1单接口的测试方法
3.3.2接口依赖的测试方法
3.4使用Jmeter完成JDBC脚本开发
3.4.1单SQL语句测试
3.4.2多SQL语句测试
3.5使用Jmeter完成JMS PointtoPoint脚本开发
3.5.1JMS介绍
3.5.2ActiveMQ介绍
3.5.3JMS PointtoPoint脚本开发
3.6BeanShell脚本在Jmeter中的应用
3.7使用Jmeter完成Java自定义请求
3.8Jmeter轻量级接口自动化测试框架
3.9在Jmeter中使用Selenium
WebDriver完成测试
3.10本章小结
第4章性能测试通用分析思路和报告编写技巧
4.1通用分析思路
4.1.1观察现象
4.1.2层层递进
4.1.3缩小范围
4.1.4推理分析
4.1.5不断验证
4.1.6确定结论
4.2测试报告编写技巧
4.3本章小结
第5章SoapUI脚本开发实战精要
5.1SoapUI介绍
5.2SOAP WebService接口功能自动化测试
5.2.1单接口的测试方法
5.2.2接口依赖的测试方法
5.3SOAP WebService接口负载测试
5.4SOAP WebService接口安全测试
5.5SoapUI轻量级接口自动化测试框架
5.6本章小结
第6章Appium脚本开发实战精要
6.1Appium介绍
6.2控件的识别与定位
6.3常用的操作方法
6.4Appium轻量级UI自动化测试框架
6.5本章小结
第7章浅谈移动APP非功能测试
7.1移动APP启动时间测试
7.2移动APP流量测试
7.3移动APP CPU测试
7.4移动APP电量测试
7.5移动APP兼容性测试
7.6移动APP测试工具和云测平台
7.6.1常用的移动APP测试工具介绍
7.6.2常见云测平台介绍
7.7移动应用基础数据统计方案介绍
7.8本章小结
第8章前端性能测试精要
8.1HTTP协议简介
8.2HTTP请求和响应的过程
8.3前端性能优化方法
8.3.1减少HTTP请求数
8.3.2图片优化
8.3.3使用CDN
8.3.4开启GZIP
8.3.5样式表和JS文件的优化
8.3.6使用无cookie域名
8.3.7前端代码结构优化
8.3.8其他优化方法
8.4常用前端性能测试工具
8.4.1Firebug
8.4.2利用Chrome测试移动端网页性能
8.4.3HttpWatch
8.4.4YSlow
8.4.5PageSpeed
8.4.6埋点测试
8.4.7基于ShowSlow的前端性能测试监控体系
8.4.8基于YSlow和Jenkins的前端性能测试监控体系
8.4.9其他前端性能测试平台
8.5真实网站的前端性能测试
8.6本章小结
第9章测试团队的组建与管理
9.1重新认识所谓的管理
9.2人人都是管理者
9.3测试团队常见的组织架构模型
9.4小议扁平化组织结构
9.5如何组建测试团队
9.6如何高效管理测试团队
9.6.1初创期测试团队的管理
9.6.2发展期测试团队的管理
9.6.3稳定期测试团队的管理
9.7如何考核和激励测试团队
9.7.1如何进行测试团队的考核
9.7.2如何激励测试团队
9.8人性管理
9.9缺陷知识库的建立
9.10如何高效地开会和写日报
9.11PDCA环
9.12本章小结
第10章畅谈测试工程师未来之路
10.1软件测试行业的现状与发展趋势
10.2如何成为优秀的测试工程师
10.3再谈测试工程师的价值
10.4危机!测试工程师真的要小心了
10.5测试工程师职业发展路线图
10.6本章小结
第11章一线测试工程师访谈录
11.190后美女的全能测试蜕变之路
11.2从功能测试到性能测试的转型之路
11.3一只菜鸟的成长之路
11.490后帅哥的测试技能提升之路
11.5本章小结
附录A参考资料
附录BLoadRunner常见问题解决方案汇总
B.1LoadRunner和各OS以及浏览器的可兼容性
B.2LoadRunner无法安装
B.3录制的时候无法启动IE
B.4录制脚本为空
B.5示例网站WebTours无法启动
B.6Controller中运行场景有很多超时错误
B.7录制完成有乱码
B.8LoadRunner中对HTTPS证书的配置
B.9LoadRunner运行时常见报错解决方案
附录C性能测试文档模板汇总
C.1场景用例模板
C.2性能测试计划模板
C.3性能测试方案模板
C.4性能测试报告模板
C.5前端性能对比测试结果模板
附录D自动化测试用例模板
附录E管理相关文档模板汇总
E.1日报模板
E.2绩效考核方案模板
后记