Let’s start with the meaning of host-target developments first. It is a kind of development process in which the environment in which the application is developed and the environment in which it finally runs are completely different. The development environment is called the “Host” environment and the runtime environment is called the “Target” environment. Embedded systems development comes to mind first when we think about it, right. Well, even the same is true for wearable device application developments.
First and foremost, testing must be done in an environment where the application is performed. But is it always possible to test on the target? Obviously not. Because the target environment is not suitable for testing in most cases. It may not have a debugger, keyboard, or even processor. Again, for testing in such environments, the necessary accessories, as in the circuit emulator, are quite cost-effective. Again, many programmers trying to test their work on the target can create a bottleneck. Therefore, the best idea will be to carry out as many tests as possible on the host side. This is the “simulation” requirement.
Simulation means creating a target environment on the host itself to facilitate testing. The app cannot distinguish between real and simulated targets and makes our work easier. Running maximum tests on the host and followed by short commit tests on the target will do the job. The need for a confirmatory test is to explore areas of difference between the host and the target that can create later problems. It can be differences in the length of the words, the structure of the data, the importance of the bits, etc.
But for all these the first thing is a good software architecture. A good architecture separates interface modules from other modules. This reduces dependency on the test target. Therefore, the architecture should be done after analyzing the test requirements. Consequently, the simulation can be planned. The amount of simulation possible also varies with the coupling between the lens and the application. Therefore, the amount of simulation possible and the amount of simulation required are two important factors before deciding in favor of simulation.
If you are interested in learning more about this topic, you can visit my personal blog at [http://smruti-bugfree.blogspot.com]