是否有用于记录用户操作以帮助重现错误的工具?

时间:2008-10-17 13:29:01

标签: java testing logging manual-testing exploratory

作为测试工程师,我经常参与探索性测试。当我遇到错误时,并不总是立即清楚哪些步骤导致了问题。所以,显然,我必须找到重现问题所需的步骤。根据具体情况,这可能需要很长时间。

真正有用的是一个记录工具,它可以跟踪鼠标和键盘操作,还可能存储已单击的组件的属性(AUT是用Java编写的)。

我可能根本找不到合适的工具,但也许我的搜索方法是错误的。

有人能指出我正确的方向吗?

7 个答案:

答案 0 :(得分:3)

This question列出了可用于测试Web应用程序的工具。一些答案可能有用。

例如,Selenium是一个Mozilla插件,可以记录您的操作并可以在以后重播。

答案 1 :(得分:2)

Log4J是一个用于Java的apache日志记录工具,提供了许多输出日志的选项。 关于它的好处是你可以在代码中插入尽可能多的日志消息,并根据你认为合适的日志记录级别打开和关闭它们。例如,您有调试消息和信息消息。如果您在代码中插入一些调试消息和一些信息消息,那么您将日志记录级别设置为debug,然后您会发现所有调试和信息消息都被记录。

如果将日志记录级别设置为info,则仅记录信息消息。你也有其他水平。

编辑:我重新阅读了这个问题并意识到我没有正确回答...对不起。但是,您可以将日志语句放入Java代码中的操作中,并完成您想要的相同操作。它确实需要重新编译。

答案 2 :(得分:2)

如果您的测试不花费大量时间,您可以将您的操作(包括整个屏幕)记录到视频中。您可以重播视频,以了解应用程序在您的所有探索过程中如何响应。

1)http://camstudio.org/
2)谷歌搜索“免费屏幕视频捕获”更多。

BR,
〜A

答案 3 :(得分:1)

您可能需要查看BB Test Assistant。我看到了这个版本的早期版本并给人留下了深刻的印象。从那时起,我也听过那些使用它的人的好消息。

答案 4 :(得分:1)

除了@anjanb关于屏幕捕获的建议之外,您还可以在一个记录其执行的调试器下运行您的程序,并允许您退回跟踪。

Omnicore CodeGuide具有非常好的概念实现(尽管您需要对字节码进行后处理)。它是一个商业软件,但它的价格合理。不确定它是否正在积极开发中。

另一个(免费)产品是我在几年前测试的Omniscient Debugger,发现它不如GC(使用太多内存,不可接受的减速)。我仍然在他们的网页上看到他们已经取得了一些进展,所以你可能想要查看它。

答案 5 :(得分:1)

查看ReplayDIRECTOR:http://replaysolutions.com/ 对于探索性测试非常有用,因为它记录了Java应用程序与其周围环境(用户输入,系统调用,数据库响应)的所有交互,并允许以后重放已记录的会话,应用程序实际运行并执行相同的路径通过代码。录制的输入将完全与录制期间一样输入应用程序。

答案 6 :(得分:0)

还有Session Tester: http://sessiontester.openqa.org/

  

Session Tester是一种用于管理和记录基于会话的测试的探索性测试工具。 Session Tester有一个计时器,因此您可以将测试会话保持在所需的长度,并提供记录会话记录的简便方法。 Notes以XML格式存储,可以转换为HTML,或者转换为您希望的任何形式。