1. A method for testing an embedded software comprising: receiving the embedded software; analyzing the embedded software to identify an interlayer interface in the embedded software, wherein analyzing the embedded software includes identifying a plurality of functions in the embedded software, each of the plurality of functions being associated with one of a plurality of software unit types and a plurality of hardware unit types; associating the identified interlayer interface with one of a plurality of predetermined interface types; generating a test case for the identified interlayer interface based at least in part on the one of the plurality of predetermined interface types; testing the embedded software using the test case to produce a test result; and analyzing the test result, wherein analyzing the test result includes distinguishing a tested interface from an untested interface based on pass/fail information in a test log, and comparing a number of tested interfaces to a total number of interfaces identified in the embedded software.