作为一名测试工程师,我经常从事探索性测试。当我遇到一个错误时,并不总是立即清楚是哪些步骤导致了问题。因此,很明显,我必须找到重现问题所需的步骤。根据具体情况,这可能需要花费大量时间。
真正有用的是一个日志记录工具,它可以跟踪鼠标和键盘的操作,并可能存储已单击组件的属性(AUT是用Java编写的)。
我根本找不到合适的工具,但也许我的搜索方法是错误的。
有人能给我指正确的方向吗?
此问题列出了可用于测试web应用程序的工具。其中一些答案可能有用。
Selenium就是一个例子,它是一个mozilla插件,可以记录您的操作并在以后重播。
Log4J是一个用于Java的apache日志记录工具,具有许多输出日志的选项。它的好处是,您可以在代码中插入尽可能多的日志消息,并根据您认为合适的日志级别打开和关闭它们。例如,您有调试消息和信息消息。如果在代码中插入一些调试消息和一些信息消息,然后将日志记录级别设置为调试,则会发现所有调试和信息消息都已记录。
如果将日志记录级别设置为信息,则只记录信息消息。你还有其他级别。
编辑:我重读了这个问题,意识到我没有正确回答。。。很抱歉但是,您可以将日志记录语句放入Java代码中的操作中,并完成所需的相同操作。不过,它确实需要重新编译。
如果您的测试没有花费大量时间,您可以将您的操作(包括整个屏幕)录制到视频中。您可以回放视频,查看应用程序在所有探索过程中的响应。
1)http://camstudio.org/
2) 谷歌上的"免费屏幕视频捕捉"更多。
BR,
~A
您可能需要查看BB Test Assistant。我看到了它的早期版本,印象深刻。从那时起,我也从使用它的人那里听到了一些好消息。
除了@ajanb关于屏幕捕获的建议外,您还可以在调试器下运行程序,该调试器可以记录程序的执行情况,并允许您返回跟踪。
OmnicoreCodeGuide对这个概念有很好的实现(尽管您需要对字节码进行后处理)。这是一款商业软件,但价格合理。但不确定它是否正在积极开发中。
另一个(免费)产品是Omniscient Debugger,我几年前测试过它,发现它不如GC(使用了太多内存,速度慢得令人无法接受)。尽管如此,我在他们的网页上看到他们已经取得了一些进展,所以你可能想看看。
查看ReplayDIRECTOR:http://replaysolutions.com/对于探索性测试非常有用,因为它记录了Java应用程序与其周围环境的所有交互(用户输入、系统调用、DB响应),并允许稍后回放记录的会话,应用程序实际上在代码中运行和执行相同的路径。记录的输入将与记录期间完全一样被馈送到应用程序。
还有会话测试程序:http://sessiontester.openqa.org/
会话测试仪是一个探索性的测试工具,用于管理和记录基于会话的测试。会话测试仪有一个计时器,因此您可以将测试会话保持在所需的长度,并且它提供了一种简单的方法来记录会话笔记。Notes以XML格式存储,可以转换为HTML,也可以转换为您想要的任何形式。