Software Testing: Important or Not?
By: Tasha • Research Paper • 1,211 Words • January 23, 2010 • 919 Views
Join now to read essay Software Testing: Important or Not?
In this paper I will be concentrating on the failure of software systems and software testing. To understand why software systems fail we need to understand what software systems are. Software systems are a type of information system that allow for hardware to process information. The definition of an information system is: An information system provides procedures to record and make available information, concerning part of an organization, to assist organization-related activities. Humans have been processing information manually for thousands of years, but with the vast increase of demand for knowledge during this century demands that a new method of information processing is needed. Software systems have provided a new way of processing information that is much faster and more efficient. In today’s world it is impossible to run a large organization without the aid of computers. Businesses hold massive amounts of important data, hospitals hold large amounts of confidential patient information and large scientific research projects hold important codes, formulas, and equations. The bottom line is that loss or corruption of this information is sure to result in bankruptcy, a substantial loss of customers, and even world-wide financial meltdown. A dependency on technology is impossible to avoid, even with its fatal consequences. According to Washington (ComputerWorld) the U.S. economy loses an estimated $59 billion each year because of software bugs, more than half of that is lost by end users and the remainder by developers and vendors. There could be a cut of about one third of that cost (around $22.5 billion) if improvement in testing would be made, even without eliminating all software errors. There are many obstacles programmers and users of software and hardware are faced with, but there are also many options one has in order to prevent their failures and make them more reliable.
During the 1950’s computers became extensively used for business applications and the time the first programming firms were formed. During the 1960’s the first software product was released on the market, and many more software companies were formed. The 1970’s and 1980’s were the blooming period for software companies despite the lack of financing sources. These were the years many companies became public and costumers accepted software products, and ever since then it was become an on growing market. As the years advanced so did software and hardware, they are now very complex and hard to test. Software development follows a specific life cycle that starts with designing a solution to a problem and implementing it. Software testing is part of this software life cycle that involves verifying if each unit implemented meets the specifications of the design. Even with careful testing of hundreds or thousands of variables and code statements, users of software find bugs. “Software testing is arguably the least understood part of the development process” and is also a “time-consuming process that requires technical sophistication and proper planning” (Whittaker 1). It is important to comprehend this concept by understanding the different characteristics and aspects of software testing, and then to examine the techniques, procedures and tools used to apply this concept. This will clarify the problems faced by software testers and the importance of software testing. After reading some articles I noticed that one of the prevailing times software’s crash is during an upgrade. An example of an incident like this could be found in the New York Times article called “AT&T says failure was Software flaw” that describes AT&T’s crash on April 13th when costumers were left without service for 26 hours after the company tried upgrading a switch used to direct traffic on network. A second, even more serious example written by Alex Berenson written also for the New York Times, is the Stock Market crash on June 9, 2001 when the system that directs orders from securities firms to the exchange failed to upgrade and caused the whole market system to crash which in turn hurt many companies financially.
Now, why do these failures happen, and why were they not fixed when software was being developed? Most software projects can be considered at least partial failures because few projects meet all their cost, schedule, quality, or requirements objectives as stated in the article by Mr. Charette. Failures are rarely caused by mysterious causes, but these causes are usually discovered post-mortem, or only after it is too late to change direction. A failure is defined as any software project with severe cost or schedule overruns, quality problems, competition, or that suffers outright cancellation. An example of this, found in the same article by Mr. Charette, is what happened to Sydney