Information Technology Reference
In-Depth Information
constructing and delivering software. Design it, build it, then throw it
over the wall to the Quality Assurance (QA) team, who tests at the sys-
tem level and inevitably finds some number of defects. At some point,
we then unleash the system on our customers, who unsurprisingly also
find defects, sometimes to the detriment of corporate profits, your rep-
utation, or both.
So as a bottom line, if we are to build software systems that are
truly reliable, we have to ensure reliability at the object level, which
can only be achieved through successful unit testing. Otherwise, we
can't possibly hope to build highly reliable applications. Of course,
just writing the unit test for an object doesn't necessarily guarantee
reliability. The test must effectively exercise the use of the object;
moreover, the test must be run often.
Because objects in a software system communicate with each
other, tests must be run any time and every time something in the sys-
tem changes. Building continuous testing into your CI system gives
you this capability. Figure 6-2 shows you where we are in creating a
Compile
Source Code
Integrate
Database
F
e
e
d
b
a
c
k
Integrate
Run
Tests
Run
Inspections
Deploy
Software
Improving Software Quality and Reducing Risk
Integrate button—running automated developer tests
FIGURE 6-2
Search WWH ::




Custom Search