前往小程序,Get更优阅读体验!
立即前往
社区首页 >专栏 >【自动化测试】是否有必要做自动化测试?

【自动化测试】是否有必要做自动化测试?

作者头像
用户9913368
发布于 2022-08-13 08:12:03
发布于 2022-08-13 08:12:03
5190
举报
文章被收录于专栏:嘎嘎软件测试嘎嘎软件测试

目录

一、前言

二、自动化目的

三、自动化分类

四、自动化实现

一、前言

在一些测试交流群经常会看到有小伙伴在问,"怎么做自动化测试?学习自动化测试有什么资料吗?自动化测试是不是很牛逼?" ,甚至有些言论是"不会自动化的测试人员,真的要被淘汰了吗?"

不得不说一堆流量号主抓住大众心理,点进去的必然是卖课广告,或者是关注微信公众号领取测试资料大礼包。

实话实说,我之前也有同样的疑问,甚至带着担忧。每次又不甘心得领着测试资料大礼包......

当然,随着自己的认知不断扩大,自己的一套测试体系建设不断完善,于是这些担忧逐渐的消失。每项技术引用都要看适用场景,是否适合自己的团队,因地制宜才能发挥其最大的价值。

因此,我想通过这篇文章来分享下我对于自动化测试的理解。

二、自动化目的

自动化工作可以节省很多人工操作成本,减少人工重复性操作,提高整个团队的研发效率。但是如果搭建自动化体系需要耗费很长时间,投入很多人力资源,但是用户只要2-3分钟的手动工作就能解决,而且这个操作并不频繁,又或者需要自动化操作的平台变更迭代非常快并且没有规律,自动化工具在后面类似累活的跟着。那么自动化还是有必要吗?

我之前在的团队,造测试数据特别困难,严重影响了整个研发效率,但是当时也没有一个好的解决办法,后来基础研发组做了一个造数平台,这个平台需要自己去配置各种字段,并且梳理出各个表字段的关联,从头到尾一个一个去构建场景,一不小心就配置错误,看着提示你也找不到原因的那种。这给造数过程中又添了一个拦路虎,给本不充裕的测试时间,又耗时一把。

如果能在做执行任务前评估任务的投入和收益,那么是不是就能更加合理的开展这项任务。那么自动化测试的投入和收益是怎样的呢?

投入:通过测试人员借助脚本或者工具实现自动化,维护自动化平台。

收益:提高测试效率,提升测试人员的成长。

自动化测试真的提高测试效率吗?真的可以提升测试人员的成长吗?针对后者,我认为是有的。接下来我们就来聊聊自动化测试是否提高测试效率。

三、自动化分类

自动化一般分为接口自动化和UI自动化,其中UI自动化又分为Web UI自动化和App UI自动化,按照我的理解还应加上部署自动化。

  • 接口自动化
  • 部署自动化
  • Web UI自动化
  • App UI自动化

接下来我将针对这四种自动化的场景做一个介绍。因为我对于UI自动化不是很熟悉,我认为投入产出比不是很高,主要还是因为我没咋接触过,所以后面仅做简单介绍,重点讲解接口自动化和部署自动化。

四、自动化实现

4.1、接口自动化

接口

接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递过程,以及系统间的相互逻辑依赖关系等。

流程

填写接口,入参,对出参进行断言,每天定时构建,输出测试报告。

入参覆盖范围:必选,可选,有/无/null,类型,数值大小/数值范围,特殊字符;

出参:json,data;

接口关联:接口之间的依赖,数据传递;

断言:对响应做核验,可以对状态码或者msg做校验。

优点

接口测试可以做到更多的覆盖场景;

接口测试可以更快的发现服务端问题;

接口测试相对容易实现自动化持续集成

接口测试相对于比单元测试比较贴近业务场景;

技术选型

1、MeterSphere

MeterSphere 是一站式开源持续测试平台,涵盖测试跟踪、接口测试、性能测试、 团队协作等功能,全面兼容 JMeter、Postman、Swagger 等开源、主流标准。

MeterSphere是一个功能交全的平台,并且是开源的,对于免费版就足够小团队使用了,使用门槛相对来说较低,对于技术能力要求不高,所以是一个不错的选择。MeterShpre使用的技术栈是SpringBoot+vue,以及一些中间件,也可以在此基础上进行二次开发。

可以参考下我之前团队小伙伴的MeterSphere金融公司落地经验分享,里面详细介绍了MeterSphere所解决的测试痛点,以及操作教程。

2、Python

通过Python来做接口自动化的话,常用组件有:执行库Requests,断言库unittest,测试报告HTMLTestRunner,通过持续集成Jenkins做定时构建。

框架思想:封装,数据驱动。

使用Python的话则需要掌握一定的代码能力,当然这个对个人技能的提升是很有帮助的,但是如果在时间比较紧迫的并且没有足够的技术功底情况下,还是比较推荐MeterSphere的。

4.2、部署自动化

部署

部署就是将源代码编译成可运行软件包,比如jar包或者war包,并且将软件包放到目标环境,将软件包运行起来,并且能够被客户端调用。

流程

通过远程仓库拉取代码,前端编译,后端编译,下发软件包到目标机器,重启服务,启动失败则告警。

优点

相比传统手工部署,速度更快,不容易出错,提高交付效率。

技术选型

gitlab或者gitee:代码托管

git:版本管理

node:前端编译

maven:后端编译

ansible:下发文件

shell:重启服务

pipeline:流水线构建

Jenkins:CICD大总管,将以上工具整合起来,提供页面供用户操作部署流程。

4.3、Web UI自动化

UI自动化

通过页面元素定位定位到元素,模拟用户的操作行为,点击,输入,拖拽等。

流程

定位元素,模拟用户操作,发送测试报告。

优点

适用于回归主流程,并且变更不频繁的场景。可用于重复性的功能测试及验证。我之前在的团队做过一段Web UI自动化,但是因为需求频繁变更,并且精力有限,维护这个平台的成本较高,后面就没有持续维护了。

技术选型

Python,selenium。

4.4、App UI自动化

UI自动化

通过页面元素定位定位到元素,模拟用户的操作行为,点击,输入,拖拽等。

流程

定位元素,模拟用户操作,发送测试报告。

优点

适用于回归主流程,并且变更不频繁的场景。

技术选型

Appinum。

结论:我认为接口自动化和部署自动化是能够带来收益的,是真实能够提高效率的,并且也能够给测试人员的带来成长。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嘎嘎软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
又一款国产自动化测试平台,开源了!
“时间就是金钱,效率就是生命”,在当下的社会里不仅我们的生活节奏变得越来越快,软件研发上线的节奏也是如此。在如此快节奏的软件开发环境中,高质量的软件测试变得尤为重要。
测试开发技术
2023/08/21
9250
又一款国产自动化测试平台,开源了!
关于自动化测试的定位及一些实践思考
大家对自动化的理解,首先是想到WebUI自动化,这就为什么我一说自动化,公司一般就会有很多人反对,因为自动化的成本实在太高了。其实自动化是分为三个层面的(UI层自动化、接口自动化、单元测试),不是每个层面的自动化都是遥不可及的,以下标示一下这三个层面的难易程度(也叫这个为自动化金字塔):
顾翔
2019/12/11
7040
关于自动化测试的定位及一些实践思考
巧用自动化测试组合拳保证产品质量
“如何保证质量”一直是产品或项目过程中关注的焦点,而测试是产品质量把控环节中非常关键的部分。本文结合我们的实践经验,总结出一套有效的自动化测试组合拳。
宜信技术学院
2019/09/17
1.6K0
迷雾中的自动化测试体系建设
在业内如火如荼的 DevOps 转型过程中,自动化测试始终是热点之一,毕竟提供快速质量反馈是达成 DevOps 目标的关键。于是,作为测试领域的“皇冠”,自动化测试的落地实施始终为人们所关注。但是落地当中产生了种种问题甚至是争论,经久不衰,无形中给自动化测试体系建设蒙上了层层迷雾,让人疑惑。下面我们就一些踩过的“坑”进行探讨,期望这些经验分享能够有助于揭开迷雾、看清方向。
腾讯云 CODING
2021/12/30
1.2K0
迷雾中的自动化测试体系建设
接口自动化测试多场景实践 - 上篇
当今互联网业务高速发展,无论是各行各业行业,都需要服务端来进行数据存储、逻辑处理等操作。为了更好提升用户体验、满足业务需求,最近几年服务端技术架构从传统的单体应用架构升级到微服务架构。
测试加
2023/02/17
7360
接口自动化测试多场景实践 - 上篇
软件测试之自动化测试
自动化测试 自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。
测试开发社区
2019/09/20
2K0
软件测试之自动化测试
自动化测试在美团外卖的实践与落地
总第535篇 | 2022年 第052篇 随着美团到家业务的发展,系统复杂度也在持续增长。测试用例数量近两年增长约一倍,单端数量超过1万2千条,而研发人员的工作从大部分时间在开发,转变成一半时间在开发、一半时间在模拟环境和自测。因此,引入自动化测试就显得十分有必要,本文介绍了美团外卖在自动化测试方向做的一些探索和实践,希望对从事相关领域工作的同学能够带来一些启发或帮助。 1. 项目背景 2. 项目目标 3. 方案选型 4. 实践和探索 4.1 问题和挑战 4.2 前置条件准备 4.3 用例录制与回放的数据
美团技术团队
2022/09/20
1.3K0
自动化测试在美团外卖的实践与落地
都2022了,自动化测试到底该怎么做
在讲自动化测试前,先看下软件测试的分层模型,如下图所示的“三层金字塔”,分为单元、接口和UI三个层级。尽管大家对此的具体描述各不相同(有人将三层分别定义为单元、接口、集成测试;也有人将整个金字塔划分为4-5个层级),但金字塔自底向上的结构是大家公认和遵循的
Bug挖掘机
2022/09/28
5720
都2022了,自动化测试到底该怎么做
这是有赞的分层自动化测试实践
先理一下自动化测试的概念,从广义上来说,一切通过工具(程序)的方式来代替或者辅助手工测试的行为都可以成为自动化。从狭义上来说,通过编写脚本的方式,模拟手工测试的过程,从而替代人工对系统的功能进行验证。
DevOps时代
2019/12/17
1.4K0
这是有赞的分层自动化测试实践
敏捷交付中的自动化测试
在提及自动化测试的时候,很多人会把工具的使用等同于自动化测试。自动化测试应该是一个策略性的系统化工程,不只有自动化工具。自动化测试要发挥其频繁快速的质量反馈作用,还需要团队从文化和技术上去建设和学习。
ThoughtWorks
2020/08/11
9730
【自动化测试】一站式测试平台MeterSphere实践感悟分享
本篇仅做个人的一些实践感悟分享,不会涉及具体功能的使用,详细的可查看其它小伙伴的分享,MeterSphere金融公司落地经验分享。
用户9913368
2022/08/13
9960
老板们不知道的秘密:开启自动化测试,让我们一起以逸待劳
我认为所有的UI自动化测试都分成基本的三个步骤:定位元素,操作元素和执行断言。大家在做UI自动化不同的主要是方案的选型,封装优化的方式不同。目前移动App的更新迭代速度非常快,所以优先以稳定的流程进行自动化测试脚本编写。
京东技术
2018/07/30
1.4K0
老板们不知道的秘密:开启自动化测试,让我们一起以逸待劳
终端自动化测试探索之路
测试作为质量保证极其重要的一环,在移动App开发流程中起到非常关键的作用。从开发工程师到测试工程师,人人都应具备良好的测试意识,将隐患和风险在上线之前找出并解决,可以有效的减少线上事故。
岛哥的质量效能笔记
2021/08/18
6250
终端自动化测试探索之路
五分钟学会接口自动化测试框架
自动化测试,这几年行业内的热词,也是测试人员进阶的必备技能,更是软件测试未来发展的趋势。
测试蔡坨坨
2022/09/26
9880
自动化测试常见问题总结,拿走不谢
自动化测试是近几年比较火热的一个话题,想要在软件测试这个行业继续前行,就必须拥有核心竞争力,掌握自动化测试技术,是必不可少的一个技能。
可可的测试小栈
2021/04/22
1.7K0
自动化测试常见问题总结,拿走不谢
自动化测试是不是烟雾弹?
对于自动化测试,我们要不要做?需要从团队管理层和个人两个角度来区分,这次我就从团队管理层来讲:自动化测试是不是烟雾弹?
小雯子打豆豆
2022/01/25
4780
自动化测试是不是烟雾弹?
接口自动化测试用例如何设计
说到自动化测试,或者说接口自动化测试,多数人的第一反应是该用什么工具,比如:Python Requests、Java HttpClient、Apifox、MeterSphere、自研的自动化平台等。大家似乎更关注的是哪个工具更优秀,甚至出现“ 做平台的 > 写脚本的 > 用工具的 ”诸如此类的鄙视链,但却很少有人去关注接口测试用例的设计问题。
测试蔡坨坨
2022/12/21
8570
自动化测试+性能面试题整理–个人最新【持续更新】「建议收藏」
公司要求招一名自动化测试,能力要求不高,1年左右自动化经验+部分性能经验即可,让我出一份题,我就百度+公司项目遇到的问题,出了一份,出题整体思路是:接口自动化问题+性能问题+规划的ui、app自动化+整体质量体系建设等多方面考虑。下面是正题
全栈程序员站长
2022/11/11
2.2K0
自动化测试+性能面试题整理–个人最新【持续更新】「建议收藏」
利用Robot Framework实现多平台自动化测试
基于Robot Framework、Jenkins、Appium、Selenium、Requests、AutoIt等开源框架和技术,成功打造了通用自动化测试持续集成管理平台(以下简称“平台”),显著提高了测试质量和测试用例的执行效率。
测试开发技术
2021/11/04
2.1K0
以效率为导向:用ChatGPT和HttpRunner实现敏捷自动化测试(二)
Tech 导读 本文将详细介绍软件测试工程师如何结合ChatGPT和HttpRunner框架实现敏捷自动化测试。文章首先介绍了在商业化DevOps产品交付过程中,业务测试面临的痛点以及需要快速实现接口自动化辅助回归的需求。具体介绍了如何通过在web前端录制业务操作、使用命令生成自动化脚本,并通过批量更改和调试来实现自动化测试。使用ChatGPT与HttpRunner框架结合后可以简化接口测试的整个过程,提高测试效率。
京东技术
2023/11/22
6910
以效率为导向:用ChatGPT和HttpRunner实现敏捷自动化测试(二)
相关推荐
又一款国产自动化测试平台,开源了!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档