Any change represents a challenge. At the same time, change can be the initiator of new possibilities and nowhere is this truer than in this industry. Trends in the software industry have generated multiple opportunities: new roles, new required skills, and a whole laundry list of other exciting developments.
Among these, there is one in particular that I have experienced: the transformation of the role of QA.
Looking back on the evolutionary process of transformation that I experienced in my role as QA, I can say that it’s worth asking a couple of questions:
- When is a good time to evaluate a particular challenge?
- What circumstances or opportunities can be brought about by change?
I’m offering my own experience, outlined below, to give some insight into the process of change. If you’re in QA, maybe this can help answer these questions and more.
A Background for Challenge and Change
In recent years, the automation of testing has grown as a practice in the field of software development. Nowadays many of its benefits are clearly identified. They include:
- Re-usability
- Reliability
- Time in executions
- The inclusion of test automation in the continuous delivery pipeline
The value of testing automation in software development is no longer in dispute.
My role as a QA on software development teams has given me the opportunity to experience the entire testing cycle. Needless to say, the knowledge I’ve acquired has great value and is a great professional tool when it comes to taking on a professional challenge.
Experience Breeds Courage
All this led me to understand that I was in a good position to try and walk the path of change. Surely, that could result in great things for my professional career! I strongly believed that taking this route to new things would give me the tools I needed to exercise a whole new set of skills:
- design and implementation of automated tests
- automation integration in the development pipeline CD
- immediacy in environment validation
- continuous testing
Walking the Path
A good way to travel an unknown route is to have a map. In this case, it is good to know the concepts that we will need for our training in QA automation. While we can’t really say there’s a definitive list of concepts to learn, there are some that are essential:
1. A programming language
There are tons of programming languages out there but if we look which are the most used (and therefore the most in demand) maybe we can reduce our search to just a few (Java, C #, Python, JavaScript). I’m not saying that these are the only ones but in any position open for QA automation, these would be a great plus. Start small, there is a lot of material to read. Practice programming, but the more focused your practice is on automation, the more productive the content will be for us.
2. Tools and frameworks
Here I include the tools/frameworks that in my opinion are the most used for automation testing. Selenium webdriver is possibly the most-often used framework for the automation of web application testing (and also for mobile apps). If I had to prioritize, I would say it is a good idea to start with Selenium.
On the other hand, we have frameworks based on Javascript, which in recent years have grown at great speed. Just to name a few, we have Jasmine, Protractor, and Cypress.
3. A lot of practice
This item is absolutely critical. As we all know, more practice mastering a subject we will have, the better. There only three tips here: practice, practice, and practice. It’s common to feel frustrated when you’re trying to learn and master a new area of knowledge. But on the bright side, every obstacle we encounter and which forces us to seek help from a forum, a colleague, etc., will serve to strengthen our understanding of a new concept.
4. Actively participate in any field related to automation
Nowadays there are countless forums and blogs related to automation. They are an excellent resource of knowledge, from the most basic to the most complex. To get you started, I’m providing an example in this link.
Getting Down to Brass Tacks with Automation
It’s a pretty sure bet that you’ll be able to apply your new knowledge of automation in a project very soon. In fact, you’ll find that for most projects these days, automation is required. All of this represents a great opportunity. And if on the contrary, you find yourself in a project where the automation of testing has not been implemented then you have a golden opportunity. You have the chance to take the initiative and propose automation, forging new pathways for your team, your company, and equally important, your own career.