测试老鸟整理,从手工进阶自动化测试,自动化之路清晰通透...

news2024/11/29 12:33:40

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

Python自动化测试:https://www.bilibili.com/video/BV16G411x76E/

现2023年,随着软件开发速度的加快,自动化测试已经成为了不可或缺的重要环节。软件测试工程师需要掌握至少一种自动化测试工具,如Selenium、Requests、Appium等,自动化测试将成为测试行业的趋势。

常用自动化测试框架:
接口自动化测试方向:Python+requests+pytest+yaml+alluer+Jenkins;
web自动化测试方向:Python+selenium4+pytest+POM+allure+Jenkins;
app自动化测试方向:Python+appium+POM+pytest+allure+Jenkins;

提升自动化测试,首先要熟悉自动化测试的误区,才能做好编码,封装更配套项目的框架。

1、自动化的软件测试与手工的软件测试过程一样

自动化测试所需要的技巧与手工测试所需要的技巧是不一样的。

通常,你的项目经理会被那些测试工具销售们迷惑,认为自动化的软件测试就是简单地按一个录制的按钮,产生测试脚本。而事实上并没有那么简单。

区分自动化测试所需要的技巧与手工测试所需要的技巧是非常重要的。最重要的是,自动化测试工程师需要掌握软件开发技巧,没有接受任何培训的手工测试人员,或者没有编程背景的手工测试人员,在实施自动化测试时会碰到很多困难。

2、自动化测试一定会马上大量减少测试人员数量

自动化测试不会马上大量减少测试人员数量。因为开展自动化测试初期需要投入一定的人力进行自动化测试脚本开发,并逐渐将自动化测试脚本用于日常的测试中,逐步减少手工测试人员从事重复劳动的时间和人数。

为了缩短自动化测试脚本的开发时间,可以考虑将自动化测试脚本的开发工作借助外包的力量来早日实现大规模的自动化测试。

3、测试自动化就是录制和回放

仅仅录制得到的不是有效的自动化脚本。

很多项目经理仍然把测试自动化等同于使用录制回放工具。而事实上,录制得到的脚本通常是不可重用的脚本,脚本中充满了硬编码的值,这些值应该被参数化,否则脚本仅仅适用于一个测试情况,脚本还应该加入条件判断、循环等结构,以便增强测试脚本的灵活性。

4、自动化测试找不到bug

自动化测试不直接找bug,而是通过解放有经验的测试工程师的生产力,让其从重复的回归测试中解放出来,从事新的测试方法和测试手段的研究。通过自动化测试解放出测试人员的时间和精力来间接地找到更多、更深层次的新bug,将产品质量再提高一个档次。

5、自动化测试工具是“万能”的

很多人一听到自动化测试,就认为自动化测试工具可以完成一切测试工作,从测试计划到测试执行再到测试结果分析,都不需要任何人工干预。

显然,这是一种理想状态,现实中还没有哪个测试工具有这个能力,并且将来也不会有。在现实中有关的测试设计、测试案例,以及一些关键的测试任务还是需要人工参与的,即自动化测试是对手工测试的辅助和补充,它永远也不可能完全取代手工测试。

6、自动化能提供百分百的测试覆盖率

并非所有内容都可以被自动化地测试到。不可能覆盖所有可能的输入,所有可能的组合和路径。

自动化测试可以增加测试的广度和深度,但是仍然无法达到100%的测试覆盖率,因为没有足够的时间或资源。

7、忘记了测试的最终目标:找到BUG

在自动化测试中,同样要注意把边界值分析、等价类分析、基于风险的测试方法、挑选最合适的测试用例等技术应用起来。

通常在自动化测试过程中,我们都忙着搭建自动化框架和编写测试脚本,但是我们往往忘记了测试的本来目的:找bug。

项目经理可能雇佣了最好的自动化开发人员来搭建框架,使用了最新最好的自动化开发技术,创建了成千上万的自动化测试脚本。但是如果BUG仍然被遗漏了,那些本该被自动化测试脚本捕捉到的BUG,结果没有被捕捉到,那么你的自动化测试仍然会被认为是失败的。

8、所有测试用例都可以自动化

不是所有的测试用例和测试步骤都可以转化为自动化测试。在自动化测试投入较多的行业,领先企业的自动化测试率有的能达到80%左右,但仍有20%左右的测试用例需要手工来进行。

在国外,通常从开发第一版测试用例时,就同步进行自动化测试脚本的开发,所以自动化测试率普遍比中国企业高。

9、自动化测试能发现大量新缺陷

发现更多的新缺陷应该是手工测试的主要目的,不能期望自动化测试去发现更多新缺陷。事实上,自动化测试主要用于发现原来的缺陷。自动化测试用于回归测试,而大量的新业务测试更多地还是依赖手工测试。

除了以上列举的常见误区外,还有其他不同的认识误区。自动化测试认识误区的产生,归根到底最本质的原因是由于对自动化测试不现实的期望,也就是期望过高造成的。

如果没有建立一个正确的软件测试自动化的观念,认为测试自动化可以完全代替手工测试,或者认为测试自动化可以发现大量新缺陷,或者不愿在初期投入比较大的开支等,则自动化测试一定会让我们大失所望。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

不管你现在身处何方,也不管你遇到了什么挑战,你都有能力克服它们。无论困难有多大,只要你保持坚定的信念和毅力,迈出第一步,你就会越来越接近成功的道路。相信自己,永不放弃,前途必定光明!

只有通过不断地努力和奋斗,才能实现自己的梦想。不要害怕失败,因为失败是成功的垫脚石。相信自己的能力,坚定自己的决心,就算前路漫长,也要勇往直前,追求人生的辉煌。

只要你有一颗不服输的心,就一定能够超越自己,创造属于自己的辉煌。不要害怕失败,每一次挫折都是成长的机会,坚持下去,你会看到自己变得更加强大!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/597415.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

主啊,我甚至不知道从何说起...

主啊,我甚至不知道从何说起...欢迎来到费米悖论。 外面有太多令人恐惧的事物。 我不会一一说过。然而,我读到的一件事情让我感到恐惧,我希望它也让你感到恐惧。 那么,就是这样... 这一切与一个问题有关:如果他们确实存在,为什么还没有来访?可怕的就是这些可能性。 根据《弄清外…

PCB布局思路分析 让你的布局从此简单!

分析好整个电路原理以后,就可以开始对整个电路进行布局布线,这一期,给大家介绍一下布局的思路和原则。1、首先,我们会对结构有要求的器件进行摆放,摆放的时候根据导入的结构,连接器得注意1脚的摆放位置。 ​…

财务共享中心搭建以后,如何进行精细化管理?

财务共享中心通过统一的财务流程、系统和人员配置实现了财务业务的标准化和规范化,为企业的财务管理提供了很大的便捷性和效率性,目前许多大型企业已纷纷开始搭建自己的财务共享中心。 但企业在搭建财务共享中心之后,往往会在运行初期遇上业…

Qt 帮助框架使用

前面我们已经简单了解了Qt帮助框架,本节我们将举例说明生成Qt帮助集,并自定义Qt Assistant。 准备工作 因为创建帮助系统建立帮助文件的前提是HTML文档文件已经存在,所以我们来弄一些简单的HTML文档(难的我还不会)。…

使用exe4j和Inno Setup把jar包转成exe

使用exe4j和Inno Setup把jar包转成exe exe4j下载地址:https://www.ej-technologies.com/download/exe4j/version_60 Inno Setup地址: 链接:https://pan.baidu.com/s/1Lh0JUuQgB6bkbACIx6MqdQ 提取码:dfox 一、exe4j将jar装车exe…

【OpenMMLab AI实战营第二期】二十分钟入门OpenMMLab笔记

OpenMMlab 主页:openmmlab.com 开源地址:https://github.com/open-mmlab 学习视频地址:https://www.bilibili.com/video/BV1js4y1i72P/ 概述 开源成为人工智能行业发展引擎 时间轴 theano:2007 Caffe:2013 Ten…

如何学习 WPF 详细教程

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

SPI通信以及与W2Q564(ROM)交换(读写)数据

一.SPI协议简介 SPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,允许芯片与外部设备以全双工、同步、串行方式通信。此接口可以被配置成主模式,并为外部从设备提供通信时钟(SCK)。接口还能以多主配…

uniapp(一) 之 小程序与uniapp 基础

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到 i OS 、 Android 、 Web ( 响应式)、 以及各种小程序(微信 / 支付宝 / 百度 / 头条 / 飞书 /QQ/ 快手 / 钉 钉 / 淘宝)、 …

工程测量仪器:工程安全的保障者

工程仪器是现代工程建设中必不可少的工具,它们可以帮助企业对工程进行监控和管理,从而提高工程运行效率和安全性。在当前的工程建设领域,安全运营已成为企业的首要任务,而工程仪器正是实现这个目标的重要保障之一。 渗压计广泛应用…

数据(浮点数)在内存中的存储(2)

目录 浮点数家族 浮点数类型在内存中的存储 一.为什么说整型和浮点数在内存中存储方式不同(证明) 二.浮点数的存储规则 浮点数在计算机内部的表示方法 1.对于M的存储和取出规则 2.对于E的存储和取出时的规则 对前面代码结果进行解释: …

tinkerCAD基础操作

放大尺寸! 让我们通过调整大小来更改基本框形状! 说明 继续执行下一步。 扩展每个块 每个“框”形状的大小都与提示匹配。 说明 通过左键单击形状来选择一个框。 这将启用形状控点。 使用每个形状底部边缘的黑色手柄在单个方向上调整形状的大小。 使…

nginx+keepalive高可用搭建方案

一、什么是nginx有什么作用 nginx是一款使用非常广泛的Web服务器,它可以提供高性能和可扩展性。它是由Google开发的,并且是Apache HTTP Server的替代品。 以下是一些nginx的主要特点: 轻量级:nginx比Apache轻量级,它…

ChatGPT与软件架构(1) - 快速原型

通过ChatGPT生成设计和原型代码,可以帮助团队快速启动项目,验证想法,提高效率。原文: ChatGPT and Software Architecture Surfing Croyde Bay Unsplash OpenAI的ChatGPT现在越来越火,出现了各种有趣用例。 从许多方面来看&#x…

为何溃坝事故频发,大坝安全如何保障?

随着水利水电工程的重要性日益突显,水库大坝安全越来越受到相关部门的重视。因为大坝的安全直接影响水利工程的功能与作用,因此对大坝安全的监测显得十分必要。大坝安全监测的作用是能够及时掌握大坝的运行状态,及时发现大坝的变形、渗漏等异…

DB-GPT数据库GPT,支持本地部署,可以在私有环境中运行!!

DB-GPT 是什么? 随着大模型的发布迭代,大模型变得越来越智能,在使用大模型的过程当中,遇到极大的数据安全与隐私挑战。在利用大模型能力的过程中我们的私密数据跟环境需要掌握自己的手里,完全可控,避免任何…

PCB钥匙串 diy

制作目标:type-c供电的可触摸调光LED钥匙链。 初步设计方案: 芯片采用触摸调光芯片,用于LED灯光亮度调节及开关控制的单通道触摸芯片。使用该芯片可以实现LED灯光的触摸开关控制和亮度调节。具有如下功能特点和优势:灯光亮度可根…

Redis+Caffeine两级缓存

1、前言 在高性能的服务架构设计中,缓存是一个不可或缺的环节。在实际的项目中,我们通常会将一些热点数据存储到Redis或MemCache这类缓存中间件中,只有当缓存的访问没有命中时再查询数据库。在提升访问速度的同时,也能降低数据库的…

Sui生态域名服务SuiNS正式开放域名竞拍

Sui Name Service(SuiNSSui Name Service(是Sui推出的开放且分布式域名服务。SuiNS使用户可以竞拍以.sui结尾的专属域名,以建立链上身份。 在上线之际,SuiNS推出实时竞拍,为用户提供公平获取Sui生态专属域名的机会。若…

YUM在线升级功能

文章目录 YUM在线升级功能利用YUM进行查询、安装、升级与删除功能查询功能使用案例 安装/升级功能删除功能 YUM的配置文件修改软件源产生的问题与解决之道使用案例 YUM的软件群组功能使用案例 全系统自动升级 管理的抉择:RPM还是Tarball基础服务案例:以A…