ETL Testing

2017-12-29   出处:埃森哲测试中心  作/译者:韩越  

小伙伴们大家好,TCOE 又来了!

这次要和大家分享的话题是,大数据的数据清洗测试要怎么做?

大数据项目一般都有数据获取,数据清洗,数据发掘,数据可视化, 数据分析等等,这次给大家介绍的主要是数据清洗的测试。

大数据和功能测试的相同点就是用Expect Result和Actual Result 做对比即可。不同点在于对于Tester来说,功能测试或者功能自动化测试来说,Expect result 都是明确的,比如页面上应该显示的信息,所测的应用对于用户行为的正确反应等等。 所以大数据很大一部分工作在于我们要对比Expect result 和Actual Result, 首先需要找到Expect Result!

 那么问题来了,怎么找到Expect Result呢?怎么从XXX GB, 甚至XXX TB的数据总得到Expect Result 呢?在这里,自动化测试就是完全必要的了,如果功能测试用Manual 也能完成,那么大数据手工测试就像用手指数一下银河系里有多少星星了。举个例子,一个日志文件有300列,10W+ 条记录,每天生成一个,我们需要用N个月的数据生成前端的几个报表,Tester怎么知道报表里的数字是对的还是错的呢?


这次给大家介绍的工具TALEND STUDIO是一款免费的ETL工具, (这个工具本身并不是自动化测试专门的工具),它具有可视图形化操作界面,基本无需编码,丰富的图形化转换功能。 通过拖拽的方式就可以方便的使用里面的组件对数据进行各种处理。所以不太熟悉代码的小伙伴完全不用担心。

大多数典型的大数据项目里,都会有大数据项目,一般都有数据获取,数据清洗,数据发掘,数据可视化, 数据分析等等。 我们的项目中,大数据的开发同事将获取到的原始数据存储到HDFS中,按照业务逻辑进行清洗,将清洗后的Hive表作为中间结果提供给Data visualization的同事使用,Datavisualization 进一步根据业务逻辑计算分析生成最终报表展示给用户。


                                             测试场景举例1 :单个日志文件处理以及合成


                     测试场景举例2 :将中间表的Expect Result 和Actual Result 进行自动对比

将格式一致的Expect 和Actual 输出后,对比每行里的内容,如果有不一致的地方,将它们捕获。并且对比记录的差异,比如在Expect里存在Actual不存在的,这些都可以自动Log下来。


                                                      测试场景举例3 :测试计算逻辑

按照用户的业务逻辑,对用户所需要的最终结果进行各种逻辑计算 。最终计算的结果用于与展示在前台的结果对比 。    


欢迎给测试窝投稿或参与内容翻译工作,请邮件至editors@testwo.com。也欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,并与我们的编辑和其他窝友交流。
188°|1882 人阅读|0 条评论

登录 后发表评论