数据库软件的测试与调试分析

时间:2022-07-17 04:56:20

数据库软件的测试与调试分析

摘 要 数据库是软件的重要部分,甚至可以说是整个系统的核心,对于一些系统来说,数据库作为储存所有重要数据的地方,如果这个部分出了问题,导致储存的数据丢失,无论是企业还是政府部门等,都是非常重大的损失,如果要想避免这种现象出现,就应该最大程度的保证数据库软件的安全性和稳定性,本文根据数据库软件的特点,对数据库软件的测试和调试进行深入的分析。

关键词 数据库;软件;测试;调试;分析

中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2013)18-0039-02

随着我国经济的发展,软件这一高新技术得到了企业的重视,现在的软件编写时,尤其是一些针对企业的大型软件,都需要根据软件的实际情况,编写一个相应的数据库,但是受到我国科技水平的限制,计算机软件技术从20世纪中期就开始发展了,直到我国改革开放时期,软件技术才传入我国,因此软件技术在我国发展的时间很短,从电子行业的生产水平就可以看出,目前我国使用的集成电路,大多都是从国外引进的,数据库等软件的核心技术,基本都被国外的一些公司掌握,因此我国企业使用的办公软件等,甚至一些政府办公用的软件,都是从国外公司购买的,从某种意义上来说,这是我国软件行业的悲哀,通过实际的调查发现,目前影响我国软件发展的主要因素就是版权问题,其次才是技术层面的原因,但是随着近几年我国对盗版市场的打压,软件市场有了较大的改善,但是相关的技术人才还是很缺乏,因此研究软件编写过程中的测试和调试,具有非常重要的意义。

1 关于数据库软件测试分析

1.1 数据库的容量测试

数据量在使用越来越为广泛的数据库系统中正在呈现飞速增长的趋势,所以为了更好为最终用户提供相关的参考价值,应该在使用数据库前,就应该初步估算数据容量的增长情况,这一点对于数据库的维护和使用过程显得尤为重要。初步估算每天数据表的数据产生量,可以通过在数据库设计过程中的相关的基本表的数据大小进行确定,基本方法如下:①表的数据量=记录数据量*记录数;②记录数据量=各个字段所占字节数的总和;③数据库大小=各表数据量的总和。

可以看出,基本表的大小只是数据库大小中的一个重要部分,还应该包括视图、系统表、存储过程等等方面的相关实体所占的容量,其中,表的数据则是最为基本的数据。除此之外,数据库日志文件容量也是值得注意的,还应该基本上预留2倍左右的数据文件大小。

1.2 数据库的性能测试

软件的性能很大一部分程度上决定了应用软件的水平,而对于数据库系统软件来说,软件的性能往往直接受到数据库性能的表现好坏的影响。一般的手工测试对于此部分具有很大局限性,往往要通过自动化的测试软件而辅助完成,比如DataFactory软件等等。对于诸如强大的数据产生器的DataFactory软件来说,百万行有意义的正确的测试数据库的数据信息通过此软件很容易产生,这样测试人员和开发人员就能够很容易处理相关的测试信息,该软件支持诸多数据库系统,比如Oracle、DB2、SQL Server和Sybase数据库。在此软件模拟运行下,可以得到该数据库系统在长期运行下后的相关性能,特别是海量数据存储的数据库的性能对于其性能优化具有重要作用,能够帮助尽早发现系统中的问题。

测试环境的一致性应该在性能测试过程中值得注意,主要包括方面有:应用软件的版本、操作系统以及相关软硬件配置方面内容,同时,在进行数据库方面的测试过程中,对于数据库的记录数、配置等的一致性问题应该进行注意,确保结果对比是在相同的测试条件之下。否则,用户对于软件性能观点的一致性较难以达到。

1.3 数据库的压力测试

常说的功能测试往往是指软件的正确性测试,这是我们常规认识到的测试。软件功能正确仅仅可以看作软件质量合格指标之一,而不是全部。其它的非功能因素在实际开发中也往往是决定性因素,比如,这里包括相应的软件响应速度等。有些并不高效的算法往往影响到软件响应速度;用户并发数往往也是影响到软件的响应速度因素之一。软件响应速度为测试目标则是压力测试的特点,这也是在众多类型测试中较为突出特点,主要是指,在较短时间内大量并发用户的访问的情况下,所表现出的软件的抗压力能力。这种压力测试往往也都是必须经过专业的自动化测试工具,而不能仅仅依靠手工测试完成,常用的压力测试包括Web测试、数据库测试等。

在众多的软件项目中不可缺少相关数据库内容,为了在多个用户的并发访问的影响下,数据库对象能够有效承受上述影响,这就是压力测试主要内容。包括的这些对象主要有,触发器、索引、存储过程以及锁过程。数据库对象是否需要优化,这是在测试SQL语句和存储过程的过程中,利用自动化的压力测试工具而可以完成的。

这种自动化测试工具很多,各个具有各自特点,比如,JMete则适用于基于Java的项目,而.Net项目可以采用.Net集成开发环境中提供的测试方案。

2 对于数据库软件的调试分析

2.1 数据库软件调试的概念

数据库软件的调试与测试不同,测试通常是在软件编写的过程中,而调试却是在软件安装的过程中,通过深入的分析知道,现在的数据库软件通常都是由高级语言编写的代码,这些高级语言在执行的过程中,首先要转换成低级语言,最终变成0和1的形式,控制计算机去工作,虽然在软件编写时,会尽量的减少其中存在的错误和缺陷,但是受到编写软件和计算机自身原因的限制,不可能有完美的数据库软件出现,从市面上的软件经常更新就可以知道,这些软件在安装之后,通过实际的运行,必然会发现其中的一些缺陷和错误,而软件的更新换代,除了增加相应的功能外,修补这些错误和漏洞是主要的原因,如现在使用最多的操作系统windows系列,都会定期的一些补丁,修补系统中存在的漏洞,开发Windows操作系统能够的微软公司,可以说具有目前世界上最好的软件开发团队,在数据库等软件被编写出来之后,必然会通过大量测试人员的测试,但是即使通过这种世界上最优秀人员的测试和修改,的正式版软件依然会存在一些问题,对这些问题进行处理,就要依靠软件的安装和调试过程中,由此可以看出数据库软件调试的重要性,由于现在的数据库软件都具有很强的针对性,例如针对某个企业需求而编写的,这些软件在安装的过程中,就需要相应的专业人员进行调试,这个调试的过程与测试过程差不多,就是软件在安装到了相应的设备上之后,对其实际的运行情况进行观察,如果发现有不兼容的现象存在,就需要对软件或者硬件进行相应的调整。

2.2 ASP数据库软件的调试方法

调试的技术是在选定好相应的调试软件后的必然手段,下列的常用的就是较为常见的几种定位错误源并测试应用程序的调试技术。

1)实时(JIT)调试技术。

Microsoft脚本调试程序会在运行时错误中断了服务器端脚本执行的情况下而进行相关的自动启动,同时,使得相关的ASP程序代码得以显示,使得导致错误的行能够被语句指针指向,相关的错误消息同时生成。程序在使用这样的调试下一般都能暂停执行,相关的编辑工具,比如 Frontpage、Dreamweaver、记事本之类,进行错误改正后及时进行更改保存,然后进行相关的脚本继续运行操作。

2)断点调试技术。

预先设置“断点”的作用,就是在发生错误但又无法轻松地找到错误源的情况下,通过在指定的脚本行来设置断点而进行相关执行脚本的暂停,对于可疑的行来说,一个或多个不同的断点可以在之前进行设置,脚本中设置的变量或属性的值则是通过使用调试程序而进行检查。而在相关错误进行改正之后,断点就能够清楚标示,脚本就能够可以进行不间断的运行。

在Microsoft 脚本调试器中利用View \Running Document 命令,进行断点的设置操作,打开“Running Document”窗口,脚本在该窗口中打开,脚本中要中断的行进行确定,然后启动相关的Debug菜单中选择 Toggle Breakpoint 菜单项,以便进行相关的程序断点设置工作,重新请求脚本则是通过Web浏览器进行,计算机启动脚本调试程序会在执行到设置了断点的脚本行的过程中执行,一方面能够显示脚本,一方面还能够使得语句指针指向设置了断点的行。

3)使用VBScript的stop语句调试。

利用VBScript编写的服务器端脚本而进行相关的断点添加,主要方法就是,可以在服务器端脚本的可疑部分的某个位置,进行STOP语句插入,完成相关断点添加。

4)JavaScript的Debugger语句调试。

用JavaScript 编写的服务器端脚本中进行相关的断点添加,就是通过在脚本的可疑行之前进行debugger语句的插入,其语句的主要作用就是中断执行在每次脚本循环通过一个新值时,然后自动启动脚本调试程序;然后,在调试通过以后,生成的ASP 文件中删除相关的debugger语句,同时,不能混淆debugger语句与JavaScript 中的break 语句,其中,用于退出执行期间当前正在运行的循环则是break功能,而对于Microsoft 脚本调试器并没有激活功能,也不进行暂停的执行操作。

3 结束语

通过全文的分析可以知道,受到我国科技水平的限制,在计算机软件这种高新技术上,与西方发达国家,一直都有较大的差距,虽然我国近些年发展势头很猛,这种差距在逐渐的减小,但是就目前来看,在软件设计、编写和测试等环节中,依然有很多问题,尤其是在数据库软件这种大型软件的编写上,为了最大程度的保证软件的可靠性,需要大量的测试和调试工作,而要想做好测试和调试的工作,就应该根据数据库软件自身的特点,对测试和调试的概念及方法有一个深入的了解,而软件的测试和调试虽然有本质上的差异,但是在实际工作过程中,如果方法得当,就可以将软件的测试和调试有机结合,贯穿整个软件的设计、编写和安装过程,使软件从设计开始,就能够具有很好的安全性和稳定性。

参考文献

[1]孙界平,龚荣武,唐宁九.面向对象数据库系统的研究和开发[J].计算机应用研究,1997(03):8-10.

[2]钱建兴.数据库技术应用经验谈[J].上海高校图书情报学刊,1999(02):35-37.

[3]赵力海.针对数据库开发不同阶段的系统测试方法与技术研究[J].硅谷,2008(15):35.

[4]余矩生.数据库系统的设计分析与应用[J].汽车科技,1988(03):40-46.

[5]刘洪星,谭新明.Client/Server 数据库及其设计要点[J].武汉交通科技大学学报,1998(02):45-47.

作者简介

刘飞,男,四川人,大专,助理工程师。

石波,男,重庆人,大专,助理工程师。

上一篇:嵌入式实时软件在计算机软件设计中的应用 下一篇:数字时代学校计算机网络安全及流量维护研究