Having looked at overall testing strategies involving cross-testing, we will now look at specific issues relating to the implementation of cross-testing.Software Architecture Cross-testing requires software to be as portable as possible between the host and target environments.
In order to achieve this objective, differences between the host and target environment must be identified, understood, and either avoided or isolated by the software designer.
It is the level of success at achieving this portability which governs the extent to which cross-testing can be used.There are a number of areas where software may interface to the target environment:
Direct access to target hardware, such as input-output devices.
Calls to target environment software, such as an operating system or real time
kernel. Interfaces to the target environment should be isolated in separate units, removing target environment dependencies from all remaining software, as illustrated.