211
exercised through their interfaces. Test cases are constructed to test that all components
interact correctly. Integration testing will include:
● COTS integration tests of two or more COTS components to determine if they con-
tain any interface defects. For example, order management software and FIX engine.
● Database integration tests to determine if the software components interface prop-
erly with the database(s).
Any conditions not stated in specified integration tests, outside of the confirmation of
the execution of design items, will generally not be tested. Integration testing concludes
with multiple tests of the completed software, preferably in market and data scenarios
that mimic those the system will encounter in real trading.
22.6. LOOP 3: Buy/ Build Network Infrastructure
Components
In Loop 3, the development team buys and/or builds the hardware and network infrastruc-
ture components, the physical layer of the system, according to the designs of Step 2.
Now, hardware changes quickly. So, given that trading/investment system development
may take several months to complete, hardware available in K|V Stage 1, or even in Loop
1 of this stage, may be outdated by the time development is complete. For this reason, we
recommend hardware and network development come last.
Using a three tier, or three layer, architecture—presentation, business, data access—is
an effective, distributed client/server design that provides performance, flexibility, maintain-
ability, reusability, and scalability. The business tier server accomplishes this by centralizing
process logic. Centralized process logic makes administration and change management eas-
ier by localizing system functionality so that changes must only be written once and placed
on the middle tier server to be available throughout the systems. In addition, the middle pro-
cess management tier controls transactions and asynchronous queueing to ensure reliable
completion of transactions. Connectivity between tiers can be updated for changes requested
by the product team or necessary to comply with new quality attribute requirements.
After the physical layer is complete, the development team can conduct integration and
black box system tests on the complete system to evaluate the system ’ s compliance with
the Software Requirements Specification and the quality attribute requirements. Before
full system tests are run, additional integration tests should be performed, including:
● Hardware integration tests of two or more hardware components on a single plat-
form to induce failures in interfaces.
● System integration testing of two or more components distributed across multiple
platforms.
● Performance tests of hardware and software against its performance requirements
under normal operating circumstances to identify inefficiencies and bottlenecks.
● Stress tests to cause failures under extreme but valid conditions (e.g., heavy volume
(i.e., fast markets), slow fills, extreme price movements).
System testing takes into account all of the integrated and tested software components as
well the software itself integrated in a hardware and network environment, and seeks to
22.6. LOOP 3: BUY/BUILD NETWORK INFRASTRUCTURE