顶部左侧内容
百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 知识宝库 > 正文

什么是自动化测试?什么情况下使用?

luoxia 2024-04-23 22:04 95 浏览 0 评论

什么是自动化测试?

自动化测试是指把以人为驱动的测试行为转化为机器执行的过程。实际上自动化测试往往通过一些测试工具或框架,编写自动化测试脚本,来模拟手工测试过程。比如说,在项目迭代过程中,持续的回归测试是一项非常枯燥且重复的任务,并且测试人员每天从事重复性劳动,丝毫得不到成长,工作效率很低。此时,如果开展自动化测试就能帮助测试人员从重复、枯燥的手工测试中解放出来,提高测试效率,缩短回归测试时间。

什么情况下适合使用自动化测试?

实施自动化测试之前,需要对软件开发过程进行分析,以观察其是否适合使用自动化测试。通常情况下,引入自动化测试需要满足以下条件。

(1) 项目需求变动不频繁

测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。

(2) 项目周期足够长

自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成,这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便无意义。

(3) 自动化测试脚本可重复使用

如果费尽心思开发了一套近乎完美的自动化测试脚本,但是脚本的重复使用率很低,致使期间所耗费的成本大于所创造的经济价值,自动化测试便成为了测试人员的练手之作,而并非是真正可产生效益的测试手段了。

另外,在手工测试无法完成,需要投入大量时间与人力时也需要考虑引入自动化测试。比如性能测试、配置测试、大数据量输入测试等。一般来说,自动化测试通常都会跟持续集成系统(比如Jenkins)配合使用。

相关推荐

BlockingQueue与Condition原理解析

我在前段时间写了一篇关于AQS源码解析的文章AbstractQueuedSynchronizer超详细原理解析[链接见文末],在文章里边我说JUC包中的大部分多线程相关的类都和AQS相关,今天我们就...

阻塞队列ArrayBlockingQueue的实现原理浅析

阻塞队列介绍阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常...

BlockingQueue 阻塞队列

BlockingQueue继承关系图:阻塞队列的使用场景:多线程并发处理,线程池。队列的使用操作:添加、移除操作的4组API:1、抛出异常importjava.util.concurrent.Ar...

BlockingQueue阻塞队列

packageunit5;importjava.util.concurrent.ArrayBlockingQueue;importjava.util.concurrent.TimeUnit;pu...

细节决定成败:从一个故障说说Java的三个BlockingQueue

最近出了个故障,排查的时候耗费了很长的时间,回顾整个排查过程,经验主义在这里起了不好的作用,直接导致了整个故障排查的时间非常长,这个故障的根本原因在于BlockingQueue用的有问题,顺带展开说说...

深入浅出阻塞队列BlockingQueue及其典型实现ArrayBlockingQueue

在前面的三篇文章中,我们一起陆续地研究了AQS的底层原理,同时研究了AQS在不同场景下的三个应用工具类(ReentrantLock、CountDownLatch、Semaphore)的工作原理,之所以...

如何停止被BlockingQueue阻塞的线程

如下阻塞队列+线程的代码,很常见,当服务停止时,如何停止被BlockingQueue阻塞的线程?BlockingQueue<Integer>blockingQueue=newArr...

Java并发编程笔记之LinkedBlockingQueue源码探究

LinkedBlockingQueue的实现是使用独占锁实现的阻塞队列。首先看一下LinkedBlockingQueue的类图结构,如下图所示:如类图所示:LinkedBlockingQueue是使...

阻塞队列 BlockingQueue使用

1.前言本节带领大家认识第三个常用的Java并发容器类之BlockingQueue。本节先介绍BlockingQueue工具类表达的概念和最基本用法,接着通过一个例子为大家解释Block...

这两个BlockingQueue,一下子就打开了我防范OOM异常的思路

这两天同时在几个地方被安利了这两个BlockingQueue的实现类,号称能很好的解决OOM问题,本着好奇的目光点进去看了后,感觉甚是有趣BlockingQueue介绍BlockingQueue是jd...

JAVA多线程-BlockingQueue

ava的BlockingQueue接口,java.util.concurrent.BlockingQueue,代表着一个队列可以安全的插入和取元素.换句话说,多线程通过BlockingQueue...

JUC之阻塞队列BlockingQueue竟然有8种类型?

前言并发编程从操作系统底层工作的整体认识开始深入理解Java内存模型(JMM)及volatile关键字深入理解CPU缓存一致性协议(MESI)并发编程之synchronized深入理解并发编程之抽象队...

Java多线程15:Queue、BlockingQueue以及利用BlockingQueue

Queue是什么队列,是一种数据结构。除了优先级队列和LIFO队列外,队列都是以FIFO(先进先出)的方式对各个元素进行排序的。无论使用哪种排序方式,队列的头都是调用remove()或poll()移除...

BlockingQueue阻塞队列详解

首先,最基本的来说,BlockingQueue是一个先进先出的队列(Queue),为什么说是阻塞(Blocking)的呢?是因为BlockingQueue支持当获取队列元素但是队列为空时,会阻...

手机修图基础教程,教你如何用手机修照片

最近一段时间给大家讲了很多手机修图方面的知识,但是讲的大多是一些特定的效果。今天来给大家讲讲基础的东西,比如:如何调整照片的亮度、饱和度、锐度等等。今天要用的手机修图软件还是Snapseed,接下来开...

取消回复欢迎 发表评论: