I'm very interested in Testing of Embedded systems.
My master's thesis was about testing adjustment for real-time systems.
And now I'm continuing with embedded systems. I read some (quite a lot) materials about them, but it would be VERY INTERESTING and HELPFUL for me to hear how does testing happen in real life.
Main differences (IMHO) between normal software and embedded systems are:
- time constraints;
- lake of resources;
- parallel processing;
- task switching;
- managing different external/internal devices;
I know that such testing is done is very low level, that is why usually testers doesn't know about such specific.
Did someone tested such systems??
I'm also interested in internet resources accordingly to this theme.
yes this embedded testing are done in a very low level....but a tester has to know every thing about the product and the how it would affect to the other system.like example: in embedded system what exactly happen is in this type of field two platform concept is comes into picture. means one is host platform and another is target platform. the application is developed in the host platform and it is deployed in the target plat form.so for an embedded tester he has to understand both the host and target plat form. take an example of mobile application. mobile application are developed in 40 or 80 GB memory space...and when they are flash into mobile it runs only in 800 to 1400 kb of memory....so most of the time there is chance of memory leaks can happens.to under stand the host and target platform it is Quit difficult..................
Testing of Embedded systems can be done a number of ways.
One way as gbarik2006 suggested is running the target SW on a host system. The target SW is added a HW simulation layer (SW) that simulate inputs and outputs. It is very difficult to test the real-time nature of embedded systems that way.
The method mostly used is to run the target system and simulate the actual working environment with test equipment. This include RF generators, function generators, traffic generators and such for input signals generation and spectrum analyzers, logic analyzers, network analyzers oscilloscopes and such to test the actual outputs. This kind of test is somewhat high level as it does not care of how does the system perform a task switch (which is regarded as unit test)but how does the overall system performance as the specification requires.