Software Development = turning ideas into reality. Testing = breaking them

Richard Paterson Head of Testing and Application Security, SAS R&D Scotland

DevelopersSoftware development could be put simply as turning an idea into reality. It’s about communicating the idea, unspoiled , from its creator to the person who makes the product. Except it’s not quite that simple.

The idea is actually a mass of conflicting and overlapping ideas, created by lots of different people with different desires and motivations. That web of ideas is communicated through an often disconnected web of different people and documents, at the end of which is another set of people who take that jumble of information and translate it into software.

Even that would be manageable if it wasn’t for a fundamental truth; humans make mistakes. A lot of mistakes, actually, especially when they’re under pressure. But even this is not the problem. Most of the time when we make a mistake, we notice and we correct the mistake. The problem comes when you make a mistake and don’t notice.

This is where testing comes in. The job of testing could be described as finding all the mistakes made by everyone involved so far in converting the idea into reality. If that sounds horribly complicated and probably impossible, that’s because it is. Not least because testers are people too, as prone to mistakes as anyone. The hope is that any mistakes testers make are not in the same places as the mistakes made by everyone else.

Testers traditionally got involved quite late in the software development lifecycle, leaving very little time to uncover any mistakes, and even less time for those mistakes to be remedied. Modern collaborative methodologies and test approaches aim to undertake testing and test-like activities much earlier in the lifecycle. These allow for more time and opportunity to uncover mistakes and, ideally, aim to prevent most mistakes from being made in the first place.

Testing is an important role in software development projects and, when integrated closely with the developers and other project roles, delivers huge value to the team and to the product by reducing the number of mistakes that make it to the customer.

The testing track at ScotSoft was created to highlight the important role of testing within a software development project, regardless of methodology, and to show how testers and other roles can work closely together to deliver value to the customer.