大家好,又见面了,我是你们的朋友全栈君。
数据仓库ETL开发如何进行测试?
由于数据仓库中数据量比较庞大,还有为了安全因素,一般在开发库和测试库数据不完全或者和生成库(正式库)不一致,导致在测试库和开发库中进行代码测试存在一定的问题。
我们知道在软件开发过程中有很多测试的方法,按照测试方法可以分为白盒测试和黑盒测试。 白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试,它是知道产品内部工作过程,可 通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾 它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒 测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子, 在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收 输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于 软件确认测试。
可是在ETL(PL/SQL)开发中有什么好的测试方法呢?
个人认为ETL测试也应该有单元测试和集成测试等概念划分。
单元测试用于确认每个程序单元模块内部逻辑的正确性且符合需求规格要求;
集成测试是整个系统集成过程中所进行的测试,用于测试系统内部各单元模块能否在规定的硬件环境中按照需求规格正常运作,其主要目的是保证系统内部各程序单元模块之间的连通性和运行正确性。
具体的测试方法有代码REVIEW(如procedure 中的where条件检查等),边界值测试,错误猜测方法,ETL的粒度和任务调度检测,特殊值测试,空值的处理等等。
这里是我想到的一些方法,抛砖引玉,期待大家发表一下自己的意见,谢谢。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/141595.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...