Software testing finds errors in the software
Software testing is one of the basic principles in software engineering. Software testers are experts in testing software and in discovering errors that the developer of the code being tested did not plan or foresee. The background: there will always be software glitches in business life. There have been some spectacular mishaps in recent years, such as needing to postpone the opening of an airport because of a failure in the baggage system – which happened in London Heathrow – or customer accounts that were not available for days at a bank because the new software did not work. There are also less spectacular errors in the IT sector: software testing should prevent them in advance and increase user satisfaction.
Software testing takes place on all levels of software development – from the smallest units of code to the finished software as a whole. There is often a lack of motivation or understanding to develop testing for a routine that at first glance appears to be correct and produces the expected output. Software testing should increasing confidence in the software and detect errors. Not only errors in the code are responsible for producing the wrong output, but also errors in the specifications which result from misunderstandings between the developers and the users – or errors that arise from incompatible elements of different software. In addition, the software testing will verify that the software meets all of the requirements that were formulated in the software specification.
Software testing prevents software glitches that cost money
One thing is for sure: programs have become more complex and companies need to take more care in the area of software testing than they did before. There is a distinction made between validation and verification in the field of software testing. You will find the same process across all levels of software development – there are requirements derived from these specifications and implementation takes place according to these specifications. Whenever something is tested against a specification, this is verification, while tests against requirements is validation. Another question that often arises is to what extent software testing should be carried out. Test coverage refers to the ration between the actual testing done and the total possible tests.
You can find more information on software testing on Wikipedia: https://en.wikipedia.org/wiki/Software_testing
And on the German-language Encyclopedia of Business Informatics: http://www.enzyklopaedie-der-wirtschaftsinformatik.de/lexikon/is-management/Systementwicklung/Hauptaktivitaten-der-Systementwicklung/Software-Implementierung/Testen-von-Software/