怎样进行数据库性能测试?什么是数据和数据库完整性测试

怎样进行数据库性能测试?什么是数据和数据库完整性测试

本文目录

  • 怎样进行数据库性能测试
  • 什么是数据和数据库完整性测试
  • 数据库测试主要测试什么内容
  • 数据库测试怎么实现
  • 数据库测试
  • 数据库如何做测试
  • 数据库测试的主要目的是什么
  • 数据库测试的具体测试方法
  • 软件开发数据库如何进行测试
  • 数据库如何进行查询,如何进行数据库测试

怎样进行数据库性能测试


使用LR对数据库进行性能测试,实际上有多种办法,包括通过现有的数据库协议进行CS模式的先录制后执行的模式,以及通过socket方式向服务器发包方式的测试方式。这些是常规书籍上介绍的比较简单上手的测试方法,但是不具备通用性,受已有协议或soc...

什么是数据和数据库完整性测试


数据完整性:存储在数据库中的所有数据值均正确的状态。如果数据库中存储有不正确的数据值,则该数据库称为已丧失数据完整性。可确保数据库中的数据质量。例如,如果输入了
employee_id
值为
123
的职员,那么该数据库不应允许其他职员使用同一
ID
值。如果计划将
employee_rating
列的值范围设定为从
1

5,则数据库不应接受
6。如果表有一
dept_id
列,该列存储职员的部门编号,则数据库应只允许接受公司中的有效部门编号。常用的测试方法:边界值、等价值法

数据库测试主要测试什么内容


1、数据库的基本概念,数据库系统的构成。
2、数据模型概念和主要的数据模型5.软件调试,测试方法、技术和用例。
6.软件质量控制,软件文档。
7.软件

数据库测试怎么实现


要看你的测试需求。测试前,需要了解
1.检查表结构,包括字段名称,字段类型,主键,唯一键,索引,分区等。
2.检查SQL。包括字段是否正确,表名是否正确,where条件是否正确,union条件是否正确,join表是否正确(左连接,右连接,全连接)等。
3.检查数据。检查数据条数是否与预期一致,检查数据内容是否有缺失或错位,检查数据内容是否有乱码。

数据库测试


新建一个数据库,可以是ACCESS数据库。
按上述每行的内容,建立数据表,基本字段都在每行内容中。
对各表输入数据。
建立各表之间的索引等,关键在于SQL结构化查询语言的编写。
使用一定的编程软件操控数据库表。

数据库如何做测试


查询输入:
  (1)分别对单条件进行精确查询
  (2)输入长度的检验,输入允许的最长值进行查询,是否支持
  (3)两个查询条件是否为2选1,来回选择是否出现页面错误
  (4)输入字符
  (5)输入特殊字符
  (6)输入数字
  (7)输入汉字
  (8)输入关系表达式与、或、异或、非、等于
  (9)输入空格
  (10)条件中含有空格
  (11)输入超长字符
  (12)输入全角字符
  (13)输入单引号
  (14)输入单引号引起来的数据
  (15)输入双引号
  (16)输入双引号引起来的数据
  (17)如果支持模糊查询,输入部分查询条件
  (18)输入系统中不存在与之匹配的条件
  查询结果检查
  (1)查询结果按什么顺利排序
  (2)查询结果是否根据字段显示排序功能
  (3)查询结果是否有分页,如果有,每页最多包含多少记录
  (4)查询结果是否匹配
  (5)查询结果是否与数据库一致
  (6)查询结果是精确查询还是模糊查询
  UI验证
  (1)文字显示是否正确
  (2)页面是否有错别字
  (3)输入框大小、文字大小是否合适
  (4)页面是否美观
  (5)查询结果字段显示是否与需求一致
  性能方面
  (1)查询处理时间是否能接受
  (2)数据库中存在大数据量数据时,查询时间是否能接受
  (3)当多个用户同时查询时,输入相同或不同的查询条件系统响应是否及时...

数据库测试的主要目的是什么


数据库测试的主要目标是:确保数据库访问方法和进程正常运行,数据不会遭到损坏。
测试方法:
• 分别测试记录的新增、修改、删除等操作,以验证前台与后台数据的一致性为主。
• 测试记录的查找功能,检查返回的数据是否正确,并测试相关功能。
• 测试数据的不同显示方式。
• 测试有效和无效数据对数据库的影响。
完成标准: 所有的数据库访问方法和进程都按照设计的方式运行,数据没有遭到损坏。

数据库测试的具体测试方法


1. 分别测试记录的新增、修改、删除等操作,以验证前台与后台数据的一致性为主。
2. 测试记录的查找功能,检查返回的数据是否正确,并测试相关功能。
3. 测试数据的不同显示方式。
4. 测试有效和无效数据对数据库的影响。完成标准:???? ??所有的数据库访问方法和进程都按照设计的方式运行,数据没有遭到损坏。

软件开发数据库如何进行测试


比如:数据冗余,功能和性能方面存在的问题已经严重影响应用软件的使用。软件测试人员往往重视对软件功能和编码的测试,而忽略对软件性能,特别是数据库访问并发测试。因为,他们固有的思想中认为数据库设计存在问题对系统性能影响不大,或从根本上忽略了数据库在软件开发中的地位,直到出现了问题,才想到对数据库的测试,但往往也是仅仅通过对编码的测试工作中捎带对数据库进行一定的测试,这远远是不够的。目前,中铁网上订票系统在大用户同时在线订票中系统频频瘫痪,就是最好的佐证。 所以,在应用软件的测试工作中,应该将数据库作为一个独立的部分进行充分的测试,这样才可以得到应用软件所需要的性能优化的数据库。那么,应该对哪些内容进行测试,如何进行测试呢? 2、数据库设计的测试 数据库是应用的基础,其性能直接影响应用软件的性能。为了使数据库具有较好的性能,需要对数据库中的表进行规范化设计。规范化的范式可分为第一范式、第二范式、第三范式、BCNF范式、第四范式和第五范式。一般来说,逻辑数据库设计应满足第三范式的要求,这是因为满足第三范式的表结构容易维护,且基本满足实际应用的要求。因此,实际应用中一般都按照第三范式的标准进行规范化。但是,规范化也有缺点:由于将一个表拆分成为多个表,在查询时需要多表连接,降低了查询速度。故数据库设计的测试包括前期需求分析产生数据库逻辑模型和后期业务系统开发中的测试两部分(这里指的是后者),我在这里称为实体测试。 数据库是由若干的实体组成的,包括(表,视图,存储过程等),数据库最基本的测试就是实体测试,通过对这些实体的测试,可以发现数据库实体设计得是否充分,是否有遗漏,每个实体的内容是否全面,扩展性如何。 实体测试,可以用来发现应用软件在功能上存在的不足,也可以发现数据冗余的问题。经过测试,测试人员对有异议的问题要及时和数据库的设计人员进行沟通解决。 3、数据一致性测试 在进行实体测试后,应进一步检查下面的内容以保障数据的一致性: 3.1 表的主键测试根据应用系统的实际需求,对每个表的主键进行测试,验证是否存在记录不唯一的情况,如果有,则要重新设置主键,使表中记录唯一。 3.2 表之间主外键关系的测试数据库中主外键字段在名称,数据类型,字段长度上的一致性测试。 3.3 级联表,删除主表数据后,相应从报表数据应同时删除的问题例如学生表和学生成绩表,学生数据已经删除,成绩表中相应学生的成绩记录应同时删除。 3.4 存储过程和触发器的测试存储过程可以人工执行,但触发器不能人工处理,所以在对存储过程和触发器执行的过程中针对SQL SERVER2005及以上版本可以使用Microsoft SQL Server Profiler性能测试工具进行测试。 Microsoft SQL Server Profiler 是 SQL 跟踪的图形用户界面,用于监视数据库引擎或 Analysis Services 的实例。测试人员可以捕获有关每个事件的数据并将其保存到文件或表中供以后分析。例如:可以对生产环境进行监视,了解哪些存储过程由于执行速度太慢影响了性能。 4、数据库的容量测试 随着数据库系统的使用,数据量在飞速增长,如何在使用前对数据容量的增长情况进行初步估算,为最终用户提供参考,这在数据库使用和维护过程中,是非常重要的。可以通过对数据库设计中基本表的数据大小,和每天数据表的数据产生量进行初步估算。 记录数据量=各个字段所占字节数的总和表的数据量=记录数据量*记录数数据库大小=各表数据量的总和 当然,数据库的大小不仅仅只是基本表的大小,还有系统表,视图,存储过程等其它实体所占的容量,但最基本的数据是表的数据。另外,数据库的容量还包括数据库日志文件的容量,一般应预留数据库文件的2倍左右。 5、数据库的性能测试 应用软件除了功能外,很重要的一部分就是软件的性能,而对于数据库系统,数据库性能的好坏会直接影响应用软件的性能,这部分的测试,一般手工测试就显得无能为力了,这时就要借助自动化的测试软件,例如:DataFactory,DataFactory是一种强大的数据产生器,它允许开发人员和测试人员很容易产生百万行有意义的正确的测试数据库,该工具支持DB2、Oracle、Sybase、SQL Server数据库。这样,就可以模拟出应用软件长期使用后,海量数据存储的数据库的性能状况。从而尽早发现问题,进行数据库性能的优化。 这里要注意,进行性能测试的时候,一定要注意测试环境的一致性,包括:操作系统、应用软件的版本以及硬件的配置等,而且在进行数据库方面的测试的时候一定要注意数据库的记录数、配置等要一致,只有在相同条件下进行测试,才可以对结果进行比较。否则无法和用户对软件的性能的观点达成一致。 6、数据库的压力测试 说起测试,我们首先想到的就是软件正确性的测试,即常说的功能测试。软件功能正确仅是软件质量合格指标之一。在实际开发中,还有其它的非功能因素也起着决定性的因素,例如软件的响应速度。影响软件响应速度的因素有很多,有些是因为算法不够高效;还有些可能受用户并发数的影响。 在众多类型的软件测试中,压力测试正是以软件响应速度为测试目标,尤其是针对在较短时间内大量并发用户的访问时,软件的抗压能力。但压力测试往往是手工难以测试的,必须借助自动化测试工具。常用的压力测试有:Web测试、数据库测试等。 数据库在大多数软件项目中是不可缺少的,对于它进行压力测试是为了找出数据库对象是否可以有效地承受来自多个用户的并发访问。这些对象主要是:索引、触发器、存储过程和锁。通过对SQL语句和存储过程的测试,自动化的压力测试工具可以间接的反应数据库对象是否需要优化。 这些自动化的测试工具很多,各有特点,基于Java的项目可以使用JMeter,.Net项目可以采用.Net集成开发环境中提供的测试方案。 7、结束语 总之,在应用系统的测试中,把数据库应当作为独立的系统来测试,这无疑会为应用软件的质量增加可靠的保障,同时还必须结合应用软件进行集成测试,只有二者有机结合起来,才能最大限度的发挥数据库和应用软件的功能。

数据库如何进行查询,如何进行数据库测试


对于今天测试方面的提高一直很模糊,但最近整理好了思路。今年重点还是在数据库的测试方向上下手吧,因为我们公司的数据库中数据准确性非常重要,希望能提高自己对这一方面的工作经验吧。
前期一直进行数据库的测试,大约3个月。也总结了一些测试经验,拿出来与大家共享。
1、数据库日志查看测试法。这个方法是跟一个oracel DBA的老师学习的。呵呵。就是你在前台操作时,比如按一下新增按钮。新增一条数据,这是观察数据库中的日志,通过对日志的查看来明确数据的流向。从而来测试数据的正确性。当然这种方法需要测试人员本人对oracle数据库的日志很熟悉,水平很高,对数据表结构也有大体的了解。目前我还没有做到这一点,这是我今后的发展方向。
2、接口数据的测试方法。这个方法也是跟开发人员学习来的。当2个系统之间有接口时,接口传输中数据的正确性非常重要。这时候可以将系统1中与接口有关的数据提取出来形成临时表;将系统2中与接口有关的数据提取出来形成临时表。比对2个表的接口数据的一致性。通过这种方法可以发现接口数据是否一致。当然,直接在前台看2个系统的数据是否一致也是很好的方法之一。
3、数据测试的统计方法。这个方法可以同方法2组合使用,当一个系统试运行了一段时间后,可以统计系统一个月内或2个月内的数据,查看数据的正确性。因为由于数据流向的复杂性,导致我们测试数据正确性时很难能覆盖到所有的情况。这时就可以采用统计法来测试。
4、对报表参数的整理测试法。对每个前台页面需要呈现的或生成的参数,整理一个计算方法。即此参数与后台哪些表相关,是怎么生成的。我们测试人员需要对前台呈现的每个参数都明白他的数据流向,但是有时候在文档不起全的情况下,没办法明白整个的测试流程。所以需要我们自己进行每个参数的数据流向整理。
上面是总结的4条测试方法,可能还不齐全,希望大家一起来补充。还有一点是当页面查询没有任何数据时,这时候一定要弄清楚为什么没有任何数据,是不是有bug才没有数据的。好了,唠叨这么多。希望大家多提建议吧。

推荐阅读