持续测试系统和流程 基础设施团队可以从软件开发中借鉴一个重要的实践,那就是高效的自动化测试。自动化测试是高效能开发团队的一个核心实践。他们在编写代码的同时实现测试,并持续运行测试。随着每天对代码库做增量的变更,他们一天通常会运行数十次自动化测试。
为遗留系统编写自动化测试是一件很困难的事情。需要以某种方式对系统的设计进行解耦和结构化,从而形成可独立测试的组件。在实现系统的同时编写测试,有利于驱动整洁、简单的设计以及松散耦合的组件。
在开发过程中持续运行测试可以对变更给出快速的反馈。快速反馈让人们有信心快速、更频繁地进行变更。这在自动化的基础设施中尤其强大,因为一个小小的变更就可以非常快地造成很大的破坏(即DevOops)。良好的测试实践是消除自动化恐惧的关键因素。
为什么需要DevOps?
1、产品迭代
2、技术革新
DevOps技术栈
敏捷管理工具
Trello
Teambition
worktile
产品&质量管理
禅道
代码仓库管理
Git
Gitlab
Github
自动化构建脚本
Maven
ANT
虚拟机与容器化
VMware
Docker
持续集成&持续部署
Jenkins
自动化测试
Selenium
自动化运维工具
SaltStack
监控管理工具
Zabbix