Are there tools that log user actions to help reproduce bugs? [closed]
Asked Answered
M

7

6

As a test engineer, I often engage in exploratory testing. When I encounter a bug, it is not always immediately clear which steps led to the problem. So, obviously, I have to find the required steps to reproduce the problem. Depending on the situation, this can take a large amount of time.

What would be really helpful is a logging tool that keeps track of mouse and keyboard actions and possibly also stores the properties of components that have been clicked (the AUT is written in Java).

I could simply not find a suitable tool, but maybe my search approach is erroneous.

Could anyone point me to the right direction?

Morula answered 17/10, 2008 at 13:29 Comment(0)
C
1

You may want to check out BB Test Assistant. I saw a very early version of this and was impressed. I've also heard good things from people who have used it since then.

Calebcaledonia answered 18/10, 2008 at 2:2 Comment(0)
T
3

This question lists tools that can be used test web applications. Some of the answers may be useful.

One for example is Selenium - a mozilla plugin that records your actions and can be replayed later.

Thorbert answered 17/10, 2008 at 13:37 Comment(1)
The application under test is not a web application, but rather a standalone Java app.Morula
U
2

Log4J is an apache logging tool for Java with many options for outputting logs. The nice thing about it is that you can insert as many log messages in the code and switch them on and off based on a logging level as you see fit. So for instance, you have debug messages and info messages. if you insert some debug messages and some info messages in your code then you set the logging level to debug, then you find all debug and info messages are logged.

If you set the logging level to info then only info messages are logged. You have other levels too.

EDIT: I re-read the question and realized that I did not answer correctly...sorry. But, you could put logging statements into the actions in the Java code and accomplish the same thing that you want. It does require a recompile though.

Unstrung answered 17/10, 2008 at 13:37 Comment(2)
Thanks for your answer. Actually you are pointing to an interesting idea, maybe I could get the developers to provide some form of TEST logging level that logs all user actions?Morula
I think scaffolding in the application is always a good thing, and Log4J would be invaluable.Marler
R
2

if your testing does NOT take a whole lot of time, you can record your actions(including the whole screen) into a video. You could replay the video to see how the application responded during all your exploration.

1) http://camstudio.org/
2) google for "free screen video capture" for more.

BR,
~A

Rhythmist answered 17/10, 2008 at 14:53 Comment(1)
Thanks for the answer, but I was looking for a constant observation software that just runs in the background, non-intrusively.Morula
A
1

In addition to @anjanb suggestion about screen capture, you can run your program under a debugger that records its execution and allows you to step back through the trace.

Omnicore CodeGuide has pretty good implementation of the concept (though you need to postprocess your bytecode). It is a commercial software but it's reasonably priced. Not sure if it's under active development though.

Another (free) product is the Omniscient Debugger which I tested a few years back and found to be inferior to GC (used too much memory, unacceptable slowdowns). Still I see on their webpage that they have made some progress so you might want to check it out.

Assail answered 17/10, 2008 at 13:29 Comment(1)
Thanks for your answer, I'll check out your suggestions. Though this goes more into the direction of debugging rather than testing.Morula
C
1

You may want to check out BB Test Assistant. I saw a very early version of this and was impressed. I've also heard good things from people who have used it since then.

Calebcaledonia answered 18/10, 2008 at 2:2 Comment(0)
W
1

Check out ReplayDIRECTOR: http://replaysolutions.com/ Very useful for exploratory testing, as it records all the interactions of your Java app with its surrounding environment (user input, system calls, DB responses), and allows later replay of the recorded session, with the application actually running and executing the same path through the code. The recorded inputs will be fed to the application exactly as during the recording.

Wordless answered 14/4, 2009 at 16:24 Comment(1)
Interesting tool, thanks for the hint.Morula
M
0

There's also Session Tester: http://sessiontester.openqa.org/

Session Tester is an exploratory testing tool for managing and recording Session-Based Testing. Session Tester has a timer so you can keep your test sessions at the desired length, and it provides an easy way to record session notes. Notes are stored in an XML format that can be converted to HTML, or be transformed into whatever form you wish.

Morula answered 20/2, 2009 at 14:54 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.