您的位置:首页 > 数据库

测试思考

2016-03-13 21:19 330 查看
        最近从事的工作是测试(非专业的,只是初步发现问题),虽然是个起步,但小有体会。下面讲讲测试中遇到的两个问题以及我的一点小思考。

        第一,数据库系统中表间关系是否需要建立外键???不建外键的好处是:测试很任性。因为缺少外键约束,需要什么数据随意的增删改查记录即可。退回来想,外键的主要作用是保证数据库数据的完整型、一致性,这是数据库系统本身提供的安全机制,缺少外键的数据库,加之外部网络安全、系统安全不能保证足够的安全,数据被恶意篡改、删除等是在所难免的。关于这点,本人也查阅了相关论坛谈论,觉得这里面http://www.zhihu.com/question/19600081的谈论很有深度。对于交易量较大的系统,个人认为依托强大的构架设计,在增删改记录的时候,充分保证数据和业务的完整型、一致性,不建外键是完全可以的。

        第二,测试中代码的不健壮性、数据库系统的不完整性等开发缺陷,能为测试提供了一个缺口!!!遇到的两个经典场景:第一个场景——对于一个交易,处理过程分AB两个阶段,A阶段对表x进行查询,B阶段对表x进行更新,AB两个阶段筛选条件不一致,这两个阶段中如果有异常,事务就要回滚、异常处理。同一个交易,其实AB两阶段对表x无论是更新还是查询,条件都应该一致,正是不一致,测出了中间事务回滚的异常。第二个场景——数据库表中的表没有键外键,处理过程分AB两个过程,A过程对x表进行查询,B过程对y表进行更新,对y表更新的条件是依据x表中的某些字段,这两个阶段中如果有异常,事务就要回滚、异常处理。正是因为x表和y表没有外键关系,在造数据的时候,故意让x表中的字段不满足y表的更新条件,测试除了中间异常处理没有起到实际性作用。题外话:去年(2015年)的毕业设计,我的一个同学的论文是bug跟踪管理系统,就是利用开发中的“bug”用bug跟踪管理系统去测试被开发系统中的问题,现在想起来挺高深的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 测试