如何基于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学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
3月前
|
缓存 运维 数据库
【测试人员兼职指南】利用专业技能:如何从测试转向开发赚钱
本文分享了作者作为测试人员如何利用专业技能转向开发来兼职赚钱的经验,包括分析和解决登录页面跳转、避免重复账号注册、用户登录后首页显示用户名以及添加退出功能等问题,并提供了Django项目中使用sqlite3数据库和后台管理的扩展技巧。
130 1
【测试人员兼职指南】利用专业技能:如何从测试转向开发赚钱
|
3月前
|
Java 测试技术 开发者
在软件开发中,测试至关重要,尤以单元测试和集成测试为然
在软件开发中,测试至关重要,尤以单元测试和集成测试为然。单元测试聚焦于Java中的类或方法等最小单元,确保其独立功能正确无误,及早发现问题。集成测试则着眼于模块间的交互,验证整体协作效能。为实现高效测试,需编写可测性强的代码,并选用JUnit等合适框架。同时,合理规划测试场景与利用Spring等工具也必不可少。遵循最佳实践,可提升测试质量,保障Java应用稳健前行。
49 1
|
1月前
|
测试技术 网络安全
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
文章全面介绍了软件测试的基本概念、目的、岗位分类、与开发和调试的区别,并阐述了成为优秀测试人员应具备的素质和技能。
179 1
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
|
5天前
|
安全 测试技术 持续交付
云计算时代的软件开发与测试:高效、灵活、可扩展
云计算时代的软件开发与测试:高效、灵活、可扩展
|
30天前
|
人工智能 监控 测试技术
云应用开发平台测试
云应用开发平台测试
47 2
|
1月前
|
敏捷开发 测试技术
开发模型(瀑布、螺旋、scrum) 和 测试模型(V、W)、增量和迭代、敏捷(思想)及敏捷开发 scrum
文章详细介绍了软件开发过程中的不同开发模型(瀑布、螺旋、Scrum)和测试模型(V模型、W模型),以及增量和迭代的概念,最后阐述了敏捷思想及其在敏捷开发(如Scrum)中的应用。
63 0
开发模型(瀑布、螺旋、scrum) 和 测试模型(V、W)、增量和迭代、敏捷(思想)及敏捷开发 scrum
|
2月前
|
测试技术 持续交付 UED
软件测试的艺术与科学:平衡创新与质量的探索在软件开发的波澜壮阔中,软件测试如同灯塔,指引着产品质量的方向。本文旨在深入探讨软件测试的核心价值,通过分析其在现代软件工程中的应用,揭示其背后的艺术性与科学性,并探讨如何在追求技术创新的同时确保产品的高质量标准。
软件测试不仅仅是技术活动,它融合了创造力和方法论,是软件开发过程中不可或缺的一环。本文首先概述了软件测试的重要性及其在项目生命周期中的角色,随后详细讨论了测试用例设计的创新方法、自动化测试的策略与挑战,以及如何通过持续集成/持续部署(CI/CD)流程优化产品质量。最后,文章强调了团队间沟通在确保测试有效性中的关键作用,并通过案例分析展示了这些原则在实践中的应用。
72 1
|
2月前
|
测试技术 UED 开发者
软件测试的艺术:从代码审查到用户反馈的全景探索在软件开发的宇宙中,测试是那颗确保星系正常运转的暗物质。它或许不总是站在聚光灯下,但无疑是支撑整个系统稳定性与可靠性的基石。《软件测试的艺术:从代码审查到用户反馈的全景探索》一文,旨在揭开软件测试这一神秘面纱,通过深入浅出的方式,引领读者穿梭于测试的各个环节,从细微处着眼,至宏观视角俯瞰,全方位解析如何打造无懈可击的软件产品。
本文以“软件测试的艺术”为核心,创新性地将技术深度与通俗易懂的语言风格相结合,绘制了一幅从代码审查到用户反馈全过程的测试蓝图。不同于常规摘要的枯燥概述,这里更像是一段旅程的预告片,承诺带领读者经历一场从微观世界到宏观视野的探索之旅,揭示每一个测试环节背后的哲学与实践智慧,让即便是非专业人士也能领略到软件测试的魅力所在,并从中获取实用的启示。
|
3月前
|
测试技术 API
软件测试:Postman 工具的使用。开发及测试均需要掌握的测试工具
这篇文章详细介绍了Postman工具的各个模块功能,包括创建请求、集合、环境、自动化测试等,并解释了如何使用Postman进行GET、POST、PUT和DELETE等常见HTTP请求的测试。
|
3月前
|
运维 Kubernetes 监控

热门文章

最新文章