1. A method comprising: causing a debugger agent to select a debugger program wherein the debugger agent is executed on a test server, the debugger program is one of a plurality of debugger programs, the debugger agent is configured to select the debugger program from the plurality of debugger programs, each of the plurality of debugger programs is one of a plurality of platform-specific debugger programs, each of the plurality of platform-specific debugger programs is compatible with at least one of a plurality of computing environments, the debugger program is suitable for at least one device under test of a plurality of devices under test, by virtue of the debugger program being a platform-specific debugger program compatible with a computing environment of the at least one device under test, and the at least one device under test is configured to execute a program under test; causing the debugger agent to download the debugger program from the test server to the at least one device under test; configuring the debugger program to operate in a debugging mode, wherein the debugging mode is one of an automatic debugging mode, and a manual debugging mode; sending a plurality of test commands, wherein the test commands are sent from the test server to the at least one device under test, and the test commands are sent according to a test script: and activating the debugger program when a watched event occurs during execution of the program under test, wherein in response to the activating the debugger program, the debugger program is configured to automatically execute at least one debugging command, if the debugger program is configured to operate in the automatic debugging mode, and allow the at least one device under test to be controlled via the debugger agent, if the debugger program is configured to operate in the manual debugging mode, and the at least one debugging command is configured to cause information regarding the execution of the program under test to be recorded.