A computer system utilizes a single computer to test the operability of an application which also runs on the same computer. The computer system comprises a processor and a multi-tasking operating system, which is able to execute programs asynchronously and independently of each other in logical environments called sessions. A test case program executes during a first session, and tests an applications program which executes in a second session on the same computer system independently of the test case. The test case program includes commands to input keystrokes to the application under test for processing by the application under test. A test program reads the keystroke and the command from the test case and packetizes the keystroke and command. The test program also runs during the first session. A communication program runs on the processor during a second session and communicates the packetized keystroke and command to the operating system for input to the application under test. The application under test then processes the keystroke and generates screen data. The communications program sends the screen data to the test program which analyzes it to determine if the application under test is operating properly.