《python软件测试实战宝典》简介
创始人
2024-03-25 08:47:44
0

python软件测试实战宝典出版了

我写的《python软件测试实战宝典》这本书已经面世有好几个月了,一直以来都想写写为什么写作这本书,可是由于自己的懒惰,最近几年都没怎么更新博客。

为什么写作这本书

起因是由于我在CSDN上面写了几个标题“用Python做测试”,也发了一点点的内容,竟发现阅读量还行,这就说明其实在软件测试行业,还是有很多人想学习这块的。然后在2019年不忙的时候,我就研究了一下市面上这块的内容,发现其实还是有挺多的资料的,但是这些资料更多的还是在写Python做自动化测试,对于Python在软件测试中的应用呢,其实并不全面,所以从那天时陆续就写下了《用Python玩测试》(后来出版社改名为《python软件测试实战宝典》,我觉得这个名字取得不太好,不像我的风格),内容包括:

  • 面向测试人员的Python基础
  • 用Python做接口全自动化测试
  • 用Python做性能测试
  • 用Python做安全测试
  • 用Python做UI自动化测试

书的内容,基本涵盖了软件测试中的非功能性测试部分,详细的目录可以参考如下:

  • 用python玩自动化测试 1
  • 内容简介 1
  • 自序 2
  • 目录 4
    第一章 测试工程师需要的Python基础 8
  • 1.1让Python再飞一会儿 8
  • 1.2测试工程师常用到的数据类型 15
  • 1.2.1用python做加减乘除 16
  • 1.2.2 用python来写字符串 18
  • 1.2.3 列表是什么 22
  • 1.2.4 元组是什么 27
  • 1.2.4 字典是什么 30
  • 1.2.5 集合是什么 37
  • 1.2.6文件处理的常用方法 37
  • 1.3条件语句 40
  • 1.3.1实例:爱我还是他 42
  • 1.3.2实例:猜一猜今天是星期几 42
  • 1.3.3实例:从Json中获取今天猪肉的价格 43
  • 1.4循环语句 44
  • 1.4.1实例:从无限循环中逃离 45
  • 1.4.2实例:用for把字符串、列表、元组、字典遍历 46
  • 1.5函数 47
  • 1.5.1实例:登录过程的函数模拟 48
  • 1.5.2实例:抽奖游戏函数的模拟 49
  • 1.6异常的处理 50
  • 1.7模块和类 51
  • 1.7.1模块 51
  • 1.7.2类 52
  • 1.8装饰器 56
  • 1.8.1实例:在函数中定义 57
  • 1.8.2实例:给每一个测试函数打印执行时间 57
    第二章:用Python热腾腾地做接口自动化测试 58
  • 2.1 HTTP协议与接口测试 59
  • 2.1.1 快速掌握HTTP协议 59
  • 2.1.2 Fiddler工具的使用 61
  • 2.1.3 接口测试的通用方法与要点 62
  • 2.2 Requests:让HTTP服务人类 64
  • 2.3 Grequests:Requests的异步模块 68
  • 2.4 HTTP接口测试从这儿开始 70
  • 2.4.1实例:从一个简单的接口测试代码开始 71
  • 2.4.2实例:关联参数的处理 72
  • 2.4.3实例:如何在多个请求的函数中传递关联参数 73
  • 2.4.4实例:如何在多个请求的类中传递关联参数 74
  • 2.5 如何访问接口测试中无所不在的数据存储 77
  • 2.5.1实例:如何访问数据库 77
  • 2.5.2实例:用ORM访问数据库 78
  • 2.5.3实例:对接口返回的数据增加数据库检查 79
  • 2.5.4实例:如何访问mongodb缓存库 81
  • 2.5.5实例:如何访问redis缓存 83
  • 2.5.6实例:对接口返回的内容增加mongodb的检查 83
  • 2.6 logbook:增强性日志包 85
  • 2.6.1实例:在接口测试中增加日志逻辑 87
  • 2.7 Pytest:优雅地检查接口测试的结果 88
  • 2.7.1用pytest对接口返回的内容进行检查 90
  • 2.7.2常用的pytest.mark等方法 92
  • 2.7.3多个测试数据,一起来测试吧! 95
  • 2.7.4 pytest的fixture固件 99
  • 2.7.5 pytest常用第三方插件 107
  • 2.8 把接口测试的结果汇报给领导 110
  • 2.9 Allure:更美的接口测试报告 111
  • 2.10 HTTP接口自动化测试中的特殊处理 115
  • 2.10.1实例:模拟web http请求时如何保持session 115
  • 2.10.2实例:模拟web http请求时如何处理html 116
  • 2.10.3实例:模拟web http请求时如何调用js函数 118
  • 2.10.4接口测试中常见的加解密处理 119
  • 2.11综合实例:微型HTTP接口自动化测试代码的实现 123
  • 2.11.1 代码工程构造的说明 124
  • 2.11.2 接口测试主测试代码 125
    第三章:用Python模拟千军万马去做性能自动化测试 136
  • 3.1 python中模拟多用户的基础 136
  • 3.1.1 实例:如何用多线程来做性能测试 137
  • 3.1.2 实例:如何用线程池来做性能测试 139
  • 3.1.3 实例:如何用多进程来做性能测试 140
  • 3.1.4 实例:如何用进程池来做性能测试 141
  • 3.1.5 实例:如何将线程与进程接合后做性能测试 142
  • 3.1.6 实例:如何用协程来做性能测试 146
  • 3.2 更适合做性能测试的HTTP包 148
  • 3.2.1 实例:使用grequests来做性能测试 148
  • 3.2.2 实例:使用aiohttp来做性能测试 149
  • 3.3 python中强大的性能测试框架locust 151
  • 3.3.1 locust常用类的简介 152
  • 3.3.2 实例:让蝗虫飞起来 156
  • 3.3.3 Locust测试脚本的增强处理 165
  • 3.3.4 如何在locust中分布式多机执行 171
  • 3.3.5 将locust的结果与Loadrunner进行对比 173
  • 3.3.6 实例:使用FastHttpUser来做性能测试 175
  • 3.3.7实例:自定义扩展grequests来做性能测试 180
  • 3.4 如何在多个压测机中执行命令 183
  • 3.5 专为性能测试准备的监控工具NetData 185
  • 3.6综合实例:用Locust做某OSS服务的性能测试 186
  • 3.6.1 Locust主测试代码 187
  • 3.6.2压测结果分析 192
    第四章:用python轻松做HTTP协义的安全测试 195
  • 4.1 OWASP DVWA环境的搭建 196
  • 4.2 如何用python去发现命令执行漏洞 202
  • 4.3 如何发现CSRF漏洞 208
  • 4.4 如何用python去发现文件包含漏洞 218
  • 4.5 如何用python去发现上传文件漏洞 224
  • 4.6 如何用python去发现SQL注入漏洞 227
  • 4.7 如何用python去发现XSS漏洞 232
  • 4.8 mitmproxy的综合运用 238
  • 4.8.1 mitmproxy的简介 238
  • 4.8.2 mitmdump的使用方法 241
  • 4.8.3 实例:mitmdump悄无声息地改变响应内容 243
  • 4.8.4 实例:mitmdump结合sqlmap进行自动化检测 248
  • 4.8.5 实例:mitmdump批量自动化检测越权请求 256
  • 第五章:用python做UI自动化回归测试 265
  • 5.1 不好好评估的UI自动化测试,最后可能变成鸡胁 266
  • 5.2 UI自动化测试开始于Selenium 267
  • 5.3元素查找的八个罗汉方法 270
  • 5.3.1 与HTML标签属性对应的四个方法 271
  • 5.3.2 根据文本信息查找的二个方法 278
  • 5.3.3 根据页面路径深度查找的两个方法 281
  • 5.4 智能识别元素插件Ranorex Selocity 290
  • 5.5 find_相关方法大全 291
  • 5.6 selenium提供的常用方法 294
  • 5.6.1 实例:对浏览器进行控制的方法和属性 294
  • 5.6.2 实例:对网页控制的方法和属性 297
  • 5.6.3 实例:对元素的控制方法和属性 298
  • 5.7 轻松应对网页中的自定义控件 302
  • 5.7.1 实例:对菜单、导航等元素进行操作 302
  • 5.7.2 实例:对单选、复选控进行操作 304
  • 5.7.3 实例:对上传控件进行操作 308
  • 5.7.4 实例:对下拉框控件进行操作 313
  • 5.7.5 实例:多标签和iframe的处理 316
  • 5.8 使用unittest来管理测试案例 319
  • 5.8.1 实例:用unittest把测试案例管理起来 320
  • 5.8.2 实例:如何在unittest中使用数据驱动 321
  • 5.8.3 实例:生成HTML报告发邮件给领导 323
  • 5.9 Page Object设计模式的应用 326
  • 5.9.1 如何组织Page Object模式的代码 326
  • 5.9.2 实例:把Page Object模式应用到登录功能上面 327
  • 5.10 更快的执行UI自动化回归测试 333
  • 5.10.1实例:Selenium Grid多机执行测试案例 333
  • 5.10.2实例:如何在多进程中执行Selenium Grid 338
  • 5.11 使用增强型框架Seleniumbase来写UI自动化测试 341
    致谢 345
    参考文献 345

软件测试行业目前的技术要求是怎样的

软件测试发展到目前,已经从手工测试的技要求转换到对于测试开发的强烈渴望,比如下面的这个招聘要求:

  1. 负责平台APP与H5等产品的质量保证,同时研究测试质量提升,优化测试流程,及提升测试效率;
    备注:功能测试要做。
  2. 根据产品需求和设计文档,制定测试计划,并分析测试需求、设计测试流程,选择合理的测试工具;
    备注:测试设计,测试技术选型要做。
  3. 参与自动化测试平台搭建和自动化测试开发、实施,负责已有相关系统的稳定运营,快速定位解决线上突发问题;
    备注:测试工具、测试脚本要做,运维监控也要做。
    再来看看岗位要求的描述:
  4. 两年以上自动化测试经验,熟悉自动化测试(功能自动化测试、接口测试自动化测试、移动应用系统的功能自动化测试),至少了解一种自动化体系的构建;
    备注:涉及到的技术可能包括selenium、appium、http api(包括但不限于可能爬虫)。
  5. 至少熟练掌握一种以上性能或自动化测试工具,包括但不限于LoadRunner,QTP,Selenium 等,有性能测试经验者优先考虑;
  6. 了解软件开发过程,熟悉软件生命周期各阶段的测试方法,熟悉软件测试理论和流程;
  7. 熟悉Linux操作系统、Tcp/Ip网络协议,熟悉MySQL/Oracle等数据库,有C/C++、java、python、shell、GO其中二到三种语言的开发经验优先;
    内层含义:实际上,很可能是java、python,数据库的设计模式也要能做。
  8. 有成功的自动化工具及框架开发的实践经验,有知名互联网公司自动化测试建设经验优先;
    内层含义:顶层设计与推动能力。
  9. 有性能测试、安全测试、白盒测试、持续集成经验优先。
    备注:性能调优+安全渗透+运维支撑。
    从招聘信息来看,“测试”这个角色,可能是研发流程中全流程参与,其涵盖的技术面还是相当广的(深不深,看个人能力)。所以学习本书当中的内容还是很有必要的

我的新计划

由于版权的原因,书的内容我不能全搬到博客中,但是呢我打算重新写一下《用Python玩测试》,当然由于是博客的原因,所以用词就可以随意一点,少了一个限制,也许更有意思!

关注我,让我带你用Python玩转测试吧!

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...