现在的位置: 首页 > 综合 > 正文

CUBRID自动化测试框架

2013年12月03日 ⁄ 综合 ⁄ 共 1642字 ⁄ 字号 评论关闭

作者:张强

 

 

 

本文主要介绍对CUBRID数据库实现自动化测试的方法自动化测试支持ConsoleGUI两种方式。同时测试框架可以在LinuxUnix)及Windows系统上运行。如下图所示CUBRID的自动化测试主要包括以下几步:

(1)    Check out files, SVN更新test cases

(2)    Get test build, 获取每天最新版本的待测试的CUBRID

(3)    Install CUBRID, 自动化安装CUBRID到指定Server

(4)    Setup environments, 设置自动化测试环境。

(5)    Test, Generate report, 执行测试,并生成测试报告。

(6)    Deploy test report, 发布测试报告到Web Server.

(7)    View Test Report, 通过浏览器查看测试报告。

 

 

 

 

根据测试目的的不同可以将对数据库的测试分为两类,Query测试和Script测试。

 

 

1.         Query测试

 

所谓Query测试,就是编写包含SQL语句的测试实例(CASE)和针对每条SQL语句的期望结果(Answer),执行测试,生成测试结果(Result) 比较测试结果和期望结果生成测试报告(Report)

 

(1)   测试Scenario

Query测试中的Scenario指测试方案,Scenario的结构如下。

 

 

 

 

A.   Scenario的特征

l 树形结构,深度可以是无限级。

l Case1.sql, case1.answer等代表测试实例(CASE)

l Case1.answer, case2.answer等代表期望的测试结果(Answer)

l 测试用例和测试结果要成对保存

l 测试用例和测试结果不止可以保存在叶子节点也可以保存在中间节点。

B.   文件的结构

l 路径名/_readme.txt 文件中,记述该路径中包含的测试用例的内容

 

 

 

l 一个测试实例如 case1.sql”,第一行用注释开始,简单记述对该实例的说明。每条SQL语句结尾用“;”区分

 

l 期望结果记录在 case1.answer”名字的文件中. 每条SQL语句的执行结果使用-------------来区分。各列用 || 进行区分。 insert, update, delete语句执行的结果就是受该语句影响的行数.

 

 

l CASE还可以使用支持 Preparestatement Dynamic SQL。测试示例如下

 

(1)   测试结果

 

保存测试结果的目录结构如下

 

 

A.  创建报告ID,报告ID的格式 如下

l 测试日期-测试时间-测试种类-测试OS-DB版本-序列号

 

B.  文件的结构

l 在各节点的 summary_info 文件中,保存了关于测试的综合信息,该信息如下

ü 各路径中包含的全部测试个数与成功/失败件数,全部执行时间

ü 各测试用例的执行时间

ü 测试数据库与CASE的版本信息

ü 报告ID 中包含的信息

l 测试结果文件中保存各测试用例的结果文件。但只保存失败的测试结果

 

(1)   执行测试

 

A.   测试

l 输入一个以上的测试用例,执行测试

l 输入一个以上的路径(中间节点),执行测试。

l 同时输入一个以上的文件和路径的名称,进行测试。

 

B.   查看测试用例

l 根据Scenario的树形结构,显示各测试CASE内容

 

C.   测试结果管理

l 通过测试报告树形结构,显示所有测试报告列表

l 打开某个测试报告之后,显示测试结果。在测试结果中输出如下信息

ü 关于整个测试的概要信息和各Sub路径中包含的全部测试个数以及成功/失败件数,全部执行时间

ü 各测试用例的执行时间

ü 测试执行日期与时间

ü 测试数据库与CASE的版本信息

 

1.         Script测试

 

所谓Script测试主要处理SQL的测试中无法处理的部分,对这些部分进行测试。比如说CUBRID中对于启动/停止数据库、检测进程等只有运行相应的命令才可以测试的部分。测试执行的方式与Query测试类似-->

作者:

抱歉!评论已关闭.