【书】《Python全栈测试开发》——浅谈我所理解的『自动化』测试


《Python全栈测试开发》》
《Python全栈测试开发》,依稀记得是去年的时候,身为『大数据测试工程师』的我想探索测试的其他领域。遂买了这本书,与此同时,也报了相应的培训班进行有关『自动化』测试的系统性学习。

从书的篇幅上来讲,足足接近500页,绝对是『量大管饱』。而实际上量大且精,这才是最难得的!

本文主要从四方面来介绍自动化测试,大致如下:

①自动化测试的What and Why?
②自动化的前戏需要准备哪些必备技能?
③自动化测试类型
④自动化调优

在介绍如上四方面的自动化测试时,会辅以培训时跟着讲师整理的『博文链接』,以帮助大家更好地理解。

1. 自动化测试的What and Why?

1.1 What

顾名思义,『自动化测试』即让测试『自动化』起来,而这『自动化』背后的本质则是通过一些:

工具、脚本、代码等去模拟人工的操作。

1.2 Why

我们为什么要选择使用『自动化』测试?或者换一个问法——为什么『自动化』测试是测试领域当下的一种趋势?

就我的理解,其实无外乎四个字——『降本增效』。也即自动化测试可以显著提升你个人的效率,进而为企业节省成本,而效率本身又是生产力的代名词,所以就『二八原则』而言,贩卖『焦虑』与『鸡汤』,也理当遵循才对。

2. 自动化的前戏需要准备哪些必备技能?

就笔者有限的经历,Python应该是一个不错的入坑选择,当然面向JD的学习,Java似乎也是一种备受青睐的语言。
Python

万丈高楼平地起,一些基本的测试理论和测试方法也是必不可少的。
Web方面,浏览器的F12,HTML&CSS等前端方面的知识如果可以了解一下,也属锦上添花。
App方面,介于笔者只接触过Android终端,所以adb命令算是必备的基础技能的一种吧。
接口方面,一些开源的工具Postman、Python的Requests库也是较为主流的。

3. 自动化测试类型

自动化测试大致在本书中主要介绍了三种类型——Web自动化、App自动化、接口自动化。
其实Web与App,可以抽象成不同的终端,而接口自动化如果从分类上来讲,UI自动化应该是和它一个层面。大致可以理解为针对同一种终端的不同方面?

所谓的UI自然就是界面了,

U & I 自然地面向世界~

3.1 Web自动化测试

Web自动化,就我所知目前主流的应该是——Selenium,而要实现自动化,除了『器』层面的Selenium,还需要『法』层面的三板斧——

1.自动化测试设计模式
2.自动化测试驱动方式
3.自动化测试框架

3.1.1 自动化测试设计模式

细化来说,之于Web,1最常见的是POM(页面对象模式),这种模式主要用来应对Web UI界面的页面元素频繁变动的情形,导致可能会出现如下情况:

三天前写的自动化测试脚本还能正常跑,更新了个版本,不行了?
经检查发现,原来是代码定位元素的页面有所变动。。。

写到这,就不得不说在Web自动化中比较重要的一项工作——元素定位,就我的讲师——虚竹老师所言,天龙有八部,这定位元素的方式常用的似乎也是八种,如果可以融会贯通,那自动化前途估计真的就是八八八了…

Selenium八大元素定位及相对定位器

3.1.2 自动化测试驱动方式

自动化测试驱动方式大致有如下两种:

  1. 数据驱动之Excel读写
  2. 关键字驱动

有个简单的问题,什么时候用POM,什么时候用关键字驱动?

就我所学到的,通过公司的产品(系统)数划分
POM——少
关键字驱动——多

毕竟关键字驱动的核心理念则是关键字的核心理念,不妨再试想一下,如果系统多的话,POM可以发挥几成功力,但是我们要明确一点——“事在人为,问题的不成问题。”

3.1.3 自动化测试框架

自动化测试驱动框架,目前来讲大概有两种我接触地较为多些——

1.Pytest框架(Pytest官网
2.Unittest框架

实际工作中,更偏向于前者。

3.2 App自动化测试

App自动化测试,其实就是终端是『移动端』,较为典型的比如说——『手机』。

而之于前者的Web自动化,『法』层面基本可以复用,『器』层面的Selenium主要适用于Web端,如果在移动端的语境下,可以平替为如下两种——

1.UIAutomator
2.Appium

3.3 接口自动化测试

接口自动化测试接触的不多,主要停留在『学』的层面,主要用到的技术栈大致如下——

Python + Requests

4. 自动化调优

自动化调优主要分为三方面:
1.自动化测试代码的编写效率
2.自动化测试用例的执行效率
3.自动化测试报告的可观性

针对1的解决方案是——Mock,Mock存在的意义就是无需开发那边将被测对象开发好(主要指接口?),通过Mock服务可以实现模拟未开发好接口的功能。

2的执行效率提升,主要有两种解决方案——
1.多线程(并发)
2.Selenium Grid分布式集群

3的报告生成的观感,可视性上来讲,开源的或许Allure是种不错的选择。

最后的最后,本文主要谈到了自动化测试的『器』与『法』层面,如果想让自动化测试更好地赋能于企业,其实是绕不开『道』的,而此中之道,根据不同的企业(产品)类型或许会有不同,但就敏捷而言——

DDD、TDD、BDD......
只要真的想提升生产力,那么总有一款适合你~


更新一些最近阅读的和自动化测试相关的书籍:
Jenkins 2.X 实践指南
推荐指数:★★★★★
幽评:从Devops运动浪潮,到如今的AIops,CI/CD的绝对主角——Jenkins似乎依然不失其昔日的光芒,足可以见到它之于CI/CD在各种技术浪潮下的鲁棒性。

Selenium自动化测试完全指南 基于Python
推荐指数:★★★★☆
幽评:详尽介绍了自动化测试的点点滴滴,从Web端与移动端两个平台介绍了业内较为主流的开源工具:Selenium与Appium,覆盖了工作中绝大多数的应用场景。
测试架构师修炼之道
推荐指数:★★★★☆
幽评:本书由浅入深的讲述了,测试策略与各种行之有效的测试方法,同时对质量保证环节中的权限分析这一环做了充足的讲解,但是美中不足的是涉及到技术的细节(代码)却不够深入,但想来本书的定位也不再于此。

Pytest框架与自动化测试应用
推荐指数:★★★★☆
幽评:Pytest作为业内主流的测试开发框架,本书结合Allure详尽解释了Pytest的运行机制,如工作用到,可以作为字典书。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Python全栈测试开发(视频案例版)pdf是一本以视频案例为主的测试开发教程。这本教程主要面向对Python开发和软件测试有一定了解的开发者和测试人员。通过这本教程,读者可以了解如何使用Python进行全栈测试开发,并通过视频案例进行实操练习。 教程主要包含以下几个方面的内容: 1. 简介和准备工作:教程会先介绍全栈测试开发的基本概念和目标,以及相关的准备工作,如安装Python和相关测试开发工具的环境搭建。 2. 测试开发基础:这一部分会对测试开发的基本知识和技能进行介绍,包括测试框架的选择和使用、测试用例的编写和管理、测试报告的生成和分析等。 3. Web应用测试:教程将详细介绍如何使用Python进行Web应用的测试开发,包括前端测试和后端测试。读者将学习如何模拟用户行为,进行页面元素的定位和操作,以及如何与数据库进行交互等。 4. 接口测试:这一部分将介绍如何使用Python进行接口测试的开发,包括接口的自动化测试、接口的模拟和数据的生成等。 5. 移动应用测试:教程还将介绍如何使用Python进行移动应用的测试开发,包括Android和iOS应用的自动化测试等。 6. 性能测试:最后,教程将介绍如何使用Python进行性能测试的开发,包括性能测试的基本原理和常用工具的使用。 通过这本教程,读者可以全面了解Python全栈测试开发的流程和技能要求,并通过视频案例进行实操练习,提高自己在测试开发领域的能力。无论是从事软件开发还是测试工作的人员,都可以从这本教程中获益。 ### 回答2: "Python全栈测试开发(视频案例版)pdf"是一本讲解Python全栈测试开发的视频教程所对应的电子全栈测试开发是一种综合性的测试开发角色,旨在让测试人员能够同时掌握前端、后端和测试等多个领域的知识,从而更好地进行软件测试。 这本电子通过丰富的案例和详细的视频教程,系统性地介绍了Python全栈测试开发的核心知识和技能。其中,视频案例的形式可以帮助读者更好地理解理论知识在实际项目中的运用,提升学习效果。 这本电子主要包含以下内容: 1. Python基础知识:介绍Python的基本语法、数据类型、控制流等内容,为学习测试开发打下基础。 2. Web开发框架:介绍常用的Python web开发框架,如Django、Flask等,让读者了解如何搭建web应用程序。 3. 前端技术:介绍HTML、CSS、JavaScript等前端技术,了解前端开发的基本原理和技巧。 4. 数据库操作:介绍如何使用Python来操作数据库,包括SQLAlchemy等常用库的使用。 5. 自动化测试:介绍如何使用Python编写自动化测试脚本,包括界面自动化测试和接口自动化测试等。 通过学习这本电子,读者可以全面了解Python全栈测试开发所需要的技能和知识,并且通过案例实践来加深理解。对于想要从事测试开发工作的人员来说,这本是一份很好的学习资源。它可以帮助读者掌握Python编程、Web开发、数据库操作和自动化测试等技能,为进一步提升职业能力奠定基础。 ### 回答3: python全栈测试开发(视频案例版)pdf是一本关于使用Python进行全栈测试开发的视频案例教程的PDF电子全栈测试开发是指在进行软件测试时,涵盖前端、后端和数据库的测试领域,而Python则是一种简单易学、功能强大的编程语言。 这本PDF电子通过视频案例的形式,向读者展示了如何使用Python进行全栈测试开发的具体实践。它包含了从前端界面测试到后端接口测试,再到数据库测试等多个方面的内容。通过实际案例的讲解,读者可以学习到如何使用Python编写测试脚本,进行多种类型的测试,如功能测试、性能测试和安全测试等。 与传统的文本教程相比,视频案例更加生动直观,能够更好地展示代码编写和运行的过程。读者可以通过观看视频案例,一步一步地学习如何使用Python进行全栈测试开发,并理解其中的关键概念和技巧。 这本PDF电子适合有一定Python编程基础的读者学习和实践。通过学习全栈测试开发,读者可以提升自己的软件测试能力,能够准确而高效地发现和修复软件中存在的问题,提高软件的质量和稳定性。 总之,python全栈测试开发(视频案例版)pdf是一本通过视频案例教学的方式,向读者展示如何使用Python进行全栈测试开发的教程。它通过实际案例的讲解,帮助读者掌握全栈测试开发的技术和方法,提升软件测试能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

司小幽

真诚赞赏,手留余香。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值