Creating seamless, bug-free computer software in one go is virtually impossible without software testing. In fact, a National Institute of Standards & Technology (NIST) study said that about 25 to 90 percent of the budget for software development is usually spent on testing alone. That said, even software tests can encounter problems that prevent them from detecting and fixing software bugs, thus affecting the performance of software-reliant systems.
ome software tests are designed to run in only one environment or platform instead of several simply because it can be time-consuming to create a separate test for each of them. This results in the creation of a program that, for example, runs perfectly on Windows but can’t function at all a Linux platform. With the help of automated testing, software tests can be generated for multiple platforms with ease.
Software tests can even be designed around a specific version of a computer language, rather than taking multiple versions of the language into consideration. For example, COBOL is a computer language primarily designed for business use and has been around since the 1960s. Since that time, though, it has spawned multiple versions and undergone a series of updates, thus becoming an object-oriented software language in 2002. A manual test may work only with 2002 versions of the language, while an automated test can be adapted to work on older versions, no matter how obsolete they are.