Getting started with test automation
Do you want to get started with test automation and learn something new? If your answer is yes, then I can say: Me too! And we can do that together. Not leading you as an expert, which I’m not (yet!), but as someone who just started discovering the world of test automation. Someone that is getting started, just like you! The idea of learning something completely new can sometimes be scary. But that shouldn’t stop you from taking baby steps into this new field. And that’s exactly what we’ll do! We’ll take it very slowly, in small steps, and see where will it bring us. Test automation rock stars? Maybe. Even if not, we will for sure have some fun and learn new skills. Isn’t that the main point?
For me it is. That’s why I got interested in test automation. I’ve spent 13 years working in the financial industry. It was a natural direction since I have a degree in accounting. Even though my first job was in audit, every next job got me more and more involved with data. From simply being a data analyst, during the years I became more and more interested and involved in databases. At first as their user, then gradually as a database developer. Spending so much time involved with data and databases, i.e. at the back end, it came naturally to me that I want to go out of the tunnel and see some light. I wanted to see how those flashy front end developers use our data to make end-users life easier.
What is test automation?
In comes test automation. You still don’t know if that’s for you? You don’t know whether you have enough skills for that or that you’re not that good programmer or some other excuse? Jerry Weinberg, an American computer scientist once said:
„You can be a great tester if you have programming skills. You can also be a great tester if you have no programming skills at all. And, you can be a lousy tester with or without programming skills. A great tester will learn what skills she needs to continue to be great, in her own style.”
So, what exactly is test automation? There is a simple definition on Wikipedia that states the following:
„In software testing, test automation is the use of software separate from the software being tested to control the execution of tests and the comparison of actual outcomes with predicted outcomes.“
Back end developers will create the database that will be used by some software or application. The front end will develop such software or application. And testers will test the functionality of the software and application before it reaches the end-user.
Here’s a very useful video that I found trying to understand the concept of test automation.
Our test automation definition says that separate software is used for the test creation and execution. The two most popular open-source tools for test automation are Selenium and Appium. Selenium is a tool for testing web applications and it runs on Windows, Linux, and macOS. It allows for writing tests in various programming languages, such as C#, Groovy, Java, Perl, PHP, Python, Ruby, and Scala. The tool itself was written in Java. Appium is used for native, hybrid and mobile web applications on iOS, Android, and Windows.
In our case, I am going to use TestProject test automation platform I’ve recently discovered, that is based on top of Selenium and Appium. It’s completely free and I’ve read it makes life easier not only for test automation experts, but also for rookies and peole just getting started like me!
If you go to the TestProject home page, you will see the description which says that TestProject is an end-to-end test automation platform for web, mobile and API testing. First thing I’m sure you’ll like about it: it’s completely free! In addition, the TestProject Agent is very easy to install and you will see that in a moment. The Agent is a locally installed test automation component that is responsible for local test execution. It is built upon Selenium and Appium, the two most popular open-source automation tools that we already mentioned. The tool is highly collaborative, it allows adding team members and makes sharing tests among team members very easy. Another cool thing about TestProject is that you don’t need any coding skills since one of the tool’s great features is their test recorder which allows you to simply create recorded tests. And in case you do like to code, you can do that too with their developer SDK (that currently supports Java and C#). This leads us to another one of their great features — Addons, which you can use for getting the capability you need for the things you want to test by simply installing the desired addon. Addons are shared within the community and can be used by everyone. You can, of course, create your addons, use them and share them with the community. Besides testing, TestProject provides you with the possibility to analyze in detail the results of your tests with their extensive report dashboards.
We’ll talk about all of these cool features in more detail as we go along. Let’s go ahead and start with the TestProject Agent.
Installing TestProject Agent
By covering the basic theory, now we have the feeling what we’re going to do. And to have an even better feeling, we have to get to know the tool we’re going to use. To do that, first, you have to create your free account here. Yes, really free, don’t worry! And it will allow you to download and install TestProject Agent. TestProject’s Agent is pre-packaged with all Selenium and Appium dependencies you need to get started!
Now that we’ve registered, let’s now sign in.
After signing in, you can download TestProject Agent if you go to the „Agents” heading. There are the versions for all operating systems:
Select one depending on your system (it’s Windows in my case) and the download will start. Now that the agent is downloaded locally, start the installation and the Setup Wizard will walk you through the installation steps (it’s a simple and quick next-next installation and you’ll be good to go!).
Once the installation is completed, we have to register the TestProject Agent. If you go two steps back and take a look at the picture showing how to download the agent, you will see there’s also an option for registering the agent. Click on that and it will open the window for registering the agent, as shown below. Type in how do you want to call the agent (it will be Panthelya in my case), click Save.
Now click Register to complete the registration.
Once the agent is registered, to see our agent(s) and their statuses, we can simply click „Agents” in our TestProject and it will open this screen.
Of course, you can also remove the agent, which can be done by clicking on those three dots by every agent and selecting „Delete agent“.
We’ve learned what is automated testing and we’ve learned some basic info about popular test automation tools. Now that we’ve covered basic concepts, we’ll begin to understand it better when we start to use TestProject and see what it can do. Prerequisite for that is TestProject Agent installation, which we also learned how to do. Now we have everything ready to learn more about the TestProject functionalities. We’re now ready to see what exactly can be automated and start running our first tests. We will start doing that in the following articles.