With all respect to manual testing, test automation is the future and the way to go. No more having manual testing skills only, is enough to penetrate tough job market. While there will always be test scenarios that are cheaper and faster to execute manually, the majority of trivial tasks can be automated. The best way for manual tester to survive and boost marketability is to learn Test Automation and other technical skills such as Programming Languages, Relational Databases, UNIX and Virtualization.
Knowledge of Software Test Automation has changed from “nice to have” to “must have” in the last decade. Without a doubt, that knowledge makes a tester more marketable and companies are willing to pay more for such specialists. Even if the hiring company currently does not have automation in place, they’re probably planning for it as their next logical step, and management acknowledges that test automation provide a solution for typical problems such as:
– too many tests to be performed in limited amount of time
– lack of testing resources
– soaring project deadlines
The fundamental shift toward the Agile software development life cycle, which emphasizes test automation and continuous integration, further pushes need of automation/technical skills for software testers.
While many testers try to keep being “manual”, it no longer guarantee their job security. My advice? Stop ignoring the obvious signs of danger –learn test automation and basics programming.
Does software tester need to have programming knowledge?
The previous notion that a tester doesn’t need any programming knowledge to do a good job is outdated. Situation has changed and programming knowledge has key advantages for software testers in the modern market:
- Help in understanding the type of problems that affect the AUT– Knowledge about a software’s design builds a deeper understanding of its functionality.
- Test Automation – Programming knowledge let’s you build powerful, modular and reusable automated tests with low maintenance cost.
- Communication with Developers – Programming knowledge helps in establishing good communication with developers. Programmers are human beings that are easy to talk to when you know their language… Being on the same speaking-context as them is a good thing. And as it happens in many other geek linguistic elites, some programmers will respect code-speakers more than non-speakers.
So where should you start?
Learn programming language that your company is using in development. You can try your local college or take course online. Here is a list of the most in demand programming languages according to industry experts:
- SQL or relational database skills
- Java, including J2EE and EJBs
- Shell Scripting
Learn automation tools. Ideally, choose automation tool your company is using. You can download free trial from vendor’s website or install an open source tool such as Selenium WebDriver or Watir. The most popular automation tools are:
- Selenium WebDriver
- HP UFT
Find a good course or buy a book and start learning and practicing. Just pay attention that record and playback is not a substitute for automation – scripts created this way are not reliable and will take huge effort to maintain.
The more programming/automation knowledge you have, the more marketable you will be. On top of everything automation/programming skills will also looks great on your resume.
Hitek Computer School (http://hitekschool.com) provides training in QA Automation and technical expertise from 2007.