自动化测试杂谈----金字塔

无数次看到,无数次听人讲到金字塔原理,ui在最上部,中间是接口测试,最下面是单元测试。显而易见最上面的UI层的测试比例最小,单元测试比例最大。好多人觉得ui层的自动化没有意义或者意义不大。可真的是这样吗?用户使用的是ui层,用户的大部分操作都是在ui层,可以这样说只要ui层测试通过软件就是没有问题的。单元测试通过接口测试测试通过都不能得出这样的结论。有人说ui界面会经常变化,其实大多数变化都是一些样式的调整,很多时候用于定位控件的ID或者xpath等是不会变化的,如果开发总是无缘无故的改控件的id玩,那只能说明他和你有仇。一些时候,系统重构,界面会发生很大的变化,维护量确实不小,可这种情况下后台也重构了,单元测试和接口测试的维护量同样很大。可以觉的ui层的测试没有技术含量,但绝对是意义重大的。ui层的测试做完了我们完全没有必要在做接口和单元测试了,可反之确是行不通的。

时间: 2024-10-14 12:54:09

自动化测试杂谈----金字塔的相关文章

自动化测试——敏捷测试的基石

作为被冠以敏捷名称的测试,敏捷测试同样以快为目标.在敏捷测试中,快有三个方面的含义: 团队能够通过测试快速获知系统当前所处的状态,了解距离可工作的软件还有多远: 能够在一个迭代周期中快速完成回归测试和对新功能的测试: 开发工程师能够从持续的测试中得到快速的关于提交代码反馈. 简而言之,敏捷测试要求测试能够测试在短的时间间隔内持续发生且能够在短时间内完成.考虑到纯粹的依赖人工测试基本不可能达到短的时间间隔内持续发生和短时间内完成这两个目标,而自动化测试在执行效率方面具有天然的优势,在敏捷测试中使用

Robot Framework (一)自动化测试框架搭建

2018-08-28  14:59:23 前言: 自动化测试不是万能的,没有自动化测试是万万不能的. 人工测试是最基本的,可以做到100%,而自动化测试更像一件"防弹衣",用来防护身体的主要部位.对于UI层的自动化测试,保证少量必要的主流程即可:service层面的接口自动化测试,可以考虑覆盖大部分的流程:Unit层面的单元测试,可以做到100%是最好的. 一. 1.1 自动化测试的金字塔:UI层.接口层.单元层 1.2 Robot framework的框架原理图: 1.3 robot

SpringBoot + Kubernetes云原生微服务实践 - (6) 微服务测试设计和实践

微服务测试设计和实践 微服务测试的最大挑战:依赖.解决方案是采用分而治之的策略:a.先针对每一个微服务进行隔离测试,在对每一个微服务进行测试的时候再按照分层的方式进行隔离测试:测试过程中采用mock等技术来隔离依赖简化测试:b.在确保每个微服务通过隔离测试后,再进行整个应用的端到端集成测试 微服务测试分类和技术 Spring(Boot)应用分层 controller 服务的对外接口层,负责接收请求和发送响应 中间涉及到消息,一般是json跟对象间的转换,术语叫做序列化,一般由框架封装 控制器需要

自动化测试,按层级对测试进行划分,测试金字塔

原文地址:https://www.cnblogs.com/balabalaflower/p/11263324.html

如何提高UI自动化测试的质量

背景 项目是基于Ruby on Rails开发的web程序,应该说项目中的测试实践是很好的,具有高覆盖率的单元测试以及比较合理的集成测试.存在的问题是,所有的单元测试和集成测试都是针对后端代码的,前端的JavaSript代码没有单元测试(这个是有历史原因的,暂时没法改变).这也就意味着针对前端UI的修改是没有底层的单元测试来保障的,只能依靠高层级的UI自动化测试和手工测试来保障. 我们最近刚刚完成了一个story,是纯前端的开发工作,结果在上线后发现我们在修改页面模板文件时,忘记了其他地方也在使

有赞分层自动化测试实践

1. 背景 先理一下自动化测试的概念,从广义上来说,一切通过工具(程序)的方式来代替或者辅助手工测试的行为都可以成为自动化.从狭义上来说,通过编写脚本的方式,模拟手工测试的过程,从而替代人工对系统的功能进行验证. 有赞是一家互联网行业的创业公司,测试起步较晚,发布非常频繁,就算每次只回归核心功能,对人数极少的几个测试人员来说工作量巨大,且基本是重复劳动,极其枯燥,持续时间长了也容易出错. 所以初期我们测试自动化切入的思路非常简单:从实际用户的角度出发,模拟真实的操作,替代现有的手工测试用例的执行

自动化测试到持续部署

从自动化测试到持续部署,你需要了解这些 在互联网的产品开发时代,产品迭代越来越频繁,“从功能开发完成直到成功部署”这一阶段被称为软件开发“最后一公里”.很多开发团队也越来越认识到,自动化测试和持续部署可帮助开发团队提高迭代效率和质量. 那么,如何更好地解决“最后一公里”这一问题呢? 一切从自动化测试开始,让自动化测试贯穿在整个项目开发-集成-部署-交付的-开发流程中. 如果你的团队还没有开始自动化测试,推荐从经典的测试金字塔开始. 自动化测试 在这个分层自动化测试金字塔中,Unit 代表单元测试

[转]在做自动化测试之前你需要知道的

[转]在做自动化测试之前你需要知道的 2015-06-09 转自:在做自动化测试之前你需要知道的 什么是自动化测? 做测试好几年了,真正学习和实践自动化测试一年,自我感觉这一个年中收获许多.一直想动笔写一篇文章分享自动化测试实践中的一些经验.终于决定花点时间来做这件事儿. 首先理清自动化测试的概念,广义上来讲,自动化包括一切通过工具(程序)的方式来代替或辅助手工测试的行为都可以看做自动化,包括性能测试工具(loadrunner.jmeter),或自己所写的一段程序,用于生成1到100个测试数据.

自动化测试的层次化!

单元测试:这一层主要由产品开发同学负责, 比如使用Junit开发方法的单元测试用例, 通常这些用例都是静态的, 测试数据通过各种Mock技术产生. 接口测试:这一层主要由测试同学负责,比如我们需要对Http, HSF, TOP/MTOP等接口进行业务上的功能测试, 验证是否符合接口定义和业务需求,因为是基于业务测试,所以测试数据都是真实地,需要我们调用其他业务方提供的接口生成测试用的数据. UI测试:这一层主要由测试同学负责,使用各种UI自动化工具进行测试脚本的开发,我们可以使用AutomanX