When business critical applications fail it really is the stuff of nightmares: orders can’t be processed, customers can’t do business with you, your website goes down, suppliers and employees don’t get paid, business grinds to a halt, financial reporting goes wrong and your stock plummets. It’s a worst-case scenario that keeps CIOs awake at nights. And it’s not just the CIO’s nightmare; the IT manager has to make sure that the software and IT infrastructure work seamlessly and silently in the background as business depends on those applications running as efficiently and reliably as possible.
In addition, organizations have to adapt to changes in the market which invariably places greater demand on the IT function to adjust and enhance technology quickly and without disrupting business. The developer has a key responsibility within this process, ensuring that improving software functionality does not open the door to bugs, defects, memory leaks – in fact, anything that prevents applications from operating properly.
While developers understand the necessity and value of testing, they cannot always dedicate enough time to it. When Micro Focus surveyed 1,932 developers in April 2010 we learnt that application maintenance – bug fixing, dealing with change requests etc – accounted for most of the time spent on development activities. Within application maintenance, analyzing code and dataflow took most time, and implementing the change took least time. Put simply, finding the problem takes up more of a developer’s time than actually fixing it. However, it’s by removing defects that you prevent costly rework late in the process, which is often the source of delays and hefty manual work.
There are, you’ll be pleased to know, ways to remove this constraint and make the time available – heading off unnecessary downtime and rework later.
By automating the more routine, ‘repetitive manual’ tests, automated testing frees up time by completing tests more quickly. This time can then be reinvested by developers in a number of ways: it can be used to either run more tests, improve overall test coverage (one of QA professionals’ biggest challenges), or conduct exploratory manual testing. Alternatively, it can be put to use elsewhere within software development, adding more features or getting to market earlier.
Automated testing quickly detects, locates and diagnoses software defects and allows developers to discover and fix inefficiencies early within the development process. It helps prevent scalability problems which the combination of different technologies making up an application may cause. And, as scripts can be built easily, the developer can test more frequently and earlier in the development process, even reusing test scripts as things change.
If automated testing can deliver so many benefits, why isn’t it a higher priority than our research suggested? Automated testing ranked fourth out of five for importance among the developers we surveyed and the same research indicated that some developers consider automated testing to be the most challenging aspect of QA. This is simply not the case as today’s testing solutions, like SilkTest from Micro Focus, have made automation far more straightforward to ensure that it no longer remains a challenge to developers – including those using agile methodologies.
By investing time upfront in software testing developers can avoid creating more work for themselves later in the process, fixing problems that creep in during development, and also ensure the quality of their software. Failing to invest this time is a false economy as it sets up the potential for IT crashes and malfunctions at a later stage. This ‘butterfly effect’ could eventually result in a company’s reputation being damaged, lost revenues, stock price drops … and we’re back to the CIO’s nightmares again.
It’s vital not to underestimate the value that developers deliver – not just within the IT department but their contribution to the business as a whole. By constantly improving business software, developers make it possible for companies to adapt to changes in the market. Software quality itself is dependent on scrupulous testing of all kinds to ensure that problems are resolved, and that the application performs effectively under all circumstances. Although automated testing does require an investment in time upfront, it has the potential to save countless hours in the future. The time investment can be significantly reduced by adopting tools that create automated test scripts quickly and easily – so the value of automated testing can be achieved far quicker with testing solutions that deliver the ease-of-use, accessibility and value that developers need.
Learn more about the automated testing solutions from Micro Focus here: Silk Automated Software Quality