A method of identifying a problem in a computer system formed of a software application having components installed in a distributed computer environment, the method comprising the steps of: - identifying a particular usage scenario descriptor comprising a runtime section which includes descriptions of a set of actions to be performed on the components of the software application under study; - accessing a description of at least one set of actions and information on said actions for their execution involving some components of the software application, said actions including collecting snapshots on the distributed computers where the software application components are installed; wherein the snapshots are usage scenario snapshots containing logs, application status, system information, registry information and data pertaining to the status of a computer system; - executing, in a computer system under study, the accessed at least one set of actions in the runtime section of the usage scenario on the components of the software application using the accessed information on said actions; - acquiring snapshots from the distributed computers where the components of the software application are installed on the computer system under study in which the at least one set of actions has been executed according to the executing step; - accessing snapshots acquired from the distributed computers in a reference computer system where the components of the software application are installed in which the same at least one set of actions has been executed using the same information on said actions as in the step of accessing the description; - comparing the acquired snapshots from the computer system under study with the accessed snapshots from the reference computer system, to identify the one or more differences and to isolate any software application component involved in the usage scenario wherein a software problem has occurred. - identifying a particular usage scenario descriptor comprising a runtime section which includes descriptions of a set of actions to be performed on the components of the software application under study; - accessing a description of at least one set of actions and information on said actions for their execution involving some components of the software application, said actions including collecting snapshots on the distributed computers where the software application components are installed; wherein the snapshots are usage scenario snapshots containing logs, application status, system information, registry information and data pertaining to the status of a computer system; - executing, in a computer system under study, the accessed at least one set of actions in the runtime section of the usage scenario on the components of the software application using the accessed information on said actions; - acquiring snapshots from the distributed computers where the components of the software application are installed on the computer system under study in which the at least one set of actions has been executed according to the executing step; - accessing snapshots acquired from the distributed computers in a reference computer system where the components of the software application are installed in which the same at least one set of actions has been executed using the same information on said actions as in the step of accessing the description; - comparing the acquired snapshots from the computer system under study with the accessed snapshots from the reference computer system, to identify the one or more differences and to isolate any software application component involved in the usage scenario wherein a software problem has occurred.