既然数据库开发在软件系统中的比重逐步提高,那么由于数据库开发过程中存在的问题也随之而来。一个软件系统的功能,性能,安全性往往和数据库开发有直接的关系。所以,我们有必要对数据库作为一个独立的系统进行测试。
第1页/共20页
数据库测试分类
从测试过程角度来说我们也可以把数据库测试分为:
系统测试
集成测试
单元测试
从测试关注点角度对数据库进行分类:
功能测试
性能测试
安全测试
健壮性测试,容错性测试和恢复能力等
第2页/共20页
数据库完整性测试
数据库完整测试是指测试关系型数据库完整性原则以及数据合理性测试。
数据库完整性原即: 主码完整性:主码不能为空; 外码完整性:外码必须等于对应的主码或者为空。 数据合理性指数据在数据库中的类型,长度,索引等是否建的比较合理。 在项目名称中,数据库和数据库进程应作为一个子系统来进行测试。在测试这些子系统时,不应将测试对象的用户界面用作数据的接口。对于数据库管理系统(DBMS),还需要进行深入的研究,以确定可以支1持测试的工具和技术。
第3页/共20页
比如,有两张表:部门和员工。部门中有部门编号,部门名称,部门经理等字段,主码为部门编号;员工表中有员工编号,员工所属部门编号,员工名称,员工类型等字段,主码为员工编号,外码为员工所属部门编号,对应部门表。如果在某条部门记录中部门编号或员工记录员工编号为空,他就违反主码完整性原则。如果某个员工所属部门的编号为##,但是##在部门编号中确找不到,这就违反外码完整性原则。 员工类型如下定义:0:职工,1:职员,2:实习生。但数据类型为Int,我们都知道Int占有4个字节,如果定义成char(1).就比原来节约空间。
第4页/共20页
功能测试
数据库系统功能为主要测试对象,因为能否正确地提供数据存储及管理的功能、能否有效和正确地对存储在数据库中的模式对象和非模式对象进行管理,是其能否正常提供数据管理服务的基础,也是数据库管理系统能够真正投入使用的前提,同时考虑到数据库系统的可管理性,这些系统功能均通过图形化管理工具来测试。
系统功能部分的测试点为安装与配置、数据库存储管理、模式对象管理、非模式对象管理、交互式查询工具、性能监测与调优、数据迁移工具及作业管理几个方面。各个部分又分成若干个具体的测试项目,具体测试点概括如下:
第5页/共20页
1、安装与配置
主要测试点为:
是否具有完整的图形化安装程序
是否提供集中式多服务器管理及网络配置
是否在安装界面中显示数据文件、日志文件、控制文件等参数文件的默认路径及其命名规则
是否提供运行参数查看与设置功能
是能够正确地进行数据库的创建和删除等
第6页/共20页
2、数据库存储管理
主要测试点为:
表空间(文件组)管理
数据文件管理
日志文件管理
归档文件管理等
第7页/共20页
3、模式对象管理
模式对象管理是数据库管理系统最基本的数据管理服务功能特性,是数据库所有功能的基础,主要测试点为:
表管理
主要测试点为图形方式下表的创建,图形方式下修改表、数据类型下拉框选择与修改、重组表数据、图形工具中查看编辑数据,支持图形下拉框条件选择与查询、表属性及相关性图形化显示等。
索引管理
主要测试点为创建、修改索引信息,提供索引定义类型选择,索引的存储管理,索引重组与合并等。
视图管理
主要测试点包括图形方式下创建、删除视图,图形工具中查看视图定义,图形工具中查看视图数据、支持条件查询,视图属性及其相关性图形化显示等。
约束管理
主要测试点包括约束定义与修改(主键/外键/(NOT)NULL/CHECK/UNIQUE/DEFAULT设置)、支持约束状态控制(延时/立即)、约束查看、相关性图形化显示等。
存储过程管理
主要测试点包括创建、删除存储过程;图形工具中查看、修改存储过程代码(支持所得即所写)等。
触发器管理
主要测试点包括支持图形工具中创建、删除触发器:支持行级触发器;支持语句级触发器:图形工具中查看、修改触发器代码(支持所得即所写)等。
第8页/共20页
4、非模式对象管理
模式管理
包括模式的创建、删除、查看、用户指派等
用户管理
包括用户的创建、删除、修改、授权、口令策略管理
角色管理
包括角色的创建、删除、修改、查看、用户指派
权限管理
包括数据库对象权限的查看与指派、用户对象权限
第9页/共20页
性能测试
性能测试主要包括,插入,查询的并发,满负荷下的持续运行时间,数据库响应时间,CPU占用率,SQL语句优化等。简单来说可以有下述三种方式:
测量单个操作的性能
以工业标准的性能测试模型来测试
以用户的实际应用程序来测试
第10页/共20页
数据库测试PPT课件 来自淘豆网m.daumloan.com转载请标明出处.