您的位置首页百科问答

想学习软件测试,求推荐看什么书或者教程?

想学习软件测试,求推荐看什么书或者教程?

的有关信息介绍如下:

想学习软件测试,求推荐看什么书或者教程?

目前越来越多的朋友在考虑入行软件测试领域,但是碍于金钱、时间、工作等因素没法参与到线下的培训学习中,所以采取来自学的方式。这时候学习资料和路线的选择就显得尤为重要。本篇分享旨在让大家掌握自动化测试开发核心技术,而非简单的入门和做“点点点”测试。

强烈推荐邓强老师编著的《自动化测试开发全程实战》。本书将对整个自动化测试技术进行全面而深入的细致讲解,包括单元测试自动化,接口测试自动化,性能测试自动化的底层原理及代码实现。以及结合当前流行的自动化测试框架如Selenium, Appium, JMeter等进行讲解和实验,帮助读者深入理解原理的同时,也能快速利用这些开发框架和工具实现高效的测试开发工作,帮助读者在企业中树立起过硬的能力和专业素养。

本书全面而深入地讲解了自动化测试开发的四大核心技术:接口测试、GUI测试、性能测试和测试框架设计。全程以项目和实验为主线,将所有测试开发的核心技术以及底层实现原理进行了详细的剖析,并结合Java代码完整地实现了这些原理。

由于本书以Java作为核心编程语言,所以也有专门的项目讲解测试开发过程中常用的Java核心编程知识。

同时,笔者也将从业多年来关于软件测试的项目和实验进行了总结,这也是本书的特色和价值所在。考虑到目前读者对测试工具的学习需求,本书也对目前比较流行的几款测试工具进行了讲解。

本书面向的主要读者群为软件测试工程师、测试主管、测试架构师和对自动化测试开发有浓厚兴趣的爱好者,初涉软件测试者慎入。本书也可以作为整个研发团队提升测试技术和质量意识的参考书。希望通过本书的学习,能为读者建立起一套完整的、有竞争力的自动化测试技术体系化思维。

项目1自动化测试体系及环境准备1

1.1预备知识2

1.1.1软件工程与“没有银弹”2

1.1.2理解自动化测试6

1.1.3自动化测试实施过程9

1.1.4软件测试专业术语14

1.2核心实验18

1.2.1Eclipse开发环境的配置与使用18

1.2.2安装XAMPP并配置数据库及应用系统24

项目2WoniuATM模拟系统32

2.1预备知识33

2.1.1Java程序设计基础——变量与类型33

2.1.2Java程序设计基础——控制结构37

2.1.3Java程序设计基础——数组44

2.2核心实验: 实现WoniuATM的注册与登录50

2.3预备知识56

2.3.1Java面向对象——类与实例56

2.3.2Java面向对象——静态与非静态61

2.3.3Java面向对象——构造方法63

2.3.4Java面向对象——失血模型66

2.3.5Java面向对象——继承与多态69

2.4核心实验: 重构WoniuATM并完善其功能77

2.5预备知识86

2.5.1Java异常处理机制86

2.5.2Java数据持久化——文本文件91

2.5.3Java数据持久化——Excel文件95

2.5.4Java数据持久化——JDBC数据库99

2.6核心实验102

2.6.1利用文本文件重构WoniuATM102

2.6.2利用数据库重构WoniuATM108

2.6.3利用正则表达式检验用户输入113项目3代码级接口测试自动化118

3.1预备知识: 深入理解接口测试及白盒测试119

3.2核心实验122

3.2.1实现被测程序ArrayCompare代码122

3.2.2基于Java实现TDD测试驱动开发127

3.2.3基于Java实现代码级接口测试132

3.2.4基于Java实现代码级集成测试135

3.2.5基于JUnit实现代码级接口测试137

3.2.6基于TestNG实现代码级接口测试149

3.2.7基于EclEmma实现代码覆盖率统计157

3.2.8将被测程序导出为Jar包并完成测试161

项目4协议级接口测试自动化164

4.1预备知识165

4.1.1协议级接口测试的价值165

4.1.2网络通信过程与TCP/IP协议167

4.2核心实验173

4.2.1利用Wireshark完成协议监控与分析173

4.2.2利用Java实现TCP通信过程175

4.2.3利用Java对飞秋客户端实施可靠性测试177

4.3预备知识: Web系统通信协议HTTP179

4.4核心实验189

4.4.1利用协议分析工具监控Agileone通信过程189

4.4.2利用Java发送GET请求获取页面源文件193

4.4.3利用Java发送POST请求实现登录测试196

4.4.4使用Java对Agileone进行暴力破解200

4.4.5利用Java对需求提案模块进行测试202

4.4.6利用HttpClient实现需求提案的测试212

4.4.7利用Java对Phpwind论坛进行“灌水”216

4.4.8利用Java完成对Phpwind论坛的随机回帖223

4.4.9利用Java处理JSON格式的数据内容226

4.4.10利用Java实现文件的上传下载232

4.4.11利用Java实现HTTPS协议通信240

4.4.12利用Java完成对WebService协议接口测试247

4.5工具应用254

4.5.1利用SoupUI实现协议级接口测试254

4.5.2利用TesseractOCR实现验证码识别260

项目5界面级黑盒测试自动化265

5.1预备知识: 基于界面的自动化测试核心技术266

5.2核心实验271

5.2.1对象识别原理——Java实现Monkey测试271

5.2.2对象识别原理——Java操作Windows窗体对象276

5.2.3对象识别原理——Java操作Java窗体对象283

5.2.4对象识别原理——JavaScript操作Web窗体对象294

5.2.5Selenium IDE——测试Agileone的公告管理297

5.2.6Selenium WebDriver——配置与使用306

5.2.7Selenium WebDriver——代码结构优化310

5.2.8Selenium WebDriver——代码深度优化316

5.2.9Selenium WebDriver——对象识别机制327

5.2.10Selenium WebDriver——鼠标与键盘操作338

5.2.11Selenium WebDriver——对话框与窗口341

5.2.12Selenium WebDriver——其他重要对象344

5.2.13Selenium WebDriver——兼容性测试347

5.3工具应用: 使用Appium测试Android应用程序348

项目6协议级性能测试自动化356

6.1预备知识357

6.1.1性能测试核心原理与技术体系357

6.1.2性能测试工程体系与场景设计361

6.1.3性能测试指标体系与结果分析370

6.2核心实验375

6.2.1基于Java的多线程技术应用375

6.2.2利用Java的Executor框架运行多线程387

6.2.3利用Java开发Phpwind性能测试脚本392

6.2.4利用Java JSoup实现页面资源的下载407

6.2.5利用Java设计拱形场景及思考时间412

6.2.6监控并分析Windows和Linux关键性能指标417

6.2.7基于Web前端的性能测试分析430

6.3工具应用437

6.3.1使用JMeter实现Agileone的接口测试437

6.3.2使用JMeter实现Phpwind的性能测试444

项目7CBT自动化测试框架设计451

7.1预备知识: 理解自动化测试框架设计与CBT452

7.2核心实验454

7.2.1利用CBT的ATM模型实现基础框架454

7.2.2利用DDT模型重构CBT框架463

7.2.3在CBT中定制测试报告组件467

7.2.4对CBT测试报告组件进行测试479

7.2.5在CBT中定制公共组件模块485

7.2.6利用CBT完成与禅道管理系统集成495

7.2.7让CBT完成产品的持续集成500

参考文献509

随着蜗牛创想教育集团开放计划的落实,我们蜗牛学苑终于入驻B站啦,作为见面礼,我把Python测试开发全套视频开放出来,并且可进行资料的全部打包下载(包括源码、工具、软件、笔记、案例等)。

值得注意的是,整套学习内容是蜗牛学苑线下就业班上课的随堂录屏,并非专门搞得宣传视频(我这句话要表达的意思,你品,你细品),所以更加的朴实无华但实用,放在以前,是要专门花几千块钱购买后才能看的。自学能力比较强的同学们好好珍惜吧。

01-系统测试→ 02-数据库→03-Linux→04-App专项测试→05-Python基础→06-Python高阶→07-接口测试→08-UI自动化→09-性能测试基础→10-性能测试高阶→11-测试框架设计→12-微服务基础→13-微服务性能测试。

01-系统测试

覆盖知识点:测试流程,需求分析,方案设计,项目实施,缺陷报告与测试报告编写,测试项目全流程,常规安全性测试(密码强度、登录次数限制、验证码、权限校验、URL绕过)。

对应的视频资源链接:

02-数据库

覆盖知识点:数据库知识,范式,MySQL配置,命令,建库建表,数据的增删改查,约束,存储过程,函数,触发器,事务,游标,SQL注入原理与防护。

对应的视频资源链接:

03-Linux

覆盖知识点:Linux安装配置,文件目录操作,VI命令,管理,用户与权限,Apache+PHP+Tomcat+JDK+MySQL环境配置,Docker应用。

对应的视频资源链接:

04-App专项测试

覆盖知识点:App的打包与服务器部署,App专项测试核心知识,ADB常用测试命令,Monkey测试,App专项测试工具应用。

对应的视频资源链接:

05-Python基础

覆盖知识点:Python编程基础,语法规则,函数,数据类型,正则表达式,文件读写。

对应的视频资源链接:

06-Python高阶

覆盖知识点:Python面向对象,异常处理,文件IO,多线程,网络编程,PyQT界面,WoniuTalk实战项目。

对应的视频资源链接:

07-接口测试

覆盖知识点:Python单元测试框架,网络通信协议,HTTP与HTTPS协议,Websocket协议,Python的接口测试库,Postman接口测试工具,Restful,Token处理机制,数据加密处理,文件上传漏洞防范、密码暴力破解的预防。

对应的视频资源链接:

08-UI自动化

覆盖知识点:HTML标签与属性,CSS选择器,Xpath详解,Selenium WebDriver框架,Appium移动端测试框架,UIAutomation框架,跨站攻击XSS原理及防护。

对应的视频资源链接:

09-性能测试基础

覆盖知识点:性能测试原理,指标体系,场景设计,实施过程,指标监控,Web前端性能分析。

对应的视频资源链接:

10-性能测试高阶

覆盖知识点:企业级应用架构核心知识,JVM性能调优,MySQL性能调优,Tomcat性能调优,Nginx集群服务器架构部署,Loadrunner在性能测试中的应用。

对应的视频资源链接:

11-测试框架设计

覆盖知识点:DDT,KDT与RobotFramework,POM模型,ATM模型,CBT模型,分层设计思想详解,移动端兼容性测试框架,Python实现持续集成工具,持续集成工具Jenkins应用。

对应的视频资源链接:

12-微服务基础

覆盖知识点:敏捷测试实施流程规范,微服务架构核心知识概念,微服务架构环境部署(Docker、MQ、Redis等环境),微服务架构系统的功能测试,接口自动化,UI自动化测试,性能测试实施。

对应的视频资源链接:

13-微服务性能测试

覆盖知识点:性能测试项目实战,Jmeter/Loadrunner工具应用,PinPoint全链路监控,可靠性测试,测试报告。

对应的视频资源链接: