大数据&云计算|2020年开发运维工具清单:选择开发运维工具堆栈吧!( 二 )
·BitBucket/Bamboo:它需要两种工具才能完成Gitlab的一项工作 , 尽管BitBucket云端支持Gitlab-CI/GitHub Action功能 , 但没有一家公司会轻易采用它 , 用于本地的BitBucket服务器甚至不支持BitBucket管道!
2.数据管理工具:FlywayDB
本文插图
网络应用程序开发中最容易忽视数据库的自动化需求 , 通常是对应用程序的新版本部署数据库架构更改的事后思考 , 其模式更改通常会添加或重命名列或表 。 如果应用程序版本与架构版本不匹配 , 该应用程序可能会完全损坏 。
由于存在两个不同的系统 , 因此通过应用程序升级来协调数据库更改也比较困难 , 而FlyWayDB解决了所有这些问题 。
其主要优势在于:
·数据库版本控制:FlyWay允许简单地创建数据库版本 , 跟踪数据库迁移以及轻松地前滚或回滚架构更改 , 无需某些定制解决方案 。
·二进制或内置:可以选择在应用程序启动时或二进制执行文件时运行Flyway 。 在代码中使用此工具 , 它能在启动时检查版本功能并进行适当的迁移 , 从而使数据库和应用程序版本保持同步 。 还可以临时运行命令行 , 为现有数据库提供灵活性 , 无需重建整个应用程序 。
该领域没有很多工具只有两个竞争对手可以看看:
·LiquiBase :如果对该工具有更多经验的人 , 那么我非常乐意通过FlyWay将该工具标准化 。
·Flocker :这可能仅适用于容器化的应用程序——在容器中运行数据库非常困难 , 必须精心计划才能成功执行 。 建议将RDS之类的服务用于数据库 , 而不要尝试运行存储在容器中的关键数据 。
本文插图
自动化测试工具
本文插图
首先将自动化工具安装到测试金字塔中 , 进而开始对自动测试工具进行评估 , 测试有四个方面:
·单元:这是所有自动化测试的基础 。 就数量而言 , 与其他类型相比 , 单元测试应该是最多的 。 这些测试应由软件开发人员编写和运行 , 以确保应用程序的一部分(称为“单元”)符合其设计并按预期运行 。
·组件:组件测试的主要目的是验证测试对象的输入/输出行为 。 这可以确保测试对象的功能按照所需的规范正常工作 。
·集成 :在测试阶段 , 各个软件模块组合在一起并作为一个整体进行测试 。
·端到端 :此层是一目了然的 。 研究从头到尾的整个应用程序流程 , 使其表现出预期的效果 。
1.集成测试工具: Cucumber
本文插图
Cucumber将规范和测试文档合并为一个紧密结合的有效文档 。 由于它们是由Cucumber自动测试的 , 因此规格总是最新的 。
如果要开始构建网络自动化测试框架 , 并模拟网络应用程序上的用户行为 , 具有Java和Cucumber BDD的Selenium WebDriver是在项目中学习和实现Cucumber的好方法 。
其主要优势在于:
·基于行为驱动的开发:Cucumber用于BDD测试 , 它已成为一种测试框架(与传统基于测试驱动的开发相比) 。
·有效的文档 :记录所做的事情总是很痛苦的 。 由于你的测试被定义为代码 , 因此Cucumber测试会自动生成文档进行匹配以确保它们始终保持同步 。
·支持:有很多工具可供选择 , 但总需要维修者来帮帮忙 。 Cucumber拥有足够的资金和支撑结构在未来几年维护该工具 。
该领域有许多框架和特定技术的工具 , 但是只有Cucumber几乎是万能的解决方案 。
推荐阅读
- 数据流|比亚迪M6用诊断仪无法读取TCU数据流检修
- 云计算|从互联网到AI崛起,上海能弯道超车吗?
- 技术编程|如何利用数据库进行世界史研究
- 行业互联网,AI人工智能|城市教育大脑以“ AI+ 大数据”为核心 , 引领教育变革
- 行业互联网,云计算|赛伯乐携手华为(重庆)人工智能创新中心聚焦AI前沿,助力企业数字化转型
- |如何分析“会员数据”,强化门店的竞争力?
- 数据|翼方健数解码隐私安全计算 实现数据“可用不可见”
- 云计算|腾讯云小微首次技术开放日,揭秘AI语音背后的奥秘
- 智慧城市|数据归心、AI赋能,打牢新型智慧城市建设基础
- 目标检测|数据民工也能移动办公了:目标检测标注App上线,分分钟创建私人数据集
