Recently, we spoke to Rob Murray, our Software Testing Manager. Rob heads up our testing team - all of whom have globally-recognised certification - and asked him about the work the team does and why it's so important.
Q: So what does the testing team do?
A: My team carry out the systems integration testing for NHS Wales Informatics Service. What this means is ensuring we deliver good quality, safe and reliable products. In addition we work closely with our security and infrastructure teams to undertake penetration and operational acceptance testing.
Q: How does this work in practice?
A: We follow a test framework - working on a principle of "test early and test often." In a typical approach we would create a test plan, produce test scripts, execute these tests, record any defects and then produce a test report. As a team, we are an independent voice. We need to be confident that a change that happens in one system will not affect another because so many of our products are interlinked.
Q: Why is testing so important?
A: As humans we are born testers. We test things to improve things. It's how the human race has evolved. Children are natural testers. They do it instinctively in play. Adults, in general, lose this sense of curiosity and it has to be re-found, although we are still predisposed to test somethings, like test driving a car for example.
Testing for IT is even more important. What we do has a direct impact on patient care. We need to ensure that software is safe. However, if requirements are clear and the software is built to specification then testing should be an anti-climax.
Q: How do you evidence your testing?
A: We undertake different types of testing; functional, regression and penetration. This is captured in the test management tool we use. We then produce our test reports and make our recommendation as to whether it is safe to proceed. It's not an easy task with so many interlinked products and only a small team of just over twenty staff. However, the consequences of minimising testing are vast and could result in delays in patient care.
Q: What are the plans for the future?
A: I'd like the team to be able to offer an automated testing function, creating automated test cases that would replace some of our manual regression testing, streamlining the testing process and increasing repeatability. Like all things, to reach this point requires investment in time, resources and software tools.