人们期待在 JavaScript 领域看到更多的开源测试框架,在使用的工具中嵌入更多的人工智能功能,以及来自商业工具供应商的更多创新。另一个持续的趋势是功能测试和性能测试的结合(你可以将其看做 Selenium 与 JMeter 测试相结合)。
以下是目前软件测试自动化水平的完整概述。
一、物联网测试
物联网(Internet of Things,IoT)正对测试领域产生显著的影响。像 Selenium 这样的传统自动化方法在嵌入式环境中变得毫无用处。我们已经看到越来越多的基于 Python 和 C/C++ 的测试框架执行单元测试、集成测试和系统测试。
另一个新趋势就是物联网的 DevOps 环境开始标准化。到目前为止,我们看到的大多是 CI 环境的 Ad-hoc 实现。我们已经预先构建了解决方案,用于构建管理、测试管理、镜像加载、物联网镜像在不同设备上的部署、不同构建物联网设备的 A/B 测试等。
二、持续测试
持续测试是从去年至今仍在继续的另一个趋势。我们在过去已经看到了 DevOps 和 CI/CD 框架的爆炸式增长,而今年这种趋势,将随着新的框架(如 Nevercode 和 Codefresh)的出现而继续。
持续测试的另一个趋势是对每个版本进行基于人工智能的风险评估。以前,这种操作是手工执行的,以确定能为应用程序部署哪些版本。我们已经实现了几个 CI/CD 平台,它们执行应用程序基于人工智能的自动 A/B 部署。
三、基于人工智能的测试
基于人工智能的测试方法已不仅仅是时髦语,现在已经进入了主流测试实践。人工智能和自动化是测试的两个并行方面:自动化用于功能测试,而人工智能则用于视觉测试。基于人工智能的视觉测试,包括视觉测试和感觉测试,并快速浏览每个构建版本的视觉变更,是一个非常有用的发布验证方法。我们已经在 Denver 的不同客户中实施了基于 Applitools 的视觉测试解决方案。
四、开源测试框架
在过去的几年里,我们看到的不断增长趋势之一是,从传统的企业测试解决方案(如 HP QC、ALM、UFT、IBM 等)迁移出来。我们看到各种规模的组织越来越多地采用开源测试平台。我们亲自将客户的几个测试框架从 HP QC/UFT 迁移到其他开源解决方案。尽管这些开源解决方案涉及到编码,但从长远来看,它们具有高度可定制性和可维护性。我们预计,随着 2019 年的到来,这些开源解决方案将继续获得更大的吸引力。