Automation is certainly one of the most popular buzzwords of recent times. However, it can mean all sorts of things depending on the context.
You can have test automation, which means running tests automatically. But also in terms of DevOps in the form of continuous integration and deployment. There are also up and coming technologies like Robotic Process Automation. This aims at scripting repetitive operations on a computer so that they can be done without human input.
As such, we want to exemplify all these different categories, and more, as part of this article. Let’s jump in to see the many different sides of automation.
Classic automation 🚗
Before we dive into the processes happening in the IT industry, it’s important to remind people that automation isn’t something new.
Automation simply means that a process is happening with minimum human supervision.
As such, you’re enjoying this when driving a car, for example. You have one human input: turning on the ignition, and the car is then functioning with minimum supervision. The engine is running idly and all the connected components are doing their job.
Industrial plants are the same, as they use robots and machines to automate the manufacturing process. The march of technology is just accelerating in recent years because you can automate so much more. You can see more examples on Wikipedia.
IT Automation layers: from scripts to Artificial Intelligence 💻
Now that we’ve shed a bit of light in the history of automating processes, it’s time to talk about the processes happening in the IT industry. It’s important to note that this domain has all sorts of automated layers.
You can create a simple script using tools like Bash or programming languages like Python and you are technically doing automation.
On the other side of the complexity scale, you have more difficult tasks. Machine learning (ML) engineers are creating self-driving cars. Meanwhile, there’s artificial intelligence (AI) that learns on its own how to perform complex tasks, like playing chess or Go.
Given this huge realm of possibilities, you should always look for details and context.
Test Automation ⚙
Of course, given the profile of this website, we’re starting with Test Automation. Basically, this means that your test cases are ran automatically without human input.
Tests usually come from manual testers and QA Automation Engineers automate them. However, this category also includes smaller scale unit tests written by the developers themselves if they’re practicing Test Driven Development.
Ideally, these automated tests are running in a central location, tying neatly into the next big category which is …
DevOps Automation 🔄
In DevOps automation, engineers create automated processes to achieve goals like Continuous Integration and Continuous Deployment.
For example, as part of CI, tools like Jenkins can run various commands. These range from testing (using the aforementioned automated tests) to integrating a commit from a developer into the central version control system repository.
Depending on the integration’s success, the deployment stage picks up the newly generated version and sends it to staging or production environments. Back in the old days, build or release engineers would do all these things manually.
Robotic Process Automation 🤖
In recent years, the realm of Robotic Process Automation (RPA) has accelerated rapidly, as companies are trying to save costs.
Simply put, through RPA you automate repetitive tasks related to data extraction, transformation, or loading (abbreviated as ETL). These range from document manipulation and editing, to moving information from one application to another.
With the correct tools, you can automate this process and potentially save a lot of time and money.
Automation can mean a lot of different things. From industrial machines to testing, DevOps, or Robotic Process Automation (RPA). I hope that with these examples you now have a better grasp on the concept. Just remember to always look for details and context when you hear someone talking about this subject.