如何基于Dataphin做到开发测试一站式搞定?

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
日志服务 SLS,月写入数据量 50GB 1个月
简介:

作者:彭静 更多内容详见数据中台官网 https://dp.alibaba.com

最近在Quora上的一次讨论,程序员分享了他们认为工作中最大的困难。其中排名第二的是:“写测试任务描述“。小姐姐很疑惑了,最难的难道不是写代码吗?写测试有什么难的呢?
数据研发也好,软件开发也好,其实大型任务通常是很复杂的,包含了成千上万行代码,其中数不清的交互接口、路径和逻辑;而要把每一个细节都检查确定结果无误后再提交代码其实是一件很困难的事情。因此某些开发方会鼓励开发GG们在编写程序之前就写好测试脚本。但是这无疑是一件枯燥乏味且耗时耗力的事情。

有没有什么办法可以让代码在本地快捷测试,测试全部通过再发布线上进行调度呢?如果发布了错误的脚本任务上线,会导致我线上的数据库受影响吗?
同学们,Dataphin给我们指了一条光明大道!

Dataphin支持本地数据调试、线上模拟测试,保障上线任务正确性

示例1、Dataphin·实时计算本地采样调试功能
对于每一个实时计算任务,我们支持对所用的表进行采样数据。
可以采样本地数据进行调试,不会影响到线上数据表,安全高效测试;同时我们支持算子调试,即无需采样数据的调试方法。调试完成后,可以看到调试的中间结果和调试结果,待调试完毕,可以提交该任务。随写随调,让任务开发安全有保障,上线任务更放心!
image
image
image

示例2、Dataphin·实时计算测试实例功能
除了本地数据的调试功能,我们还引进了全链路的测试功能。提交实时计算任务,在正式发布生产环境之前,可以在开发环境启动测试实例。我们支持两种测试方式:打印日志、写测试表;轻松掌控自己写的任务会对线上造成的影响。
image

打印日志的方式相对简单,无需引入额外成本。且可以非常直观地看到输出结果。可以被独立地测试与验证,适用于快速验证实时代码加工逻辑正确性的场景。推荐实时任务正式发布前先经过打印日志的测试。
image

打印日志的方式虽然可以发现实时任务的大多数问题,但是对于易购系统链路是否畅通,写入目标数据库系统时是否会因为设置、权限等问题报错,输出值是否能匹配到目标系统等问题,还需要通过写表的方式进行验证。因此我们提供了第二种方式,写测试表。
image

建议在使用打印日志的方式验证整体链路逻辑正确性后,再使用写测试表的方式验证输出结果与目标数据库的匹配问题。

Dataphin支持一站式开发和运维,简化全流程
写任务当然不是简单的脚本查询就够了!我如何能做到统一的任务管理、资源管理、运维监控等等一系列的事情呢?我想让所有数据资产化,函数资源可复用,任务可以周期定时触发,且有的指标可以实时计算,怎么去实现呢?选择Dataphin·通用研发,帮你实现从规划到开发、运维的一系列需求!

1、实时计算元表功能模块,统一创建、管理元表,简化了任务研发过程中的DDL过程,组件化配置数据表,让开发过程更加便捷高效。
image

2、函数、资源统一管理,可在代码任务中引用,平台化可多次复用。
image
image

3、实时计算代码模板化,有利于不同业务需求间的代码复用。
image

4、脚本任务提交发布调度,生成周期调度的任务,可进行定期触发,统一运维,监控报警等。
image

小姐姐已经被Dataphin圈粉了,满脑子都是,OMG,用它!更多内容详见数据中台官网 https://dp.alibaba.com

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
14天前
|
缓存 运维 数据库
【测试人员兼职指南】利用专业技能:如何从测试转向开发赚钱
本文分享了作者作为测试人员如何利用专业技能转向开发来兼职赚钱的经验,包括分析和解决登录页面跳转、避免重复账号注册、用户登录后首页显示用户名以及添加退出功能等问题,并提供了Django项目中使用sqlite3数据库和后台管理的扩展技巧。
33 1
【测试人员兼职指南】利用专业技能:如何从测试转向开发赚钱
|
17天前
|
Java 测试技术 开发者
在软件开发中,测试至关重要,尤以单元测试和集成测试为然
在软件开发中,测试至关重要,尤以单元测试和集成测试为然。单元测试聚焦于Java中的类或方法等最小单元,确保其独立功能正确无误,及早发现问题。集成测试则着眼于模块间的交互,验证整体协作效能。为实现高效测试,需编写可测性强的代码,并选用JUnit等合适框架。同时,合理规划测试场景与利用Spring等工具也必不可少。遵循最佳实践,可提升测试质量,保障Java应用稳健前行。
29 1
|
14天前
|
测试技术 API
软件测试:Postman 工具的使用。开发及测试均需要掌握的测试工具
这篇文章详细介绍了Postman工具的各个模块功能,包括创建请求、集合、环境、自动化测试等,并解释了如何使用Postman进行GET、POST、PUT和DELETE等常见HTTP请求的测试。
|
23天前
|
运维 Kubernetes 监控
|
28天前
|
机器学习/深度学习 人工智能
高于临床测试3倍准确率!剑桥大学开发AI模型,提前6年预测阿尔茨海默症
【8月更文挑战第9天】剑桥大学研发的人工智能模型在预测阿尔茨海默症方面取得突破,准确率比传统临床测试高三倍,能提前六年预测疾病发生。该模型基于深度学习,利用大量临床及神经影像数据识别生物标志物,预测准确性达80%。这一成果有望促进早期干预,改善患者预后,但仍需更大规模研究验证,并解决隐私与公平性等问题。论文已发表于《The Lancet》子刊。
34 6
|
5天前
|
测试技术 C# 开发者
“代码守护者:详解WPF开发中的单元测试策略与实践——从选择测试框架到编写模拟对象,全方位保障你的应用程序质量”
【8月更文挑战第31天】单元测试是确保软件质量的关键实践,尤其在复杂的WPF应用中更为重要。通过为每个小模块编写独立测试用例,可以验证代码的功能正确性并在早期发现错误。本文将介绍如何在WPF项目中引入单元测试,并通过具体示例演示其实施过程。首先选择合适的测试框架如NUnit或xUnit.net,并利用Moq模拟框架隔离外部依赖。接着,通过一个简单的WPF应用程序示例,展示如何模拟`IUserRepository`接口并验证`MainViewModel`加载用户数据的正确性。这有助于确保代码质量和未来的重构与扩展。
11 0
|
2月前
|
测试技术 Python
单元测试是软件开发中测试的最小单位
单元测试是软件开发中测试的最小单位
|
2月前
|
Java 编译器 运维
开发与运维测试问题之在JVM中方法区也被称之为什么如何解决
开发与运维测试问题之在JVM中方法区也被称之为什么如何解决
19 1
|
2月前
|
Java 开发者 运维
开发与运维测试问题之OpenJDK官方还未正式发布Compact Object Headers如何解决
开发与运维测试问题之OpenJDK官方还未正式发布Compact Object Headers如何解决
29 1
|
2月前
|
Java 大数据 测试技术
开发与运维测试问题之UseCompactObjectHeaders在SPECjbb2015基准测试中的表现如何解决
开发与运维测试问题之UseCompactObjectHeaders在SPECjbb2015基准测试中的表现如何解决
37 1
下一篇
DDNS