Information Technology Reference
In-Depth Information
developing software. Second, you will pay for testing now or later, but the cost of
testing is unavoidable. Testing now is always less expensive than testing later.
1.4 RELATIONSHIP OF TESTING TO THE
SOFTWARE DEVELOPMENT LIFE CYCLE
Software testing and software development are not totally unrelated activities. The
success of both processes is highly interdependent. The purpose of this section is to
examine the interdependency of testing and development. Additionally, both testing
and development processes are dependent on other support management processes
such as requirements management, defect management, change management, and
release management. Some of the ancillary management processes that directly
impact the effectiveness of testing will be discussed further in Chapter 10.
1.4.1 The Evolution of Software Testing as a
Technology Profession
Back in the 1950s and 1960s, software quality was a hit-or-miss proposition. There
were no formal development processes and no formal testing processes. In fact, the
only recorded testing activity during that time was reactive debugging, that is, when
a program halted (frequently), the cause was sought out and corrected on the spot.
One of the more famous industry legends of that era was Captain Grace Murray
Hopper, the fi rst programmer in the Naval computing center. At that time, comput-
ers were composed of vacuum tubes and mechanical switches. One day, Captain
Hopper's computer program halted abruptly. After several hours of testing the vac-
uum tubes and checking the mechanical switches, she found a large moth smashed
between two contacts of a relay switch, thereby causing the switch fault that stopped
the computer program. She “debugged” the program by removing the moth from the
switch. The moth is still on display in the Naval Museum in Washington, DC.
Captain Hopper rose in military rank and professional stature in the software
community as she led efforts to standardize software languages and development
processes. She was still professionally active and a dynamic speaker in the 1990s.
As more and more software applications were built in the 1960s and 1970s,
their longevity enabled many corrections and refi nements that yielded very stable,
very reliable software. At this juncture, two events occurred that are of interest to
testers. First, customers began to expect software to be highly reliable and stable
over extended periods of time. Software developers, sensing this growing customer
expectation for extremely high-quality software, began to examine the development
processes in place and refi ne them to shorten the incubation time of new software
to attain the same stability and reliability as that found in the older, more mature
systems.
Software developers of the 1970s and 1980s were, for the most part, successful
in capturing their best development practices. These captured practices did provide
Search WWH ::




Custom Search