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

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?

Asked by: Hailey772 | Posted: 21-01-2022

Answer 1

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.

Answered by: Sarah963 | Posted: 22-02-2022

Answer 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.

Answered by: Elise630 | Posted: 22-02-2022

Answer 3

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.

2) google for "free screen video capture" for more.


Answered by: Samantha787 | Posted: 22-02-2022

Answer 4

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.

Answered by: Catherine329 | Posted: 22-02-2022

Answer 5

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.

Answered by: Victoria836 | Posted: 22-02-2022

Answer 6

Check out ReplayDIRECTOR: 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.

Answered by: Catherine628 | Posted: 22-02-2022

Answer 7

There's also Session Tester:

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.

Answered by: Catherine769 | Posted: 22-02-2022

Similar questions

java - Can't reproduce a runtime error that UVa Online Judge gives me

Closed. This question needs debugging detai...

android - Java: reproduce a captured request

i`m trying to reproduce a SOAP request produced with the intel upnp developer tools stack. with the device sniffer i was able to capture the following request can someone point out to me what would be the easiest way to reproduce this? the source of the packet: POST /_urn-upnp-org-serviceId-SwitchPower.0001_control HTTP/1.1 SOAPACTION: "urn:schemas-upnp-org:service:SwitchPower:1#SetT...

java - can not reproduce deadlock using the next code

can not reproduce deadlock using the next code I am trying yo get a deadlock using the next code, but it seems that it works good. Please see below: public class Deadlock { static Object lock1 = new Object(); static Object lock2 = new Object(); public static void main(String[] args) { new Thread(new Runnable() { @Override public void run() { ...

java - Looking for a test to reproduce broken double checked locking

Does anybody know of a test that reproduces "broken double checked locking" problem in java?

How to reproduce AsyncTask from Android in Java pure code

I'm trying to reproduce the same logical that Android's AsyncTask follows in Java pure code. To do that I have created the abstract class AsyncTask implementing my IAsynTask that basically calls onPreExecute, doInBackground and onPostExecute, also I have created the method execute where the magic happens. So to use that in my login process, for example, I've created LoginTask class extending AsyncTask, but ...

api - Lossless reproduce of Image in Java

I am working on one sample Image algorithm, I would like to read complete image into matrix format and re-produce the same image with matrix data. I was searching for similar api in Java, but couldn't find one. If you read any image[MxN pixel] in matlab, it will be producing of image[m][n] size and in similar fashion, I would like to read and write the image into matrix/file in Java without any loss of dat...

java - Cannot reproduce result of Type Erasure example

I am reading 'Java Generics and Collections' section 8.4. The author defines the following code while trying to explain Binary Compatibility: interface Name extends Comparable { public int compareTo(Object o); } class SimpleName implements Name { private String base; public SimpleName(String base) { this.base = base; } public int compareTo(Object o) { return base.compareT...

java - In Spring MVC how do you store user input and reproduce it later on?

In one of my JSPs I get the user to enter some details about themselves. When they click submit I want the page that it redirects to, to remember the variable and then print it out. e.g. (register.jsp) Username: Barney (welcome.jsp) Welcome Barney (register.jsp) Username: Vernon (welcome.jsp) Hello Vernon Current code: @RequestMapping(value = "/register", method = ...

java - How to reproduce error run out of disk?

I am reproducing some issues to test my code. It should tolerate some network issues like connection rest and IO issues like out of space. How can I reproduce the issue out of space? Update 1: I got the solution. I used a VirtualBox for this testing, just simply attach a small disk to vm, put some dummy data to eat up the space then test my code.

java - reproduce same oval in different locations android

I want to create an oval in the location the user touches, but when the user touches a different location, I want the old oval to stay and a new oval to appear. The old oval just switches to the new location, the old oval is not in the old location. How do you display both of them? The only way I can think of is to make an arraylist to store the ovals and to make a loop to draw each different oval in the arraylist:...

Still can't find your answer? Check out these amazing Java communities for help...

Java Reddit Community | Java Help Reddit Community | Java Community | Java Discord | Java Programmers (Facebook) | Java developers (Facebook)