Can We Trust Humans to Test Software?
A developer that has been working in the heady realms of web-base 3D graphics is not going to have ‘his boat floated’ by testing serial comms on an embedded processor. That may be a bit of an extreme example, but you get the point.
So what is probably the most important task before system delivery is entrusted to a group of de-motivated engineers that just want to finish as quickly as possible? Testing is repetitive, tedious and difficult. Add to that the pressures of looming delivery dates and soaring costs, and it’s a recipe for warrant work; or reduced profit.
This is true of all stages of testing but experience shows that regression testing falls into this trap the most. So many companies have ‘products’ that are really a core of standard software that then has to be modified to meet the requirements of a current application. The new software is developed and tested, but then the core software needs to be checked to ensure that it still does what it’s supposed to. This is a real bore, it’s all been done before but it’s vital in order to maintain profitability and reputation.
System testing where links to other systems need to be simulated to produce valid and invalid inputs, is another area where it can be tedious to generate and apply test cases. Again, this area has a big impact on profit and reputation.
Automation is the key. It obviously involves an initial investment of time and money, but the ROI can be enormous. Building a repeatable set of tests to exercise all of the functionality and the error checking is not a simple task BUT it must be done if you are to be confident that the system will not fail following installation. Once the tests have been generated they can be saved along with the software and can be reused to investigate problems or as a regression test for the next iteration of the software.
This is a problem that we have come across many times and are developing a tool to overcome. Look for ARTIST on our website soon.
More From The Blog
Cyber Resilience Starts With Software Engineering
What the UK Cyber Security & Resilience Bill and Software Security Code of Practice Mean for Organisations Operating Critical SystemsFor many years, cyber resilience has largely been viewed through the lens of security controls, monitoring, governance and...
AI Obsolescence: Is your Algorithm as accurate today as it was yesterday?
So far in our series on software obsolescence, we’ve covered the lifespan disparity between digital and physical systems in critical infrastructure, and the inescapable link between cybersecurity and obsolescence. But there’s another area that we specialise in, with...
Cybersecurity, obsolescence – and why testing alongside system development is the key to secure infrastructure
In our 2024 paper, The Challenge of Obsolescence in UK Critical Infrastructure, we highlighted an area of growing concern; the intersection of cybersecurity and obsolescence. The UK’s National Cyber Security Centre (NCSC) wrote that 2023 has seen the addition of...


