自动化横行时代,手工测试如何突破重围?测试之路...

2023-11-27 13:15

本文主要是介绍自动化横行时代,手工测试如何突破重围?测试之路...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录:导读

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


前言

自动化测试是每个软件公司反复提及的,现在2023年末,放眼望去,测试岗位的招聘要求里十有八九都会有一条“掌握自动化测试技巧”。

甚至有的公司把用例自动化率(实现自动化的用例数/总用例数*100%)当作考核测试人员工作质量的指标之一。

想必大多测试人员会发出灵魂一问:
难道手工测试就必须消亡了吗?自动化用例真的那么重要吗?是不是所有用例都需要实现自动化呢?自动化测试是不是就是所向披靡,无敌的呢?

1、自动化测试的特点

相较手工测试,自动化测试最大的优势就在于:

能够快速测试(快速检测代码变更引入的错误);可以重复测试(反复执行成本低)。

但是,自动化测试也有自己的缺点:

如果软件系统体量比较大,那么自动化测试脚本也会比较复杂。自动化测试脚本的复杂度与系统的复杂程度是成正相关的;

如果软件系统迭代快、周期短、变动多,那么脚本维护将需要较大成本;

随着软件系统的不断迭代,功能的不断增加或细节的变更,会出现大量冗余的自动化测试脚本,这类冗余的脚本会直接影响测试脚本执行的效率;

自动化测试脚本的质量直接影响测试执行成功率(执行成功通过的次数/总的执行次数*100%)。只要是代码都会有故障,测试代码也不例外。低质量的自动化测试脚本有可能导致测试执行时的不稳定性(例如:反复失败);

对于测试人员而言,自动化测试,脚本准备时间(如自动化测试工具选取、脚本编写等)大于测试设计时间;

对于迭代较快的产品,需要测试人员快速地完成测试,在此种情况下,留给测试人员实现用例自动化的时间不会很多,自动化测试在新功能周期内往往很难快速实现;

对于业务量大、业务复杂的系统(如经济类系统,银行等),用例自动化率难以保证。且如前端GUI自动化测试,100%用例自动化率本身就是一个几乎难以实现的愿景。

说了那么多,到底是想证明个什么事儿呢?其实,上面的阐述无非是想问答几个问题:

手工测试会消亡吗?
个人觉得,答案肯定是不会。

为什么呢?

自动化测试有其优点,可以帮助测试人员快速完成回归测试。
但其缺点也依然存在:测试代码冗余、测试代码维护成本大、部分产品的复杂功能难以自动化等等。

是不是所有自动化用例都需要实现自动化呢?

答案当然是否定的。理想很丰满,现实很骨感。且不说产品本身特点是否能满足完全自动化测试,从自动化成本(维护成本,时间成本,人力成本等)而言完全自动化就是值得思考的问题。再者,对于前端GUI自动化测试而言,完全自动化本身就很难。

自动化测试是不是所向披靡、无敌的?

答案当然也是否定的。毕竟自动化测试的根本目的主要在于快速地回归测试,在回归测试的过程中对于环境的需求、场景的设置都是具有限定性的,且自动化测试代码也会存在故障。如果切换场景进行自动化测试,不见得能百分百通过。

那么,再进一步想想,如果自动化测试很重要,但又不是百分百完美的,如果想要借助自动化的便利提升测试效率,那么应该针对怎样的用例实现自动化呢?自动化用例应该用在什么样的测试活动中呢?

2、选择需要实现自动化的用例

其实在上述章节已经揭晓了如何选择需要实现自动化用例的部分原则。

选择执行结果稳定的用例实现自动化

试想如果一个用例执行结果不够问题,那么将手工测试步骤自动化有什么意义呢?

这个时候需要的是去重新审视测试步骤是否准确或者代码是否有隐藏问题吧?!

选择功能稳定的用例实现自动化:

试想如果一个模块或者一个功能频繁变更,那么用例实现自动化有什么意义呢?如果将此类用例实现自动化,反而会加重测试人员对自动化脚本的维护成本。

首先选择接口用例自动化:

那是因为接口自动化学习成本低,几乎是每个测试人员接触自动化测试的第一步。而且接口是每个模块衔接之处,保障系统运行的重中之重。

如果要求前端GUI自动化
要慎重

前端GUI本身就是一个属于频繁变动的部分,如果实现自动化,对自动化脚本的维护就是一个不得不思考的问题。

也许你会说,我用录屏啊。录屏虽然学习成本低、操作简单,但是对于测试步骤的断言、测试结果的判定大多还需人工干预。

3、如何在自动化兴起下发展手工测试

百分百自动化测试是每个测试人员的追求,每个公司的终极梦想,但这本身就意味着实现的困难和不可能。

自动化测试很重要,但手工测试仍然不可或缺。

测试人员担心自己会被各种不断进步的自动化测试工具替代的时候,可以想想如何在包围圈中拼杀出一条血路:我想,测试设计应该是一条可选之路。

好的测试设计能够节省测试成本(如测试资源的投入)、提高测试效率、提升测试结果稳定性。同样,优秀的测试设计能够指引测试人员挖掘一些深层故障,提高产品质量。

常有人说:测试是一门简单的工作,测试岗位可以被取消,不需要专职测试人员。但是如果不需要专职测试人员,让开发人员兼职测试工作,岂不是开发人员既当选手又当裁判?如何能够公正地评判。

再试想:如果开发人员能够知道自己代码中的故障,那为什么不在编写代码的时候就避免了呢?

4、测试员如何杀出一条血路

说实话,我没什么远大的理想,无非就是想在测试这条道路上做大做强,当然为了我稳定的工作,我发自内心也确实想做点什么,总结下来无非就是以下几点:

1)提高核心竞争力

当然,无论你选择自动化还是手工作为自己的核心竞争力,学习是一定不能落下的,学习力强的软件测试员敢大胆地体验尝试新技术,所以他们的技术栈始终在保持不断地更新。

对于软件测试员而言,看文档其实是最快的学习方法,对于自己工作中常用到的技术,抽时间把官方文档都读一遍,其实没有你想象中的那么多,但你一定会有意想不到的收获。

所有的核心竞争的前提都是需要不断学习来造就的,拥抱技术升级,才能使你一直不会被市场淘汰。

2)锻炼一个强健的体魄

做了程序员之后我就很少运动了,新的计划就是一周至少要去健身房2-3次,不求练的跟泰森一样壮,只求能有一个强健的体魄,程序员猝死的新闻比比皆是,在职场杀出血路的前提条件当然是身体健康。

锻炼身体是很必要的,为了预防猝死嘛,开个玩笑。

3)学习更多的技术

多学多看,多敲代码,多实践。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每个人都有自己独特的才华和潜力,我们应该善于发现和挖掘这些潜能,并将其发挥到极致,为社会做出更大的贡献。

有时候,我们会被现实的压力压得喘不过气来,失去了前进的动力和激情。但请记住,只要我们坚定信念,持续努力,总会有阳光照耀到我们的生活。

人生的旅途不可能一帆风顺,有时候我们需要经历痛苦和挫折,才能真正懂得生活的意义。所以,请保持乐观的心态,勇敢面对一切困难和挑战。

这篇关于自动化横行时代,手工测试如何突破重围?测试之路...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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简介适用场景示例代码

WiFi6时代来临! 华三H3C NX54路由器还值得购买吗?

《WiFi6时代来临!华三H3CNX54路由器还值得购买吗?》WiFi6时代已经来临,众多路由器厂商也纷纷推出了兼容WiFi6协议的路由器,今天我们将深入体验H3CNX54路由器,这款由知名企业... 随着科技的发展,WiFi6逐渐走进了我们的日常生活之中,相比WiFi5来说,WiFi6拥有更高的带宽、更高

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、引入