With the rise in demand for automated testing, it is becoming impossible for software testers to ignore skills of automated testing. Despite the fact that exploratory testing cannot be entirely foregone, and even though testers have skills that developers don’t, automated testing is on the rise and will continue doing so. Let’s explore why having automated testing skills is imperative in this scenario and what technical skills and automation tools you will need when starting to branch out into automated testing.
Since the last few years job advertisements for QA and test analysts have demanded test automation as part of the required skill set. Recruiters have also been consistently advising the need to upgrade the skills of testers to include technical and automation skills. Demand for test automation has continued growing and now some departments are excluding manual testers completely and hiring only professionals with test automation skills. This is to some extent because of the shift towards agile development that stresses on a “whole team” approach to quality and test automation for achieving continuous integration. On the other end, even teams that are not fully embracing agile style of development are beginning to use automated testing for their regression test suites.
In that case, is manual testing of the past? This question led to a huge debate on LinkedIn where many testers defended the importance and need for manual testing. Blogger Ardesco argues “Please Let Manual Testers Be Manual Testers”, in his blog ending with: “Please don’t try to turn manual testers into data entry clerks, and don’t try and force them to become programmers; all you are doing is destroying the testing profession.”
Irrespective of the views you hold on manual testing, there is no point in ignoring the fact that the industry is trending heavily towards automated testing. Testers can no longer afford to ignore the modern-day tools and techniques that are being used in development shops for test automation. This doesn’t mean that they are being asked to become programmers or data entry clerks. However it is important that testers be open to upgrading their skills and adapt to the changing times by learning new ones.
Do testers need to become programmers?
Having experience with coding is helpful for any software tester even when there’s no automated testing in their experience bouquet. This is because they can immensely benefit from understanding programming terminology and techniques. Also the exposure to coding practices makes them better equipped to communicate with the development team while helping with both white-box and black-box testing.
The question remains though, where does a newbie software tester start? With so many technologies and many more programming languages, it can be quite confusing for a beginner to know what to pursue first.
A good rule of thumb is to start with the technologies used by your development team and get a good understanding of them. If you are not currently working with any development team then start with basic web programming and SQL skills.
On collecting data from 164 job ads to figure out the programming skills required for QA and test jobs, Elisabeth Hendrickson of TestObsessed found that excluding the positions for test automation engineer or developer in test, 80% of the job ads required some knowledge in programming.
Hendrickson concludes in her report: “No matter my personal beliefs, data suggests that anyone who is serious about a career in testing would do well to pick up at least one programming language”. According to her findings, the five most requested programming skills, in order, were:
- SQL or relational database skills
- Java, including J2EE and EJBs
The following technologies were frequently asked for as required skills:
- General web development skills including HTTP/HTTPS, HTML, CSS, and XPATH
- Web services or referenced SOAP and XSL/XSLT
Are programming skills required for test automation?
Strictly speaking, though documentation on automation tools claim that programming skills are not a requirement, a test automation engineer will ultimately need to do some programming to stay relevant in their jobs. Those without a programming background write tests using simple keyword driven language which is then converted to code through a test framework which is further used by an automation engineer to write interim test steps.
In a way, test framework is usually data driven and requires inputs and outputs to be recorded and specified in spreadsheets. Manual testers are then responsible for maintaining the test data and researching anomalies. This is what prompted Ardesco’s reference to testers becoming “data entry clerks”.
It is not impossible for manual testers to help create automation tests and test data without having programming skills but they might be left feeling throttled by not being able to bring their expertise related to exploratory testing on the table. However, usually automation test creation is welcomed when compared to the tediousness of the job of creating and executing manual regressions tests repeatedly.
At the very least, becoming familiar with automated testing tools and the process of creating automated tests is a worthwhile addition to a resume. The more skills you have related to programming and technology, the further it can take you with test automation.
According to Hendrickson, the top five automation technologies include:
- Selenium, including Selenium Remote Control (RC)
- xUnit frameworks such as JUnit, NUnit, TestNG, etc.
Like we mentioned previously, start with the automated testing tool that your organization uses. In case you are searching for a job and don’t have access to a commercial tool, consider Selenium, the most popular automated testing technology. It is open source and free of charge.
The higher your technical and automated testing skills are, the more marketable your CV is, as a tester. Even if you want to focus on manual testing, help your team automate those tiresome regression tests by learning these technologies. You can then spend more of your creative energy on exploratory testing. So in case you don’t have the skills now, start learning.
Thinklogix Quality Assurance (QA) Certification helps participants to understand the core concepts of Software Testing using both manual and automate testing principles that helps them excel as a Quality Assurance Professional. The Thinklogix QA certification course helps candidates achieve these skills and make them more marketable to the industry.
For more details please visit: https://thinklogix.ashabmortgage.com/software-quality-assurance-testing-certification-course/