eve networks logo white
Lead Software QA Analyst, Joe. eve Development team

What’s involved in Software QA?


Joe Woolley
April 30, 2024

An insight into Software QA

In a recent post Marcus Hunt, Technical Director, spoke about his incredibly talented development team and shared some of the secrets to the success of the team (read that article here). 

Someone who plays a pivotal part in that success is Lead Software QA Analyst, Joe Woolley.  In this post, Joe gives an insight into the role he plays in ensuring every release we put out passes a rigorous testing process to give our partners and their customers a seamless experience. 

Joe Woolley, software QA

meet the author

Joe has been with us for the best part of a decade and is one of the original team who was there back when our eve Voice product was just an idea. In that time, Joe has played a pivotal role in ensuring everything we develop and release is rigorously tested to give our partners and their end users secure, reliable experiences. 

Happy path testing

The world of software development is full of complex language, but this might be one of my favourite examples where the expression is exactly what it says! 

Happy path testing is a type of testing where everything runs exactly as you would hope and expect with no issues or errors. Although this would be a lovely scenario, 1. it’s not the reality and 2. myself and the hundreds of other Software QA testers out there would have no need for a job!

The point of software testing is to make sure that when you make a general release you have high confidence that the thing you are releasing works as intended and delivers the expected experience for your users. 

Various methods can be used in software testing, but here, I will talk you through the testing system that I use here at eve.

System testing

When the developers are happy that the feature or project they’ve been working on is ready to be tested, that’s when my role in the process kicks in. 

The first step in our testing process is system testing. Essentially what this stage does is look at the specific change or feature that is being implemented and assess its functionality as an isolated function. If it passes, it will then enter regression testing. 

Regression testing

Once a developed feature has successfully passed through the system test, it will go through regression testing.

Regression testing can be thought of as the next layer of testing. It will look at the system in its entirety and is designed to make sure that any changes that have been implemented haven’t broken or adjusted any existing functionality on the system. 

Once a new feature passes the regression testing it is then ready to be pushed through to release. 

Testing cycles

Until a change passes both the system and regression testing phases it will continue to go through the testing cycle. If a change fails at any stage it will go back into development for investigation, adjusted and then back into the test cycle. 

How long this process takes varies depending on the scale of the development changes or features being implemented. If it’s a small functional change it could go through in one cycle, but for larger more complex projects it will often go through several cycles before general release.

automation in software testing

Introducing automation in software testing

We have a “fast and frequent” approach to eve development releases, allowing us to bring out a constant flow of new features for our resellers and their end users. Having been with eve for the best part of a decade now, I can feel how much of a difference this approach to development has had on our output. 

For my role in Software QA testing, something that has helped assist with this new approach is introducing automation in software testing. 

Testing that would have before been a huge drain on time and resources can now be automated using code I have written. The automation will then run through various scenarios and test the new system for any bugs or breaks that the newly developed feature has caused. 

Being able to introduce automation in software testing has had a huge impact on the amount we’re able to push through to release. 

Defining success in testing

Something I find rewarding in my job is its simplicity in defining success. Has the release gone out with no bugs? Great then I’ve done my job right!

But that’s not to say that every release will go out with no issues, the nature of development is that things break sometimes, my job is to alert development of these breakages so they can get them fixed. 

We hold ourselves to high standard at eve and closely monitor our release performance to make sure we’re always striving to be better and learn from every release we do. 

book a demo