手工测试转做自动化,这3件事不能不知道!

2024-01-18 16:18

本文主要是介绍手工测试转做自动化,这3件事不能不知道!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

为什么要进行自动化测试

开始正文前,我们必须先统一认知,充分认识到自动化测试的必要性。

随着被测系统越来越大,逻辑越来越复杂,测试的工作量也会倍增,这必然会暴露出测试资源与测试生命周期的冲突,因此为了更快、有效、可靠的对被测系统进行测试,需要引入自动化测试。

而另一方面,当下测试开发岗位是目前软件测试的主趋势,也是升职加薪的必要手段,因此自动化测试必须要尽快实施。

分层做自动化

选择做自动化,首先要明确目标,自动化是分层的,目前主流认为,自动化测试主要分为UI、SERVICE、JUNIT三层。

图片

所以我们做自动化的第一步要确认,自己要做针对哪一层的自动化,每一层自动化要做的事情如下:

01、UI 层

主要是对页面元素进行检验,多用于测试浏览器的兼容性。

02、SERVICE层

主要针对的就是接口,而接口关注的就是一个类、或者一个函数的实现。

03、Junit 层

则关注于底层代码的逻辑,需要精确到每个 if 分支、每个 for 循环的运行。

以主流电商淘宝网为例:

图片

此时我们想验证下谷歌、火狐、EDGE、Safari 浏览器是不是都可以正常进行搜索,此时我们就可以将这个功能做出 UI 自动化,自动识别搜索框,而后在各个浏览器以验证其兼容性。

那么我们输入”苹果手机”,而后点击搜索,此时服务器会根据用户要求返回查询结果,这时就是接口测试。

图片

有了接口,后台会判断关键字:收到”苹果手机”就返回其相关内容,如果搜索的为”华为手机”就要返回华为手机相关内容,此时就涉及逻辑判断,最好通过单元测试实现。

明白了每层的自动化的测试标的,接下来再给大家介绍下,为什么是金字塔模型,这代表每层的比重和重要性,因此这个模型告诉我们:

  • 一定要对底层实现做单元(JUNIT)测试,当然这部分大部分都是由开发实现。
  • UI 因为其不稳定性,投入高但是往往效果小,因此比重低,但是这个框架有个好处,适合学习入门,因此如果你第一次尝试自动化,不妨从 UI
    开始做起。
  • 接口自动化,对测试人员的编码能力有足够高的要求,但是相对于单元测试,又少了很多细节技术的学习,因此推荐有一定代码基础的人从接口自动化做起。

所以这里我的建议是,先树立目标,从哪一层开始做起,入门级做 UI,有一定的基础直接做接口。

自动化前的技术储备

决定做自动化之后,是需要有一定的技术储备的,结合我个人的经验,给出如下建议。

01、第一步

确立学习一门主要的编程语言,这里主推java,虽然python被很多人说适合测试,但是我建议你学习java,因为自动化核心的框架selenium、testng都是java语言编写的。

最主要的是,用 java 更贴近于目前大部分公司系统,遇到问题可以随时请教公司研发同事,另外一旦实施,很多环境可以开箱即用。

02、第二步

学习一门自动化框架,推荐selenium、testng、allure(这个用来产出报告的)。

03、第三步

弄清楚主流的应用层通讯协议,这点至关重要,如果你压根不明白什么是http接口,什么是微服务接口,什么是TCP协议接口,什么是API接口,那么你可能很难有自动化的架构思维。

04、第四步

了解下自动化的基本组成,一般要进行:自动化用例设计、脚本开发、数据驱动、参数化、生成测试报告这六大模块,需要了解下每个模块的大致做法,这样方便后面自己定位问题。

05、第五步

学习下主流的开发技术框架,推荐springboot,有了这个一站式开发框架,可以快速的帮助你搭建分层的自动化框架,一定要了解下。

06、第六步

学习下maven,这个可以更好的帮助你管理自己的自动化工程。

07、第七步

最后一步,最最关键,边学习边做是最佳实践,不要学完了再用,而是要边学习边应用,边应用边积累,养成写技术博客的习惯。

这里我强调技术储备非一朝一夕之功,只要自己有了学习方向,就可以边做边学!

终极测试的职业规划

如果一旦进入到自动化测试的行业,请明白,也只是测试职业生涯的一小步而已。如果想要在测试行业继续耕耘,有更高的成就,需要为自己制定好严格的职业规划路径。

如果把目前的自动化测试分为初级、中级、高级、专家四类,在每一级的要求如下:

图片

可见从初级成长到专家,要做的事情非常多,每一级别的成长都有其对应的技能标准,我们只有对自己的职业有清晰的认识,才能使我们走的每一步都掷地有声。

今天与大家一起探讨了从手工测试想要转到自动化测试所要做的思考和准备,总结来看,我们首先要清晰的认识自己到底要从哪一层的自动化开始做起,这需要对自己目前现状做充分分析才能决定。

确定了做自动化,那么技术储备必不可少,要清晰的认识到做自动化是离不开技术编码的,最后入行了自动化,要对其职业发展有明确的规划,这样自己才能朝着目标越来越近,大道至简,多说无益,选择转行自动化,那么从现在开始行动吧!

以上笔者的经历更像一张横向的知识网,创建了一个交流平台 914172719 ,群内有各种技术同行交流、学习资料、面试经验等。其中用到jenkins、docker、moutebank、python编程等,还需要花更多的精力去深入学习,当每项技能都能掌握到一定深度,才能称为一个完整的知识体系。

在这里插入图片描述

最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

这篇关于手工测试转做自动化,这3件事不能不知道!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/619564

相关文章

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

Python实现自动化表单填写功能

《Python实现自动化表单填写功能》在Python中,自动化表单填写可以通过多种库和工具实现,本文将详细介绍常用的自动化表单处理工具,并对它们进行横向比较,可根据需求选择合适的工具,感兴趣的小伙伴跟... 目录1. Selenium简介适用场景示例代码优点缺点2. Playwright简介适用场景示例代码

Java8需要知道的4个函数式接口简单教程

《Java8需要知道的4个函数式接口简单教程》:本文主要介绍Java8中引入的函数式接口,包括Consumer、Supplier、Predicate和Function,以及它们的用法和特点,文中... 目录什么是函数是接口?Consumer接口定义核心特点注意事项常见用法1.基本用法2.结合andThen链

Python自动化处理手机验证码

《Python自动化处理手机验证码》手机验证码是一种常见的身份验证手段,广泛应用于用户注册、登录、交易确认等场景,下面我们来看看如何使用Python自动化处理手机验证码吧... 目录一、获取手机验证码1.1 通过短信接收验证码1.2 使用第三方短信接收服务1.3 使用ADB读取手机短信1.4 通过API获取

Rust中的Drop特性之解读自动化资源清理的魔法

《Rust中的Drop特性之解读自动化资源清理的魔法》Rust通过Drop特性实现了自动清理机制,确保资源在对象超出作用域时自动释放,避免了手动管理资源时可能出现的内存泄漏或双重释放问题,智能指针如B... 目录自动清理机制:Rust 的析构函数提前释放资源:std::mem::drop android的妙

Python自动化Office文档处理全攻略

《Python自动化Office文档处理全攻略》在日常办公中,处理Word、Excel和PDF等Office文档是再常见不过的任务,手动操作这些文档不仅耗时耗力,还容易出错,幸运的是,Python提供... 目录一、自动化处理Word文档1. 安装python-docx库2. 读取Word文档内容3. 修改

Python自动化办公之合并多个Excel

《Python自动化办公之合并多个Excel》在日常的办公自动化工作中,尤其是处理大量数据时,合并多个Excel表格是一个常见且繁琐的任务,下面小编就来为大家介绍一下如何使用Python轻松实现合... 目录为什么选择 python 自动化目标使用 Python 合并多个 Excel 文件安装所需库示例代码

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入