小程聊微服务-增艺眼中的自动化测试

2023-10-18 22:59

本文主要是介绍小程聊微服务-增艺眼中的自动化测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如果说“生活不只有眼前的苟且,还有诗和远方”的话,那么自动化测试可以说是很多测试人员心中的“诗和远方”。

这里写图片描述

“诗和远方”OR“禁果”

测试自动化,需要持续改进。但由于其本身是一种过于激动人心的想法:用程序去测试程序——解放了测试人员的生产力,节省大量的人力成本,这就有点“禁果”的意思了。

一个常见的行动模式是:在实施自动化测试时,设定一些量化指标,例如根据业务、接口、模块设置的覆盖率。技术团队在完成指标的过程中,以完成指标为中心而忘记了为什么要进行自动化测试。其结果是各项指标都完成了,但是没人能说清自动化测试的效果和价值,而技术人员也没有热情再继续下去。最终,自动化测试只能“被完成”了。

那如何避免自动化测试的诱惑,或者降低诱惑的影响呢?

三观,你的三观要正

自动化测试,有开发的过程,有测试的过程,说到底,依然是测试的过程。所以自动化测试,依然遵循测试活动的基本内涵:反馈信息——它是帮助技术团队获得关于软件产品质量信息的反馈手段,这是实施自动化测试的中心。评判自动化测试是否有效的标准,就是自动化是否能够帮助技术团队获取质量信息,其关键就在于自动化测试的测试分析与设计。

没错,自动化测试的测试分析与设计

什么?自动化测试也需要进行测试分析与设计吗?不是就把手动执行的用例自动化就可以了吗?

确实,自动化测试实施的一个常见的活动模式是:选择工具或者脚本语言、确定哪些手工执行的用例需要执行,录制或编写执行的脚本,配置测试数据,执行测试。这个模式中就没有自动化的测试分析和设计。而对工具的研究学习通常是开展自动化测试的第一步,特别是对于以往做功能测试的同学而言,掌握工具比测试分析和设计是更显而易见的技能加分项。但工具却不是自动化测试的能否有效的关键。

测试分析与设计是测试活动能否有效的关键,自动化测试也不例外。例如,在数据库表结构变更的场景中,我们需要分析如何确认需要进行验证的数据特征?如何构造这些测试数据?如何验证数据结构变更前后,程序对数据新老数据的处理是符合需求的?这些都可以使用自动化的达到手工测试不同的效果。

但这好像和我们认为的自动化测试不太一样呀。是的,自动化测试并非是将手动执行的用例自动化,它有自己的测试领域,像生成大量的测试数据、多组合的测试数据、发起大量的请求、触发资源竞争、执行严格的结果检查、快速报告结果等等,它在帮助你完成手工难以完成的事,而不是帮你完成手工可以完成的事。你的每一次测试活动,如果有手工无法完成的事,那么你就应该考虑自动化测试,并对自动化进行测试分析和设计。而如果没有手工无法完成的事,我们则需要考虑是不是遗漏了什么。

那把手动执行的用例自动化作为回归测试不可行吗?

“啪啪啪”,有可能是打脸

看情况。自动化是否用于回归测试?用例是否自动化?等等,选择一个合适的自动化测试策略,需要关注:测试需求、软件系统结构、人员能力。对于需要从业务的角度进行的回归测试而言,更需要关注产品的迭代节奏或者生命周期。毕竟复杂的业务逻辑、修改已失效的测试的时间成本,通常都会给认为自动化测试能够节省人力成本的人狠狠的一记耳光。

但这并非说业务测试的回归就不能自动化,其关键在于划定业务范围。一个经验是使用“业务逻辑-失效风险”的分析,将业务逻辑按照功能失效后带来的风险进行分析后,圈定高风险业务逻辑进行自动化,严格保证高风险业务的可靠性。另一种方法则可以使用幂律分布,我们常说的2/8原则就是其一个体现:根据生产业务的使用情况,将常用业务逻辑进行自动化,保证其可靠性。

这里我们依然坚持的理念是让自动化帮助我们完成我们手工做不了的,而不是替代手工测试。

“没有两片相同的叶子”,也没有两次相同的手工测试

测试,给人的一个错觉就是重复性,包括有些公司在招测试人员的时候会有一条叫“能够胜任重复性工作”。但试问,谁会手工运行N次相同的测试呢?一个测试人员,他在执行什么测试不重要,他为什么要执行这个测试——背后的分析思考才重要。自动化的测试,能够替代的是相同的执行,却无法替代人的分析与思考。而软件产品在研发迭代的过程,是团队不断地把新的分析思考注入其中的过程。测试工作面对的是始终在不断变化的测试需求。所以测试的分析思考,包括手工和自动化的测试也需要不断地迭代改善。

“只有改善,没有成功与失败”

对于有专门自动化测试的小组而言,通常会以项目的形式开展自动化,制定任务的行动计划表或者里程碑等进行跟踪管理。而个人实施自动化,则相对自由宽松。但无论小组还是个人,为了能够保持持续改善的动力,最重要的一点是让每一步工作是有效的,实施团队或个人能够从自动化测试的过程中及时得到正向反馈。对于小组的负责人而言,这是让团队保持动力的关键。一个经验是,任务拆解细化,参考OODA环,周期性进行回顾调整。另一个负责人必须关心的事是,需要周期告知自动化测试的利益相关方目前的情况,例如技术团队、领导层、上下游合作方等。让大家看到一个持续改进的过程,树立对自动化测试的信心。

“生活不只有眼前的苟且,还有远方的苟且”

聊到这,很多人已经感到自动化测试并非是“诗和远方”,更像是“远方的苟且”——没有美感、没有情怀。对,我们所面临的都是一个一个具体的问题,拆开看很挫,很细碎,需要有勇气去面对。

参禅打坐3分钟

无论发生什么都要认真对待,这就是工作的真谛。[1]

[1]摘自《零售的哲学》

这篇关于小程聊微服务-增艺眼中的自动化测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

SpringCloud之LoadBalancer负载均衡服务调用过程

《SpringCloud之LoadBalancer负载均衡服务调用过程》:本文主要介绍SpringCloud之LoadBalancer负载均衡服务调用过程,具有很好的参考价值,希望对大家有所帮助,... 目录前言一、LoadBalancer是什么?二、使用步骤1、启动consul2、客户端加入依赖3、以服务

Python实现自动化表单填写功能

《Python实现自动化表单填写功能》在Python中,自动化表单填写可以通过多种库和工具实现,本文将详细介绍常用的自动化表单处理工具,并对它们进行横向比较,可根据需求选择合适的工具,感兴趣的小伙伴跟... 目录1. Selenium简介适用场景示例代码优点缺点2. Playwright简介适用场景示例代码

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

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. 修改