Testing 集成测试自动化-检查数据库值

Testing 集成测试自动化-检查数据库值,testing,selenium,integration-testing,Testing,Selenium,Integration Testing,我现在正在处理创建集成测试自动化过程中的一个问题 我想: 通过selenium RC输入数据 导入后,检查DB中的值是否正确 我对这些测试的逻辑有问题。现在,我按照如下方式进行:在一个测试中,我生成随机数据(此人的名字、姓氏等)。然后,通过简单地从DB中选择,我获得唯一的person_id密钥(我假设如果名字和姓氏都是8个字符长的随机生成的字符串,我可以将它们视为唯一的),然后在下一个查询中使用该id 这个方法正确吗?如果没有,我该如何处理它?此集成测试的确切目的是什么 如果您正在测试DB适配器

我现在正在处理创建集成测试自动化过程中的一个问题

我想:

  • 通过selenium RC输入数据
  • 导入后,检查DB中的值是否正确
  • 我对这些测试的逻辑有问题。现在,我按照如下方式进行:在一个测试中,我生成随机数据(此人的名字、姓氏等)。然后,通过简单地从DB中选择,我获得唯一的person_id密钥(我假设如果名字和姓氏都是8个字符长的随机生成的字符串,我可以将它们视为唯一的),然后在下一个查询中使用该id


    这个方法正确吗?如果没有,我该如何处理它?

    此集成测试的确切目的是什么

    如果您正在测试DB适配器层,那么是否需要使用Web UI?您可以直接使用适配器

    如果您正在测试Web UI,是否需要在数据库中实际存储数据?您可以使用模拟(或其他类型的双重测试)检查这些值

    如果您正在进行端到端的略读测试,是否有必要检查实际数据值(除了实际交互的成功之外)?如果答案是肯定的,那么测试应该遵循以下原则:

    Given I have registered as "Random Person"
    When I retrieve my details
    Then my name is displayed correctly.
    

    我正在测试的应用程序由一个公共可用的网站和它自己的数据库组成,人们可以在其中输入一些数据。在循环导入中,任务数据被传输到第二个应用程序的内部数据库中。我想在网站上输入一些数据(随机生成),然后检查它们是否正确导入到第二个应用程序中。在我看来,这里有几个组件可以独立测试。您可以对这两个应用程序使用模拟DBs来测试循环导入;您可以使用UI和存根中间层测试数据输入;您可以自行测试DB适配器;等等这里的目标是测试小部分功能,这样当您进行系统(end-2-end)测试时,您只需检查应用程序是否正确连接。因此,您可能只需要使用Selenium创建一个人,并(例如)检查第二个数据库中的人数是否增加了一人。是的,但如果我想测试整个过程的内聚性,该怎么办?我并不是说您不会进行端到端的系统测试。我的意思是,系统测试的价值在于确保各种组件“连接”正确。使用更精细的单元和集成/组件测试分别验证业务功能和协作。