了解最新技术文章
从历史上看,开发和测试工作被视为两个独立的实体。事实证明,这个模型有几个瓶颈。其中一些包括:
群体之间沟通上的差距,导致缺陷
对已实现功能的理解不正确
不清楚测试覆盖范围
无法看到彼此的工作
由于缺乏协作而产生不必要的摩擦
不稳定的功能已提交给 QA
最重要的是,没有人知道客户如何使用已部署的产品。他们没有与监控生产中应用程序的运营团队直接沟通,也没有收集可以进一步改进产品的重要统计数据。这给组织浪费了难以估量的时间、精力和成本,最终导致功能按时发布延迟,并导致客户满意度下降。
DevOps 的引入是为了缓解上述问题,并重新引入质量是每个人的责任的心态。这种方法的主要重点是加强开发人员、测试人员和运营团队之间的协作,以便他们可以作为一个整体来交付高质量的产品。
由于 DevOps 包括持续测试、集成、部署和交付,因此必须使用许多工具来获得有关应用程序的快速反馈。
以下是 DevOps 管道中的一些常用工具:
源代码存储库:Git、Assembla、CloudForce、TFS、Subversion
构建服务器:SonarQube、Jenkins、Artifactory、Travis CI、Circle CI、Kubernetes、Docker
功能标志:Rollout、LaunchDarkly
单元测试:JUnit、Nunit、RSpect、TestNG、Jasmine、Mocha
配置管理:Puppet、Ansible、Salt、Chef
测试自动化:Selenium、Appium、Watir、Ranorex、Cypress、Espresso
测试管理:TestRail、Jira、Zephyr、Xray、PractiTest
监控工具:Splunk、Kibana、Graphite、Crashlytics
虚拟基础设施:Amazon Web Services、Microsoft Azure、VMware vCloud
非功能安全测试 – Mittn、Gauntlt、BDD Security
静态分析安全测试工具——Kiuwan 、 Coverity、Checkmarx等付费工具。开源选项包括 Reshift、Brakeman、JSHint、NodeJsScan。
安全扫描器 – Netspaker、Acunetix、Wireshark、Nessus、OWASP ZAP(开源)
正如您所看到的,DevOps 管道中的各种工具可用于不同的目的。选择最适合您的项目环境的最佳工具的一个好方法是牢记以下因素:
选择增强协作的工具
DevOps 管道中使用的几乎每个工具都应该促进不同团队成员之间的有效协作。例如,版本控制是任何敏捷项目的基本必需品,包括遵循 DevOps 的项目。用于此目的的工具应该有助于跨团队和不同系统的代码、配置文件、脚本和其他工件的无缝集成。
工具应该有开放的API
随着技术的快速发展,新的工具应运而生来解决现有的问题。因此,团队倾向于转向这些工具。在遵循 DevOps 流程的团队中,迁移到新的框架和工具应该是正常的。
使用具有开放 API 的工具非常重要,这样即使团队迁移到更新的工具,团队仍然可以通过调用 API 来使用现有脚本,而造成的干扰最小。不要被单一工具所困;相反,请考虑您选择的任何工具如何通过使用 API 轻松地与其他工具集成。
使用方便
DevOps 团队由不同角色的人员组成,包括开发人员、测试人员、运营团队、业务分析师、产品经理、项目经理和其他利益相关者。您选择的任何工具都应该能够被每个人使用,而无需陡峭的学习曲线。如果一个工具变得太难学,人们就会被吓倒并停止使用它们。当协作成为 DevOps 的关键方面时,关注不同技术和领域背景的人员使用它的难易程度至关重要。
QA 是实施稳健的 DevOps 策略的一个组成部分。如果没有全面的 QA-DevOps 过渡计划,就不会实现更快的发布和交付周期。在 DevOps 领域中,QA 团队的角色已经发生了转变。他们不再是个人贡献者,而是成为 QA 顾问。测试人员必须转变思维方式,从提供传统的测试服务转向通过降低跨角色(包括开发和运营团队)的风险来帮助交付高质量的软件。他们有更多机会教导人们质量的重要性,因为他们将与不同的角色密切合作。将不再有单独的 QA 团队;相反,将会有结合不同角色的技术团队。
质量保证团队将被迫寻找新的方法来增加价值,这将有助于发挥他们的批判性思维能力。这可能意味着掌握所有权并做出一些他们在传统 QA 团队工作时可能没有做过的战略决策。我们将更加关注从最终用户的角度思考软件以及客户日常如何与其交互。
DevOps 实施的最大障碍之一是流程本身。它不仅涉及改变 QA 的态度,还涉及团队中所有角色的态度。这需要大量的努力和更高的标准,并涉及更多的工具和资源。以正确的方式实施 DevOps并获得收益(这远远超过最初的困难!)。
上一篇:测试计划常见问题解答