没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|行业资讯|编辑:郑恭琳|2021-02-01 13:59:21.617|阅读 138 次
概述:软件开发人员和测试人员每天面临的主要挑战之一是无法获取真实数据。很多时候,作为开发人员,您正在与下游服务进行交互,并且必须使用该环境中可用的任何数据,因为获取针对您的方案的实际可用数据的过程非常耗时。通常,您找不到所需的数据,并且必须从生产中获取数据,这带来了一系列新的挑战。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
软件开发人员和测试人员每天面临的主要挑战之一是无法获取真实数据。很多时候,作为开发人员,您正在与下游服务进行交互,并且必须使用该环境中可用的任何数据,因为获取针对您的方案的实际可用数据的过程非常耗时。通常,您找不到所需的数据,并且必须从生产中获取数据,这带来了一系列新的挑战。
更复杂的是,不能从生产中使用个人数据,因为这会增加组织被盗,丢失或暴露的风险。以雅虎最近的一次泄密事件为例,那里有5亿个电子邮件帐户被泄密,或者约680亿的LinkedIn用户最近遭到数据泄露。这些漏洞发生在安全性很高的生产级别。开发区域中使用的生产数据并不少见,安全性往往较低。以这种方式进行运营会对组织的品牌声誉造成重大风险。因此,必须清除或屏蔽敏感数据,这是一个耗时的过程,需要数据专家。
无论如何,数据是一个成本问题,因为它会使您减速。通过使用服务虚拟化,您不仅可以控制从属应用程序的行为和功能以稳定测试环境,而且还可以完全控制那些从属应用程序的数据源并提供当天需要的任何数据。此时,规则发生了变化,因为您现在不仅可以控制数据,还可以控制逻辑。您可以创建符合您希望的行为的服务,而不是严格遵循其正常行为模式。
在先前的博客中,我讨论了具有相同基本原理的缺陷虚拟化。但是我们在这里谈论的是服务逻辑。该博客将迈出下一步,并讨论数据控制。首先,让我们集中讨论测试人员和开发人员每天面临的当前数据挑战。
在应用程序开发过程的开始,测试所需的数据通常很简单,因为该服务的全部功能尚未实现。随着开发继续增加功能,测试成熟度增加,数据复杂性也增加。
例如,让我们使用我以前的博客文章中的示例-假设我是一家航空公司,正在开发机票页面上的功能。我需要验证用户是否可以获取他们的航班机票,并且取决于未来航班的飞行距离,用户将获得以下几种响应之一,随着时间的推移,响应会改变。在开发过程的开始,我可以简单地在未来3个月的飞行中生成一堆复杂的数据,这将使我能够进行目前需要的所有测试。但是当然问题是我只是在定时炸弹上点燃了保险丝。在三个月内,这些漂亮的数据将过期,而我可能已经忘记了它。突然我的所有测试都会在错误的时间开始失败,因为发布的版本即将发布,而我根本没有时间重新生成数据……听起来很熟悉吗?
通过在开发过程的早期引入服务虚拟化,您可以为提供解决这些数据挑战的解决方案奠定基础。虚拟服务的数据可以从多个位置获取,但是从一开始,简单的虚拟服务就从固定数据开始。您创建这些“固定资产”或模拟来解决假设情景测试阶段并使事情变得非常简单。这里的想法是,“我只需要一个可以响应此特定有效负载的服务。”
随着虚拟服务的成熟,有必要将数据与服务分离,这样,如果您想在仿真中添加逻辑,则实际上不必打开虚拟服务即可操作数据。实际上,成熟的用户以某种方式创建虚拟服务,即数据源可以处理大部分逻辑。然后,他们可以将数据源交给测试人员或测试数据管理团队,以插入此服务将来可能需要的任何数据。向服务添加新功能就像向数据源添加一行一样简单。这样可以共享虚拟化工作,并且一个虚拟服务可以容纳多个团队。虚拟服务成为可以根据需要增长和变化的生物。
一旦开发创建了最初的简单服务,测试团队就该接手了。测试团队将有更复杂的数据要求。这些数据从哪里来?通常,您从记录和回放中获取此数据。这通常是创建虚拟服务时的第一步。您记录应用程序和从属后端系统之间的事务,并使用此记录来创建虚拟服务。这使您可以创建一个非常有用的基准数据源,可以在需要时进行扩展。在我的航空公司示例中,这将使我们能够获得现实的航班号和目的地。数据将具有所有必要的复杂性,包括多航段和国际航班。数据源关联处理所有复杂的请求/响应关系,并且由于对“真实”数据的后续更改可以简单地重新记录并合并到现有的虚拟服务中,因此获取新数据变得无关紧要。
我们记录的数据不是来自生产环境,这可以防止我们在较低环境中遭受数据泄露。此类数据面临的挑战是,由于它不是来自生产环境,因此它不是完整的或最新的。在这里,数据生成和操作成为服务虚拟化的强大功能。
不存在的数据可以用简单的生成数据进行补充,以完全满足我们的需求。在我的航空公司示例中,响应中的航班日期始终可以是今天的日期,但要偏移3个月。通过使用数据生成,此任务变得微不足道。
通过提供动态数据来管理任何“未定义的”请求/响应关系,我们可以继续处理和操纵数据。这些是静态数据集中永远不会存在的关系类型。在航空公司示例中,假设向下游组件发出请求时,它会提供用户的当前位置,并将其用作响应中的出发点。由于我们的测试用例会不断变化,因此真正的服务必须维护所有当前位置,以便可以在响应中提供它们。通过使用虚拟服务,您不需要维护所有位置,只需将用户的当前位置动态返回为出发城市即可。
最后,可以以静态方式提供否定数据,也可以将其插入数据源以简化否定或异常测试。例如,在我的航空公司示例中,这将是插入随机取消或延误的航班,以验证用户在离开机场之前已收到通知。
在下面的视频中,我描述了开发人员在处理数据时面临的一些典型挑战,并向您展示了如何以我认为是服务虚拟化的一些非常酷的方式克服这些挑战。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn
通过本次更新,HOOPS Exchange不仅强化了对各类主流文件格式的支持,增强了跨平台的兼容性和稳定性,还为用户提供了更便捷、更高效的功能体验,进一步巩固了其在3D数据转换和交换领域的领先地位。
在工业和建筑领域,CAD 文件的处理至关重要。CADViewX 作为一款功能强大的 ActiveX 组件,能够为应用程序注入高效的 CAD 处理能力,助力企业和开发者轻松应对各类 CAD 文件操作需求。
在现代 Web 应用开发领域,Syncfusion 公司的 Essential Studio for JavaScript 脱颖而出,成为开发者构建高效、美观应用的得力助手。它不仅提供了丰富的 UI 组件库,还深度融合了性能优化与跨平台支持,帮助企业快速实现复杂业务需求。以下从功能特点、核心优势和应用场景三方面展开,带您全面了解这一工具。
工业3D应用开发,既要建模好、也要可视化强,选对技术栈非常关键。希望这篇对比能帮你理清选型方向,少踩坑、快上线!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢