How is testing affected by object-oriented designs?
Well-engineered object-oriented design can make it
easier to trace from code to internal design to
functional design to requirements. While there will be
little affect on black box testing (where an
understanding of the internal design of the application
is unnecessary), white-box testing can be oriented to
the application's objects. If the application was
well-designed this can simplify test design.
What is Extreme Programming and what's it got to do with
Extreme Programming (XP) is a software development
approach for small teams on risk-prone projects with
unstable requirements. It was created by Kent Beck who
described the approach in his book 'Extreme Programming
Explained' (See the Softwareqatest.com Books page.).
Testing ('extreme testing') is a core aspect of Extreme
Programming. Programmers are expected to write unit and
functional test code first - before the application is
developed. Test code is under source control along with
the rest of the code. Customers are expected to be an
integral part of the project team and to help develope
scenarios for acceptance/black box testing. Acceptance
tests are preferably automated, and are modified and
rerun for each of the frequent development iterations.
QA and test personnel are also required to be an
integral part of the project team. Detailed requirements
documentation is not used, and frequent re-scheduling,
re-estimating, and re-prioritizing is expected. For more
info see the XP-related listings in the
Softwareqatest.com 'Other Resources' section.
What is 'Software Quality Assurance'?
Software QA involves the entire software development
PROCESS - monitoring and improving the process, making
sure that any agreed-upon standards and procedures are
followed, and ensuring that problems are found and dealt
with. It is oriented to 'prevention'. (See the Bookstore
section's 'Software QA' category for a list of useful
books on Software Quality Assurance.)
What is 'Software Testing'?
Testing involves operation of a system or application
under controlled conditions and evaluating the results (eg,
'if the user is in interface A of the application while
using hardware B, and does C, then D should happen').
The controlled conditions should include both normal and
abnormal conditions. Testing should intentionally
attempt to make things go wrong to determine if things
happen when they shouldn't or things don't happen when
they should. It is oriented to 'detection'. (See the
Bookstore section's 'Software Testing' category for a
list of useful books on Software Testing.)
• Organizations vary considerably in how they assign
responsibility for QA and testing. Sometimes they're the
combined responsibility of one group or individual. Also
common are project teams that include a mix of testers
and developers who work closely together, with overall
QA processes monitored by project managers. It will
depend on what best fits an organization's size and
What are some recent major computer system failures
caused by software bugs?
• A major U.S. retailer was reportedly hit with a large
government fine in October of 2003 due to web site
errors that enabled customers to view one anothers'
• News stories in the fall of 2003 stated that a
manufacturing company recalled all their transportation
products in order to fix a software problem causing
instability in certain circumstances. The company found
and reported the bug itself and initiated the recall
procedure in which a software upgrade fixed the
• In August of 2003 a U.S. court ruled that a lawsuit
against a large online brokerage company could proceed;
the lawsuit reportedly involved claims that the company
was not fixing system problems that sometimes resulted
in failed stock trades, based on the experiences of 4
plaintiffs during an 8-month period. A previous lower
court's ruling that "...six miscues out of more than 400
trades does not indicate negligence." was invalidated.
• In April of 2003 it was announced that the largest
student loan company in the U.S. made a software error
in calculating the monthly payments on 800,000 loans.
Although borrowers were to be notified of an increase in
their required payments, the company will still
reportedly lose $8 million in interest. The error was
uncovered when borrowers began reporting inconsistencies
in their bills.
• News reports in February of 2003 revealed that the
U.S. Treasury Department mailed 50,000 Social Security
checks without any beneficiary names. A spokesperson
indicated that the missing names were due to an error in
a software change. Replacement checks were subsequently
mailed out with the problem corrected, and recipients
were then able to cash their Social Security checks.
• In March of 2002 it was reported that software bugs in
Britain's national tax system resulted in more than
100,000 erroneous tax overcharges. The problem was
partly attibuted to the difficulty of testing the
integration of multiple systems.
• A newspaper columnist reported in July 2001 that a
serious flaw was found in off-the-shelf software that
had long been used in systems for tracking certain U.S.
nuclear materials. The same software had been recently
donated to another country to be used in tracking their
own nuclear materials, and it was not until scientists
in that country discovered the problem, and shared the
information, that U.S. officials became aware of the
• According to newspaper stories in mid-2001, a major
systems development contractor was fired and sued over
problems with a large retirement plan management system.
According to the reports, the client claimed that system
deliveries were late, the software had excessive
defects, and it caused other systems to crash.
• In January of 2001 newspapers reported that a major
European railroad was hit by the aftereffects of the Y2K
bug. The company found that many of their newer trains
would not run due to their inability to recognize the
date '31/12/2000'; the trains were started by altering
the control system's date settings.
• News reports in September of 2000 told of a software
vendor settling a lawsuit with a large mortgage lender;
the vendor had reportedly delivered an online mortgage
processing system that did not meet specifications, was
delivered late, and didn't work.
• In early 2000, major problems were reported with a new
computer system in a large suburban U.S. public school
district with 100,000+ students; problems included
10,000 erroneous report cards and students left stranded
by failed class registration systems; the district's CIO
was fired. The school district decided to reinstate it's
original 25-year old system for at least a year until
the bugs were worked out of the new system by the
• In October of 1999 the $125 million NASA Mars Climate
Orbiter spacecraft was believed to be lost in space due
to a simple data conversion error. It was determined
that spacecraft software used certain data in English
units that should have been in metric units. Among other
tasks, the orbiter was to serve as a communications
relay for the Mars Polar Lander mission, which failed
for unknown reasons in December 1999. Several
investigating panels were convened to determine the
process failures that allowed the error to go
• Bugs in software supporting a large commercial
high-speed data network affected 70,000 business
customers over a period of 8 days in August of 1999.
Among those affected was the electronic trading system
of the largest U.S. futures exchange, which was shut
down for most of a week as a result of the outages.
• In April of 1999 a software bug caused the failure of
a $1.2 billion U.S. military satellite launch, the
costliest unmanned accident in the history of Cape
Canaveral launches. The failure was the latest in a
string of launch failures, triggering a complete
military and industry review of U.S. space launch
programs, including software integration and testing
processes. Congressional oversight hearings were
• A small town in Illinois in the U.S. received an
unusually large monthly electric bill of $7 million in
March of 1999. This was about 700 times larger than its
normal bill. It turned out to be due to bugs in new
software that had been purchased by the local power
company to deal with Y2K software issues.
• In early 1999 a major computer game company recalled
all copies of a popular new product due to software
problems. The company made a public apology for
releasing a product before it was ready.
Page Numbers : 1