我正在寻找科学方法来证明SQL-Query的返回数据的完整性和有效性。
例如,如果我查询满足3个定义条件的所有记录,我如何证明此查询确实返回正确的记录及所有记录?
数据量太大,无法手动证明。
答案 0 :(得分:2)
您必须在构建的数据库上验证您的查询,并为此目的手动输入记录。您应该包含代表与此查询相关的所有可能案例组合的记录。然后确定查询对于不同测试用例的预期输出应该是什么,并将它们与实际结果进行比较。
对于3个条件,每个条件可以为TRUE或FALSE,您将得到2 ^ 3 = 8个可能的结果。如果某些字段可以为NULL,请确保也测试这些情况。如果您测试TRUE,FALSE和NULL,则可能会得到3 ^ 3 = 27个测试用例。如果您包含更多角落案例,此数字可能会迅速增加。
见Three-valued logic - Application in SQL,
MySQL Logical Operators,
SQL-Server Nullability and Three-Value Logic比较
理想的情况是您从客户那里获得的规格包括示例。尝试重现这些例子。