Will QA professionals get left behind?
The switch to DevOps is challenging software testing and QA professionals’ positions in the industry. How can we gain a deeper understanding of DevOps and what it takes to stay relevant as a QA tester for the future?
Like many industries, the telecommunication industry has gone through major technological development. To stay relevant in today’s competitive market companies must make swift and frequent changes in their apps, they must constantly improve their products, experiment, and measure how well changes are being accepted by their customers and iterate accordingly.
Customers’ expectations are rising constantly and companies must react fast and embrace changes rapidly.
We all know DevOps as a practice where development (Dev) and IT operations (Ops) teams collaborate to deliver software quickly throughout the service lifecycle. At the same time, we also know that DevOps has many definitions and can be used for a wide range of concepts in software development.
I would like to define it as a practice to deliver software fast through team collaboration all within the development lifecycle.
By understanding DevOps in more detail, we can better see where QA professionals fit in this methodology and can continue to grow in this new age of development.
Breaking down DevOps
At its core, DevOps is a method of collaboration between development and operations teams. By implementing shorter release cycles with stronger feedback loops, DevOps takes end- to-end control of many engineering processes, allowing for more productivity.
Another term that people often associate with DevOps is ‘agile’. While DevOps provides the framework where developers and operations work more closely together, agile ensures that this happens with collaboration, small and rapid releases, and customer feedback.
Through its promotion of collaboration, agile offers a way to deliver a speedy and flexible response to changes in software.
The important thing to note here is that with an agile methodology, testers are no longer separate from the rest of the development lifecycle. This idea is an integral part of software development and necessitates extensive collaboration between your developers and QA engineers.
There is a strong emphasis on a team effort in an agile environment. It is the developers’ and engineers’ roles to include the testers and QA professionals early on in the development process. This way your testing team can make any recommendations needed for test plans and architecting testing down the line.
Conversely, your QA team can create a test plan or a testing template in advance and bring it forward to the dev team. This way both teams of professionals are constantly in the loop and are consistent with their collaboration.
How to succeed with DevOps
Now that we understand DevOps in more depth, we can better plan for ways to succeed with this important methodology. There are plenty of approaches to succeeding with DevOps, but the way I advocate for DevOps success is through continuous testing.
Continuous testing, or CT, is the method of executing automated test scenarios as part of the software development lifecycle. Continuous testing allows a firm to reduce its overall costs of defects. As an example, if an e-commerce site goes down during an exciting and pivotal sales event the company behind the event will encounter a magnitude of losses.
This can happen to companies of all sizes, including Amazon, whose hours’ long crash led to a tragic $34 million loss per hour of downtime. Of course, Amazon held its head high and made it through with just a couple billion dollars of revenue after the sale!
But, although Amazon made it out okay, your business might not be as lucky.
To avoid colossal damage similar to Amazon’s Prime Day event, you must incorporate testing into your DevOps pipeline and automate your testing.
Continuous testing & ‘shift left’
You’ve probably heard the term ‘shift left’. It’s the idea of building tests as early as possible, even before the app is ready, and start testing earlier in the process, so Amazon-level outages don’t happen to your company.
By shifting left, your CT should offer all DevOps personnel, including dev, test, and business professionals in your organisation, a universal outlook for all testing activities. These activities range from functional flows to load testing and UX. Website crashes can happen with functional and non-functional flows.
This is why in continuous testing there is a need to automate regression tests and execute them pre-production – better known as ‘shifting left’.
Test automation – from taboo to normal
The software industry has come a long way since 100% manual testing. Test automation has only recently shifted into the most recognised testing framework.
It has become vital to continuous integration and the DevOps process over the years.
According to Gartner’s Magic Quadrant for Software Test Automation report 2018, Selenium came out on top with 43% of respondents naming it their top vendor — with the next four vendors coming in between 18% and 24%. This shows us that firms are finally leaning toward a test automation solution.
The research is clear – firms that follow agile and DevOps best practices are the ones that combine, implement, and follow the two methodologies in complete sync. The way a firm succeeds in this is with automation. Automating your software framework is a crucial action to take: “Over half (53%) of firms that follow agile + DevOps best practices consider automating the software quality process as critical, compared to just 27% of other firms”.
These leading companies understand the crucial benefits that end-to-end test automation can bring to their organisation. It provides a fast-paced and high-quality delivery of software.
Bringing all this research together is fascinating, but I wanted to find out more from my audience of current users and over 17k social media followers, who still use manual testing and who have hopped on the automation bandwagon. I shared a poll question asking, “Are you working with any automation tools?” and the results that came back were clear – 88% of respondents answered they do work with automation.
After conducting my own research and following Forrester’s and Gartner’s reports, I can now confidently say that test automation is the new normal, far from being the taboo concept it once was.
The QA professional’s role in DevOps
You may ask where do we, as testers, fit in this world of DevOps. There are many ways QA professionals can jump into the DevOps framework and make their work smoother and more collaborative.
Along with the new agile methodology, there is an endless need to introduce new software versions and continuous updates into the release cycle. This makes it important for development teams to adapt to these new processes.
Development is a core activity of any software company and the constant changes to its methodology require attention and teamwork within the organisation.
When developers bring in testers early to the development process, there is a better opportunity to develop trust and communication. This, in turn, allows less breakage and confusion in the dev pipeline.
Trust and communication between your team will increase the quality of work and software your team produces, plus it will allow for a smoother dev workflow all around.
Test automation is another way to connect QA testers to the DevOps era. When the shift to agile came about, manual testers were faced with an impossible feat. Their task was to keep up with the agile pace while using outdated legacy tools as most of the tools that were developed to support agile, focused on the dev process, rather than QA. This had caused a QA bottleneck.
A bottleneck that is only growing, as release cycles get shorter and regression gets longer. It’s a constant balance between quality and velocity while delivering the digital experience that is expected from you. This is why you must implement test automation.
When implementing test automation, the most common solution is Selenium as mentioned above. According to my survey, over 84% of respondents answered that they use Selenium as their de facto automation solution.
Selenium is a free open source code with a large and active community, discussion forums, code libraries, and even conferences to support its usage. The Google trends graph shows clearly that Selenium has more than doubled its power in the last decade, while legacy tools, such as UFT, are lagging far behind.
But, Selenium comes at a cost. Alongside these above-mentioned advantages, and although it is a free open-source, it is far from being free and has plenty of costs that should be taken into consideration. Before switching to Selenium you need to:
Set up a framework – this set up often requires you to hire a specialist to get your environment ready to work with Selenium
Restructure your team of testers – Selenium requires coding knowledge. To start working with Selenium you will need to first let go of some of your existing team members. You might have to let go of the testers who understand the business and testing processes well.
You will then need to hire test engineers, which require higher salaries and are harder to find.
Lastly, you will need to train them – teach them about the product, your work methods, get them familiar with the work and the team.
These processes take a lot of time and require extensive fundings, but once all is said and done you will start creating the Selenium-based automated tests and will hit the most burning issue – maintenance.
Selenium tests tend to break. A lot. Tests may break upon changes in the app, therefore there is time wasted to fix these broken tests. I’ve seen many companies that have gone back to manual from using Selenium, simply because of maintenance issues. How can we overcome that?
The codeless way
Same team, easy start, and low maintenance. No, this is not too good to be true. The codeless way allows you to keep your QA professionals’ visual tools for creating their tests and is very easy to start.
There are a handful of codeless SaaS tools out there that have no set-up costs. Some also come with new and updated features, like machine learning algorithms, to catch bugs in real time.
The codeless way is designed specifically for QA professionals with no coding skills. It bridges the gap between the need for high software quality and constant release cycles, while also dissolving the burden of test maintenance.
With the help of your new codeless test automation tool, your QA team can succeed in the DevOps arena by tackling your site’s customer support initiatives. With this in mind, it is imperative to monitor your site constantly. This is a hard task to do with a manual framework, so a codeless test automation tool can step in admirably here.
Here is a list of ways a tool can help monitor your site:
- Create real-life monitoring scenarios and schedule the executions to your liking
- End-to-end continuous monitoring
- Controlled and monitored database.
This list is just the beginning of several ways a codeless test automation tool can help your QA team succeed in delivering the highest software quality.
Dror Todress, founder, Testcraft