哈Ha! 今天,我们与您分享了有关如何将Mobile DevOps付诸实践的简单易懂的指南。 除了纸质手册,您还可以在剪切后找到同名工作室的视频录像,其中涵盖与移动开发相关的DevOps的各个方面。
我请作者维亚切斯拉夫·切尔尼科夫(Vyacheslav Chernikov)发言。移动DevOps:行动指南
读者们,问候您。 夏天再次以彗星的速度飞逝,而秋天又是恢复生产力的150%的时候了。 早在春天,我和Microsoft就如何最大程度地自动化开发移动应用程序的过程编写了指南“实践中的移动DevOps”。 以下是完整指南中的情况介绍。
1.关于DevOps
1.1关于DevOps文化
DevOps本身通过灵活的管理技术在地球上慢慢行走。 但是,如果您更深入一点,那么DevOps基本上是一种文化,开发和维护IT系统的整个团队都在其中运作。 在企业,程序员,系统管理员和测试人员之间建立健康的交互所需要的是团队内部的沟通。
任何DevOps流程的第二个重要要素是团队培训。 在理想的世界中,团队(从企业开始)应该学会更好地满足最终用户的需求,为消费者创造价值。 但是在实践中,还需要学习“价值”以计算和得出合理的结论。 对于培训,无论如何,都需要来自真实用户的反馈。 这种连接是用于IT系统和各种日志记录系统生存能力的连续监视系统。
为了使DevOps不仅存在于开发人员的头脑中,还必须使用适合任务需求的工具将其付诸实践。 DevOps文化的一部分还在于使日常活动自动化的愿望。 这使开发和开发IT系统的过程不再那么痛苦,而且效率更高。
1.2 DevOps与Mobile DevOps之间有什么区别
对于在大型IT系统上工作的大型团队和公司来说,DevOps本身就是一种方法,这些系统由大量模块组成,这些模块通常以不同的编程语言编写且针对不同的运行时环境而设计。 但是,随着术语和方法变得越来越流行,DevOps开始被解决各种问题的各个团队改编。
大多数情况下,DevOps与大型数字产品相关联,数十名,数百名,有时甚至数千名专家进行开发和维护。 许多团队已经开发出自己的实践和工具来支持DevOps流程-一种用于自动组装,测试,部署和监视的系统。 通常,这都是在自己的基础架构上创建的,但是CI / CD云工具也在积极开发中。
图1.移动DevOps与企业DevOps之间的区别所有这些与移动应用程序的开发几乎无关。 移动DevOps是常规DevOps的“较小”版本,因为移动应用程序主要是与外部IT系统进行交互的便捷界面。 团队规模较小,其特定于移动应用程序的问题(请参见图1):
1.3统一文档和单一语言
为了使DevOps能够正常工作并在团队之间进行真正的互动,您需要一种语言和一份工作文档,所有参与者都可以理解。 在这里,没有办法给出明确的指导方针,并且系统都是不同的。 但是,文档是项目在整个生命周期中始终存在的文档,并且是沟通和团队互动的工具。
图2.工作文档有能力的工作文档可以简化和加快项目的开发。 我们的指南#2“
移动应用程序的技术设计 ”中对此过程进行了详细说明。
在这里,我们将识别主要文档(参见图2):
-屏幕列表;
-过渡和国家地图;
-屏幕表。
在这些文档中使用端到端命名和编号很重要。 这就是简化并加速团队内部沟通过程的原因。 另一个重要因素是合规性“文档代码”,它使业务人员与开发人员之间的沟通更加清晰。
2. Mobile CI / CD的功能
因此,我们决定了交互和工作文档的文化,现在我们可以以CI / CD管道的形式继续获得工具支持。 您可以执行的操作越多越好。
2.1 Mobile Dev的问题
移动开发有3个不同的问题领域:
- 各种操作系统及其版本。 该应用程序应可在各种不同的OS上正常运行,每个OS都有其自身的特点和局限性。
- 中央处理器体系结构的各种选项。 智能手机和平板电脑的硬件在不断改进,但不要忘记五年前的“老人”,这些人可能掌握在您的实际用户手中。
- 设备的不同屏幕分辨率。 无论像素数或纵横比如何,移动应用程序的界面都必须在所有设备上正确显示。
通常,在大量真实设备上进行测试和调试是必不可少的。
2.2什么可以自动测试
实际上,没有在智能手机或平板电脑上进行手动测试就不可能做到。 但是,部分代码容易被基于单元测试的自动测试(以下简称为单元测试)覆盖。 让我们看一下大多数应用程序的典型架构-图3。
图3.经典的三层架构进行全面覆盖测试时,最好从两个方向进行测试:
- 数据访问层或存储库的单元测试(功能,集成)。
- 业务逻辑和用户界面层的UI测试(功能,回归)。
在移动应用程序中不可能用单元测试涵盖所有内容,而且这降低了开发和更新系统的速度。 对于CI / CD管道的自动单元测试阶段,涵盖以下DAL层机制将非常有用:
如果我们谈论自动UI测试,那么我们可以测试以下内容:
- 应用程序在具有必要特性的真实设备上的可操作性;
- 执行关键业务方案的能力。
根据UI测试的结果,将在每个设备的每个步骤中收集屏幕截图;根据质量检查,工程师可以在不同的分辨率和屏幕尺寸下手动查看应用程序的正确布局。
动画的便利性,流畅性和其他特定于用户的特性很难用于自动测试;最好由实时测试人员和Beta用户使用。
情况说明书结尾。
有用的材料
在实践中预订Mobile DevOps
纸质指南“实践中的移动DevOps”的完整数字版本 。“实践中的移动DevOps”研讨会的视频材料(4部分,共3.5小时)
第一部分
第二部分
第三部分
第4部分
DevOps峰会
我想现场讨论Mobile DevOps或提出问题-我很高兴在9月13日在莫斯科举行的Microsoft DevOps峰会(
注册 )或9月14日至15日在喀山的DevOps Days(
更多 )与您见面。
一如既往,我将非常感谢您的反馈和评论中的问题! 保持联系!
关于作者

Vyacheslav Chernikov是
Binwell开发部门的
负责人 ,Microsoft MVP和Xamarin Certified Developer。 过去,诺基亚冠军和Qt认证专家之一,目前是Xamarin和Azure平台的专家。 他于2005年进入移动领域,自2008年以来,他一直在开发移动应用程序:他从Symbian,Maemo,Meego,Windows Mobile开始,然后切换到iOS,Android和Windows Phone。
您也可以
在Medium博客上阅读Vyacheslav的文章。