欢迎光临
梦想从学习开始!

那些拯救程序员的神器 | 自动化敏捷开发| 小熊测试

本文主要介绍 那些拯救程序员的神器 | 自动化敏捷开发| 小熊测试,小熊希望对大家的学习或者工作具有一定的参考学习价值,在测试领域有所提升和发展。

  程序猿们,如果你感觉到总是在做反复的、机械的工作,你或许可以考虑找些工具帮帮你了。如果你所在的团队号称在做「敏捷开发」,但还是有做不完的重复劳动,也许你们还不够敏捷。


您现在正在阅读的是由小熊分享邦为您整理的 那些拯救程序员的神器 | 自动化敏捷开发| 小熊测试

  敏捷开发所谓的快指的是「反应快」。敏捷的优势在于用更短的迭代周期去应对不断变更的需求,持续地交付可用的软件。而要在短短的两周或者一个月内交付可用的软件,同样意味着在这个周期内要完成集成、部署、测试等一系列的工作。如果把这些工作都交给开发人员去做,那还有什么时间好好地开发呢?

  本文将从沟通、开发、质量这几个方面来介绍一些常用和可靠的工具和它们的使用场景,它们不仅仅适用于敏捷开发。一起看看到底有哪些「重复劳动」可以被工具干掉。

  自动化「沟通」

  生命周期管理

  Lifecycle Management

  如果你的项目的需求、任务都还放在长长的Word、Excel文档里,那么是时候找一个项目管理工具了。项目管理工具帮助跟踪和控制项目的整个生命周期:

  ●实时监控项目的进程

  不管是项目成员或是客户,都渴望了解项目的实时进展情况。燃尽图、缺陷数量、项目成员变动、风险值、当前迭代交付的内容,项目管理工具可以实时统计和跟踪这些数据。

  ●了解每个项目成员的工作

  项目管理工具上可以记录任务、用户故事、缺陷,并指派给相应的成员。成员可以记录每项工作所花费的时间、更改工作的状态。开发人员可以了解需求及变更,及时和管理人员甚至直接与客户沟通。

  ●定制开发流程

  多数的项目管理工具提供了定制流程的功能,保证任何团队都能根据自己的计划和流程完成工作。

  ●随时随地的办公

  你会不会在下班时间手痒去查收一下工作邮件呢?或是说你频繁出差、跟外国友人合作,多数的项目管理工具现在都提供移动端App,保证你随时随地的透明化办公。

  常用的项目管理工具有:Jira, Redmine, Trello, Teambition, Visual Studio Team Foundation Server

  消灭重复劳动:手工分析和跟踪项目进度、从长长的文档中找两行关于自己工作的需求

  预计每周节省时间: 5小时

  聊天工具

  Communication Tool

  很多人可能都会用QQ、微信、Skype for Business来交流工作,他们也许是够用了,可是就是有这么一个软件异军突起,专注于企业级的聊天工具——Slack,连微软都不得不做了一个仿制品。Slack这类的聊天工具的特别之处在于:

  ●分组通讯

  不管是全公司的公用频道、项目频道、某项技术交流的频道还是临时成立的讨论组、私信聊天,Slack都清楚地区分开来。这些频道和分组都是永久保留的,不用担心聊天记录的丢失。Slack也提供@的功能,可以让同事不会错过你的发言,他也可以随时查看所有@他的聊天记录。

  ●出色的搜索和文件管理

  Slack提供强大的聊天记录的功能,可以快速定位到之前的某条记录。你也可以对某条记录做星标,保证你不会漏掉BOSS给你布置的任务。Slack也会保存聊天中所有的文件,提供实时的预览功能,你也可以很轻松地查看某个分组下所有的文件。

  ●集成管理工具

  Slack可以接收来自项目管理工具、云存储平台、版本控制平台的各类消息通知。让你专注于工作。

  ●跨平台同步

  跟项目管理工具一样,现代的聊天工具必然是跨各个终端的,保证你随时随地的加班(误)。

  不管是Slack还是Microsoft Teams,都让沟通更加的透明、高效,「边聊天边工作」吧。

  消灭重复劳动:打开各个工具平台查看通知、发送一句话邮件

  预计每周节省时间: 4小时
  自动化「开发」

  版本控制

  Version Control

  版本控制系统是自动化开发的基础。这里不赘述版本控制的重要性了。

  常用的版本控制工具有:SVN, Bitbucket, Gitlab, GitHub, Perforce

  消灭重复劳动:集成代码、版本回溯

  预计每周节省时间: 8小时
  依赖管理

  Dependency Management

  开发中很常见的外部依赖,你还在手动下载和导入吗?如果你不是一个人在开发呢,如果版本更新了呢,这种传统的方式会变成一种噩梦吧。相信还在这样做的团队已经非常少了。

  这里介绍一些常用的工具:

  拿Maven来说,把各类依赖集中地放在「仓库」,只需要简单的配置文件,就可以帮助开发人员自动管理和下载依赖。如果你的工程需要一个集成一些重复利用率很高的依赖的基础模板,Maven也可以做到。

  通常来说,依赖管理工具同时也是构建工具,Maven可以进行编译、单元测试、部署,一个按钮加一条预设的命令脚本,搞定!

  消灭重复劳动:下载和导入依赖、保持最新依赖版本

  预计每周节省时间: 2小时
  持续集成

  Continuous Integration

  由于软件通常是由多个模块组成的,集成它们是生成交付软件的必经过程。怎么持续集成?简单来讲就是把刚刚提到的版本控制和依赖管理结合起来,放到一个平台上,持续地对代码进行合并、审查、测试、编译、部署,可视化的平台还可以有效的减少项目人员的沟通成本。

  持续集成并不是一个工具的名字,更重要的是使用者的思维。如果你所谓的「持续」是每天登录平台手动点一下「构建」的话,那恐怕就南辕北辙了。两点建议:

  如果你的工程的编译时间不长,建议配置一个触发器:在每一次主分支代码提交之后,都自动做一次集成,以保证代码提交的正确性,最快速度做出反应。

  如果你的工程的编译时间相对较长,或是服务器环境需要相对稳定的版本部署计划,建议配置一个定时器进行集成部署。

  常用的CI工具有:Jenkins, GoCD, Travis CI, Bamboo

  消灭重复劳动:枯燥的集成和审查流程、服务器部署

  预计每周节省时间: 8小时
  自动化「质量」

  静态分析

  Static Analysis

  自动化质量很容让人联想到「自动化测试」,实际上代码审查也可以自动化。静态分析(也叫静态检查、静态扫描)不直接执行程序本身,而是对现有的代码结构进行分析、预测,最终生成一个报告,包含可能出现的缺陷以及对代码规范、质量等的各项评定。

  常用的静态分析工具有:Coverity, CheckStyle, FindBugs, PMD, JSLint, ESLint

  除此以外,很多IDE本身也集成了相关的功能。

  消灭重复劳动:代码规范检查、基本代码审查

  预计每周节省时间: 4小时
  自动化测试

  Automation Testing

  由于敏捷的迭代的特性,每次迭代的交付都必须经过重复性很强的测试,不论是集成测试、回归测试以及基本的性能测试,如果能自动完成,就是再好不过了。

  常用的自动化测试工具有:Selenium, Mocha, QTP, AutoRunner, RFT

  消灭重复劳动:复用率高的手工测试

  预计每周节省时间: 5小时
  静态分析工具和自动化测试工具还可以和持续集成环境配合使用,从而达到真正高校的自动化。

  结语

  减少枯燥乏味的重复劳动,项目成员才能真正的享受在工作之中。当然,别让使用工具成为另一种负担。  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小熊分享邦(www.xxfxb.com),希望大家能坚持软件测试之路,谢谢。

赞(0) 打赏
未经允许不得转载:小熊分享邦 » 那些拯救程序员的神器 | 自动化敏捷开发| 小熊测试

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏