Testing Complex and Embedded Systems