首页 > 其他分享 >测试工程师如何进阶(自动化、性能、测开)

测试工程师如何进阶(自动化、性能、测开)

时间:2024-05-11 10:32:06浏览次数:23  
标签:测开 进阶 工程师 python Linux UI 测试 自动化 工具

简介

功能测试(所谓“点点点”)但是你不可能一直点。入行3年后,你需要拥有不止点点点的技能,否则出去面试,你会就会感受到竞争者给你带来的压力,你需要拿出更高级的技能,在这个越来越卷的测试行业,持续学习是一门必修课。学什么,如何学,每个人有每个人的看法,在这里,我从个人的角度来谈谈。

自动化测试,性能测试,测开。相信每个人或多或少都听过这些词汇,对于刚入行的测试工程师来说,这些词汇都具备非常大的诱惑力,因为它代表更高的技能水平,代表更好的薪水,也是个人标签的认定。这三个词汇到底代表什么含义。这里需要好好的来解释一下。

自动化测试

自动化测试可以理解为先用工具或者代码编写好可运行的测试脚本,一键执行。执行完成后会有测试结果出现告诉你成功了多少,失败了多少。自动化测试的意义是减少重复的人力劳动,一般是业务稳定之后,用来做回归测试,模拟手工测试的过程。但不能说自动化是万能的,它不能代替手工测试。而且属于前期消耗人力的一种测试行为,需要测试人员去维护和更新脚本。

当前行业内的自动化测试主要分为Web端的UI自动化(浏览器网页),APP端的UI自动化(移动app),接口自动化。UI自动化主要是模拟用户在网页上的操作行为,比如点击按钮,填写内容,主要测试对象为网页。接口自动化是模拟网页调用后台接口的行为,测试的对象主要为服务端接口。下面分别来介绍自己接触的工具和框架。

  • Web端UI自动化框架介绍,排名分先后:
  1. Python+selenium+unittest,行业内的主流UI自动化框架,python语言简单易懂。学习起来非常容易上手
  2. Java+selenium+TestNg,以java语言为主的UI自动化框架。和上面的区别主要是编程语言的区别。
  3. python+RobotFramework,在测试行业有一定的比例,关键字驱动进行的自动化。robot为可视化的工具,引入selenium包后即可进行UI自动化。
  • APP端的UI自动化工具介绍,排名分先后:
  1. Python+Appium+unittest,行业内的主流自动化框架,python语言简单易懂。学习起来非常容易上手。
  2. Java+Appium+TestNg,以java语言为主的自动化框架。和上面的区别主要是变成语言的区别。
  • 接口自动化框架介绍,排名分先后:
  1. python+unittest,接口测试不借助第三方包,所以纯代码即可实现,python语言简单易懂,加上python自带的unittest断言工具即可实现接口自动化。当然,现在python+pytest也是非常火了。更建议学习。
  2. Java+TestNg,java语言的自动化框架,TestNg为java自带的断言工具。
  3. python+RobotFramework,robotframework为可视化工具,引入python requests包,可以实现接口自动化。
  4. Jmeter+Ant,此工具行业内一般用来做压力测试工具,但是也可以做接口自动化。优势为可视化工具,学习难度成本低。

补充一下:自动化测试不可缺少Jenkins,所以以上的自动化都是要结合Jenkins去运行的,所以Jenkins也是必不可少要学习的。

性能测试

性能测试主要解决的是测试公司的当前服务器(Linux操作系统)能力如何,保障服务器能满足XX的压力,发现服务器当前的瓶颈和解决方案。公司里专职的性能测试并不多,专职的性能测试一般在对外服务的公司里(公司卖服务)以及大公司(用户量大,交易量大)居多。创业公司,普通公司一般不会做性能测试。

性能测试工具介绍:

  • Jmeter:行业内开源的工具,易上手,扩展性强。学习者需要学习jmeter常用组件用法,脚本的编写。
  • loadrunner:历史主流工具,会逐渐被jmter取代。

学习建议:学jmeter即可,工具会用不代表会了压力测试,仍需要学习常用压力指标比如:TPS、错误率、90%平均,常用的Linux监控命令比如:top、vmstat。可视化工具比如:influxdb。性能测试是一门高深的测试内容,需要熟悉Linux服务器相关知识,还需要了解运行在服务器上的应用原理。初学者只能学个皮毛,需要在公司内实践才能逐渐提升。

测试开发

测试开发这个词可以解释为既要会测试,又要会开发。测试开发在公司里主要的职责为开发方便测试的系统用来提升测试和工作效率。我就在公司里开发了一个用于流程管控的系统,将提测,上线的流程系统化。然而大多数公司是没有测试开发岗位的。因为对测试的技能要求高。但是测试开发的薪水都普遍很高。下面介绍测试开发学习路线。

  1. 前端知识:html、css、js、vue,既然要做系统,前端知识一定不可或缺。
  2. 后端知识:以python为主的开发框架,比如flask,Django。以java为主的开发框架,比如springboot。
  3. Linux知识:你需要将系统部署到Linux系统,所以Linux系统是需要非常熟悉的,可不是简单的那些Linux操作命令。
  4. 数据库知识:开发系统,数据库知识也是必不可少,建表,sql语句都是要去要会的。
  5. 其它知识:以上学习过程中需要的其它知识,比如maven,docker等

原文链接

标签:测开,进阶,工程师,python,Linux,UI,测试,自动化,工具
From: https://www.cnblogs.com/love-x/p/18185950

相关文章

  • Python进阶之多态和鸭子类型
    【一】多态【1】什么是多态多态指的是一类事物有多种形态【2】示例#动物有多种形态:人、狗、猪等importabc#总的类:动物classAnimal(metaclass=abc.ABCMeta):@abc.abstractmethoddeftalk(self):pass#动物的一类:人classPeople(Animal):......
  • Python进阶之绑定方法和非绑定方法
    【一】绑定方法和非绑定方法介绍【1】绑定方法绑定给谁,谁来调用就自动将它本身当作第一个参数传入(1)绑定到类的方法用classmethod装饰器装饰的方法为类量身定制类.boud_method(),自动将类当作第一个参数传入其实对象也可调用,但仍将类当作第一个参数传入(2)绑定到对象的方......
  • Python进阶之反射
    【一】什么是反射反射是一种程序可以访问、检测和修改其本身状态或行为的能力在Python中,反射主要指通过字符串的形式操作对象的属性python中的一切事物都是对象,都可以使用反射【二】反射方法getattr(object,key):获取对象的属性值,如果属性不存在,可提供默认值hasattr(ob......
  • Python进阶之内置方法
    【一】内置方法引入__init__ :初始化对象时触发__del__ :删除类时触发__new__ :构造类时触发__str__ :str函数或者print函数触发__repr__ :repr或者交互式解释器触发__doc__ :打印类内的注释内容__enter__ :打开文档触发__exit__ :关闭文档触发__getattr__:访问不存在的属......
  • Python进阶之抽象类
    【一】什么是抽象类与java一样,python也有抽象类的概念但是同样需要借助模块实现,抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化【二】为什么要有抽象类如果说类是从一堆对象中抽取相同的内容而来的,那么抽象类就是从一堆类中抽取相同的内容而来的,内容包括数据......
  • Python进阶之封装
    【一】面向对象的三大特性面向对象的三大特性:封装、继承、多态其中最重要的就是封装,封装就是将数据和功能整合到一起我们可以对封装在类和对象中的属性进行访问的控制,有隐藏的和开发的接口【1】什么是封装封装是对具体对象的一种抽象封装就是将某些数据和功能隐藏起来,只......
  • Python进阶之面向对象编程
    【一】人狗大战小游戏【1】游戏前提分析人可以打狗,狗掉血,狗可以咬人,人掉血人的属性有名字、年龄、伤害、血量、类型狗的属性有名字、年龄、伤害、血量、类型【2】游戏实现(1)定义人和狗的属性#【1】用字典定义,代码较冗余dog1={'name':'狗蛋','d_type':'中......
  • Python高级之函数参数进阶Optional
    【一】引言在Python3.5版本后引入的typing模块为Python的静态类型注解提供了支持。这个模块在增强代码可读性和维护性方面提供了帮助。本文将深入探讨typing模块,介绍其基本概念、常用类型注解以及使用示例,以帮助读者更全面地了解和应用静态类型注解。【二】基本类型注解【......
  • java测试框架Junit5进阶知识点
    声明参数化导入注解<!--junit5新的编程和扩展模型--><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>5.8.2</version>......
  • 进阶 Redis 技术与应用
    目录1.Redis高级数据结构1.1.HyperLogLog1.2.Bitmaps1.3.Geospatial数据1.4.Pub/Sub(发布/订阅)2.Redis事务与持久化2.1.Redis事务简介2.2.持久化方式:RDB和AOF2.3.配置和管理持久化3.Redis高级功能3.1.分布式锁3.2.Lua脚本3.3.客户端连接和连接池3.4.......