比如说,程序针对数据库操作的主要功能就是:读取、插入、修改、删除等几种。我们就可以根据以上几种操作,做出相应的测试语句模型。
以删除功能为例,通过两个语句就可以判断应该删除的语句是否已经被删除:
测试语句A:
SELECT COUNT( ) FROM [目标数据库]
WHERE [删除条件]
测试语句 B:
SELECT COUNT( ) FROM [目标数据库]
WHERE [删除条件]
我们在程序的删除功能执行之前,先执行测试语句A,得到了符合删除条件的记录条数。然后程序执行删除操作,删除对应记录。接着执行测试语句B,得到删除操作执行之后数据库中符合删除条件的记录数。如果删除功能正确,则B的结果应该等于0。而用A结果减去B结果,则可以得出删除记录的条数。
但是仅仅凭以上两个语句还不能完全测试[删除]功能的正确性,因为以上两个语句仅仅证明程序删除了对应记录, 即:“程序做了它该做的工作”;但是并没有证明程序没有删除不该删除的记录,即:“程序没有做它不该做的事情”。要想证明这一点,我们就需要再添两条语句:
测试语句C:
SELECT COUNT( ) FROM [目标数据库]
测试语句 D:
SELECT COUNT( ) FROM [目标数据库]