1. A method comprising: receiving a computer file including multiple test scenario models, wherein each of the test scenario models includes one or more module representations, wherein any two adjacent ones of the module representations of one of the test scenario models are connected with each other via a connection, wherein each of the test scenario models has an input that is generated based on a desired output for each of the test scenario models, wherein the input is generated by back propagating the desired output via a corresponding one of the test scenario models, wherein one of the test scenario models is a driver scenario model and remaining ones of the test scenario models includes the driver scenario model; and applying the test scenario models to test a hardware stage and to test a software stage of a system-on-a chip (SoC).