Python 和Java 哪个更适合做自动化测试?

2023-11-15

很多小伙伴工作在功能测试行业工作了2、3年后,发现自己已经把功能测试做的非常好了,已经到职业发展和薪资发展的瓶颈期了,就想着学点东西,提提升一下技能。 

 而对于功能测试升级来说,一般有这么3个主流的发展方向:一是性能测试,一是接口测试,一是自动化测试。当然啦,还有很多可发展的方向,但是最热门的应该就是这3个了。尤其是自动化测试,更是成为了很多小伙伴的主要目标(毕竟大厂招聘比较多)。所以,接下来,我们就一起来聊聊自动化测试的内容。

1、什么是自动化测试?

根据百度的解释,自动化测试就是指:软件测试就是在预设条件下,运行系统或应用程序,评估运行结果。预先条件应包括正常条件和异常条件。自动化测试是把以人为驱动的测试行为,转化为机器执行的一种过程。

简单来说,就是将重复手动测试的部分,通过代码转化为机器执行,实现批量化操作的过程。当然,我猜大家对此都有了解,就不赘述啦。 

2、为什么要进行自动化测试?

那么,为什么进行自动化测试呢?

其实,不论是站在企业或是个人的角度,做自动化测试都是大势所趋的。你比如:

1)对于企业来说,尤其是大企业,自动化测试确实可以通过解放一大批人力,从而节约项目成本。毕竟,人力成本才是IT公司投入资金最多的地方,所以,没必要把人才浪费在重复测试的地方。

 2)有的测试,比如如什么12306这类官方购票软件的阿里测试和负载测试,人为是很难完成测试的。一个是手工成本高,另一个是不现实。我们无法要求百万人同时做购票测试,所以,这种时候必须由机器代劳。

再者,还有一些特殊的项目,也会有这类的测试需求。比如版本管理。我们需要核对新的code不会影响原版本库,所以就需要build verify了。这种也比较类似于冒烟测试。 

 3)另外,还有一点就是,人要休息,机器就不怕,可以节约很多时间成本。 当然,自动化测试也不是没有缺点,但是对于能力提升这一块,什么成本高、无法完全依赖自动化测试什么的,都不是我们要考虑的问题,所以在这里我就不赘述了哈,大家可以自行了解下。 

3、自动化测试的工具有哪些?

其实,如果你有简单的了解,就会发现,市面上主流的自动化测试工具,无非就那么几个:Selenium、appium、Jmeter、Postman、Monkey、LoadRunner。

其实这些工具我们只要学习测试,就都会接触到。但是因为有时候,我们使用到的功能比较少,所以也就把工具“用窄了”。所以,建议大家想进阶的话,先把这些工具吃透哦~

下面我们来复习一下这些工具应用的平台。

 LoadRunner:主要用于app、web、其他网路设备和数据库等。它通过模拟大量用户实施并发、负载等行为,来实时监测产品的性能。同时,它还能极大的减少负载测试所需的硬件和人力资源。

Postman:主要被应用于app、web的接口测试之中。

JMeter:主要被应用于web应用程序的接口、负载测试之中,同时还可以支持接口单元测试和部分功能测试。

Monkey:它主要被应用于iOS和Android系统之中。通过adb shell,它能协助生成用户或系统的伪随机事件。

Selenium:主要被应用于web页面相关程序中,是一款网页应用中最好的开源自动化测试工具之一。

appium:主要被应用于手机iOS和Android系统中,是一个支持多种语言编写脚本的移动端测试开源工具。  

4、Python 和Java,哪个语言更适合做自动化测试呢?

从应用的角度来说,Java仍然是时下最主流的编程语言,尤其是在安卓项目中,其地位更是不容小觑。但是,换个角度,就业内大家使用率更高的、自动化测试领域普适度更高的,当属Python莫属了。

 因为业内流行的行话,想必大家也听过:人生苦短,我用Python。主要就是因为它简单,而且效率杠杠的,不喜欢都不行。

那么,Python有哪些优势呢?

Python+selenium:搞定UI自动化测试;

python request:搞定接口测试;

python locust:搞定性能测试;

python Scapy:搞定安全性能测试;

python selenium:搞定兼容性测试; 

另外,最重要的一点,Robot framework自动化测试框架就是基于Python写的,所以,其实用Python来做自动化测试,其实更好上手一些。

如果你是非计算机专业,转行做测试的人,选择Python就够用了;但如果你是计算机相关专业的同学,也可以挑战Java编写自动化测试框架哦,非常有钱途。 

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

① 2000多本软件测试电子书(主流和经典的书籍应该都有了)

② 软件测试/自动化测试标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python编程语言、API接口自动化测试、web自动化测试、App自动化测试(适合小白学习)

 ⑤ Python学习路线图(告别不入流的学习)

在我的QQ技术交流群里(技术交流和资源共享,广告进来腿给你打断)

可以自助拿走,群号953306497(备注“csdn111”)群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 和Java 哪个更适合做自动化测试? 的相关文章

随机推荐

  • SpringMvc ModelAndView 视图解析器和Servlet详解

    一 设置ModelAndView对象 根据View的名称 和视图解析器跳转到指定的页面 页面 视图解析器的前缀 view name 视图解析器的后缀
  • 前端Vue自定义顶部导航栏navBar 导航栏搜索框searchBar 导航栏右侧菜单按钮button

    随着技术的发展 开发的复杂度也越来越高 传统开发方式将一个系统做成了整块应用 经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改 造成牵一发而动全身 通过组件化开发 可以有效实现单独开发 单独维护 而且他们之间可以
  • RBAC权限模型

    权限 权限 是用户可以访问的资源 包括页面权限 操作权限和数据权限 页面权限 页面权限 即用户登录系统可以看到的页面 由菜单控制 菜单包括一级菜单 二级菜单 只有用户有一级菜单 二级菜单的权限 那么用户就可以访问页面 操作权限 操作权限 即
  • 二、UPC-A

    UPC A 1 概述 UPC A 条码是美国较常用也较被广泛认可的条码类型 它主要用于零售行业 例如杂货店 UPC A 由统一杂货产品代码委员会与 IBM 联合开发 2 条码的组成 UPC A 条码由 12 位组成 开头是个单数字系统字符
  • Java热编译热部署插件:JRebel

    修改代码时 会经常遇到一个问题 就是要修改代码 虽然如果是html css js这些会立即生效但是像Java代码还是不行 只要涉及到代码或者配置什么的要重启服务 类似与我修改一个文件 但是想要生效要不然就是单个文件重新run一下 或者服务器
  • day24第三阶段总结

    day24 三阶段总结 课程目标 对第三模块 阶段的知识点进行总结和考试 更好的掌握此模块的相关知识 课程概要 知识补充 阶段总结 思维导图 考试题 1 知识点补充 1 1 并发编程 网络编程 从知识点的角度来看 本身两者其实没有什么关系
  • RS232 485 CAN端口浪涌、脉冲保护电路

    常见端口保护电路记录 实现保护等级 如果需要更高的防护等级需要其他电路配合 由于工作比较忙 有时候查起来太麻烦了 特此记录一下方便查询 模块评估版实物图 实现的保护等级如下 下面是zlg的rsm232完整保护电路 各个器件截图 GDT 气体
  • 使用httpclient 请求报错 :Software caused connection abort: recv failed

    Software caused connection abort recv failed java net SocketException Software caused connection abort recv failed at ja
  • DVWA靶场在sql注入联合查询时返回报错信息 “Illegal mix of collations for operation ‘UNION’ ”之解决

    比如我们输入 1 union select 1 table name from information schema tables where table schema dvwa 会跳出一个页面出现报错提示 Illegal mix of c
  • Form表单、四种常见的POST请求提交数据方式、MIME【转】

    浏览器行为 Form表单提交 1 form表单常用属性 action url 地址 服务器接收表单数据的地址 method 提交服务器的http方法 一般为post和get name 最好好吃name属性的唯一性 enctype 表单数据提
  • 浅析安全框架-Shiro和Spring Security

    一 权限概述 1 什么是权限 权限管理 一般指根据系统设置的安全策略或者安全规则 用户可以访问而且只能访问自己被授权的资源 不多不少 权限管理几乎出现在任何系统里面 只要有用户和密码的系统 权限管理分类 访问权限 管理员有增删改查权限 普通
  • 令AxosoftPowerTrack支持中文

    AxosoftPowerTrack是个有意思的vs netAdd in
  • javaweb实现一个账号只能同时被一个人使用(Java实现)

    大家在登陆qq的时候 电脑上登陆了qq 如果另一台机器上也登陆该qq账号 那么之前的qq账号会被挤下去 我们现在用web的方式来做一个非常简单的演示 先简单的说一下功能吧 用户只有一个User 这个entity设置成账号为hello 密码w
  • Web.xml加载顺序

    文章目录 Tomcat 加载顺序 Web xml具体加载顺序 Tomcat Server处理一个http请求的过程 lt context param gt lt listener gt lt filter gt web xml中定义的元素
  • 阿里云移动推送的接入和踩坑

    近期由于业务需求 要换掉以前的推送 首先选择了阿里云推送 官方介绍阿里移动推送 Alibaba Cloud Mobile Push 是基于大数据的移动智能推送服务 帮助App快速集成移动推送的功能 在实现高效 精确 实时的移动推送的同时 极
  • Elasticsearch 架构解析与最佳实践

  • 基于Docker如何快速部署自己的ChatGPT

    背景 随着OpenAI在2022年底发布的LLM模型 ChatGPT展现出的强大效果 ChatGPT无疑成为了当下炙手可热的明星模型 现有的基于GPT的开源项目已经非常多 本文以现有的高热度github开源项目chatgpt web为例 教
  • 利用宏简化Q_PROPERTY动态属性的定义

    目录 写在前面 实现历程 传统定义方式 预想的方式 事实上有一点点区别 测试通过的例程 mainwindow h mainwindow cpp main cpp 执行结果 Qt6 更新 写在前面 上一篇写了pyqt如何更加便利地定义动态属性
  • 【Unity VR开发】VRTK 3.3.0 配置与基本使用

    VRTK3 3 开发日志 2021 11 16更新 半年前第一次接触VR开发 看B站Siki学院的视频做的笔记 今天整理一下 以供没接触过VR开发的人来学习 有些地方没有配图 但个人认为影响不大 按文字说明一步步来操作还是没问题的 笔记参考
  • Python 和Java 哪个更适合做自动化测试?

    很多小伙伴工作在功能测试行业工作了2 3年后 发现自己已经把功能测试做的非常好了 已经到职业发展和薪资发展的瓶颈期了 就想着学点东西 提提升一下技能 而对于功能测试升级来说 一般有这么3个主流的发展方向 一是性能测试 一是接口测试 一是自动