BI项目测试方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2、测试表是否完整正确:
赛意信息科技有限公司
BI测试范围
2、测试表是否完整正确: 表的完整性测试主要是指表的结构必须和ER 图相一致,在
这个测试部分必须测试 以下几个部分: 首先,需要验 证目的表的字段是否和ER图相同,目的表不能增加也不 能丢失任何 字段; 其次,需要对每一个字段的数据类 型进行验证,如INT不能是BIGINT类型,或者 CHAR不 能是VARCHAR类型;再次,对每一个数据类型的长度 进行验证,数据类型 长度太长会降低系统的性能,而数 据类型太短则会影响数据的精度。最后,必须对每一个 字段的约束进行验证,如该字段是否允许为空,是否是 能自增 长等。 在SQL2000系统中,可以使用“SP_HELP 表名”得到测试 表的结构信息。
赛意信息科技有限公司
BI测试范围
❖ BI测试范围 ▪ 数据源—数据仓库:增量、全量数据加载测试 ; ▪ 数据仓库—数据集市:基础层脚本测试、应用 脚本测试、任务/作业调度测试; ▪ 数据集市—前端展现:前端展现测试、业务验 证测试。
赛意信息科技有限公司
BI测试范围
❖ 数据仓库测试(以HOLAP数据仓库测试为例) ▪ 后台数据库的测试
Select count (1) from 事实表 nolock where D_ID not in (select A_ID from 维度表 D nolock)
Select count (1) from 事实表 nolock where E_ID not in (select A_ID from 维度表E nolock)
赛意信息科技有限公司
BI测试范围 ❖ 数据仓库测试(以HOLAP数据仓库测试为例)
▪ 前台立方体的测试
• 维度测试
1、维度结构测试
赛意信息科技有限公司
BI测试范围
以地理维度为例子,见图2.1,该维度有3个级别,分别是 Big Area Name,Region Name和 Country Medium Name。因此,对结构的测试分为2个 小部分:
2005年 IBM收购Ascential Software公司 Business Objects收购SRC软件公司
填补了Cognos在财务合并方面的空白 完善了IBM的BI中间件产品 加强IBM的信息整合、组织及管理的能力
使BO进入预算领域
2006年 Business Objects 公司收购 Firstlogic 使BO可提供完整的EIM解决方案
赛意信息科技有限公司
BI测试范围
如下图所示,有一个事实表和五个维度表(维度 表A,维度表B,维度表C,维度表D,维度表E) ,这六个表通过主外键关系相关联。事实表和维 度表A通过A_ID建立参照完整性的关系;同样, 事实表和维度表B通过B_ID建立参照完整性的关系 ;事实表和维度表C通过C_ID建立参照完整性的关 系;事实表和维度表D通过D_ID建立参照完整性 的关系;事实表和维度表E通过E_ID建立参照完整 性的关系。因此,作为测试人员必须至少写5个测 试用例来测试这个参照完整性。
• 结构测试(分为3部分)
1、测试表是否存在:使用测试用 例(Test Case)如下 SQL所示: » 如果运行结果返回0,则说明目的表不存在与当 前后 台数据库中,如果返回值为1,则表明目的表存在于 当前后台数据库中。 Select Count(1) from dbo.sysobjects where id = o bject_id(N’表名 ’ ) and objectproperty(id, N’IsuserTable’) =1
赛意信息科技有限公司
BI的体系架构
赛意信息科技有限公司
BI的发展历程
赛意信息科技有限公司
BI的发展趋势
❖ 功能上具有可配置性、灵活性、可变化性 ❖ 从单独的商业智能向嵌入式商业智能发展 ❖ 从传统功能向增强型功能转变 ❖ 加强了绩效管理功能 ❖ 产品模块的集成 ❖ 加强处理结构化和非结构化数据的能力 ❖ 加强了预测分析功能
赛意信息科技有限公司
主流BI厂商及产品 国际BI厂商
国内BI厂商
赛意信息科技有限公司
日期
主流BI厂商及产品
事件
备注
Cognos公司并购软件公司Adaytum Adaytum是一家商业软件的开发厂商
Business Objects公司(简称BO)收购 Crystal Decisions
2003年 Hyperion(海博龙)收购Brio
BIБайду номын сангаас试基础
——测试交付部 向长喜
目录
❖ BI概述 ❖ BI的体系架构 ❖ BI的发展历程 ❖ BI的发展趋势 ❖ 主流BI厂商及产品 ❖ BI测试范围 ❖ BI测试方法 ❖ BI测试工具
赛意信息科技有限公司
BI概述
❖ BI定义 ▪ BI是Business Intelligence简称,中文释为商业智 能,又称商务智能。通常理解为将企业中现有的数 据转化为知识,帮助企业做出明智的业务经营决策 的工具。商业智能的概念于是1996年由加特纳集 团(Gartner Group)最早提出:“商业智能描述 了一系列的概念和方法,通过应用基于事实的支持 系统来辅助商业决策的制定。商业智能技术提供企 业迅速分析数据的技术和方法,包括收集、管理和 分析数据,将这些数据转化为有用的信息,然后分 发到企业各处。” ▪ 目前,学术界对商业智能的定义并不统一。
赛意信息科技有限公司
BI测试范围
可以用如下几个测试用例来验证上图中数据仓库的数据传输后的数据准确性: Select count(1) from 数据源 inner join 关联表 on数据源 .A =关联表.A Inner join 目的
表 on关联表.A1 =目的表A1 And 数据源.B=目的表.B And 数据源.C =目的表 .C Where 数据源.Value1 <>目的表.Value1 Select count(1) from 数据源 inner join 关联表 on数据源 .A =关联表.A Inner join 目的 表 on关联表.A1 =目的表A1 And 数据源.B=目的表.B And 数据源.C =目的表 .C Where 数据源. Value2 <>目的表.Value2 Select count(1) from 数据源 inner join 关联表 on数据源 .A =关联表.A Inner join 目的 表 on关联表.A1 =目的表A1 And 数据源.B=目的表.B And 数据源.C =目的表 .C Where 数据源.Value3 <>目的表.Value3 Select count(1) from 数据源 inner join 关联表 on数据源 .A =关联表.A Inner join 目的 表 on关联表.A1 =目的表A1 And 数据源.B=目的表.BAnd 数据源.C =目的表 .C Where 数据源.Value4 <>目的表.Value4 或者可以用一个SQL语句实现如上所有的功能: Select count(1) from 数据源 inner join 关联表 on数据源 .A =关联表.A Inner join 目的 表 on关联表.A1 =目的表A1 And 数据源.B=目的表.B And 数据源.C =目的表 .C Where 数据源.Value1 <>目的表.Value1 Or 数据源.Value2 <>目的表.Value2 Or 数据源.Value3 <>目的表.Value3 Or 数据源.Value4 <>目的表.Value4 对于精度误差问题,可以用“ ABS(数据源.Value -目的表.Value) <0.001” (注:假设0.001 是允许误差)来代替“数据源.Value <>目的表.Value” 如果以上测试用例返回不等于0的值,则说明数据传输和转换失败或错误。
赛意信息科技有限公司
BI测试范围
赛意信息科技有限公司
BI测试范围
可以用如下5个测试用例来验证上图中数据仓库的星型模型中事 实表和维度表的参照完整性: •
Select count (1) from 事实表 nolock where A_ID not in (select A_ID from 维度表A nolock)
按照需求说明书验证该维度是否是3个级别,在验证每个级 别是否和需求一致。
Select count (1) from 事实表 nolock where B_ID not in (select B_ID from 维度表B nolock)
Select count (1) from 事实表 nolock where C_ID not in (select C_ID from 维度表 C nolock)
使BO在企业报表领域的功能加强 使Hyperion 的BI工具更多的覆盖在业务部门
Actuate收购Nimble Technologies Nimble Technologies是一家资料整合公司
Ascential收购Mercator
两家公司都属于交易处理软件开发领域的厂商
2004年 Cognos收购Frango IBM收购SRD
如果以上5个测试用例返回不等于0的值,则说明不满足参考完 整性,前端立方体(Cube)必定会刷新失败。
赛意信息科技有限公司
BI测试范围
数据测试
数据仓库的核心是大量的数据,数据在进入数据仓库之前必 须对数据进行预处理,包括抽取,转换和加载(ETL)。 测试人员必须测试这些数据是否准确,精度是否丢失,是 否符合需求说明。如下图中一个简单的数据转换和传输例 子,数据源的数据必须经过稍微的变换后加载到目的表中 。数据源的字段A和关联表关联后得到字段A1加载到目的 表中,其他数据源字段B,C ,D和Value1,Value2, Value3直接加载到目的表的B,C ,D和Value1,Value2 ,Value3。
赛意信息科技有限公司
BI测试范围
3、测试表的主外键是否正确: 众所周知,表的主键是定义了表的记录完整性,而外键则表明了参照完整
性,因而 表的主外键在表中是非常重要的,所以必须单独从其它测试 部分分离出来,作为一 个独立的测试模块进行验证。 同样,在SQL2000系统中,可以使用“SP_HELP 表名”得到测试表的主键 和外键的 信息。
微软收购ProClarity
使微软进入商业智能市场
赛意信息科技有限公司
国际厂商 国内厂商
主流BI厂商及产品
厂商 IBM Oracle Microsoft Informatica Teradata Sybase SAP
SAS 用友 金碟 润乾 明基逐鹿 东南融通
产品及简介 DB2以及Cognos、SPSS、DataStage,覆盖BI全部领域 BIEE、Hyperion,覆盖BI全部领域,数据挖掘领域有待加强 SQLServer,覆盖BI全部领域,适合中小型企业,性价比高 Informatica,主要是数据集成领域 Teradata,主要是数据仓库领域 SybaseIQ,主要是数据仓库领域 BusinessObjects、CrystalReports主要是报表领域和数据集成 领域 SAS,数据挖掘领域领先 BQ,主要是OLAP和报表领域,及数据集成领域行业解决方案 QlikView(QV),OEM瑞典厂商QlikTech 润乾报表,主要是OLAP和报表领域 Analyzer,SQL Server数据库的前端展现产品 BI.OFFICE主要是OLAP和报表领域
关系测试 数据仓库中各种表之间存在这一种关系。这种关系即是人们早 已熟知的“参照完整性”。“参照完整性”测试是数据仓库测 试的一个重要模块。“参照完整性”也称为“引用完整性”( 在本文中统一称为参照完整性),参照完整性指添加,修改或 删除记录时,表间的关联性不可破坏。在SQL Server中,参照 完整性基于主键与外键或唯一键(Unique)与外键的关系。参 照完整性确保在各个关联的表中的值是一致的【1】。 对于 数据仓库,存在着事实表(Fact Table)和维度表( Dimension Table),如果删除维度表中的某条记录,那么对 应的事实表也必须删除相关记录, 如果事实表插入新的记录, 那么维度表也必须插入相关的记录。
赛意信息科技有限公司
BI测试范围
2、测试表是否完整正确: 表的完整性测试主要是指表的结构必须和ER 图相一致,在
这个测试部分必须测试 以下几个部分: 首先,需要验 证目的表的字段是否和ER图相同,目的表不能增加也不 能丢失任何 字段; 其次,需要对每一个字段的数据类 型进行验证,如INT不能是BIGINT类型,或者 CHAR不 能是VARCHAR类型;再次,对每一个数据类型的长度 进行验证,数据类型 长度太长会降低系统的性能,而数 据类型太短则会影响数据的精度。最后,必须对每一个 字段的约束进行验证,如该字段是否允许为空,是否是 能自增 长等。 在SQL2000系统中,可以使用“SP_HELP 表名”得到测试 表的结构信息。
赛意信息科技有限公司
BI测试范围
❖ BI测试范围 ▪ 数据源—数据仓库:增量、全量数据加载测试 ; ▪ 数据仓库—数据集市:基础层脚本测试、应用 脚本测试、任务/作业调度测试; ▪ 数据集市—前端展现:前端展现测试、业务验 证测试。
赛意信息科技有限公司
BI测试范围
❖ 数据仓库测试(以HOLAP数据仓库测试为例) ▪ 后台数据库的测试
Select count (1) from 事实表 nolock where D_ID not in (select A_ID from 维度表 D nolock)
Select count (1) from 事实表 nolock where E_ID not in (select A_ID from 维度表E nolock)
赛意信息科技有限公司
BI测试范围 ❖ 数据仓库测试(以HOLAP数据仓库测试为例)
▪ 前台立方体的测试
• 维度测试
1、维度结构测试
赛意信息科技有限公司
BI测试范围
以地理维度为例子,见图2.1,该维度有3个级别,分别是 Big Area Name,Region Name和 Country Medium Name。因此,对结构的测试分为2个 小部分:
2005年 IBM收购Ascential Software公司 Business Objects收购SRC软件公司
填补了Cognos在财务合并方面的空白 完善了IBM的BI中间件产品 加强IBM的信息整合、组织及管理的能力
使BO进入预算领域
2006年 Business Objects 公司收购 Firstlogic 使BO可提供完整的EIM解决方案
赛意信息科技有限公司
BI测试范围
如下图所示,有一个事实表和五个维度表(维度 表A,维度表B,维度表C,维度表D,维度表E) ,这六个表通过主外键关系相关联。事实表和维 度表A通过A_ID建立参照完整性的关系;同样, 事实表和维度表B通过B_ID建立参照完整性的关系 ;事实表和维度表C通过C_ID建立参照完整性的关 系;事实表和维度表D通过D_ID建立参照完整性 的关系;事实表和维度表E通过E_ID建立参照完整 性的关系。因此,作为测试人员必须至少写5个测 试用例来测试这个参照完整性。
• 结构测试(分为3部分)
1、测试表是否存在:使用测试用 例(Test Case)如下 SQL所示: » 如果运行结果返回0,则说明目的表不存在与当 前后 台数据库中,如果返回值为1,则表明目的表存在于 当前后台数据库中。 Select Count(1) from dbo.sysobjects where id = o bject_id(N’表名 ’ ) and objectproperty(id, N’IsuserTable’) =1
赛意信息科技有限公司
BI的体系架构
赛意信息科技有限公司
BI的发展历程
赛意信息科技有限公司
BI的发展趋势
❖ 功能上具有可配置性、灵活性、可变化性 ❖ 从单独的商业智能向嵌入式商业智能发展 ❖ 从传统功能向增强型功能转变 ❖ 加强了绩效管理功能 ❖ 产品模块的集成 ❖ 加强处理结构化和非结构化数据的能力 ❖ 加强了预测分析功能
赛意信息科技有限公司
主流BI厂商及产品 国际BI厂商
国内BI厂商
赛意信息科技有限公司
日期
主流BI厂商及产品
事件
备注
Cognos公司并购软件公司Adaytum Adaytum是一家商业软件的开发厂商
Business Objects公司(简称BO)收购 Crystal Decisions
2003年 Hyperion(海博龙)收购Brio
BIБайду номын сангаас试基础
——测试交付部 向长喜
目录
❖ BI概述 ❖ BI的体系架构 ❖ BI的发展历程 ❖ BI的发展趋势 ❖ 主流BI厂商及产品 ❖ BI测试范围 ❖ BI测试方法 ❖ BI测试工具
赛意信息科技有限公司
BI概述
❖ BI定义 ▪ BI是Business Intelligence简称,中文释为商业智 能,又称商务智能。通常理解为将企业中现有的数 据转化为知识,帮助企业做出明智的业务经营决策 的工具。商业智能的概念于是1996年由加特纳集 团(Gartner Group)最早提出:“商业智能描述 了一系列的概念和方法,通过应用基于事实的支持 系统来辅助商业决策的制定。商业智能技术提供企 业迅速分析数据的技术和方法,包括收集、管理和 分析数据,将这些数据转化为有用的信息,然后分 发到企业各处。” ▪ 目前,学术界对商业智能的定义并不统一。
赛意信息科技有限公司
BI测试范围
可以用如下几个测试用例来验证上图中数据仓库的数据传输后的数据准确性: Select count(1) from 数据源 inner join 关联表 on数据源 .A =关联表.A Inner join 目的
表 on关联表.A1 =目的表A1 And 数据源.B=目的表.B And 数据源.C =目的表 .C Where 数据源.Value1 <>目的表.Value1 Select count(1) from 数据源 inner join 关联表 on数据源 .A =关联表.A Inner join 目的 表 on关联表.A1 =目的表A1 And 数据源.B=目的表.B And 数据源.C =目的表 .C Where 数据源. Value2 <>目的表.Value2 Select count(1) from 数据源 inner join 关联表 on数据源 .A =关联表.A Inner join 目的 表 on关联表.A1 =目的表A1 And 数据源.B=目的表.B And 数据源.C =目的表 .C Where 数据源.Value3 <>目的表.Value3 Select count(1) from 数据源 inner join 关联表 on数据源 .A =关联表.A Inner join 目的 表 on关联表.A1 =目的表A1 And 数据源.B=目的表.BAnd 数据源.C =目的表 .C Where 数据源.Value4 <>目的表.Value4 或者可以用一个SQL语句实现如上所有的功能: Select count(1) from 数据源 inner join 关联表 on数据源 .A =关联表.A Inner join 目的 表 on关联表.A1 =目的表A1 And 数据源.B=目的表.B And 数据源.C =目的表 .C Where 数据源.Value1 <>目的表.Value1 Or 数据源.Value2 <>目的表.Value2 Or 数据源.Value3 <>目的表.Value3 Or 数据源.Value4 <>目的表.Value4 对于精度误差问题,可以用“ ABS(数据源.Value -目的表.Value) <0.001” (注:假设0.001 是允许误差)来代替“数据源.Value <>目的表.Value” 如果以上测试用例返回不等于0的值,则说明数据传输和转换失败或错误。
赛意信息科技有限公司
BI测试范围
赛意信息科技有限公司
BI测试范围
可以用如下5个测试用例来验证上图中数据仓库的星型模型中事 实表和维度表的参照完整性: •
Select count (1) from 事实表 nolock where A_ID not in (select A_ID from 维度表A nolock)
按照需求说明书验证该维度是否是3个级别,在验证每个级 别是否和需求一致。
Select count (1) from 事实表 nolock where B_ID not in (select B_ID from 维度表B nolock)
Select count (1) from 事实表 nolock where C_ID not in (select C_ID from 维度表 C nolock)
使BO在企业报表领域的功能加强 使Hyperion 的BI工具更多的覆盖在业务部门
Actuate收购Nimble Technologies Nimble Technologies是一家资料整合公司
Ascential收购Mercator
两家公司都属于交易处理软件开发领域的厂商
2004年 Cognos收购Frango IBM收购SRD
如果以上5个测试用例返回不等于0的值,则说明不满足参考完 整性,前端立方体(Cube)必定会刷新失败。
赛意信息科技有限公司
BI测试范围
数据测试
数据仓库的核心是大量的数据,数据在进入数据仓库之前必 须对数据进行预处理,包括抽取,转换和加载(ETL)。 测试人员必须测试这些数据是否准确,精度是否丢失,是 否符合需求说明。如下图中一个简单的数据转换和传输例 子,数据源的数据必须经过稍微的变换后加载到目的表中 。数据源的字段A和关联表关联后得到字段A1加载到目的 表中,其他数据源字段B,C ,D和Value1,Value2, Value3直接加载到目的表的B,C ,D和Value1,Value2 ,Value3。
赛意信息科技有限公司
BI测试范围
3、测试表的主外键是否正确: 众所周知,表的主键是定义了表的记录完整性,而外键则表明了参照完整
性,因而 表的主外键在表中是非常重要的,所以必须单独从其它测试 部分分离出来,作为一 个独立的测试模块进行验证。 同样,在SQL2000系统中,可以使用“SP_HELP 表名”得到测试表的主键 和外键的 信息。
微软收购ProClarity
使微软进入商业智能市场
赛意信息科技有限公司
国际厂商 国内厂商
主流BI厂商及产品
厂商 IBM Oracle Microsoft Informatica Teradata Sybase SAP
SAS 用友 金碟 润乾 明基逐鹿 东南融通
产品及简介 DB2以及Cognos、SPSS、DataStage,覆盖BI全部领域 BIEE、Hyperion,覆盖BI全部领域,数据挖掘领域有待加强 SQLServer,覆盖BI全部领域,适合中小型企业,性价比高 Informatica,主要是数据集成领域 Teradata,主要是数据仓库领域 SybaseIQ,主要是数据仓库领域 BusinessObjects、CrystalReports主要是报表领域和数据集成 领域 SAS,数据挖掘领域领先 BQ,主要是OLAP和报表领域,及数据集成领域行业解决方案 QlikView(QV),OEM瑞典厂商QlikTech 润乾报表,主要是OLAP和报表领域 Analyzer,SQL Server数据库的前端展现产品 BI.OFFICE主要是OLAP和报表领域
关系测试 数据仓库中各种表之间存在这一种关系。这种关系即是人们早 已熟知的“参照完整性”。“参照完整性”测试是数据仓库测 试的一个重要模块。“参照完整性”也称为“引用完整性”( 在本文中统一称为参照完整性),参照完整性指添加,修改或 删除记录时,表间的关联性不可破坏。在SQL Server中,参照 完整性基于主键与外键或唯一键(Unique)与外键的关系。参 照完整性确保在各个关联的表中的值是一致的【1】。 对于 数据仓库,存在着事实表(Fact Table)和维度表( Dimension Table),如果删除维度表中的某条记录,那么对 应的事实表也必须删除相关记录, 如果事实表插入新的记录, 那么维度表也必须插入相关的记录。