1. A method for software test, the method comprising: providing, by a computing device, at least one virtual hardware component, each virtual hardware component simulating a behavior of a hardware component associated with a to-be-tested software; and testing the to-be-tested software based on the behavior simulated by the at least one virtual hardware component.