2023年测试岗,手动测试vs自动化测试,“我“该如何抉择...

目录:导读

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


前言

在软件测试行业中,争议最大的话题是“更好的是手动测试还是自动化测试”。尽管自动化测试最常谈论流行语,并且正在慢慢主导测试领域,手动测试的重要性不可忽视。

手动测试和自动化测试之间的更深差异

时间成本

在一个内容很多且测试阶段运行了很长时间的项目中,自动化测试是理想的选择,因为

它减少了所需的资源数量。
可以使用单个脚本同时执行多种类型的相似测试用例场景。
对于大型项目,估算预算足以支付自动测试工具的设置和维护费用。
但是,在测试阶段仅运行几周的小型项目中,手动测试更为可取,因为

资源没有足够的时间来接受工具方面的培训并开始测试。
维护和安装既费时又费钱。
同时执行多个相似性质的测试用例的需求更少。

验收测试

使用自动测试来测试应用程序的用户界面中的交互性已广受赞赏。但是,这不应该是一种帮助,而是可以提高您的UI测试功能。

UI中的自动化测试工具通过检查元素的位置,对齐方式以及元素与容器之间的距离来工作。测试脚本中的一个非常小的错误将导致这样的对齐方式产生误报。

在用户验收测试期间,手动测试人员的直觉非常重要。有经验的测试人员可以观察到任何看起来未对齐或不符合要求的对象或元素。

测试准确性

对于持续时间较长的测试阶段,手动执行测试时很可能会出现未检测到的错误。每次修复一个小的缺陷时,都需要对整个应用程序进行测试,以确保不会发生任何其它错误。

这个过程很枯燥很累人,而且单调,测试人员在进行重复测试时往往会漏掉一些小的但关键的缺陷。

自动化测试涉及脚本的执行,这些脚本一次又一次地对应用程序进行重复测试。由于机器不会有感觉,因此如果脚本编写正确,则一次又一次地执行测试时,测试准确性会更加具有优势。

回归测试

回归测试是一个阶段,涉及不断的代码更改和测试应用程序如何响应频繁的更改。

手动执行回归测试时:
错误的可能性很高,因为人眼常常会在重复观察同一事物时错过小的变化。
对于大型应用程序,需要大量测试人员来执行这些重复性任务。

使用自动化测试时:
回归测试工具通过重复执行测试用例来加快过程。
可以同时执行多个测试用例场景。
通过并行执行以及其他测试用例节省了时间。

项目性质

除了应用程序的复杂性和项目持续时间外,应用程序的性质还决定了哪种测试更好地对其进行测试。

对于银行应用程序,许多场景需要测试。
用户登录期间的验证。
银行运营期间的安全协议。
交易期间欺诈活动的安全测试。

对于这类情况,执行编写良好的脚本时,测试可以更快地完成。由于大多数测试涉及相同场景但具有不同的操作或者不同的数据。因此,手动测试更好。

对于小型Web应用程序或小型企业的页面,应用程序的外观和用户体验至关重要。在这种情况下,需要根据人类的直觉进行测试。

测试人员应该从最终用户的角度进行思考,并测试应用程序以发现可能会妨碍用户体验的错误或缺陷。由于尚未发现可以代替人类本能的自动化测试工具,因此对于这种情况,手动测试更为可取。

自动化程序可以迅速执行多个测试用例。组织更加依赖于自动化测试,而手动测试通常被认为是浪费人力和时间。

但是,它是测试的基础,并且要编写自动测试脚本,需要经验丰富的手动测试人员。尽管对于负载测试或回归测试而言,自动测试更为可取,但对于用户验收测试或探索性测试而言,手动测试仍将占上风。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

梦想燃烧心中,追逐不息,奋斗是成就辉煌的舞台。坚定信念,持续努力,唯有拼搏才能绽放人生的光芒。相信自己,勇往直前,书写属于自己的华章!

心怀信念,追求不息,奋斗是照亮前行的明灯。勇敢闯荡,超越极限,只有付出才能绽放人生的辉煌。坚定自信,坚持梦想,书写属于自己的不朽传奇!勇往直前,创造未来,在奋斗中绽放无尽的荣耀!

胸怀梦想,脚步不停,奋斗是拥抱辉煌的道路。披荆斩棘,逾越障碍,唯有拼搏才能催生人生的辉煌。信念坚定,永不放弃,谱写属于自己的传世之歌!

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

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

相关文章

OpenCL编程指南-9.1命令、队列、事件

概述 命令队列是OpenCL的核心。平台定义了一个上下文,其中包含一个或多个计算设备。每个计算设备可以有一个或多个命令队列。提交到这些队列的命令将完成OpenCL程序的具体工作。 在一个简单的OpenCL程序中,提交到一个命令队列的命令会按顺序执行。一个…

windows下mysql的下载与安装

文章目录 1 下载2 安装目录下新建data文件夹和my.ini3 安装4设置密码与远程连接5 配置环境变量6 navicate连接成功 1 下载 官网地址 https://www.mysql.com/点击下载 社区下载 社区服务 选择版本下载 2 安装目录下新建data文件夹和my.ini my.ini 内容如下 [mysql] # 设置my…

【C#学习笔记】内存管理

文章目录 分配内存释放内存GC标记清除算法分代算法 .NET的GC机制有这样两个问题: 官方文档 自动内存管理 自动内存管理是CLR在托管执行过程中提供的服务之一。 公共语言运行时的垃圾回收器为应用程序管理内存的分配和释放。 对开发人员而言,这就意味着…

二次开发了个寂寞之HttpRunnerManager接口测试管理平台

文章目录 一、背景1、二次开发1.1、首页1.2、项目列表1.3、用例列表1.4、新增用例1.5、测试套件1.6、查看报告 二、总结 一、背景 自入职起,就在公司内部引入开源接口测试平台,选一个大家勉强看得懂源码的开源项目,方便后续的二次开发&#x…

【每日一题】—— C. Mocha and Hiking(Codeforces Round 738 (Div. 2))

🌏博客主页:PH_modest的博客主页 🚩当前专栏:每日一题 💌其他专栏: 🔴 每日反刍 🟡 C跬步积累 🟢 C语言跬步积累 🌈座右铭:广积粮,缓称…

Kotlin~Visitor访问者模式

概念 将数据结构和操作分离,使操作集合可以独立于数据结构变化。 角色介绍 Visitor:抽象访问者,为对象结构每个具体元素类声明一个访问操作。Element:抽象元素,定义一个accept方法ConcreteElement:具体元…

docker 资源限制

目录 1、CPU使用率 2、CPU共享比例 3、CPU周期限制 4、CPU核心限制 5、CPU 配额控制参数的混合案例 6、内存限制 7、Block IO 的限制 8、限制bps 和iops docker资源限制 Docker容器技术底层是通过Cgroup(Control Group 控制组)实现容器对物理资…

Android 性能调优之bitmap的优化

背景 Android开发中,加载图片过多、过大很容易引起OutOfMemoryError异常,即我们常见的内存溢出。因为Android对单个应用施加内存限制,默认分配的内存只有几M(具体视不同系统而定)。而载入的图片如果是JPG之类的压缩格…

【unity】Pico VR 开发笔记(视角移动)

【unity】Pico VR 开发笔记(视角移动) 视角移动是简单的基础功能,这里区别于头显定位获得的小范围位移,是长距离不影响安全边界的位移方式。的常见的位移方式有两种,其一是触发后瞬间传送到指定位置,其次是…

IDEA用Gradle构建项目时,lombok插件无效的解决办法

Lombok 可用来帮助开发人员消除 Java 的重复代码,尤其是对于简单的 Java 对象(POJO),比如说getter/setter/toString等方法的编写。它通过注解实现这一目的。 正确使用姿势 一、安装Lombok插件 菜单栏File -> Settings ->…

死锁的发生原因和怎么避免

项目场景: 提示:这里简述项目相关背景: 例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大) 问题描述 死锁,简单来说就是两个或者两个以上的线程在…

翻转卡片游戏(力扣)

题目 在桌子上有 n 张卡片,每张卡片的正面和背面都写着一个正数(正面与背面上的数有可能不一样)。 我们可以先翻转任意张卡片,然后选择其中一张卡片。 如果选中的那张卡片背面的数字 x 与任意一张卡片的正面的数字都不同&#…

【C语言进阶】数据的存储----整型篇

​ 🍁 博客主页:江池俊的博客 💫收录专栏:C语言——探索高效编程的基石 💻 其他专栏:数据结构探索 ​💡代码仓库:江池俊的代码仓库 🎪 社区:GeekHub 🍁 如果觉…

Liunx环境下git的详细使用(gitee版)

Liunx环境下git的详细使用(gitee版) 1.git是什么2.git操作2.1在gitee创建一个仓库2.2.gitignore2.3.git 3.git三板斧3.1add3.2 commit3.3push 4.git其他命令4.1查看当前仓库状态4.2查看提交日志4.3修改git里面文件名称4.4删除文件4.5修改远端仓库内容 1.…

postgresql表膨胀处理之pgcompacttable部署及使用

环境: 1)redhat-release:CentOS Linux release 7.6.1810 (Core) 2)database version:postgresql 14.6 一、添加pgstattuple pgcompacttable工具使用过程中需要依赖pgstattuple,因此需先添加pgstattuple…

【SEO基础】百度权重是什么意思及网站关键词应该怎么选?

百度权重是什么意思及网站关键词应该怎么选? 正文共:3253字 20图 预计阅读时间:9分钟 ​ 1.什么是网站权重? 这段时间和一些朋友聊到网站权重以及关键词,发现蛮多人对于这两个概念的认知还是存在一些错误的&#xf…

数组的使用(逆序、冒泡)

内存连续数据类型相同从0开始索引 找出数组中的最大值 #include <iostream> #include <stdlib.h> //随机数所在文件 using namespace std;int main() {int arr[5]{104,134,145,129,89};//初始化没有填的为0 int max0;for(int i0;i<5;i){if(arr[i]>max){ma…

203. 移除链表元素

203. 移除链表元素 题目方法1递归方法2迭代 题目 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 方法1递归 class Solution { public:ListNode* removeElements(ListNode* head, in…

RabbitMQ快速入门

文章目录 1、RabbitMQ的概述1.1、什么是消息队列&#xff1f;1.2、为什么要使用消息队列&#xff1f;1.3、RabbitMQ的特点&#xff1a; 2、RabbitMQ的安装2.1 下载与安装2.2 常用命令 3、RabbitMQ消息发送和接受3.1 消息发送和接受机制3.2 AMQP的消息路由3.3 Exchange(交换机)的…

Datax 数据同步-使用总结(一)

1&#xff0c;实时同步&#xff1f; datax 通常做离线数据同步使用。 目前能想到的方案 利用 linux 的定时任务时间戳的方式做增量同步。 2&#xff0c;同步速度快不快&#xff1f; 单表同步速度还是挺快的 但是如果遇到复杂的 sql 查询&#xff0c;其同步效率&#xff0c…