-----Original Message-----
From: James Milne [mailto:email@hidden]
Sent: Tuesday, November 30, 2004 7:37 PM
To: Karan, Cem (Civ, ARL/CISD)
Cc: j o a r; Xcode Users
Subject: RE: APPLE GUYS: Do you want Shark profiles of XCode
when it hangs?
I know exactly what you mean; basically, you want to record
the whole input
stream: what keys the user pressed, what movements the user
made with the mouse, where they clicked, etc.
Assuming you ran the input stream back again on a machine
configured similarly to the person who generated the stream
(ie- same display dimensions, ergo buttons in the same
position) you should end up having the same code running.
This would be true if the application wasn't time-sensitive.
If the code of your application makes any decisions based on
the current time of the machine, then you are guaranteed to
diverge from the state of the user's machine when replaying
the input stream, since you have no way of controlling what
the application thinks the current time is when it is
replaying the file.
We use similar techniques in games development, but we have
control over recording the whole input stream (button
presses, network packets, etc.) and the current time for the
simulation, which we can use to override the usual mechanisms
for calculating such.
On MacOS Classic, there used to be tools for stress-testing
and QA that could run scripts of user interface actions; ie
typing, mouse clicks, etc. Not sure if there is anything
equivalent for Mac OS X.
--
James Milne