国产化数据库管理系统软件测试方法分析
2021-11-25龚小姣
摘要:文章以国产化数据库为对象,介绍了国产化数据库管理系统的特点。并从锁机制集成、标准符合性、DBMS组件运行性能等方面,提出了几种国产化数据库管理系统软件测试方法,希望为国产数据库管理系统的型号选型、性能评估提供一些参考。
关键词:国产;数据库管理系统;软件测试
前言:在互联网技术逐渐深入世界各个角落之际,网络数据信息日益成为现代社会无法或缺的要素。为满足民众不断增长的数据访问速率、访问量要求,数据信息的存储技术也在不断发展。而当前数据信息的存储技术仍然存在一些问题。因此,利用软件测试方法,进行国产化数据库管理系统的测试分析非常必要。
一、国产化数据库管理系统特点
1、资源需求低
国产化数据库运行于嵌入式环境中,受嵌入式系统资源量的直接限制,运行时占用存储资源、内存资源均较少。同时其可以在雷达跟踪、指挥控制等强时效性系统中快速响应用户数据高效处理请求[1]。
2、运行环境复杂
国产化数据库具有专用性,仅可在特定软硬件环境下运行。因数据信息的存储领域软硬件类别较为多样,数据库运行环境也较为复杂。与此同时,国产化数据库也可以同时支持网状模型与关系模型、SQL函数与ODBC标准,兼容性较强。
3、平台无关性
国产化数据库可以运行在多种类别软硬件平台下,运行在数据库系统内的应用软件不会随着平台类型的转变而发生性能变化。同时由于国产化数据库管理系统中数据、程序处于分割状态,数据文件丢失时可保证关键数据的安全性。
二、国产化数据库管理系统软件测试方法
1、锁机制集成测试
锁机制集成测试主要借助相同序列前缀,将数据库中锁表操作视为一个序列,进行序列一致性状态、相同状态、相似状态的逐一描述,生成一个相同的序列前缀,判定当前状态敏感操作,此时,在Table锁头链表中Lock_request链仅有一个节点处于被授予状态,其他新锁请求均处于等待状态。进而根据敏感操作q=(U,T1,TableA,X)将结果到达状态划分为Q1、Q2两种。其中U表示链,T1表示事务,TableA表示节点,X表示锁,前者表示锁头链表后锁请求仅有一节点处于被授予状态;后者则表示锁头链表后表示对其加X锁请求节点消失。据此,有针对性地生成序列变体并将敏感操作剔除,获得用例集合。最终运行测试用例,检测数据库锁表是否达到正确状态,是则结束并返回测试结果,反之则寻找BUG后返回测试结果。
2、ODBC标准符合性测试
ODBC标准符合性主要指以某数据库产品以及其附属ODBC驱动程序为对象,利用测试用例或工具,进行SQL符合性测试、接口符合性测试,判定国产化数据库是否正确符合ODBC标准[2]。以2007年发行的虚谷共用数据库V4.0配套驱动程序rhodbc为例,可以利用若干台个人计算机与局域网搭建测试环境。其中个人计算机CPU为Intel Pentium IV、硬盘为80GB、内存为512MB,软件为Microsoft Windows Server2010,逐次开展SQL符合性测试、接口符合性测试。
SQL符合性测试主要指根据国内标准SQL-92规范,提取SQL符合性特性E01~E06、T01-T24、I01~I25方法,提交执行SQL Test Suite中的runsql.all文件指示的全部.sql脚本中SQL语句、附录B中关于SQLGetInfo函数规则中的函数验证输出值,开展SQL语法的支持性测试、SQLGetInfo符合性测试,分别打开runsql.all、odbcte32.exe,进而打开查询分析器以及一个.sql,确定是否完成,完成则结束,反之则利用所需用户名登录执行.SQL,确定是否成功,成功则进入“依次打开一个.sql”环节,反之则确定出错SQL语句并寻找对应SQL符合性特性后填入测试报告。
接口符合性测试主要是依据接口符合性特性序号C01~C20、I01~I09,逐次推进QuikTest测试、新编测试用例补充测试、基于ODBC Test直接测试。在QuikTest测试时,需要新建模块进行quiktest.def文件定义并在QuikTest工程中添加导出语句,进而连接QuikTest运行ODBC Test选择执行RunAuto Tests功能,确定是否完成,完成则结束,反之从测试项中逐次执行下一项测试。新编测试用例补充测试、基于ODBC Test直接测试均需要探讨QuikTest缺陷与缺失项,甄选需使用测试用例,确定全部完成后生成源码并对比结果,反之则执行Run Auto Tests项并掉用被测标准函数,发现BUG后寻找出错位置并修正rhodbc源代码。
3、DBMS组件测试
DBMS组件测试主要是对国产化数据库管理系统基本功能组件进行测试,涉及了支持数据类型、事务处理等内容。其中在支持数据类型测试时,需要在数据库表中添加日期时间、字符串、二进制串、时间间隔等多类别数据[3]。添加完毕后,查询所添加数据,判定查询結果显示数据正确与否,借此检测数据库支持多类型数据添加、查询功能是否实现。同理,在已有数据库表内进行数据类型的删除、修改,进而查询验证数据库管理系统是否支持多类别数据的删除、修改;在事物处理测试时,需要利用事物控制语句,进行事物自动调架状态设定并执行不包含begin的语句后回滚,查看回滚后结果判定软件是否可自动提交事务。确定软件可自动提交事务后,利用“begin”、“Submit”、“end”控制语句执行事务,查看并验证相应提交功能正确与否。同理,查看语句执行终点数据库管理事务回滚功能的准确性。
总结:
综上所述,国产化数据库管理系统具有资源需求低、运行环境复杂、平台无关性等特点,为确定国产化数据库运行功能,可以利用ODBC标准符合性测试、DBMS测试方法。根据测试结果,进行国产化数据库软件的编码调整,保证国产化数据库预期开发目标的顺利实现。
参考文献:
[1]孟伟君,陈瑞军,刘占英,朝鲁,刘楠.城轨云平台及其承载业务系统测试研究[J].交通世界,2020(25):17-23.
[2]詹凯琦.计算机软件开发中的数据库测试技术讨论[J].信息通信,2020(02):162-163.
[3]开金星.软件自动化测试技术研究[J].信息系统工程,2021(01):76-77.
作者简介:
龚小姣(1988-),女,汉族, 重庆人,硕士,供职于重庆军工产业集团有限公司,工程师,研究方向:信号与信息处理,重庆市渝北区,401120