Mysql 测试用例编写
如何为SQl查询编写测试用例Mysql 测试用例编写,mysql,testing,testcase,Mysql,Testing,Testcase,如何为SQl查询编写测试用例 是否有任何程序或格式可遵循 例如,我有一个带有复杂连接的insert查询,以及如何为此开发testcase 这似乎很有趣,因为我不确定您的要求 总之,编写测试用例是为了进行功能或系统测试(或一般的黑盒测试)。测试用例是需求规范或用户故事的翻译。在测试查询时,我不确定是否需要编写测试用例(这将成为白盒测试)。在这种情况下,最好为它们编写单元测试,而不是创建手动测试用例。可能是我错过了什么 然而,考虑到你有一个不同的意见,我不知道,以下是我的想法 如果您的用户故事或需
- 是否有任何程序或格式可遵循李>
- 例如,我有一个带有复杂连接的insert查询,以及如何为此开发testcase
- 从单元测试用例轻松创建到DB的连接
- 以XML格式创建示例数据并将其加载到表中
- 在执行某些数据库事务或在单个步骤中断言数据后验证数据
这似乎很有趣,因为我不确定您的要求 总之,编写测试用例是为了进行功能或系统测试(或一般的黑盒测试)。测试用例是需求规范或用户故事的翻译。在测试查询时,我不确定是否需要编写测试用例(这将成为白盒测试)。在这种情况下,最好为它们编写单元测试,而不是创建手动测试用例。可能是我错过了什么 然而,考虑到你有一个不同的意见,我不知道,以下是我的想法 如果您的用户故事或需求规范明确讨论了连接的数量和类型、要使用的表等,那么您可以单独编写测试用例来检查是否存在任何偏差。例如,一个测试用例可以检查类型联接,以检查它们是否符合要求,另一个测试用例可以验证所使用的表,以检查开发人员是否只使用了预期的表而没有使用其他表 编辑:如果您愿意编写单元测试,请查看有哪些帮助
例如,考虑下面的场景。你的学校很好。您现在已经编写了一个复杂的查询,用于检索学生列表。您必须检查此查询是否正常工作。然后,您可以使用DBUnit或创建一个单元测试用例,它将动态创建表并加载示例数据,执行查询,然后将结果集与预期的数据进行比较。全部在一个自动化单元测试中
这是Unitils的一个例子 公共类UserDAOTest扩展了UnitilsJUnit4{@Test
@DataSet("UserDAOTest.testFindByMinimalAge.xml")
public void testFindByMinimalAge() {
List<User> result = userDao.findByMinimalAge(18);
assertPropertyLenientEquals("firstName", Arrays.asList("jack"), result);
}
@测试
@数据集(“UserDAOTest.testFindByMinimalAge.xml”)
public void testFindByMinimalAge(){
列表结果=userDao.findByMinimalAge(18);
AssertPropertyLineeQuals(“名字”,Arrays.asList(“杰克”),result);
}
}
在执行此测试之前,此“UserDAOTest.testFindByMinimalAge.xml”
中的示例数据将加载到您配置的表中,稍后将执行测试和其中的查询。类似地,如果使用注释@ExpectedDataSet
而不是@DataSet
,则执行测试后,此xml中的数据将用于比较结果集
如果您使用的是JPA Hibernate,那么也可以使用内存中的DB
希望这有帮助。这似乎很有趣,因为我不确定您的要求 总之,编写测试用例是为了进行功能或系统测试(或一般的黑盒测试)。测试用例是需求规范或用户故事的翻译。在测试查询时,我不确定是否需要编写测试用例(这将成为白盒测试)。在这种情况下,最好为它们编写单元测试,而不是创建手动测试用例。可能是我错过了什么 然而,考虑到你有一个不同的意见,我不知道,以下是我的想法 如果您的用户故事或需求规范明确讨论了连接的数量和类型、要使用的表等,那么您可以单独编写测试用例来检查是否存在任何偏差。例如,一个测试用例可以检查类型联接,以检查它们是否符合要求,另一个测试用例可以验证所使用的表,以检查开发人员是否只使用了预期的表而没有使用其他表 编辑:如果您愿意编写单元测试,请查看有哪些帮助
例如,考虑下面的场景。你的学校很好。您现在已经编写了一个复杂的查询,用于检索学生列表。您必须检查此查询是否正常工作。然后,您可以使用DBUnit或创建一个单元测试用例,它将动态创建表并加载示例数据,执行查询,然后将结果集与预期的数据进行比较。全部在一个自动化单元测试中
这是Unitils的一个例子 公共类UserDAOTest扩展了UnitilsJUnit4{@Test
@DataSet("UserDAOTest.testFindByMinimalAge.xml")
public void testFindByMinimalAge() {
List<User> result = userDao.findByMinimalAge(18);
assertPropertyLenientEquals("firstName", Arrays.asList("jack"), result);
}
@测试
@数据集(“UserDAOTest.testFindByMinimalAge.xml”)
public void testFindByMinimalAge(){
列表结果=userDao.findByMinimalAge(18);
AssertPropertyLineeQuals(“名字”,Arrays.asList(“杰克”),result);
}
}
在执行此测试之前,此“UserDAOTest.testFindByMinimalAge.xml”
中的示例数据将加载到您配置的表中,稍后将执行测试和其中的查询。类似地,如果使用注释@ExpectedDataSet
而不是@DataSet
,则执行测试后,此xml中的数据将用于比较结果集
如果您使用的是JPA Hibernate,那么也可以使用内存中的DB
希望这有帮助。不同的数据库有不同的测试套件。 MySQL/Percona Server/MariaDB都使用MySQL测试运行的变体: 《细雨》也使用了一种变体: 这些是简单的基于差异的测试。您编写希望看到的查询,让运行人员执行它们,然后验证结果。将预期输出保存在.result文件中,然后