我将为一个科学项目对我的软件进行一些大规模的可用性测试。我们有一个由大约 30 台运行 Windows XP 的计算机组成的实验室。我们的应用程序是用Python和PyGTK编写的。
我们希望能够在没有人员干预的情况下收集以下内容(在我们的应用程序启动时自动):
- 用户会话的记录(如GtkRecordMyDesktop)
- 我们的应用程序产生的所有回溯和错误
- 用户到达应用程序中某个点的时间量。
- 在应用程序退出时提供的简短调查
我认为最后一点非常简单,我知道如何存储数据,但我不知道如何实现其他点。
对于您的第一点,我相信您可以很容易地直接从您的 Python 代码中驱动recordMyDesktop——我自己没有这样做,但是文档使它看起来很容易(并且它的两个现有前端都在 Python 中)。
对于第二点,设置sys.excepthook以拦截异常并通过traceback模块准备报告。
对于您的第三点,在开始时注册时间(例如通过datetime.datetime.now)并在您关心的时间点再次注册,并记录差异。