Software development is still fundamentally done by humans, and we know that we all make mistakes. It’s part of what makes us human, as the old English poet Alexander Pope said in the 1700s, ‘too err is human’.
An extremely important aspect of the development process is Test. Test is there to catch those mistakes before a customer sees them. We thought we would give you a quick insight into Test at Chorus which plays a big role in the integrity of our software and our organisation.
Why do we test?
Software development is complex and can often produce errors in code or expected results when an action is performed. The purpose of Test is to improve the quality of our software and to make sure it works properly by finding bugs or inaccuracies. Ensuring the integrity of data in our software is paramount for customers and is one of our core values at Chorus.
The Testing team at Chorus is made up of 5 staff that act as a safety net for our development team so they can focus more on getting those all-important new features and customer requests into our software.
What does it take to be a ‘Tester’?
Our Development and Test team have a unique relationship. Can you imagine criticising someone else’s work as your job? Broken down to its purest form, this is essentially what Test do. For any budding Testers out there, there are a few key skills that are required to do the job. Attention to detail, broad shoulders, and a fondness for breaking things. If that’s you, get in touch at [email protected].
Part jest, part truth there. But Testers must be comfortable informing developers of bugs and issues. It can strain the relationship at times but everyone at Chorus is conscious of the bigger picture; A quality and working product for customers. As one of our Testers put it, “If development don’t like me, I know I’m doing a good job.”
How do we test?
That depends on what is being tested. Some products in the Intelligence Suite lend themselves to automated testing, where test scripts are written and can be run automatically.
Some products involve a lot more manual work but in general, Test take a change and compare the old behaviour vs the new behaviour and check it against the requirement.
The next step is working out all the different scenarios that could occur relating to the change.
This could be only a couple, or for some changes regarding how a complex product like Chorus Analyse processes data, there are generally a lot more.
After that, Test move onto ‘negative tests’. For example, if the requirement is for a button to become red when clicked, it is checked to make sure it doesn’t become red when hovered over, when refreshing the page, or when clicking other buttons.
The final stage, and the most fun, is where Test are let loose and the change is attempted to be broken. So, for our button that could mean clicking it multiple times in quick succession, for example.
Behaviour Driven Development
Over 90% of the functionality in Chorus software can be traced back to a user request. Once we get a request in, our Business Analyst team write a scenario that goes through actions and expected results written in plain English that is easy to understand. Like this:
Scenario Outline: Mapping a cell site
Given: I have loaded in comms data
And: It has location data
When: I add data to my map
Then: It should plot the locations
Development then create that feature according to that scenario. This is called Behaviour Driven Development (BDD). Automated test scripts are then produced which can be run on the more repetitive tasks.
Not everything lends itself to automated testing, so there is still a fair amount of skill and diligence required by the Tester when going through scenarios manually and recording the results.
Testing in law enforcement
Always in the back of our minds for all at Chorus and especially Test is the way in which our products are used.
Some of our products are used evidentially and here we dig a little deeper and conduct more thorough tests to be as confident as we can with their accuracy. Only when we are fully confident that the data integrity box is ticked do we sign off a release or new version.
We love giving our community great new features and products that help them in their roles. Long may it continue with Test playing a vital part in that process.
To learn more about Chorus please email [email protected].