Testing 如何以合理的方式验证大量事件

Testing 如何以合理的方式验证大量事件,testing,Testing,我不熟悉软件测试。目前,我需要测试一个中型web应用程序。我们刚刚重构了代码库,并在现有代码中添加了许多事件日志逻辑。事件日志代码将同时写入Windows事件日志和SQL数据库表 活动的数量约为200。我应该采取什么方法来有效地测试/验证代码重构 谢谢。我会尝试对每个事件执行单元测试,以确保在事件发生时将正确的信息传递到事件日志逻辑中 这意味着您可以在部署的站点上触发一个事件,并验证数据是否写入数据库和事件日志。您可以有一个可接受的置信度,即剩余事件将被正确记录 如果单元测试不是一个选项,那么您

我不熟悉软件测试。目前,我需要测试一个中型web应用程序。我们刚刚重构了代码库,并在现有代码中添加了许多事件日志逻辑。事件日志代码将同时写入Windows事件日志和SQL数据库表

活动的数量约为200。我应该采取什么方法来有效地测试/验证代码重构


谢谢。

我会尝试对每个事件执行单元测试,以确保在事件发生时将正确的信息传递到事件日志逻辑中

这意味着您可以在部署的站点上触发一个事件,并验证数据是否写入数据库和事件日志。您可以有一个可接受的置信度,即剩余事件将被正确记录

如果单元测试不是一个选项,那么您将需要手动验证每个事件,我将交替检查数据库和事件日志,因为在这方面失败的风险应该很小。这意味着您将有200个测试,而不是400个测试

您还可以将应用程序划分为合理的部分,并为每个部分触发一些事件,以使您对应用程序有合理的信心

您所采取的方法实际上取决于您必须测试多长时间,如果没有记录事件,将产生什么样的成本,以及日志逻辑的开发程度


希望这有帮助

在您进行重构之前,我会添加测试。你不知道你在哪里打破了它:)

您是说它登录到EventViewer和DB,我希望您已经将日志功能公开为一个接口,以便您可以:

  • 如果需要,将其扩展以登录到其他设备

  • 这也让嘲弄变得容易多了

如果你有200个项目要测试,那可不容易。我不认为你可以逃避为你的200个项目创建大量的测试

我会这样做:

  • 我将搜索使用我的日志接口的所有地方,并记录所有类和 首先从关键路径开始(这样,您至少可以涵盖关键路径)

  • 或者你可以从头开始,也就是说,记下你得到的所有可能的日志组合,可能指向过时的数据,这样你就知道如果输入相同,输出也应该相同。每次,回归测试你的新二进制文件时,你都会得到类似数量/级别的日志


    • 这应该不难

      选择一个免费的自动化web测试工具,比如Watir(java)或WatiN(.net),(如果有的话,也可以选择VS-UI测试。)

      创建覆盖您期望/需要触发事件的web应用程序区域的测试。在每次测试后检查SQL Db以查看触发了哪些事件

      如果这些事件流对于测试是正确的,则在测试中添加一个步骤,以验证该事件流是否确实是在Db中创建的

      这将为您提供一组测试,以可重复的方式验证来自web站点任何部分的事件

      这种方法的有效部分是,它只允许您创建验证应用程序所需的测试。此外,您不需要重新创建每个事件一个测试的单元测试方法

      自动化测试将允许您无需额外的努力就可以重新执行它们,这将在长时间内积累起来

      手动测试也可以采用这种方法,但要获得一致且可重复的结果将非常困难。此外,重新测试所需的时间几乎与测试发现需要修复的缺陷所需的时间一样长

      注:虽然这是最有效的方法,但并不详尽。可能会有遗漏的边缘案例,但这几乎可以说是任何测试方法。只需添加测试用例,直到获得所需的覆盖率

      希望这有帮助, 克里斯