testrecorder
Project home
If you were registered and logged in, you could join this project.
Everybody knows that software has to be tested. All developers do test! honestly!
But we tend to test only the parts of the program that we've modified.
Testing parts of the software which were not changed seems pointless - OK not
pointless, but boring and therefore mostly not done.
But sometimes there are influences from one part of the code into the "unchanged"
part. This is where the testrecorder comes in.
Mission
The testrecorder is similar to the unit test concept. Several test cases run
on the new code and ensure that it still works. The difference is that the
test cases are not programmed, but recorded. What does that mean:
First of all, the software, the "test candidate", gets
"instrumented". Some additional code is placed at an internal
interface at compile time, lets assume the GUI interface.
When this instrumented software runs, it connects to the testrecorder (using
TCP/IP) and does a challenge and response for all instrumented function calls.
Now there are two operation modes:
- In "record mode", the testrecorder only notes these challenges
and responses and collect them into something like a "test
script", while the test candidate runs "as usual". The
mouse, for example, is moved by a human being.
- In "run mode", the testrecorder is able to "replay"
the recorded test case. That means any manually executed test case can be
"replayed" again and again, like a hand coded unit test. Nobody
has to do any active testing by moving a mouse, for example, because the
mouse event is sent from the test script. The test candidate should not
notice any difference (provided the clock is instrumented, too).
The test script is in a text format. That adds the possibility to
modify the behavior of the recorded test cases manually, building new, more
special test cases. Even with a behavior the original software would (should)
never have.
The testrecorder will provide a comfortable interface to collect, archive and
replay multiple test cases.
Related resources
The project is an Astade sub project. The testrecorder will be developed
using the Astade tool. To ensure platform
independence the GUI is done with wxWidgets.