Changing job might be desirable but complicated challenge. In recent years, the demand of software quality assurance professionals is steadily growing. Meanwhile, many QA-engineers find their work overwhelmed with boring manual routine, and become unsatisfied with payment. Seeing job offers which require skills they are unfamiliar to, manual testers decide to move to the next level. Eventually, they head to the classes of QA Automation. What to consider when choosing such class?
How sought-for is the studied technology stack at the labor market?
Time is the only nonrenewable resource. Do not waste it learning things that you will never apply at work. Let’s hit the high spots of several trending tool and techniques. It is good idea to start from learning to write application programming interface level tests in object-oriented language such as Java, Python or Ruby.
You have probably heard about a Firefox plugin Selenium IDE, used to recording and modify web test scripts. Selenium suite automates user experience across bunch of platforms and browsers. Recently, its authors have presented Selenium WebDriver API. It has many advantages: correctly handles dialogs, pop-ups, wait logic, file downloads and uploads, and, importantly, overcomes the constraints of the Same-origin policy. During software testing training, you should expect to receive free access to tutorials and get familiar with Cucumber/SpecFlow. Appium, Calabash, Robotium are among prominent open-source tools for Android, which should be covered if you are supposed to study mobile testing.
Most of team-leads prefer Linux environment for their projects. Recent year trend is developers and test engineers working conjointly with DevOps team, so that testing comes in from the first off build. To stay involved across all development stages, you need a regression testing framework in Java, such as JUnit, and load testing tool, such as JMeter (on Apache). Good course will also introduce you to release and code management tools: Jenkins, Maven, TestNG, GitHub, TDD etc. Stylesheet languages (CSS) and database queries (SQL), Visual Studio are involved throughout the testing cycle and, thus, need to be explained too.
Flexibility, comfort and attitude.
There should be an option to join the course either personally or remotely, e.g. via Skype or Google Hangout sessions. After the training is completed, graduates should be granted a lifetime access to media library of all lessons.
Size of group matters ‒ perfectly it should not exceed ten people, so that instructor could give equal attention to everyone. All people have different pace, however, their questions should be answered with no ripple of judgement or discourage. Typical test automation curriculum should fit into around six weeks without homework overload. Finally, students must not be distracted in any way, therefore, good training includes breaks and offers tasty lunch and refreshments on the spot.
Working on real project.
Theoretical knowledge is insufficient. Some providers tailor the courses to products and processes created and utilized by their customers, who also order testing services at them. We think it’s better to choose class, where most of the time (that is around 20-24 hours weekly) you will be developing own test framework, useful both in your current place and during the interviews. Train on real-life projects (i.e. landing pages, e-shops, application forms, mobile apps etc.) At the output you should also get well-designed resume and effective history, for example, Github portfolio.
Certification and payment options.
Certainly, good software testing training provider issues the official certificates for graduates. Get wind of which credentials are known by key employers of your area. Widely recognized certificate drastically increases chances for the success in getting the dream job; and good trainers may even assist in finding one. Some of them offer under-confident people the second chance: a mock-up exam which is counted as passed in case of success. After all, if the person remains unhappy after the second try, it is good business practice to fully reimburse the cost of the first.
Sadly, but smart and committed students may have various financial backgrounds. Many IT course providers take part in federal, state or international financial support programs, making their prices more affordable. They give discounts and instalment plan for preferential categories of people. Students also often encouraged to borrow money for tuition fees with a help of crowd funding.
Preparation for interview.
Good school provides step-by-step guidance on how to sharpen competence after graduating. Ask, whether the coach will prepare you to face job interview for automated QA position, and if you can refer to them in case of having questions. Some trainers even connect their alumni with top employers, so, people get job offers right after completion.
As you know, not everyone can master the profession of a tester. Sure, exploratory or usability QA may be mastered with no hassle, compared to other IT fields. However, these days manual and automation skills merge, and readiness for scripting becomes essential for future marketable testing career. Understanding software architecture & functionality, being analytical and logical, having functional testing experience ‒ those are the main preconditions to join test automation class. But no IT school can perform a miracle. Only patience, perseverance and self-discipline will eventually lead you to attractive opportunities and wage scales.