测试思考
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跟踪管理系统去测试被开发系统中的问题,现在想起来挺高深的。
第一,数据库系统中表间关系是否需要建立外键???不建外键的好处是:测试很任性。因为缺少外键约束,需要什么数据随意的增删改查记录即可。退回来想,外键的主要作用是保证数据库数据的完整型、一致性,这是数据库系统本身提供的安全机制,缺少外键的数据库,加之外部网络安全、系统安全不能保证足够的安全,数据被恶意篡改、删除等是在所难免的。关于这点,本人也查阅了相关论坛谈论,觉得这里面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跟踪管理系统去测试被开发系统中的问题,现在想起来挺高深的。
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- 数据库链接字符串查询网站
- DB2实例管理
- DB2实例管理
- mysql集群之MMM简单搭建
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 第三章 数据库备份和还原
- 创建一个空的IBM DB2 ECO数据库的方法
- 通晓网络测试常用命令
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- CentOS下DB2数据库安装过程详解
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- sql2008 还原数据库解决方案
- Oracle 数据库自动存储管理-安装配置
- Oracle数据库执行脚本常用命令小结