APP下载

计算机软件开发中的数据库测试技术研究

2022-07-21李鹏基

无线互联科技 2022年9期
关键词:技术人员数据库软件

李鹏基

(兰州外语职业学院,甘肃 兰州 730101)

1 测试数据库设计

研究表明,对于已投入运行的软件而言,其性能往往与数据库性能密切相关,这也间接说明如若数据库所表现出运行效果不理想,软件必然会被影响,在对计算机软件进行开发时,出于全面优化数据库性能的考虑,技术人员通常需要将更多精力用在数据库升级方面,以此来为数据库各表所具有规范性提供保证[1]。

对数据库而言,其规范的范式主要分为1NF~5NF以及BCNF,结合实践经验可知,在设计软件系统时,技术人员应优先考虑利用3NF 处理逻辑数据,这是因为经过3NF 处理的数据结构可得到简化,真正做到了以满足应用需求为前提,最大程度降低维护难度。 这里要注意一点,虽然3NF 在规范化处理方面有良好表现,但也有尚未解决的问题存在,即:在数据处理环节,3NF需要拆分数据库各表,当测试工作进行到数据查询阶段,再对各表进行连接。 拆分、连接操作往往需要花费较多时间,不仅检索、查询信息的速度会受到影响,整体查询效果也无法得到保证。

对数据库设计进行测试的关键点,可被归纳如下:其一,对需求分析阶段所形成逻辑模型进行测试,该模型与用户需求密切相关。 其二,对业务进行开发时,测试内容应以实体测试为主,相关测试往往更具专业性。存储过程、视图和表均为数据库实体,要想使测试工作发挥出应有作用,基于上述实体展开测试很有必要,若测试结果表明实体设计有明显漏洞存在,则需要有关人员对问题成因进行分析,从而制定切实可行的优化对策,使实体设计更加严密且科学。 另外,实体测试的作用还体现在对软件功能合理性、完善性进行检查方面,除特殊情况外,有关人员均可通过实体测试对软件功能运行情况和平稳程度加以了解,如果实体测试结果表明数据库有大量冗余数据存在,则需要酌情对其进行优化,以免系统出现不必要的问题。 待测试环节告一段落,由技术人员联合设计人员围绕问题数据库展开讨论,确保设计人员可对数据库在设计方面所存在不足具有全面了解,通过更改设计方案、制定优化措施等方式,将由于设计失误导致故障出现的概率降至最低。

2 测试数据是否一致

2.1 测试表主键

待实体测试环节告一段落,技术人员便可着手对数据库表是否具有一致性进行测试。 相关测试结果往往能够反映数据库结构性及完善程度,具体测试流程如下:第一步,由技术人员对测试对象所提出需求加以了解。 第二步,以相关需求为依据,对表主键进行测试,通过逐一测试各表存储过程的方式,了解存储过程与数据库容量的关系。 第三步,根据测试结果,判断数据库是否具备良好的兼容性,为日后开发软件系统的工作提供保证,使数据库所开发系统在功能性、稳定性方面的表现达到预期。

2.2 测试主外键关系

对数据库测试而言,测试各表对应主外键关系极为重要,测试内容通常涉及信息类型和字段长度等方面,旨在保证字段长度所具有合理性得到精确定位,使其最大限度满足一致性要求[2]。 现阶段,无论是设计软件系统、还是开发软件系统的工作,均存在未将主外键关系纳入测试范围的情况,少数技术人员没有认识到该测试的重要性,对系统测试而言,缺少该测试所造成的问题主要是测试结果无法准确反映实际情况。 另外,在开展相关测试时,技术人员应密切关注标准字段所表现出的模糊性,这是因为字段模糊性与测试结果息息相关,极易致使测试结果出现不确定或是不准确的问题。 要想有效规避上述情况,关键是要以全面性和针对性为指导原则,将字段、信息长度和内在关联作为切入点,通过全面覆盖结合集中针对的方式,确保测试工作可得到有序开展,使测试结果得到巩固。

2.3 测试删除是否一致

对级联表进行测试时,技术人员应确保各项数据信息在删除操作方面具有良好的一致性,简单来说,在用户对主表所存储数据信息进行删除后,报表应自行删除对应数据信息。 以成绩管理系统为例,该系统往往包含两个报表,分别是成绩表和信息表,其中,作为信息表的分支,成绩表对应级联表,若管理人员对信息表某一栏信息进行了删除,系统将自动删除信息表相关信息。 正是由于数据库对删除一致性提出了严格要求,才确保数据处理效率得到了显著提高。 对需要运行大量软件应用的现代计算机而言,数据更新、变化及增删的操作不可避免,基于一致性作用对数据进行删除,其速度和准确度往往可变得更加理想。

3 测试数据库性能

作为实质测试阶段,性能测试对数据库具有极为重要的意义。 根据实践所积累经验可知,对数据库进行测试的侧重点应落在性能测试方面,为保证测试工作发挥出应有作用,技术人员应做到从软件开发需求出发,在对测试方法加以明确的基础上,结合现有工具制定切实可行的应用方案[3]。 另外,在实际工作中,以下内容同样需要技术人员引起重视:一是确保所应用测试软件科学且高效。 二是以信息技术为依托,同步开展云测试、在线测试工作,实时保存测试结果,将各项数据交由权威机构进行核实。 三是采取规范且标准的方式定位测试结果,在提高软件开发质量的前提下,为其顺利投入运行提供有力支持。 表1 为测试流程及具体内容。

表1 测试流程及具体内容

3.1 测试容量

随着技术的进步,由计算机软件负责存储并管理的数据量显著增加,这也给数据库容量提出了更为严格的要求,要想使数据库容量达到用户需求,当务之急便是以数据容量增长规律为依据,科学预估其增长情况,为日后维护、使用数据库的操作提供便利。 对数据库容量进行测试时,测试所记录数据量通常是各字段对应字节数之和,而表的数据量为记录数、记录数据量的乘积。 在了解各表数据量之和后,技术人员便可根据计算结果对数据库大小加以确定。 这里要明确一点,对软件系统所搭载数据库而言,其容量往往不受基本表影响,数据库所存储内容均需要占据一定容量,例如,存储过程、系统表还有视图,上述实体所占容量并不固定。 另外,数据库所存储日志容量,通常大于软件系统所预留容量,二者的比值约为2 ∶1。

3.2 测试运行能力

少数计算机在软件运行期间,偶尔会出现系统崩溃的情况,导致故障发生的原因主要是数据库性能无法达到使用要求,由此可见,在将软件投入使用前,技术人员应对数据库在不同工况下所表现出性能进行测试,保证数据库能够长期处于稳定运行状态,使软件在基础性能方面所提出需求得到最大程度的满足。 事实证明,基于传统手工测试模式对数据库性能进行测试,通常无法取得理想效果,为保证测试工作可发挥出应有作用,技术人员往往更倾向于借助专业软件展开测试。 目前,多数技术人员均选择利用DataFactory 辅助测试,该软件在数据测试、数据生产方面的表现极为突出,可快速形成百万行正确且有实际意义的测试数据,使测试工作具有坚实的数据基础[4]。 另外,该软件还可被用来对SQL 和DB2 等诸多数据库进行测试,其应用范围较其他软件更为广泛。 对该软件加以应用,可最大程度还原长期运行工况下,数据库所处状态和内部情况,确保技术人员能够对数据库性能进行快速且全面的了解。

对于容量不同的数据库而言,性能测试的目的主要体现在以下方面:首先是明确可使自身性能始终维持在最佳状态的方法。 其次是以各容量区间对应基本性能为基础,综合考虑信息负载量、应用场景等因素,对其性能加以调整。 最后是确保技术人员可及时发现并优化数据库在性能方面所存在的缺陷,以免在正式投入运行后出现不必要的问题。 与此同时还要明确一点,在测试数据库性能时,技术人员应确保测试环境完全一致,而提出这一要求的原因,主要是只有在不改变环境条件的前提下进行测试,才能确保测试结果具有比较意义,使测试结果具有的科学性和说服力得到彰显。

除此之外,压力测试同样需要引起重视。 从传统意义来说,对软件正确性进行测试的工作为功能性测试分支,只有软件功能正确,才代表软件质量合格,而面向数据库所开展压力测试,则属于典型的非功能测试,其作用主要是评价软件对指令进行响应的速度。对软件开发工作而言,可给软件响应速度产生影响的因素极多,既有众所周知的用户习惯和数据量,还有专业性较强的级联方法以及系统算法,如果大量用户选择在相同时间对系统进行访问,系统功能必然会被影响,针对数据库进行压力测试的重要性有目共睹。 无论是对淘宝等购物平台进行压力测试、还是对银行系统进行测试,其根本目的都是确保在数据库空间被大量数据占用的前提下,软件系统仍然能够正常运行。鉴于此,对软件进行压力测试就显得很有必要,这样做有助于用户对软件系统所能承受压力具有更准确的了解,真正做到以系统情况为依据,对业务接口以及对应开放时间加以调整。 当然,压力测试同样需要应对专业测试工具加以应用,现阶段,常见的测试方法包括数据库测试、Web 测试,可被用来优化反应时间的工具,则需要根据项目类型加以确定,例如,Java 对应JMeter,为保证优化效果达到预期,有关人员应对软件开发环境、核心系统有所了解,在此基础上对现有优化工具加以应用,这点需要尤为注意。

4 测试核心技术及措施

4.1 核心技术

4.1.1 处理接口数据

对负责传输数据的接口而言,其可靠性和准确性往往决定了系统功能的发挥效果,基于接口数据所开展测试处理工作,通常需要关注以下内容:首先是对系统接口数据进行提取,根据提取所得数据对临时表格进行编制。 其次是提取和接口密切相关的数据,并对临时表格进行编制。 最后是比对上述表格,确保数据信息具有高度一致性。 该技术的优点主要是能够使接口数据得到直接呈现,为后续管控工作的开展提供便利。 在此期间有关人员可选择对前台系统接口所提供数据进行针对性检查,明确数据所表现出一致性能否达到系统要求,从而确定切实可行的处理及优化方案。

4.1.2 查看日志

前台操作期间,有关人员应按下新增按钮,根据新增数据对数据库日志所记录内容加以了解,结合日志确定数据流向特征,通过系统分析的方式,为测试可靠性、准确性提供有力保证。 若要对该技术加以应用,有关人员既要对数据库日志具有系统且准确的了解,还应具备丰富的经验和突出的能力,确保数据表结构可得到科学处理,使该技术的价值得到最大程度实现。

4.2 测试措施

4.2.1 测试逻辑构架

测试逻辑架构的关键是要保证测试方法合理且科学,只有这样才能使测试效果得到显著提高。 对相关测试工作进行开展的流程如下:先对数据库字段名、列名报表和数据类型进行搜集,保证表名及表格直观且清晰,再利用所搜集信息进行测试。 研究表明,数据库主键值普遍具有位移的特征,而对逻辑架构进行测试的关键是对已发现漏洞进行系统分析,确定漏洞特点及成因,并提出相应的处理方案,真正做到利用科学措施对测试效果进行优化[5]。

4.2.2 数据认证

在数据库测试期间对数据进行系统认证,其作用主要体现在3 个方面,一是可确保数据库情况得到全面检查,二是依托测试环境自动生成镜像备份数据,并利用现有程序验证方式完成验证,三是通过提取数据库所存储镜像数据并进行比对的方式,对数据一致性做出判断。 另外,相关工作还需要对数据准确性加以了解,通过比对随机调取数据和镜像数据的方式,对数据准确性进行认证,充分利用合理且科学的方法完成测试处理工作,使数据库性能达到相关要求。

4.2.3 测试集成度

对集成测试技术加以应用的关键是以正确观念为导向,使测试任务得到高效完成。 该技术又被称作联合+组装技术,强调以单元测试为基础,根据设计标准对模块系统进行创建,通过组装的方式获得优质子系统,其特点是组织体系科学,可为集成化测试提供支持,使测试效果得到显著提升。

4.2.4 测试物理构架

集成测试的关键是以程序方式或其他现有工具方式为基础,快速检查数据库的数据存储情况,确保数据库能够做到先对数据来源加以了解,再对其进行存储。对存储工作而言,程序系统的作用主要是对字符长度、数据类型进行检查,明确数据库是否有漏洞或错误存在。 一般来说,错误数据均会被记录在测试日志中。待测试工作告一段落,无论测试处理所取得效果是否符合预期,相关程序均会对测试日志进行自动生成,如果存在错误,有关人员只需分析日志内容,便可明确错误数据所处位置并加以处理,使工作效率得到显著提高[6]。 由此可见,对数据库进行测试时,有关人员应形成正确的观念,明确测试物理构架的意义,充分利用现有技术开展测试工作,使测试效果达到预期。

5 结语

综上,在开发计算机软件时,通常需要对数据库进行多项测试,这是因为软件能否发挥出应有功能,主要由数据库运行状况决定,只有通过系统测试的方式,确保数据库无论处于何种工况均能为软件提供稳定运行所需数据支持,才能使软件开发整体水平及最终质量得到显著提高。 而从用户的角度来看,数据库测试所具有作用主要是确保资源得到充分利用,使软件系统所具有良好性能得到直观且充分的展现。

猜你喜欢

技术人员数据库软件
禅宗软件
越南农业管理和技术人员线上培训
我国首批正高级船舶专业技术人员评出
企业技术人员能力评价的探索
软件对对碰
数据库
数据库
数据库
数据库
马纯栋:维修技术人员应提高诊断仪的利用率