Login | Register
My pages Projects Community openCollabNet

testrecorder
Project home

If you were registered and logged in, you could join this project.

Summary Records and replays testcases with instrumented code.
Category testing
License GNU General Public License
Owner(s) astade

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:

  1. 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.
  2. 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.