数据库测试积累

前段时间进行了关于数据库和后台线程的测试,让我学到了不少新知识(虽然代价也很大,漏报了一些BUG),因此将这些收集起来。

1、不同数据库之间同步数据,此时更多的要考虑数据库间的差异,如边界值是否一致,如某个数据库的时间范围是1700~2999,而另一个数据库的时间范围是1775~2999,此时同步数据的时候就会出现异常。

2、数据结构之间的差异,如某个字段在一边数据库中的值可以为空,而另一个库中的值又不能为空,此时程序要进行相应的处理,否则也会报异常

3、即使两边的数据结构相同,不同类型间的转化也有可能会出错,比如一边是char类型的,一边是varchar类型的,取过来的时候一般会进行trim(),将后面的空格去掉,此时如果char字段为空的话就会报空指针异常

4、两个程序一起操作同一张表的时候,需要测试是否会将表锁住,这个情况要考虑周全,任何可能会操作同一个资源的情况都要考虑到。

5、并发操作生成序列号的时候,需要测试是否会因为并发而生成重复的序列号,这个非常关键。

6、该使用事务的地方需要测试是否在同一个事务中处理的,可以通过程序中故意抛异常的方式来测试事务的正确性,但是事务过长的话也会引起死锁。

7、有时候在比较关键的地方打印出语句也是非常重要的,能够发现很多程序的漏洞,但是前提是对这段程序比较了解

8、数据库断连后的重连测试也非常重要,要考虑数据库服务器断网线、禁用网卡、停止数据库甚至异常断电的情况,重连后还需要对比数据是否正确,重连后程序的逻辑是否合理等等.....

 

你可能感兴趣的:(数据结构)