Software QA FYI - SQAFYI


By: Smruti Ranjan Kar


This article describes the importance of simulation in “host-target testing”. And accordingly leads to a theoretical strategy that can be followed for the testing of host-target developments.


Before getting into “host-target testing” first we should concentrate on the words “host” and “target”. The “host” is the environment in which the application is developed and “target” is the environment where the application finally executes. Take the example of mobile phone games. Are they developed in the mobile? No, they are developed in the work stations. The environment in which they are developed and in which they run are completely different. This kind of development is traditionally being followed for the embedded system softwares. There the application is developed in a powerful multi-user environment and ultimately runs in the embedded microprocessor environment.

This kind of development is called “host-target development” and the associated testing is called “host-target testing” or “cross testing”. Almost every application development follows cross testing to some extent, depending upon the difference between the target and the host environment. This difference ranges from minor differences in configuration to major differences like in embedded system.

Cross testing has become important these days because it is very rare that the application is developed in the same environment in which it is meant to run.


Technically all testing should be carried out in the environment where the application has to finally execute or in the target environment. But there are issues that influence the testing to be carried out in the target system.

Feasibility issues:

The target for which the application is being developed may not yet be available.

The target environment may be less convenient to work with than the host. Because a target environment may not have a keyboard, debugger or even a processor.

A bottleneck may arise for many developers competing for the target environment to test their work. This may hamper the development process.

Financial issues:

Usually the target and its associated tools like in-circuit emulator costs many times more than that of the host. This leads us to the conclusion that most of the testing should be carried out in the host side. But it has also got some potential problems.

The application may have interface routines that require direct access to the hardware or software of the target.

The host and target may have potential differences in areas like word length, significance of bits, data structure etc.

Therefore in the design phase, interface routines should be made isolated, leaving the rest of the software target independent (Fig:1). Also by simulating target in the host environment, target dependency in testing can further be reduced.

Full article...

Other Resource

... to read more articles, visit