创新触手可及:一个IBM测试机构如何使用WebSphere CloudBurst来提高效率和敏捷性
每一期创新触手可及从开发人员和从业人员的角度提供了有关新兴技术主题的新信息和讨论,并探秘了前沿 IBM WebSphere 产品的幕后知识。
“给我讲个案例”
尽管在实验室工作,我们很珍惜走出去与我们的客户直接对话的机会。最近,我们的许多谈话都围绕云计算,具体而言,是 IBM WebSphere CloudBurst Appliance 和 IBM WebSphere Application Server Hypervisor Edition 虚拟映像。
通常,这些讨论都围绕这些解决方案的技术功能和实现方法。我们通常讨论 WebSphere CloudBurst 和这些特殊虚拟映像如何应用于他们心中的场景。然后,似乎在稍加思索之后,他们总是会说:“这听起来都不错,但告诉我谁正在使用它,他们从中获得了哪种价值?”
我们喜欢听到这种问题。
一方面,我们拥有稳固并持续增长的用户生态系统,那些用户从 WebSphere CloudBurst 解决方案获得了真正的价值。在众多好处中,我们的用户见证了这些解决方案在降低成本、提高敏捷性和严格调配业务价值和技术行为方面的价值。尽管每个用户案例都清晰地突出了这个设备的价值,但其中有一个案例我们认为最有代表性。那就是我们自己的 WebSphere Application Server Continuous Test 组织如何使用 WebSphere CloudBurst 来降低成本和克服在企业范围内采用敏捷开发实践方面遇到的困难。(没错,我们使用我们自己的产品。)
敏捷开发是一个旅程,而不是一个决策
如果您从事或关注软件开发行业,您可能会注意到敏捷开发越来越受欢迎。最近几年,IBM 也加入了向更敏捷开发转变的征程。这个征程中的一个团队是 WebSphere Application Server 开发团队,他们取得的成效是显著的。在短短几年内,该团队就开发并交付了几个 WebSphere Application Server 特性补丁,这个领域内的一些产品的更新,以及 WebSphere Application Server V8 的 alpha 版本。如果没有敏捷开发流程提供的速度,这样丰硕的成果将很难或不可能实现。
当然,众所周知,如果软件质量很差,那么快速软件开发和交付就一无是处。快速交付低质软件有点像快速准备厨房订单,结果却发现菜品还没有烹饪熟,口味极差。
为确保菜品 “完全煮熟”,开发和测试团队必须建立一种机制来在整个开发过程中确保企业级代码质量。为此,组织应该:
建立严格的测试标准,要求编写一些自动化测试案例,这些测试案例针对类似于生产的 WebSphere Application Server 拓扑执行。
扩展传统测试驱动开发方法系统,确保系统回归测试套件随所有新特性和补丁演变。
创建 Continuous Test 团队,该团队负责在每个 WebSphere Application Server 版本上执行一个全面回归测试。
为客户类应用程序创建自动测试套件,在整个开发周期内执行压力和性能测试。
建立一组职责后,组织主要关注实现每个职责,并迅速意识到,要实现这些任务,他们需要一个自动化、快速和统一的方法来设置 WebSphere Application Server 环境。为此,Continuous Test 团队:
开发了一个自定义硬件租用应用程序,以便测试人员能够检查用于测试工作的资源。
使用 IBM Tivoli Provisioning Manager 自动化实验室机器上的操作系统安装。
为 WebSphere Application Server 构建安装和配置脚本。
这种方法反映一个用于设置测试环境的高度自动化和有效的流程。这种方法允许团队同时测试高达 8 个(不错,就是 8 个)不同的 WebSphere Application Server 版本。另外,团队还能够使通过这个流程创建的 WebSphere Application Server 环境每天接受超过 200 万个测试。总之,团队执行的测试支持快速开发,同时保持杰出的质量。
尽管团队在执行他们的所有职责方面取得了巨大的进步,他们总是关注能够进一步提高效率的方法。具体而言,团队确认了以下需要改进的领域:
可用性:尽管高度自动化,但这些 WebSphere Application Server 测试环境的设置过程仍然包含容易出错的元素,原因是涉及的元素的复杂性和数量。这将导致配置环境时出现 20-50% 的失败率。
利用率:与这个行业中的许多测试团队一样,他们体验了较低的硬件利用率(平均 6-12%)。
可管理性:测试组织与许多小型、敏捷的团队合作。在这些团队之间有效管理和共享硬件资源同时确保足够的利用率是一个难题。另外,很难确保所有测试团队都使用标准化的、认证的 WebSphere Application Server 配置。