关键词:
数据库管理系统
安全模型
测试模板
测试用例
摘要:
数据库作为信息存储和处理的基础软件,其安全性对于敏感信息的保护至关重要。对数据库管理系统进行安全功能测试的重要任务之一就是对其进行安全模型的验证测试。安全模型是安全策略的表达,其为数据库管理系统实现安全功能提供了一种框架。测试时,需要根据安全模型的要求编写相应的测试用例,并使用测试用例来检测数据库管理系统内部数据流走向是否符合其设计之初所依赖安全模型的安全要求。依据安全模型生成数据库安全性测试的测试用例,对于提高测试效率,保障数据库管理系统的安全性具有重要意义。首先分析了数据库安全模型验证测试系统的需求,通过需求设计系统的总体结构,包括安全模型管理模块、测试模板生成器、测试用例生成器、测试报告生成器和模型数据管理模块。安全模型管理模块为用户提供了安全模型的录入与展示功能,用户可以新建、扩展和查看安全模型;测试模板生成器通过解析用户输入的转换规则的执行条件来自动化生成测试模板,首先编辑生成测试模板用到的若干基本测试脚本,并为执行条件和基本测试脚本建立对应关系,系统每解析一个条件都会读取与其对应的基本测试脚本,并将脚本添加到存储测试模板的变量中,系统会为每个条件设置符合和不符合条件的两个测试场景,以此来保证生成的测试模板能够覆盖到规则所有的执行条件;测试用例生成器的主要工作是将测试模板中的变量替换成具体的值,并利用测试模板为所有的数据库操作-客体组合生成对应的测试脚本,在替换变量时也会对脚本进行特殊情况的处理,比如依赖客体/权限的处理,从而保证最终生成的测试用例逻辑正确且能够覆盖数据库中所有的操作客体;测试报告生成器包括测试用例的执行和测试报告的生成,系统根据脚本的测试结果生成测试报告,并将其放入指定目录中供用户浏览;模型数据管理模块为用户提供了一个管理后台数据库的可视化界面,用户可以对后台数据库表进行管理,包括数据的增删改查。将系统的测试结果与预期结果进行对比,结果表明,系统能够为用户提供正确的、较为全面的安全模型及模型数据的管理功能;针对用户录入的安全模型,系统能够为其生成具有较好正确性和覆盖性的测试用例,并且可以使用生成的测试用例来对数据库的安全模型进行验证,最终生成的测试报告内容全面、清晰易懂。